Page MenuHomeFreeBSD

fusefs: implement VOP_DEALLOCATE
ClosedPublic

Authored by asomers on Jan 9 2022, 4:55 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 31, 9:25 PM
Unknown Object (File)
Thu, Mar 28, 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
Unknown Object (File)
Nov 14 2023, 12:08 PM
Unknown Object (File)
Nov 10 2023, 12:42 AM
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.