diff options
Diffstat (limited to 'fs/reiserfs/stree.c')
| -rw-r--r-- | fs/reiserfs/stree.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/reiserfs/stree.c b/fs/reiserfs/stree.c index f8afa4b162b..2f40a4c70a4 100644 --- a/fs/reiserfs/stree.c +++ b/fs/reiserfs/stree.c @@ -1968,7 +1968,9 @@ int reiserfs_paste_into_item(struct reiserfs_transaction_handle *th, struct tree  		       key2type(&(key->on_disk_key)));  #endif +	reiserfs_write_unlock(inode->i_sb);  	retval = dquot_alloc_space_nodirty(inode, pasted_size); +	reiserfs_write_lock(inode->i_sb);  	if (retval) {  		pathrelse(search_path);  		return retval; @@ -2061,9 +2063,11 @@ int reiserfs_insert_item(struct reiserfs_transaction_handle *th,  			       "reiserquota insert_item(): allocating %u id=%u type=%c",  			       quota_bytes, inode->i_uid, head2type(ih));  #endif +		reiserfs_write_unlock(inode->i_sb);  		/* We can't dirty inode here. It would be immediately written but  		 * appropriate stat item isn't inserted yet... */  		retval = dquot_alloc_space_nodirty(inode, quota_bytes); +		reiserfs_write_lock(inode->i_sb);  		if (retval) {  			pathrelse(path);  			return retval;  |