svn commit: r212826 - head/sys/fs/devfs
Jaakko Heinonen
jh at FreeBSD.org
Sat Sep 18 18:37:42 UTC 2010
Author: jh
Date: Sat Sep 18 18:37:41 2010
New Revision: 212826
URL: http://svn.freebsd.org/changeset/base/212826
Log:
- For consistency, remove "." and ".." entries from de_dlist before
calling devfs_delete() (and thus possibly dropping dm_lock) in
devfs_rmdir_empty().
- Assert that we don't return doomed entries from devfs_find(). [1]
Suggested by: kib [1]
Reviewed by: kib
Modified:
head/sys/fs/devfs/devfs_devs.c
Modified: head/sys/fs/devfs/devfs_devs.c
==============================================================================
--- head/sys/fs/devfs/devfs_devs.c Sat Sep 18 16:57:05 2010 (r212825)
+++ head/sys/fs/devfs/devfs_devs.c Sat Sep 18 18:37:41 2010 (r212826)
@@ -171,6 +171,8 @@ devfs_find(struct devfs_dirent *dd, cons
continue;
break;
}
+ KASSERT(de == NULL || (de->de_flags & DE_DOOMED) == 0,
+ ("devfs_find: returning a doomed entry"));
return (de);
}
@@ -302,6 +304,8 @@ devfs_rmdir_empty(struct devfs_mount *dm
dd = devfs_parent_dirent(de);
KASSERT(dd != NULL, ("devfs_rmdir_empty: NULL dd"));
+ TAILQ_REMOVE(&de->de_dlist, de_dot, de_list);
+ TAILQ_REMOVE(&de->de_dlist, de_dotdot, de_list);
TAILQ_REMOVE(&dd->de_dlist, de, de_list);
DEVFS_DE_HOLD(dd);
devfs_delete(dm, de, DEVFS_DEL_NORECURSE);
More information about the svn-src-all
mailing list