[PATCH] lockdep: annotate reiserfs

reiserfs seems to have another locking level layer for the i_mutex due to the
xattrs-are-a-directory thing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Ingo Molnar
2006-08-27 01:23:56 -07:00
committed by Linus Torvalds
parent 36e8e57832
commit 4df46240a1
2 changed files with 3 additions and 2 deletions

View File

@@ -424,7 +424,7 @@ int xattr_readdir(struct file *file, filldir_t filler, void *buf)
int res = -ENOTDIR; int res = -ENOTDIR;
if (!file->f_op || !file->f_op->readdir) if (!file->f_op || !file->f_op->readdir)
goto out; goto out;
mutex_lock(&inode->i_mutex); mutex_lock_nested(&inode->i_mutex, I_MUTEX_XATTR);
// down(&inode->i_zombie); // down(&inode->i_zombie);
res = -ENOENT; res = -ENOENT;
if (!IS_DEADDIR(inode)) { if (!IS_DEADDIR(inode)) {

View File

@@ -570,13 +570,14 @@ struct inode {
* 3: quota file * 3: quota file
* *
* The locking order between these classes is * The locking order between these classes is
* parent -> child -> normal -> quota * parent -> child -> normal -> xattr -> quota
*/ */
enum inode_i_mutex_lock_class enum inode_i_mutex_lock_class
{ {
I_MUTEX_NORMAL, I_MUTEX_NORMAL,
I_MUTEX_PARENT, I_MUTEX_PARENT,
I_MUTEX_CHILD, I_MUTEX_CHILD,
I_MUTEX_XATTR,
I_MUTEX_QUOTA I_MUTEX_QUOTA
}; };