X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fext4%2Fxattr.c;h=86387302c2a9b45591e71c8e6900fdde92c09eaf;hb=9418d5dc9ba40b88737580457bf3b7c63c60ec43;hp=b10d68fffb551d7b70b8797bfcd41b6de3bfaed4;hpb=d9ff963801e4f7648c55a27413a1b1de59480a30;p=linux-2.6 diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index b10d68fffb..86387302c2 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -750,12 +750,11 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode, } } else { /* Allocate a buffer where we construct the new block. */ - s->base = kmalloc(sb->s_blocksize, GFP_KERNEL); + s->base = kzalloc(sb->s_blocksize, GFP_KERNEL); /* assert(header == s->base) */ error = -ENOMEM; if (s->base == NULL) goto cleanup; - memset(s->base, 0, sb->s_blocksize); header(s->base)->h_magic = cpu_to_le32(EXT4_XATTR_MAGIC); header(s->base)->h_blocks = cpu_to_le32(1); header(s->base)->h_refcount = cpu_to_le32(1); @@ -1121,7 +1120,7 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize, int total_ino, total_blk; void *base, *start, *end; int extra_isize = 0, error = 0, tried_min_extra_isize = 0; - int s_min_extra_isize = EXT4_SB(inode->i_sb)->s_es->s_min_extra_isize; + int s_min_extra_isize = le16_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_min_extra_isize); down_write(&EXT4_I(inode)->xattr_sem); retry: @@ -1293,7 +1292,7 @@ retry: i.name = b_entry_name; i.value = buffer; - i.value_len = cpu_to_le32(size); + i.value_len = size; error = ext4_xattr_block_find(inode, &i, bs); if (error) goto cleanup;