Skip to content

Commit

Permalink
GFS2: write_end error path fails to unlock transaction lock
Browse files Browse the repository at this point in the history
I did an audit of gfs2's transaction glock for bugzilla bug
658619 and ran across this:

In function gfs2_write_end, in the unlikely event that
gfs2_meta_inode_buffer returns an error, the code may forget
to unlock the transaction lock because the "failed" label
appears after the call to function gfs2_trans_end.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Bob Peterson authored and Steven Whitehouse committed Apr 18, 2011
1 parent a1b49cb commit deab72d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion fs/gfs2/aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -884,8 +884,8 @@ static int gfs2_write_end(struct file *file, struct address_space *mapping,
}

brelse(dibh);
gfs2_trans_end(sdp);
failed:
gfs2_trans_end(sdp);
if (al) {
gfs2_inplace_release(ip);
gfs2_quota_unlock(ip);
Expand Down

0 comments on commit deab72d

Please sign in to comment.