Page MenuHomeFreeBSD

fusefs: implement VOP_DEALLOCATE
ClosedPublic

Authored by asomers on Jan 9 2022, 4:55 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 12, 5:53 PM
Unknown Object (File)
Tue, Nov 12, 5:34 PM
Unknown Object (File)
Tue, Nov 5, 7:31 AM
Unknown Object (File)
Sat, Oct 26, 3:44 PM
Unknown Object (File)
Tue, Oct 22, 5:49 PM
Unknown Object (File)
Oct 2 2024, 5:51 AM
Unknown Object (File)
Sep 28 2024, 11:21 PM
Unknown Object (File)
Sep 28 2024, 5:43 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.