cvs commit: src/sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c
lulf at FreeBSD.org
Mon Jun 30 15:42:00 UTC 2008
lulf 2008-06-30 15:41:57 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c
SVN rev 180121 on 2008-06-30 15:41:57Z by lulf
MFC rev r179288:
- Add locking to all filesystem operations in fdescfs and flag it as MPSAFE.
- Use proper synhronization primitives to protect the internal fdesc node cache
used in fdescfs.
- Properly initialize and uninitalize hash.
- Remove unused functions.
Since fdescfs might recurse on itself, adding proper locking to it needed some
tricky workarounds in some parts to make it work. For instance, a descriptor in
fdescfs could refer to an open descriptor to itself, thus forcing the thread to
recurse on vnode locks. Because of this, other race conditions also had to be
Approved by: kib (mentor)
Reviewed by: kib (mentor)
Tested by: pho
Revision Changes Path
184.108.40.206 +7 -2 src/sys/fs/fdescfs/fdesc.h
220.127.116.11 +34 -10 src/sys/fs/fdescfs/fdesc_vfsops.c
18.104.22.168 +158 -70 src/sys/fs/fdescfs/fdesc_vnops.c
More information about the cvs-all