Skip to contentSkip to conversation

Lockup on error

PATCH New Bob Peterson 2 participants 2 messages Jan 20, 2008 – Jan 21, 2008 GFS2 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Lockup on error

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
--

--

 fs/gfs2/inode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
fs/gfs2/inode.c +1 -1
index c84764a..728d316 100644
@@ -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)
#1 lore raw

PATCH 1/1 Lockup on error

Hi,

Quoted 5 lines · Bob Peterson

Hi,

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

Quoted 9 lines

Regards,

Bob Peterson
--

--

 fs/gfs2/inode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Now in the -nmw git tree. Thanks,

Steve.

Quoted 15 lines
fs/gfs2/inode.c +1 -1
index c84764a..728d316 100644
@@ -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)