X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fext2%2Finode.c;h=1ef02bccb1c046947e97afeb700866c692837347;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=3a6b0883d5aa5bf0992c663527d2fbceb0252fad;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 3a6b0883d..1ef02bccb 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -136,7 +136,7 @@ static int ext2_alloc_block (struct inode * inode, unsigned long goal, int *err) &ei->i_prealloc_count, &ei->i_prealloc_block, err); else - result = ext2_new_block (inode, goal, 0, 0, err); + result = ext2_new_block(inode, goal, NULL, NULL, err); } #else result = ext2_new_block (inode, goal, 0, 0, err); @@ -1071,10 +1071,10 @@ void ext2_read_inode (struct inode * inode) uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; } - inode->i_uid = INOXID_UID(uid, gid); - inode->i_gid = INOXID_GID(uid, gid); - if (inode->i_sb->s_flags & MS_TAGXID) - inode->i_xid = INOXID_XID(uid, gid, le16_to_cpu(raw_inode->i_raw_xid)); + inode->i_uid = INOXID_UID(XID_TAG(inode), uid, gid); + inode->i_gid = INOXID_GID(XID_TAG(inode), uid, gid); + inode->i_xid = INOXID_XID(XID_TAG(inode), uid, gid, + le16_to_cpu(raw_inode->i_raw_xid)); inode->i_nlink = le16_to_cpu(raw_inode->i_links_count); inode->i_size = le32_to_cpu(raw_inode->i_size); @@ -1168,8 +1168,8 @@ static int ext2_update_inode(struct inode * inode, int do_sync) struct ext2_inode_info *ei = EXT2_I(inode); struct super_block *sb = inode->i_sb; ino_t ino = inode->i_ino; - uid_t uid = XIDINO_UID(inode->i_uid, inode->i_xid); - gid_t gid = XIDINO_GID(inode->i_gid, inode->i_xid); + uid_t uid = XIDINO_UID(XID_TAG(inode), inode->i_uid, inode->i_xid); + gid_t gid = XIDINO_GID(XID_TAG(inode), inode->i_gid, inode->i_xid); struct buffer_head * bh; struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh); int n; @@ -1323,8 +1323,8 @@ int ext2_setattr(struct dentry *dentry, struct iattr *iattr) if (iattr->ia_valid & ATTR_ATTR_FLAG) ext2_setattr_flags(inode, iattr->ia_attr_flags); - inode_setattr(inode, iattr); - if (iattr->ia_valid & ATTR_MODE) + error = inode_setattr(inode, iattr); + if (!error && (iattr->ia_valid & ATTR_MODE)) error = ext2_acl_chmod(inode); return error; }