Page MenuHomeFreeBSD

fusefs: implement VOP_DEALLOCATE
ClosedPublic

Authored by asomers on Jan 9 2022, 4:55 AM.
Tags
None
Referenced Files
F82797114: D33800.diff
Thu, May 2, 4:40 PM
Unknown Object (File)
Tue, Apr 30, 3:02 AM
Unknown Object (File)
Mar 31 2024, 9:25 PM
Unknown Object (File)
Mar 28 2024, 10:30 PM
Unknown Object (File)
Feb 13 2024, 7:13 PM
Unknown Object (File)
Jan 12 2024, 2:18 AM
Unknown Object (File)
Dec 20 2023, 7:35 AM
Unknown Object (File)
Nov 18 2023, 10:09 PM
Subscribers

Details

Summary

fusefs: implement VOP_DEALLOCATE

MFC after: Never

Test Plan

test cases added. Manual testing for NFS

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 43825
Build 40713: arc lint + arc unit

Event Timeline

sys/fs/fuse/fuse_vnops.c
2989

I don't know fuse, but you might need a:

if (ap->a_ioflag & IO_SYNC)
    - do an fsync

in here.

Like VOP_ALLOCATE(), the nfsd passes IO_SYNC to
VOP_DEALLOCATE(), to ensure that the data/metadata
is on stable storage before the RPC replies.

sys/fs/fuse/fuse_vnops.c
2989

When IO_SYNC is set, is it necessary to flush all buffers for the file, to ensure that the entire file is synced before the RPC replies, or is it only necessary to ensure that this operation is synced?

sys/fs/fuse/fuse_vnops.c
2989

The intention of IO_SYNC in the VOP is to only ensure this operation is synced.

  • Properly handle IO_SYNC during VOP_DEALLOCATE for fuse
This revision is now accepted and ready to land.Jan 18 2022, 7:23 PM
This revision was automatically updated to reflect the committed changes.