Page MenuHomeFreeBSD

fusefs: implement VOP_DEALLOCATE
ClosedPublic

Authored by asomers on Jan 9 2022, 4:55 AM.
Tags
None
Referenced Files
F96624307: D33800.id.diff
Wed, Sep 25, 7:03 PM
F96391986: D33800.diff
Tue, Sep 24, 7:26 PM
Unknown Object (File)
Tue, Sep 24, 12:41 PM
Unknown Object (File)
Sat, Sep 21, 4:50 AM
Unknown Object (File)
Fri, Sep 20, 1:14 PM
Unknown Object (File)
Fri, Sep 20, 4:40 AM
Unknown Object (File)
Thu, Sep 19, 6:21 PM
Unknown Object (File)
Wed, Sep 18, 6:44 PM
Subscribers

Details

Summary

fusefs: implement VOP_DEALLOCATE

MFC after: Never

Test Plan

test cases added. Manual testing for NFS

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.