diff options
Diffstat (limited to 'fs/ocfs2/xattr.c')
-rw-r--r-- | fs/ocfs2/xattr.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c index 3cf8e80b2b6..8594df36640 100644 --- a/fs/ocfs2/xattr.c +++ b/fs/ocfs2/xattr.c | |||
@@ -155,6 +155,7 @@ static inline u16 ocfs2_xattr_max_xe_in_bucket(struct super_block *sb) | |||
155 | } | 155 | } |
156 | 156 | ||
157 | #define bucket_blkno(_b) ((_b)->bu_bhs[0]->b_blocknr) | 157 | #define bucket_blkno(_b) ((_b)->bu_bhs[0]->b_blocknr) |
158 | #define bucket_block(_b, _n) ((_b)->bu_bhs[(_n)]->b_data) | ||
158 | 159 | ||
159 | static inline const char *ocfs2_xattr_prefix(int name_index) | 160 | static inline const char *ocfs2_xattr_prefix(int name_index) |
160 | { | 161 | { |
@@ -801,7 +802,7 @@ static int ocfs2_xattr_block_get(struct inode *inode, | |||
801 | i, | 802 | i, |
802 | &block_off, | 803 | &block_off, |
803 | &name_offset); | 804 | &name_offset); |
804 | xs->base = xs->bucket.bu_bhs[block_off]->b_data; | 805 | xs->base = bucket_block(&xs->bucket, block_off); |
805 | } | 806 | } |
806 | if (ocfs2_xattr_is_local(xs->here)) { | 807 | if (ocfs2_xattr_is_local(xs->here)) { |
807 | memcpy(buffer, (void *)xs->base + | 808 | memcpy(buffer, (void *)xs->base + |
@@ -2280,11 +2281,11 @@ static int ocfs2_xattr_bucket_find(struct inode *inode, | |||
2280 | } | 2281 | } |
2281 | xs->bucket.bu_bhs[0] = lower_bh; | 2282 | xs->bucket.bu_bhs[0] = lower_bh; |
2282 | xs->bucket.bu_xh = (struct ocfs2_xattr_header *) | 2283 | xs->bucket.bu_xh = (struct ocfs2_xattr_header *) |
2283 | xs->bucket.bu_bhs[0]->b_data; | 2284 | bucket_block(&xs->bucket, 0); |
2284 | lower_bh = NULL; | 2285 | lower_bh = NULL; |
2285 | 2286 | ||
2286 | xs->header = xs->bucket.bu_xh; | 2287 | xs->header = xs->bucket.bu_xh; |
2287 | xs->base = xs->bucket.bu_bhs[0]->b_data; | 2288 | xs->base = bucket_block(&xs->bucket, 0); |
2288 | xs->end = xs->base + inode->i_sb->s_blocksize; | 2289 | xs->end = xs->base + inode->i_sb->s_blocksize; |
2289 | 2290 | ||
2290 | if (found) { | 2291 | if (found) { |
@@ -2378,7 +2379,7 @@ static int ocfs2_iterate_xattr_buckets(struct inode *inode, | |||
2378 | goto out; | 2379 | goto out; |
2379 | } | 2380 | } |
2380 | 2381 | ||
2381 | bucket.bu_xh = (struct ocfs2_xattr_header *)bucket.bu_bhs[0]->b_data; | 2382 | bucket.bu_xh = (struct ocfs2_xattr_header *)bucket_block(&bucket, 0); |
2382 | /* | 2383 | /* |
2383 | * The real bucket num in this series of blocks is stored | 2384 | * The real bucket num in this series of blocks is stored |
2384 | * in the 1st bucket. | 2385 | * in the 1st bucket. |
@@ -2457,7 +2458,7 @@ static int ocfs2_list_xattr_bucket(struct inode *inode, | |||
2457 | if (ret) | 2458 | if (ret) |
2458 | break; | 2459 | break; |
2459 | 2460 | ||
2460 | name = (const char *)bucket->bu_bhs[block_off]->b_data + | 2461 | name = (const char *)bucket_block(bucket, block_off) + |
2461 | new_offset; | 2462 | new_offset; |
2462 | ret = ocfs2_xattr_list_entry(xl->buffer, | 2463 | ret = ocfs2_xattr_list_entry(xl->buffer, |
2463 | xl->buffer_size, | 2464 | xl->buffer_size, |
@@ -2630,7 +2631,7 @@ static int ocfs2_xattr_update_xattr_search(struct inode *inode, | |||
2630 | 2631 | ||
2631 | xs->bucket.bu_bhs[0] = new_bh; | 2632 | xs->bucket.bu_bhs[0] = new_bh; |
2632 | get_bh(new_bh); | 2633 | get_bh(new_bh); |
2633 | xs->bucket.bu_xh = (struct ocfs2_xattr_header *)xs->bucket.bu_bhs[0]->b_data; | 2634 | xs->bucket.bu_xh = (struct ocfs2_xattr_header *)bucket_block(&xs->bucket, 0); |
2634 | xs->header = xs->bucket.bu_xh; | 2635 | xs->header = xs->bucket.bu_xh; |
2635 | 2636 | ||
2636 | xs->base = new_bh->b_data; | 2637 | xs->base = new_bh->b_data; |
@@ -3931,7 +3932,7 @@ static inline char *ocfs2_xattr_bucket_get_val(struct inode *inode, | |||
3931 | int block_off = offs >> inode->i_sb->s_blocksize_bits; | 3932 | int block_off = offs >> inode->i_sb->s_blocksize_bits; |
3932 | 3933 | ||
3933 | offs = offs % inode->i_sb->s_blocksize; | 3934 | offs = offs % inode->i_sb->s_blocksize; |
3934 | return bucket->bu_bhs[block_off]->b_data + offs; | 3935 | return bucket_block(bucket, block_off) + offs; |
3935 | } | 3936 | } |
3936 | 3937 | ||
3937 | /* | 3938 | /* |