diff options
Diffstat (limited to 'fs/ext4/xattr.c')
| -rw-r--r-- | fs/ext4/xattr.c | 25 | 
1 files changed, 13 insertions, 12 deletions
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 93a00d89a22..e88748e55c0 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -82,8 +82,8 @@  		printk("\n"); \  	} while (0)  #else -# define ea_idebug(f...) -# define ea_bdebug(f...) +# define ea_idebug(inode, fmt, ...)	no_printk(fmt, ##__VA_ARGS__) +# define ea_bdebug(bh, fmt, ...)	no_printk(fmt, ##__VA_ARGS__)  #endif  static void ext4_xattr_cache_insert(struct buffer_head *); @@ -158,13 +158,10 @@ ext4_xattr_check_names(struct ext4_xattr_entry *entry, void *end)  static inline int  ext4_xattr_check_block(struct buffer_head *bh)  { -	int error; -  	if (BHDR(bh)->h_magic != cpu_to_le32(EXT4_XATTR_MAGIC) ||  	    BHDR(bh)->h_blocks != cpu_to_le32(1))  		return -EIO; -	error = ext4_xattr_check_names(BFIRST(bh), bh->b_data + bh->b_size); -	return error; +	return ext4_xattr_check_names(BFIRST(bh), bh->b_data + bh->b_size);  }  static inline int @@ -220,7 +217,8 @@ ext4_xattr_block_get(struct inode *inode, int name_index, const char *name,  	error = -ENODATA;  	if (!EXT4_I(inode)->i_file_acl)  		goto cleanup; -	ea_idebug(inode, "reading block %u", EXT4_I(inode)->i_file_acl); +	ea_idebug(inode, "reading block %llu", +		  (unsigned long long)EXT4_I(inode)->i_file_acl);  	bh = sb_bread(inode->i_sb, EXT4_I(inode)->i_file_acl);  	if (!bh)  		goto cleanup; @@ -363,7 +361,8 @@ ext4_xattr_block_list(struct dentry *dentry, char *buffer, size_t buffer_size)  	error = 0;  	if (!EXT4_I(inode)->i_file_acl)  		goto cleanup; -	ea_idebug(inode, "reading block %u", EXT4_I(inode)->i_file_acl); +	ea_idebug(inode, "reading block %llu", +		  (unsigned long long)EXT4_I(inode)->i_file_acl);  	bh = sb_bread(inode->i_sb, EXT4_I(inode)->i_file_acl);  	error = -EIO;  	if (!bh) @@ -487,18 +486,19 @@ ext4_xattr_release_block(handle_t *handle, struct inode *inode,  		ext4_free_blocks(handle, inode, bh, 0, 1,  				 EXT4_FREE_BLOCKS_METADATA |  				 EXT4_FREE_BLOCKS_FORGET); +		unlock_buffer(bh);  	} else {  		le32_add_cpu(&BHDR(bh)->h_refcount, -1); +		if (ce) +			mb_cache_entry_release(ce); +		unlock_buffer(bh);  		error = ext4_handle_dirty_metadata(handle, inode, bh);  		if (IS_SYNC(inode))  			ext4_handle_sync(handle);  		dquot_free_block(inode, 1);  		ea_bdebug(bh, "refcount now=%d; releasing",  			  le32_to_cpu(BHDR(bh)->h_refcount)); -		if (ce) -			mb_cache_entry_release(ce);  	} -	unlock_buffer(bh);  out:  	ext4_std_error(inode->i_sb, error);  	return; @@ -834,7 +834,8 @@ inserted:  			if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)))  				BUG_ON(block > EXT4_MAX_BLOCK_FILE_PHYS); -			ea_idebug(inode, "creating block %d", block); +			ea_idebug(inode, "creating block %llu", +				  (unsigned long long)block);  			new_bh = sb_getblk(sb, block);  			if (!new_bh) {  |