Date: Wed, 15 Sep 2010 14:23:55 +0000 (UTC) From: Jaakko Heinonen <jh@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/fs/devfs devfs.h devfs_devs.c devfs_vnops.c Message-ID: <201009151424.o8FEO9iQ096439@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jh 2010-09-15 14:23:55 UTC FreeBSD src repository Modified files: sys/fs/devfs devfs.h devfs_devs.c devfs_vnops.c Log: SVN rev 212660 on 2010-09-15 14:23:55Z by jh Remove empty devfs directories automatically. devfs_delete() now recursively removes empty parent directories unless the DEVFS_DEL_NORECURSE flag is specified. devfs_delete() can't be called anymore with a parent directory vnode lock held because the possible parent directory deletion needs to lock the vnode. Thus we unlock the parent directory vnode in devfs_remove() before calling devfs_delete(). Call devfs_populate_vp() from devfs_symlink() and devfs_vptocnp() as now directories can get removed. Add a check for DE_DOOMED flag to devfs_populate_vp() because devfs_delete() drops dm_lock before the VI_DOOMED vnode flag gets set. This ensures that devfs_populate_vp() returns an error for directories which are in progress of deletion. Reviewed by: kib Discussed on: freebsd-current (mostly silence) Revision Changes Path 1.36 +4 -1 src/sys/fs/devfs/devfs.h 1.64 +71 -8 src/sys/fs/devfs/devfs_devs.c 1.194 +31 -8 src/sys/fs/devfs/devfs_vnops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009151424.o8FEO9iQ096439>