Skip to content

Commit

Permalink
ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_mknod()
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 e08dc8b commit e3a8213
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions fs/ocfs2/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,20 +333,20 @@ static int ocfs2_mknod(struct inode *dir,
/* get our super block */
osb = OCFS2_SB(dir->i_sb);

status = ocfs2_meta_lock(dir, NULL, &parent_fe_bh, 1);
if (status < 0) {
if (status != -ENOENT)
mlog_errno(status);
return status;
}

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

status = ocfs2_meta_lock(dir, handle, &parent_fe_bh, 1);
if (status < 0) {
if (status != -ENOENT)
mlog_errno(status);
goto leave;
}

if (S_ISDIR(mode) && (dir->i_nlink >= OCFS2_LINK_MAX)) {
status = -EMLINK;
goto leave;
Expand Down Expand Up @@ -455,6 +455,8 @@ static int ocfs2_mknod(struct inode *dir,
if (handle)
ocfs2_commit_trans(handle);

ocfs2_meta_unlock(dir, 1);

if (status == -ENOSPC)
mlog(0, "Disk is full\n");

Expand Down

0 comments on commit e3a8213

Please sign in to comment.