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>
