Skip to content

Commit

Permalink
ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink()
Browse files Browse the repository at this point in the history
Take and drop the locks directly.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
  • Loading branch information
Mark Fasheh committed Dec 2, 2006
1 parent 30a4f5e commit 6d8fc40
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions fs/ocfs2/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -1603,19 +1603,12 @@ static int ocfs2_symlink(struct inode *dir,

credits = ocfs2_calc_symlink_credits(sb);

handle = ocfs2_alloc_handle(osb);
if (handle == NULL) {
status = -ENOMEM;
mlog_errno(status);
goto bail;
}

/* lock the parent directory */
status = ocfs2_meta_lock(dir, handle, &parent_fe_bh, 1);
status = ocfs2_meta_lock(dir, NULL, &parent_fe_bh, 1);
if (status < 0) {
if (status != -ENOENT)
mlog_errno(status);
goto bail;
return status;
}

dirfe = (struct ocfs2_dinode *) parent_fe_bh->b_data;
Expand All @@ -1638,6 +1631,13 @@ static int ocfs2_symlink(struct inode *dir,
goto bail;
}

handle = ocfs2_alloc_handle(osb);
if (handle == NULL) {
status = -ENOMEM;
mlog_errno(status);
goto bail;
}

status = ocfs2_reserve_new_inode(osb, handle, &inode_ac);
if (status < 0) {
if (status != -ENOSPC)
Expand Down Expand Up @@ -1734,6 +1734,9 @@ static int ocfs2_symlink(struct inode *dir,
bail:
if (handle)
ocfs2_commit_trans(handle);

ocfs2_meta_unlock(dir, 1);

if (new_fe_bh)
brelse(new_fe_bh);
if (parent_fe_bh)
Expand Down

0 comments on commit 6d8fc40

Please sign in to comment.