--- linux-2.6.22.2-vs2.3.0.17.5/fs/ext2/inode.c 2007-08-05 20:53:12 +0200 +++ linux-2.6.22.2-vs2.3.0.17.6/fs/ext2/inode.c 2007-08-18 02:01:21 +0200 @@ -1232,6 +1232,7 @@ static int ext2_update_inode(struct inod ino_t ino = inode->i_ino; uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); + tag_t tag = TAGINO_TAG(DX_TAG(inode), inode->i_tag); struct buffer_head * bh; struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh); int n; @@ -1268,7 +1269,7 @@ static int ext2_update_inode(struct inod raw_inode->i_gid_high = 0; } #ifdef CONFIG_TAGGING_INTERN - raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); + raw_inode->i_raw_tag = cpu_to_le16(tag); #endif raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); raw_inode->i_size = cpu_to_le32(inode->i_size); --- linux-2.6.22.2-vs2.3.0.17.5/fs/ext3/inode.c 2007-08-05 20:53:12 +0200 +++ linux-2.6.22.2-vs2.3.0.17.6/fs/ext3/inode.c 2007-08-18 02:06:41 +0200 @@ -2797,6 +2797,7 @@ static int ext3_do_update_inode(handle_t struct buffer_head *bh = iloc->bh; uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); + tag_t tag = TAGINO_TAG(DX_TAG(inode), inode->i_tag); int err = 0, rc, block; /* For fields not not tracking in the in-memory inode, @@ -2831,7 +2832,7 @@ static int ext3_do_update_inode(handle_t raw_inode->i_gid_high = 0; } #ifdef CONFIG_TAGGING_INTERN - raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); + raw_inode->i_raw_tag = cpu_to_le16(tag); #endif raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); raw_inode->i_size = cpu_to_le32(ei->i_disksize); --- linux-2.6.22.2-vs2.3.0.17.5/fs/ext4/inode.c 2007-08-05 20:53:12 +0200 +++ linux-2.6.22.2-vs2.3.0.17.6/fs/ext4/inode.c 2007-08-18 02:07:40 +0200 @@ -2793,6 +2793,7 @@ static int ext4_do_update_inode(handle_t struct buffer_head *bh = iloc->bh; uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); + tag_t tag = TAGINO_TAG(DX_TAG(inode), inode->i_tag); int err = 0, rc, block; /* For fields not not tracking in the in-memory inode, @@ -2826,7 +2827,7 @@ static int ext4_do_update_inode(handle_t raw_inode->i_gid_high = 0; } #ifdef CONFIG_TAGGING_INTERN - raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); + raw_inode->i_raw_tag = cpu_to_le16(tag); #endif raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); raw_inode->i_size = cpu_to_le32(ei->i_disksize); diff -NurpP --minimal linux-2.6.22.2-vs2.3.0.17.5/fs/jffs2/file.c linux-2.6.22.2-vs2.3.0.17.6/fs/jffs2/file.c --- linux-2.6.22.2-vs2.3.0.17.5/fs/jffs2/file.c 2007-08-05 20:53:12 +0200 +++ linux-2.6.22.2-vs2.3.0.17.6/fs/jffs2/file.c 2007-08-18 02:13:16 +0200 @@ -161,7 +161,7 @@ static int jffs2_prepare_write (struct f ri.mode = cpu_to_jemode(inode->i_mode); ri.uid = cpu_to_je16(inode->i_uid); ri.gid = cpu_to_je16(inode->i_gid); - ri.tag = cpu_to_je16(inode->i_tag); + ri.tag = cpu_to_je16(TAGINO_TAG(DX_TAG(inode), inode->i_tag)); ri.isize = cpu_to_je32(max((uint32_t)inode->i_size, pageofs)); ri.atime = ri.ctime = ri.mtime = cpu_to_je32(get_seconds()); ri.offset = cpu_to_je32(inode->i_size); @@ -254,7 +254,7 @@ static int jffs2_commit_write (struct fi ri->mode = cpu_to_jemode(inode->i_mode); ri->uid = cpu_to_je16(inode->i_uid); ri->gid = cpu_to_je16(inode->i_gid); - ri->tag = cpu_to_je16(inode->i_tag); + ri->tag = cpu_to_je16(TAGINO_TAG(DX_TAG(inode), inode->i_tag)); ri->isize = cpu_to_je32((uint32_t)inode->i_size); ri->atime = ri->ctime = ri->mtime = cpu_to_je32(get_seconds()); ri->flags = cpu_to_je16(f->flags);