diff options
Diffstat (limited to 'fs/ufs/ialloc.c')
| -rw-r--r-- | fs/ufs/ialloc.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/ufs/ialloc.c b/fs/ufs/ialloc.c index e84cbe21b98..d0426d74817 100644 --- a/fs/ufs/ialloc.c +++ b/fs/ufs/ialloc.c @@ -71,11 +71,11 @@ void ufs_free_inode (struct inode * inode)  	ino = inode->i_ino; -	lock_super (sb); +	mutex_lock(&UFS_SB(sb)->s_lock);  	if (!((ino > 1) && (ino < (uspi->s_ncg * uspi->s_ipg )))) {  		ufs_warning(sb, "ufs_free_inode", "reserved inode or nonexistent inode %u\n", ino); -		unlock_super (sb); +		mutex_unlock(&UFS_SB(sb)->s_lock);  		return;  	} @@ -83,7 +83,7 @@ void ufs_free_inode (struct inode * inode)  	bit = ufs_inotocgoff (ino);  	ucpi = ufs_load_cylinder (sb, cg);  	if (!ucpi) { -		unlock_super (sb); +		mutex_unlock(&UFS_SB(sb)->s_lock);  		return;  	}  	ucg = ubh_get_ucg(UCPI_UBH(ucpi)); @@ -117,7 +117,7 @@ void ufs_free_inode (struct inode * inode)  		ubh_sync_block(UCPI_UBH(ucpi));  	ufs_mark_sb_dirty(sb); -	unlock_super (sb); +	mutex_unlock(&UFS_SB(sb)->s_lock);  	UFSD("EXIT\n");  } @@ -197,7 +197,7 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode)  	uspi = sbi->s_uspi;  	usb1 = ubh_get_usb_first(uspi); -	lock_super (sb); +	mutex_lock(&sbi->s_lock);  	/*  	 * Try to place the inode in its parent directory @@ -333,20 +333,20 @@ cg_found:  		brelse(bh);  	} -	unlock_super (sb); +	mutex_unlock(&sbi->s_lock);  	UFSD("allocating inode %lu\n", inode->i_ino);  	UFSD("EXIT\n");  	return inode;  fail_remove_inode: -	unlock_super(sb); +	mutex_unlock(&sbi->s_lock);  	clear_nlink(inode);  	iput(inode);  	UFSD("EXIT (FAILED): err %d\n", err);  	return ERR_PTR(err);  failed: -	unlock_super (sb); +	mutex_unlock(&sbi->s_lock);  	make_bad_inode(inode);  	iput (inode);  	UFSD("EXIT (FAILED): err %d\n", err);  |