diff options
author | S. Wendy Cheng <wcheng@redhat.com> | 2007-01-18 16:07:03 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2007-02-05 13:36:31 -0500 |
commit | 87d21e07f3880b8d489f0b4a639deb1362101838 (patch) | |
tree | 20b41fc6dad45363b81a9e44daf5b278f532f183 /fs/gfs2/inode.h | |
parent | 6c93fd1e578669364e026a0d44c669b871e2a8c4 (diff) |
[GFS2] Fix gfs2_rename deadlock
Second round of gfs2_rename lock re-ordering to allow Anaconda adding
root partition on top of gfs2. Previous to this patch the recursive
lock detector in glock.c can be triggered due to attempting to lock
the rgrp twice. This fixes it by checking to see whether the rgrp
is already locked.
This fixes Red Hat bugzilla #221237
Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/inode.h')
-rw-r--r-- | fs/gfs2/inode.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h index 85c67cb568d1..cee281b5326b 100644 --- a/fs/gfs2/inode.h +++ b/fs/gfs2/inode.h | |||
@@ -40,7 +40,7 @@ int gfs2_inode_refresh(struct gfs2_inode *ip); | |||
40 | 40 | ||
41 | int gfs2_dinode_dealloc(struct gfs2_inode *inode); | 41 | int gfs2_dinode_dealloc(struct gfs2_inode *inode); |
42 | int gfs2_change_nlink(struct gfs2_inode *ip, int diff); | 42 | int gfs2_change_nlink(struct gfs2_inode *ip, int diff); |
43 | int gfs2_change_nlink_i(struct gfs2_inode *ip, int diff); | 43 | int gfs2_change_nlink_i(struct gfs2_inode *ip); |
44 | struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name, | 44 | struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name, |
45 | int is_root, struct nameidata *nd); | 45 | int is_root, struct nameidata *nd); |
46 | struct inode *gfs2_createi(struct gfs2_holder *ghs, const struct qstr *name, | 46 | struct inode *gfs2_createi(struct gfs2_holder *ghs, const struct qstr *name, |