Page MenuHomeFreeBSD

Provide vfs suspension support only for filesystems which need it.
ClosedPublic

Authored by mjg on Oct 16 2014, 12:07 PM.
Tags
None
Referenced Files
F118382613: D952.id1998.diff
Wed, May 28, 5:46 PM
Unknown Object (File)
Mon, May 26, 12:50 AM
Unknown Object (File)
Sun, May 25, 11:31 PM
Unknown Object (File)
Apr 23 2025, 9:06 PM
Unknown Object (File)
Mar 27 2025, 10:12 AM
Unknown Object (File)
Mar 6 2025, 8:15 PM
Unknown Object (File)
Feb 24 2025, 5:51 PM
Unknown Object (File)
Dec 12 2024, 7:19 AM
Subscribers
None

Details

Reviewers
kib
Summary

Instead of moving vn_start_write and friends to vfsops, I decided to add a
vfsconf flag instead.

This speeds up some operations which otherwise contend a lot on mp lock.

This business with mp's becoming NULL at any time is quite fishy (I do realize
they are not freed), I'll poke around holding them while there are any vnodes.

I'll poke around speeding up vn_start_write & friends later.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

mjg retitled this revision from to Provide vfs suspension support only for filesystems which need it..
mjg updated this object.
mjg edited the test plan for this revision. (Show Details)
mjg added a reviewer: kib.

Overall, I am fine with the change. I think there should be a comment somewhere that working suspension requires the VFCF flag.

Consider testing vfs_susp_clean for non-NULL instead of using the flag.

sys/kern/vfs_vnops.c
1575

This should have return type bool.

1576

The name is too long, even by my standards.

1579

!= 0);

1582

This should return bool too.

mjg edited edge metadata.

Take 2.

vfs_susp_clean is null in tmpfs.

I don't really see any place to put a comment about the flag. On the other hand
this patch adds relevant assertions to suspending functions, so this should be acceptable.

kib edited edge metadata.

My english is bad, but if I would select a name, I use vn_suspendable() or like.

WRT to tmpfs, I would set vfs_susp_clean to an empty stub.

I do not insist on either change above.

This revision is now accepted and ready to land.Oct 18 2014, 1:59 PM