Re: [Cluster-devel] [PATCH][GFS2] Lockup on error

2008-01-21 Thread Steven Whitehouse
Hi,

On Sat, 2008-01-19 at 21:50 -0600, Bob Peterson wrote:
 Hi,
 
 I spotted this bug while I was digging around.  Looks like it could cause
 a lockup in some rare error condition.
 
 Regards,
 
 Bob Peterson
 --
 Signed-off-by: Bob Peterson [EMAIL PROTECTED] 
 --
  fs/gfs2/inode.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
Now in the -nmw git tree. Thanks,

Steve.

 diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
 index c84764a..728d316 100644
 --- a/fs/gfs2/inode.c
 +++ b/fs/gfs2/inode.c
 @@ -860,7 +860,7 @@ static int link_dinode(struct gfs2_inode *dip, const 
 struct qstr *name,
  
   error = alloc_required = gfs2_diradd_alloc_required(dip-i_inode, 
 name);
   if (alloc_required  0)
 - goto fail;
 + goto fail_quota_locks;
   if (alloc_required) {
   error = gfs2_quota_check(dip, dip-i_inode.i_uid, 
 dip-i_inode.i_gid);
   if (error)
 
 



[Cluster-devel] [PATCH][GFS2] Lockup on error

2008-01-19 Thread Bob Peterson
Hi,

I spotted this bug while I was digging around.  Looks like it could cause
a lockup in some rare error condition.

Regards,

Bob Peterson
--
Signed-off-by: Bob Peterson [EMAIL PROTECTED] 
--
 fs/gfs2/inode.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index c84764a..728d316 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -860,7 +860,7 @@ static int link_dinode(struct gfs2_inode *dip, const struct 
qstr *name,
 
error = alloc_required = gfs2_diradd_alloc_required(dip-i_inode, 
name);
if (alloc_required  0)
-   goto fail;
+   goto fail_quota_locks;
if (alloc_required) {
error = gfs2_quota_check(dip, dip-i_inode.i_uid, 
dip-i_inode.i_gid);
if (error)