Date: Sat, 24 May 2008 14:51:30 +0000 (UTC) From: Ulf Lilleengen <lulf@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c Message-ID: <200805241451.m4OEpU1r053111@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
lulf 2008-05-24 14:51:30 UTC FreeBSD src repository Modified files: sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c Log: - 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 fixed. Tested by: pho Reviewed by: kib (mentor) Approved by: kib (mentor) Revision Changes Path 1.21 +7 -2 src/sys/fs/fdescfs/fdesc.h 1.59 +34 -10 src/sys/fs/fdescfs/fdesc_vfsops.c 1.109 +158 -72 src/sys/fs/fdescfs/fdesc_vnops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805241451.m4OEpU1r053111>