diff options
Diffstat (limited to 'fs/udf/balloc.c')
| -rw-r--r-- | fs/udf/balloc.c | 36 | 
1 files changed, 18 insertions, 18 deletions
| diff --git a/fs/udf/balloc.c b/fs/udf/balloc.c index 201049ac8a9..ea521f846d9 100644 --- a/fs/udf/balloc.c +++ b/fs/udf/balloc.c @@ -152,7 +152,7 @@ static void udf_bitmap_free_blocks(struct super_block * sb,  	int bitmap_nr;  	unsigned long overflow; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  	if (bloc.logicalBlockNum < 0 ||  		(bloc.logicalBlockNum + count) > UDF_SB_PARTLEN(sb, bloc.partitionReferenceNum))  	{ @@ -211,7 +211,7 @@ error_return:  	sb->s_dirt = 1;  	if (UDF_SB_LVIDBH(sb))  		mark_buffer_dirty(UDF_SB_LVIDBH(sb)); -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	return;  } @@ -226,7 +226,7 @@ static int udf_bitmap_prealloc_blocks(struct super_block * sb,  	int nr_groups, bitmap_nr;  	struct buffer_head *bh; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  	if (first_block < 0 || first_block >= UDF_SB_PARTLEN(sb, partition))  		goto out; @@ -275,7 +275,7 @@ out:  		mark_buffer_dirty(UDF_SB_LVIDBH(sb));  	}  	sb->s_dirt = 1; -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	return alloc_count;  } @@ -291,7 +291,7 @@ static int udf_bitmap_new_block(struct super_block * sb,  	int newblock = 0;  	*err = -ENOSPC; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  repeat:  	if (goal < 0 || goal >= UDF_SB_PARTLEN(sb, partition)) @@ -364,7 +364,7 @@ repeat:  	}  	if (i >= (nr_groups*2))  	{ -		up(&sbi->s_alloc_sem); +		mutex_unlock(&sbi->s_alloc_mutex);  		return newblock;  	}  	if (bit < sb->s_blocksize << 3) @@ -373,7 +373,7 @@ repeat:  		bit = udf_find_next_one_bit(bh->b_data, sb->s_blocksize << 3, group_start << 3);  	if (bit >= sb->s_blocksize << 3)  	{ -		up(&sbi->s_alloc_sem); +		mutex_unlock(&sbi->s_alloc_mutex);  		return 0;  	} @@ -387,7 +387,7 @@ got_block:  	 */  	if (inode && DQUOT_ALLOC_BLOCK(inode, 1))  	{ -		up(&sbi->s_alloc_sem); +		mutex_unlock(&sbi->s_alloc_mutex);  		*err = -EDQUOT;  		return 0;  	} @@ -410,13 +410,13 @@ got_block:  		mark_buffer_dirty(UDF_SB_LVIDBH(sb));  	}  	sb->s_dirt = 1; -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	*err = 0;  	return newblock;  error_return:  	*err = -EIO; -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	return 0;  } @@ -433,7 +433,7 @@ static void udf_table_free_blocks(struct super_block * sb,  	int8_t etype;  	int i; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  	if (bloc.logicalBlockNum < 0 ||  		(bloc.logicalBlockNum + count) > UDF_SB_PARTLEN(sb, bloc.partitionReferenceNum))  	{ @@ -666,7 +666,7 @@ static void udf_table_free_blocks(struct super_block * sb,  error_return:  	sb->s_dirt = 1; -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	return;  } @@ -692,7 +692,7 @@ static int udf_table_prealloc_blocks(struct super_block * sb,  	else  		return 0; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  	extoffset = sizeof(struct unallocSpaceEntry);  	bloc = UDF_I_LOCATION(table); @@ -736,7 +736,7 @@ static int udf_table_prealloc_blocks(struct super_block * sb,  		mark_buffer_dirty(UDF_SB_LVIDBH(sb));  		sb->s_dirt = 1;  	} -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	return alloc_count;  } @@ -761,7 +761,7 @@ static int udf_table_new_block(struct super_block * sb,  	else  		return newblock; -	down(&sbi->s_alloc_sem); +	mutex_lock(&sbi->s_alloc_mutex);  	if (goal < 0 || goal >= UDF_SB_PARTLEN(sb, partition))  		goal = 0; @@ -811,7 +811,7 @@ static int udf_table_new_block(struct super_block * sb,  	if (spread == 0xFFFFFFFF)  	{  		udf_release_data(goal_bh); -		up(&sbi->s_alloc_sem); +		mutex_unlock(&sbi->s_alloc_mutex);  		return 0;  	} @@ -827,7 +827,7 @@ static int udf_table_new_block(struct super_block * sb,  	if (inode && DQUOT_ALLOC_BLOCK(inode, 1))  	{  		udf_release_data(goal_bh); -		up(&sbi->s_alloc_sem); +		mutex_unlock(&sbi->s_alloc_mutex);  		*err = -EDQUOT;  		return 0;  	} @@ -846,7 +846,7 @@ static int udf_table_new_block(struct super_block * sb,  	}  	sb->s_dirt = 1; -	up(&sbi->s_alloc_sem); +	mutex_unlock(&sbi->s_alloc_mutex);  	*err = 0;  	return newblock;  } | 
