diff options
author | jh <jh@FreeBSD.org> | 2010-09-15 14:23:55 +0000 |
---|---|---|
committer | jh <jh@FreeBSD.org> | 2010-09-15 14:23:55 +0000 |
commit | 02ebb2e3c38267fc34892380ab39bf7a031c073b (patch) | |
tree | 28be39196237a62a20797c4ae274531c65a13f89 /contrib/diff/lib/gettext.h | |
parent | 4e51477b36cc4638e5042d3f7de0cb10f1219def (diff) | |
download | FreeBSD-src-02ebb2e3c38267fc34892380ab39bf7a031c073b.zip FreeBSD-src-02ebb2e3c38267fc34892380ab39bf7a031c073b.tar.gz |
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)
Diffstat (limited to 'contrib/diff/lib/gettext.h')
0 files changed, 0 insertions, 0 deletions