diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext2/ialloc.c linux-2.4.31-vs1.2.10.1/fs/ext2/ialloc.c
--- linux-2.4.31-vs1.2.10/fs/ext2/ialloc.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext2/ialloc.c	2005-08-12 13:57:31 +0200
@@ -387,9 +387,9 @@ repeat:
 	inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
 	inode->u.ext2_i.i_state = EXT2_STATE_NEW;
 	inode->u.ext2_i.i_flags = dir->u.ext2_i.i_flags &
-		~(EXT2_BTREE_FL|EXT2_IMMUTABLE_LINK_FL);
+		~(EXT2_BTREE_FL|EXT2_IUNLINK_FL);
 	if (S_ISLNK(mode))
-		inode->u.ext2_i.i_flags &= ~(EXT2_IMMUTABLE_FILE_FL|EXT2_APPEND_FL);
+		inode->u.ext2_i.i_flags &= ~(EXT2_IMMUTABLE_FL|EXT2_APPEND_FL);
 	inode->u.ext2_i.i_block_group = group;
 	ext2_set_inode_flags(inode);
 	insert_inode_hash(inode);
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext2/inode.c linux-2.4.31-vs1.2.10.1/fs/ext2/inode.c
--- linux-2.4.31-vs1.2.10/fs/ext2/inode.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext2/inode.c	2005-08-12 13:57:31 +0200
@@ -893,7 +893,7 @@ do_indirects:
 
 void ext2_truncate (struct inode * inode)
 {
-	if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+	if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 		return;
 	ext2_truncate_nocheck(inode);
 }
@@ -902,15 +902,15 @@ void ext2_set_inode_flags(struct inode *
 {
 	unsigned int flags = inode->u.ext2_i.i_flags;
 
-	inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE_FILE|S_IMMUTABLE_LINK|S_NOATIME);
+	inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE|S_IUNLINK|S_NOATIME);
 	if (flags & EXT2_SYNC_FL)
 		inode->i_flags |= S_SYNC;
 	if (flags & EXT2_APPEND_FL)
 		inode->i_flags |= S_APPEND;
-	if (flags & EXT2_IMMUTABLE_FILE_FL)
-		inode->i_flags |= S_IMMUTABLE_FILE;
-	if (flags & EXT2_IMMUTABLE_LINK_FL)
-		inode->i_flags |= S_IMMUTABLE_LINK;
+	if (flags & EXT2_IMMUTABLE_FL)
+		inode->i_flags |= S_IMMUTABLE;
+	if (flags & EXT2_IUNLINK_FL)
+		inode->i_flags |= S_IUNLINK;
 	if (flags & EXT2_NOATIME_FL)
 		inode->i_flags |= S_NOATIME;
 }
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext2/ioctl.c linux-2.4.31-vs1.2.10.1/fs/ext2/ioctl.c
--- linux-2.4.31-vs1.2.10/fs/ext2/ioctl.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext2/ioctl.c	2005-08-12 13:57:31 +0200
@@ -44,9 +44,9 @@ int ext2_ioctl (struct inode * inode, st
 		 *
 		 * This test looks nicer. Thanks to Pauline Middelink
 		 */
-		if ((oldflags & EXT2_IMMUTABLE_FILE_FL) ||
+		if ((oldflags & EXT2_IMMUTABLE_FL) ||
 			((flags ^ oldflags) & (EXT2_APPEND_FL |
-			EXT2_IMMUTABLE_FILE_FL | EXT2_IMMUTABLE_LINK_FL))) {
+			EXT2_IMMUTABLE_FL | EXT2_IUNLINK_FL))) {
 			if (!capable(CAP_LINUX_IMMUTABLE))
 				return -EPERM;
 		}
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext3/ialloc.c linux-2.4.31-vs1.2.10.1/fs/ext3/ialloc.c
--- linux-2.4.31-vs1.2.10/fs/ext3/ialloc.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext3/ialloc.c	2005-08-12 13:57:31 +0200
@@ -484,9 +484,9 @@ repeat:
 	inode->i_blocks = 0;
 	inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
 	inode->u.ext3_i.i_flags = dir->u.ext3_i.i_flags &
-		~(EXT3_INDEX_FL|EXT3_IMMUTABLE_LINK_FL);
+		~(EXT3_INDEX_FL|EXT3_IUNLINK_FL);
 	if (S_ISLNK(mode))
-		inode->u.ext3_i.i_flags &= ~(EXT3_IMMUTABLE_FILE_FL|EXT3_APPEND_FL);
+		inode->u.ext3_i.i_flags &= ~(EXT3_IMMUTABLE_FL|EXT3_APPEND_FL);
 #ifdef EXT3_FRAGMENTS
 	inode->u.ext3_i.i_faddr = 0;
 	inode->u.ext3_i.i_frag_no = 0;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext3/inode.c linux-2.4.31-vs1.2.10.1/fs/ext3/inode.c
--- linux-2.4.31-vs1.2.10/fs/ext3/inode.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext3/inode.c	2005-08-12 13:57:31 +0200
@@ -2017,7 +2017,7 @@ out_stop:
 
 void ext3_truncate(struct inode * inode)
 {
-	if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+	if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 		return;
 	ext3_truncate_nocheck(inode);
 }
@@ -2093,15 +2093,15 @@ void ext3_set_inode_flags(struct inode *
 {
 	unsigned int flags = inode->u.ext3_i.i_flags;
 
-	inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE_FILE|S_IMMUTABLE_LINK|S_NOATIME);
+	inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE|S_IUNLINK|S_NOATIME);
 	if (flags & EXT3_SYNC_FL)
 		inode->i_flags |= S_SYNC;
 	if (flags & EXT3_APPEND_FL)
 		inode->i_flags |= S_APPEND;
-	if (flags & EXT3_IMMUTABLE_FILE_FL)
-		inode->i_flags |= S_IMMUTABLE_FILE;
-	if (flags & EXT3_IMMUTABLE_LINK_FL)
-		inode->i_flags |= S_IMMUTABLE_LINK;
+	if (flags & EXT3_IMMUTABLE_FL)
+		inode->i_flags |= S_IMMUTABLE;
+	if (flags & EXT3_IUNLINK_FL)
+		inode->i_flags |= S_IUNLINK;
 	if (flags & EXT3_NOATIME_FL)
 		inode->i_flags |= S_NOATIME;
 }
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ext3/ioctl.c linux-2.4.31-vs1.2.10.1/fs/ext3/ioctl.c
--- linux-2.4.31-vs1.2.10/fs/ext3/ioctl.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ext3/ioctl.c	2005-08-12 13:57:31 +0200
@@ -53,9 +53,9 @@ int ext3_ioctl (struct inode * inode, st
 		 *
 		 * This test looks nicer. Thanks to Pauline Middelink
 		 */
-		if ((oldflags & EXT3_IMMUTABLE_FILE_FL) ||
+		if ((oldflags & EXT3_IMMUTABLE_FL) ||
 			((flags ^ oldflags) & (EXT3_APPEND_FL |
-			EXT3_IMMUTABLE_FILE_FL | EXT3_IMMUTABLE_LINK_FL))) {
+			EXT3_IMMUTABLE_FL | EXT3_IUNLINK_FL))) {
 			if (!capable(CAP_LINUX_IMMUTABLE))
 				return -EPERM;
 		}
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/fat/file.c linux-2.4.31-vs1.2.10.1/fs/fat/file.c
--- linux-2.4.31-vs1.2.10/fs/fat/file.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/fat/file.c	2005-08-12 13:57:31 +0200
@@ -119,7 +119,7 @@ void fat_truncate(struct inode *inode)
 	/* Why no return value?  Surely the disk could fail... */
 	if (IS_RDONLY (inode))
 		return /* -EPERM */;
-	if (IS_IMMUTABLE_FILE(inode))
+	if (IS_IMMUTABLE(inode))
 		return /* -EPERM */;
 	cluster = 1 << sbi->cluster_bits;
 	/* 
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/fat/inode.c linux-2.4.31-vs1.2.10.1/fs/fat/inode.c
--- linux-2.4.31-vs1.2.10/fs/fat/inode.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/fat/inode.c	2005-08-12 13:57:31 +0200
@@ -960,7 +960,7 @@ static void fat_fill_inode(struct inode 
 	}
 	if(de->attr & ATTR_SYS)
 		if (sbi->options.sys_immutable)
-			inode->i_flags |= S_IMMUTABLE_FILE;
+			inode->i_flags |= S_IMMUTABLE;
 	MSDOS_I(inode)->i_attrs = de->attr & ATTR_UNUSED;
 	/* this is as close to the truth as we can get ... */
 	inode->i_blksize = 1 << sbi->cluster_bits;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/hpfs/file.c linux-2.4.31-vs1.2.10.1/fs/hpfs/file.c
--- linux-2.4.31-vs1.2.10/fs/hpfs/file.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/hpfs/file.c	2005-08-12 13:57:31 +0200
@@ -60,7 +60,7 @@ secno hpfs_bmap(struct inode *inode, uns
 
 void hpfs_truncate(struct inode *i)
 {
-	if (IS_IMMUTABLE_FILE(i)) return /*-EPERM*/;
+	if (IS_IMMUTABLE(i)) return /*-EPERM*/;
 	i->i_hpfs_n_secs = 0;
 	i->i_blocks = 1 + ((i->i_size + 511) >> 9);
 	i->u.hpfs_i.mmu_private = i->i_size;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/intermezzo/vfs.c linux-2.4.31-vs1.2.10.1/fs/intermezzo/vfs.c
--- linux-2.4.31-vs1.2.10/fs/intermezzo/vfs.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/intermezzo/vfs.c	2005-08-12 13:57:31 +0200
@@ -139,8 +139,8 @@ static inline int may_delete(struct inod
                 return error;
         if (IS_APPEND(dir))
                 return -EPERM;
-        if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)||
-	    IS_IMMUTABLE_LINK(victim->d_inode))
+	if (check_sticky(dir, victim->d_inode) ||
+	    IS_APPEND(victim->d_inode) || IS_IXORUNLINK(victim->d_inode))
                 return -EPERM;
         if (isdir) {
                 if (!S_ISDIR(victim->d_inode->i_mode))
@@ -262,7 +262,7 @@ int presto_settime(struct presto_file_se
                         return -EROFS;
                 }
 
-		if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+		if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
                         EXIT;
                         return -EPERM;
                 }
@@ -377,7 +377,7 @@ int presto_do_setattr(struct presto_file
                 return -EROFS;
         }
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
                 EXIT;
                 return -EPERM;
         }
@@ -772,7 +772,7 @@ int presto_do_link(struct presto_file_se
          * A link to an append-only or immutable file cannot be created.
          */
         error = -EPERM;
-	if (IS_APPEND(inode) || IS_IMMUTABLE_LINK(inode)) {
+	if (IS_APPEND(inode) || IS_IXORUNLINK(inode)) {
                 EXIT;
                 goto exit_lock;
         }
@@ -2358,7 +2358,7 @@ int presto_do_set_ext_attr(struct presto
                 return -EROFS;
         }
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
                 EXIT;
                 return -EPERM;
         }
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/jfs/xattr.c linux-2.4.31-vs1.2.10.1/fs/jfs/xattr.c
--- linux-2.4.31-vs1.2.10/fs/jfs/xattr.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/jfs/xattr.c	2005-08-12 13:57:31 +0200
@@ -654,7 +654,7 @@ static int can_set_xattr(struct inode *i
 	if (IS_RDONLY(inode))
 		return -EROFS;
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode) || S_ISLNK(inode->i_mode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode) || S_ISLNK(inode->i_mode))
 		return -EPERM;
 
 	if((strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) != 0) &&
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/namei.c linux-2.4.31-vs1.2.10.1/fs/namei.c
--- linux-2.4.31-vs1.2.10/fs/namei.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/namei.c	2005-08-12 13:57:31 +0200
@@ -167,7 +167,7 @@ int vfs_permission(struct inode * inode,
 		/*
 		 * Nobody gets write access to an immutable file.
 		 */
-		if (IS_IMMUTABLE_FILE(inode))
+		if (IS_IMMUTABLE(inode))
 			return -EACCES;
 	}
 
@@ -912,7 +912,8 @@ static inline int may_delete(struct inod
 		return error;
 	if (IS_APPEND(dir))
 		return -EPERM;
-	if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)||IS_IMMUTABLE_LINK(victim->d_inode))
+	if (check_sticky(dir, victim->d_inode) ||
+	    IS_APPEND(victim->d_inode) || IS_IXORUNLINK(victim->d_inode))
 		return -EPERM;
 	if (isdir) {
 		if (!S_ISDIR(victim->d_inode->i_mode))
@@ -1628,7 +1629,7 @@ int vfs_link(struct dentry *old_dentry, 
 	 * A link to an append-only or immutable file cannot be created.
 	 */
 	error = -EPERM;
-	if (IS_APPEND(inode) || IS_IMMUTABLE_LINK(inode))
+	if (IS_APPEND(inode) || IS_IXORUNLINK(inode))
 		goto exit_lock;
 	if (!dir->i_op || !dir->i_op->link)
 		goto exit_lock;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/nfsd/vfs.c linux-2.4.31-vs1.2.10.1/fs/nfsd/vfs.c
--- linux-2.4.31-vs1.2.10/fs/nfsd/vfs.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/nfsd/vfs.c	2005-08-12 13:57:31 +0200
@@ -1513,8 +1513,8 @@ nfsd_permission(struct svc_export *exp, 
 		(acc & MAY_LOCK)?	" lock"  : "",
 		(acc & MAY_OWNER_OVERRIDE)? " owneroverride" : "",
 		inode->i_mode,
-		IS_IMMUTABLE_FILE(inode)? " immut(F)" : "",
-		IS_IMMUTABLE_LINK(inode)? " immut(L)" : "",
+		IS_IMMUTABLE(inode)?	" immut" : "",
+		IS_IUNLINK(inode)?	" iunlink" : "",
 		IS_APPEND(inode)?	" append" : "",
 		IS_RDONLY(inode)?	" ro" : "");
 	dprintk("      owner %d/%d user %d/%d\n",
@@ -1533,7 +1533,7 @@ nfsd_permission(struct svc_export *exp, 
 	 && (acc & (MAY_WRITE | MAY_SATTR | MAY_TRUNC))) {
 		if (EX_RDONLY(exp) || IS_RDONLY(inode))
 			return nfserr_rofs;
-		if (/* (acc & MAY_WRITE) && */ IS_IMMUTABLE_FILE(inode))
+		if (/* (acc & MAY_WRITE) && */ IS_IMMUTABLE(inode))
 			return nfserr_perm;
 	}
 	if ((acc & MAY_TRUNC) && IS_APPEND(inode))
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/open.c linux-2.4.31-vs1.2.10.1/fs/open.c
--- linux-2.4.31-vs1.2.10/fs/open.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/open.c	2005-08-12 13:57:31 +0200
@@ -148,7 +148,7 @@ static inline long do_sys_truncate(const
 		goto dput_and_out;
 
 	error = -EPERM;
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		goto dput_and_out;
 
 	/*
@@ -275,7 +275,7 @@ asmlinkage long sys_utime(char * filenam
 	newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
 	if (times) {
 		error = -EPERM;
-		if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+		if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 			goto dput_and_out;
 		error = get_user(newattrs.ia_atime, &times->actime);
 		if (!error) 
@@ -286,7 +286,7 @@ asmlinkage long sys_utime(char * filenam
 		newattrs.ia_valid |= ATTR_ATIME_SET | ATTR_MTIME_SET;
 	} else {
 		error = -EACCES;
-		if (IS_IMMUTABLE_FILE(inode))
+		if (IS_IMMUTABLE(inode))
 			goto dput_and_out;
 		if (current->fsuid != inode->i_uid &&
 		    (error = permission(inode,MAY_WRITE)) != 0)
@@ -327,7 +327,7 @@ asmlinkage long sys_utimes(char * filena
 	if (utimes) {
 		struct timeval times[2];
 		error = -EPERM;
-		if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+		if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 			goto dput_and_out;
 		error = -EFAULT;
 		if (copy_from_user(&times, utimes, sizeof(times)))
@@ -337,7 +337,7 @@ asmlinkage long sys_utimes(char * filena
 		newattrs.ia_valid |= ATTR_ATIME_SET | ATTR_MTIME_SET;
 	} else {
 		error = -EACCES;
-		if (IS_IMMUTABLE_FILE(inode))
+		if (IS_IMMUTABLE(inode))
 			goto dput_and_out;
 
 		if (current->fsuid != inode->i_uid &&
@@ -493,7 +493,7 @@ asmlinkage long sys_fchmod(unsigned int 
 	if (IS_RDONLY(inode))
 		goto out_putf;
 	err = -EPERM;
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		goto out_putf;
 	/* not required, but just to make sure ;) */
 	if (IS_BARRIER(inode))
@@ -527,7 +527,7 @@ asmlinkage long sys_chmod(const char * f
 		goto dput_and_out;
 
 	error = -EPERM;
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		goto dput_and_out;
 	/* not required, but just to make sure ;) */
 	if (IS_BARRIER(inode))
@@ -560,7 +560,7 @@ static int chown_common(struct dentry * 
 	if (IS_RDONLY(inode))
 		goto out;
 	error = -EPERM;
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		goto out;
 	if (user == (uid_t) -1)
 		user = inode->i_uid;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/proc/base.c linux-2.4.31-vs1.2.10.1/fs/proc/base.c
--- linux-2.4.31-vs1.2.10/fs/proc/base.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/proc/base.c	2005-08-12 13:57:31 +0200
@@ -1094,7 +1094,7 @@ struct dentry *proc_pid_lookup(struct in
 	inode->i_op = &proc_base_inode_operations;
 	inode->i_fop = &proc_base_operations;
 	inode->i_nlink = 3;
-	inode->i_flags|=S_IMMUTABLE_FILE;
+	inode->i_flags|=S_IMMUTABLE;
 
 	dentry->d_op = &pid_base_dentry_operations;
 	d_add(dentry, inode);
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/reiserfs/inode.c linux-2.4.31-vs1.2.10.1/fs/reiserfs/inode.c
--- linux-2.4.31-vs1.2.10/fs/reiserfs/inode.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/reiserfs/inode.c	2005-08-12 13:57:31 +0200
@@ -1574,7 +1574,7 @@ int reiserfs_new_inode (struct reiserfs_
 
     /* symlink cannot be immutable or append only, right? */
     if( S_ISLNK( inode -> i_mode ) )
-	    inode -> i_flags &= ~ ( S_IMMUTABLE_FILE | S_APPEND );
+	    inode -> i_flags &= ~ ( S_IMMUTABLE | S_APPEND );
 
     /* item head of new item */
     ih.ih_key.k_dir_id = INODE_PKEY (dir)->k_objectid;
@@ -2177,14 +2177,14 @@ void sd_attrs_to_i_attrs( __u16 sd_attrs
 			inode -> i_flags |= S_SYNC;
 		else
 			inode -> i_flags &= ~S_SYNC;
-		if( sd_attrs & REISERFS_IMMUTABLE_FILE_FL )
-			inode -> i_flags |= S_IMMUTABLE_FILE;
+		if( sd_attrs & REISERFS_IMMUTABLE_FL )
+			inode -> i_flags |= S_IMMUTABLE;
 		else
-			inode -> i_flags &= ~S_IMMUTABLE_FILE;
-		if( sd_attrs & REISERFS_IMMUTABLE_LINK_FL )
-			inode -> i_flags |= S_IMMUTABLE_LINK;
+			inode -> i_flags &= ~S_IMMUTABLE;
+		if( sd_attrs & REISERFS_IUNLINK_FL )
+			inode -> i_flags |= S_IUNLINK;
 		else
-			inode -> i_flags &= ~S_IMMUTABLE_LINK;
+			inode -> i_flags &= ~S_IUNLINK;
 		if( sd_attrs & REISERFS_APPEND_FL )
 			inode -> i_flags |= S_APPEND;
 		else
@@ -2203,14 +2203,14 @@ void sd_attrs_to_i_attrs( __u16 sd_attrs
 void i_attrs_to_sd_attrs( struct inode *inode, __u16 *sd_attrs )
 {
 	if( reiserfs_attrs( inode -> i_sb ) ) {
-		if( inode -> i_flags & S_IMMUTABLE_FILE )
-			*sd_attrs |= REISERFS_IMMUTABLE_FILE_FL;
+		if( inode -> i_flags & S_IMMUTABLE )
+			*sd_attrs |= REISERFS_IMMUTABLE_FL;
 		else
-			*sd_attrs &= ~REISERFS_IMMUTABLE_FILE_FL;
-		if( inode -> i_flags & S_IMMUTABLE_LINK )
-			*sd_attrs |= REISERFS_IMMUTABLE_LINK_FL;
+			*sd_attrs &= ~REISERFS_IMMUTABLE_FL;
+		if( inode -> i_flags & S_IUNLINK )
+			*sd_attrs |= REISERFS_IUNLINK_FL;
 		else
-			*sd_attrs &= ~REISERFS_IMMUTABLE_LINK_FL;
+			*sd_attrs &= ~REISERFS_IUNLINK_FL;
 		if( inode -> i_flags & S_SYNC )
 			*sd_attrs |= REISERFS_SYNC_FL;
 		else
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/udf/inode.c linux-2.4.31-vs1.2.10.1/fs/udf/inode.c
--- linux-2.4.31-vs1.2.10/fs/udf/inode.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/udf/inode.c	2005-08-12 13:57:31 +0200
@@ -860,7 +860,7 @@ void udf_truncate(struct inode * inode)
 	if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
 			S_ISLNK(inode->i_mode)))
 		return;
-	if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+	if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 		return;
 
 	if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB)
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/ufs/truncate.c linux-2.4.31-vs1.2.10.1/fs/ufs/truncate.c
--- linux-2.4.31-vs1.2.10/fs/ufs/truncate.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/ufs/truncate.c	2005-08-12 13:57:31 +0200
@@ -434,7 +434,7 @@ void ufs_truncate (struct inode * inode)
 
 	if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)))
 		return;
-	if (IS_APPEND(inode) || IS_IMMUTABLE_FILE(inode))
+	if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
 		return;
 	while (1) {
 		retry = ufs_trunc_direct(inode);
--- linux-2.4.30-vs1.2.10/fs/xfs/linux-2.4/xfs_super.c	2005-08-12 14:23:58 +0200
+++ linux-2.4.30-vs1.2.10.3/fs/xfs/linux-2.4/xfs_super.c	2005-08-12 02:57:02 +0200
@@ -175,13 +175,13 @@ xfs_revalidate_inode(
 	inode->i_mtime	= ip->i_d.di_mtime.t_sec;
 	inode->i_ctime	= ip->i_d.di_ctime.t_sec;
 	if (ip->i_d.di_flags & XFS_DIFLAG_IMMUTABLE)
-		inode->i_flags |= S_IMMUTABLE_FILE;
+		inode->i_flags |= S_IMMUTABLE;
 	else
-		inode->i_flags &= ~S_IMMUTABLE_FILE;
+		inode->i_flags &= ~S_IMMUTABLE;
 	if (ip->i_d.di_flags & XFS_DIFLAG_IUNLINK)
-		inode->i_flags |= S_IMMUTABLE_LINK;
+		inode->i_flags |= S_IUNLINK;
 	else
-		inode->i_flags &= ~S_IMMUTABLE_LINK;
+		inode->i_flags &= ~S_IUNLINK;
 	if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
 		inode->i_flags |= S_APPEND;
 	else
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/xfs/linux-2.4/xfs_ioctl.c linux-2.4.31-vs1.2.10.1/fs/xfs/linux-2.4/xfs_ioctl.c
--- linux-2.4.31-vs1.2.10/fs/xfs/linux-2.4/xfs_ioctl.c	2005-08-12 13:52:34 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/xfs/linux-2.4/xfs_ioctl.c	2005-08-12 13:57:31 +0200
@@ -331,7 +331,7 @@ xfs_open_by_handle(
 		return -XFS_ERROR(EPERM);
 	}
 
-	if ((permflag & FMODE_WRITE) && IS_IMMUTABLE_FILE(inode)) {
+	if ((permflag & FMODE_WRITE) && IS_IMMUTABLE(inode)) {
 		iput(inode);
 		return -XFS_ERROR(EACCES);
 	}
@@ -437,7 +437,7 @@ xfs_fssetdm_by_handle(
 	if (error)
 		return -error;
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
 		VN_RELE(vp);
 		return -XFS_ERROR(EPERM);
 	}
@@ -532,7 +532,7 @@ xfs_attrmulti_by_handle(
 					NULL, ops[i].am_error);
 			break;
 		case ATTR_OP_SET:
-			if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+			if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
 				ops[i].am_error = EPERM;
 				break;
 			}
@@ -541,7 +541,7 @@ xfs_attrmulti_by_handle(
 					NULL, ops[i].am_error);
 			break;
 		case ATTR_OP_REMOVE:
-			if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode)) {
+			if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) {
 				ops[i].am_error = EPERM;
 				break;
 			}
@@ -894,7 +894,7 @@ xfs_ioc_space(
 	int			attr_flags = 0;
 	int			error;
 
-	if (vp->v_inode.i_flags & (S_IMMUTABLE_FILE|S_APPEND))
+	if (vp->v_inode.i_flags & (S_IMMUTABLE|S_APPEND))
 		return -XFS_ERROR(EPERM);
 
 	if (!(filp->f_flags & FMODE_WRITE))
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/xfs/linux-2.4/xfs_vnode.c linux-2.4.31-vs1.2.10.1/fs/xfs/linux-2.4/xfs_vnode.c
--- linux-2.4.31-vs1.2.10/fs/xfs/linux-2.4/xfs_vnode.c	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/xfs/linux-2.4/xfs_vnode.c	2005-08-12 13:57:31 +0200
@@ -218,13 +218,13 @@ vn_revalidate_core(
 	inode->i_ctime	    = vap->va_ctime.tv_sec;
 	inode->i_atime	    = vap->va_atime.tv_sec;
 	if (vap->va_xflags & XFS_XFLAG_IMMUTABLE)
-			inode->i_flags |= S_IMMUTABLE_FILE;
+		inode->i_flags |= S_IMMUTABLE;
 	else
-			inode->i_flags &= ~S_IMMUTABLE_FILE;
-		if (vap->va_xflags & XFS_XFLAG_IUNLINK)
-			inode->i_flags |= S_IMMUTABLE_LINK;
-		else
-			inode->i_flags &= ~S_IMMUTABLE_LINK;
+		inode->i_flags &= ~S_IMMUTABLE;
+	if (vap->va_xflags & XFS_XFLAG_IUNLINK)
+		inode->i_flags |= S_IUNLINK;
+	else
+		inode->i_flags &= ~S_IUNLINK;
 	if (vap->va_xflags & XFS_XFLAG_APPEND)
 		inode->i_flags |= S_APPEND;
 	else
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/xfs/xfs_acl.c linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_acl.c
--- linux-2.4.31-vs1.2.10/fs/xfs/xfs_acl.c	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_acl.c	2005-08-12 13:57:31 +0200
@@ -387,7 +387,7 @@ xfs_acl_allow_set(
 	vattr_t		va;
 	int		error;
 
-	if (vp->v_inode.i_flags & (S_IMMUTABLE_FILE|S_APPEND))
+	if (vp->v_inode.i_flags & (S_IMMUTABLE|S_APPEND))
 		return EPERM;
 	if (kind == _ACL_TYPE_DEFAULT && vp->v_type != VDIR)
 		return ENOTDIR;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/xfs/xfs_attr.c linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_attr.c
--- linux-2.4.31-vs1.2.10/fs/xfs/xfs_attr.c	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_attr.c	2005-08-12 13:57:31 +0200
@@ -2541,7 +2541,7 @@ attr_user_capable(
 {
 	struct inode	*inode = LINVFS_GET_IP(vp);
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		return -EPERM;
 	if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode) &&
 	    !capable(CAP_SYS_ADMIN))
@@ -2559,7 +2559,7 @@ attr_trusted_capable(
 {
 	struct inode	*inode = LINVFS_GET_IP(vp);
 
-	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
+	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
 		return -EPERM;
 	if (!capable(CAP_SYS_ADMIN))
 		return -EPERM;
diff -NurpP --minimal linux-2.4.31-vs1.2.10/fs/xfs/xfs_inode.c linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_inode.c
--- linux-2.4.31-vs1.2.10/fs/xfs/xfs_inode.c	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/fs/xfs/xfs_inode.c	2005-08-12 13:57:31 +0200
@@ -3721,7 +3721,7 @@ xfs_iaccess(
 		    (S_ISREG(imode) || S_ISDIR(imode) || S_ISLNK(imode)))
 			return XFS_ERROR(EROFS);
 
-		if (IS_IMMUTABLE_FILE(inode))
+		if (IS_IMMUTABLE(inode))
 			return XFS_ERROR(EACCES);
 	}
 
diff -NurpP --minimal linux-2.4.31-vs1.2.10/include/linux/ext2_fs.h linux-2.4.31-vs1.2.10.1/include/linux/ext2_fs.h
--- linux-2.4.31-vs1.2.10/include/linux/ext2_fs.h	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/include/linux/ext2_fs.h	2005-08-12 13:57:31 +0200
@@ -187,7 +187,7 @@ struct ext2_group_desc
 #define	EXT2_UNRM_FL			0x00000002 /* Undelete */
 #define	EXT2_COMPR_FL			0x00000004 /* Compress file */
 #define EXT2_SYNC_FL			0x00000008 /* Synchronous updates */
-#define EXT2_IMMUTABLE_FILE_FL		0x00000010 /* Immutable file */
+#define EXT2_IMMUTABLE_FL		0x00000010 /* Immutable file */
 #define EXT2_APPEND_FL			0x00000020 /* writes to file may only append */
 #define EXT2_NODUMP_FL			0x00000040 /* do not dump file */
 #define EXT2_NOATIME_FL			0x00000080 /* do not update atime */
@@ -198,7 +198,7 @@ struct ext2_group_desc
 #define EXT2_ECOMPR_FL			0x00000800 /* Compression error */
 /* End compression flags --- maybe not all used */	
 #define EXT2_BTREE_FL			0x00001000 /* btree format dir */
-#define EXT2_IMMUTABLE_LINK_FL		0x00008000 /* Immutable link */
+#define EXT2_IUNLINK_FL			0x00008000 /* Immutable unlink */
 #define EXT2_RESERVED_FL		0x80000000 /* reserved for ext2 lib */
 
 #define EXT2_FL_USER_VISIBLE		0x00009FFF /* User visible flags */
diff -NurpP --minimal linux-2.4.31-vs1.2.10/include/linux/ext3_fs.h linux-2.4.31-vs1.2.10.1/include/linux/ext3_fs.h
--- linux-2.4.31-vs1.2.10/include/linux/ext3_fs.h	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/include/linux/ext3_fs.h	2005-08-12 13:57:31 +0200
@@ -190,7 +190,7 @@ struct ext3_group_desc
 #define	EXT3_UNRM_FL			0x00000002 /* Undelete */
 #define	EXT3_COMPR_FL			0x00000004 /* Compress file */
 #define EXT3_SYNC_FL			0x00000008 /* Synchronous updates */
-#define EXT3_IMMUTABLE_FILE_FL		0x00000010 /* Immutable file */
+#define EXT3_IMMUTABLE_FL		0x00000010 /* Immutable file */
 #define EXT3_APPEND_FL			0x00000020 /* writes to file may only append */
 #define EXT3_NODUMP_FL			0x00000040 /* do not dump file */
 #define EXT3_NOATIME_FL			0x00000080 /* do not update atime */
@@ -203,7 +203,7 @@ struct ext3_group_desc
 #define EXT3_INDEX_FL			0x00001000 /* hash-indexed directory */
 #define EXT3_IMAGIC_FL			0x00002000 /* AFS directory */
 #define EXT3_JOURNAL_DATA_FL		0x00004000 /* file data should be journaled */
-#define EXT3_IMMUTABLE_LINK_FL		0x00008000 /* Immutable link */
+#define EXT3_IUNLINK_FL			0x00008000 /* Immutable unlink */
 #define EXT3_RESERVED_FL		0x80000000 /* reserved for ext3 lib */
 
 #define EXT3_FL_USER_VISIBLE		0x0000DFFF /* User visible flags */
diff -NurpP --minimal linux-2.4.31-vs1.2.10/include/linux/fs.h linux-2.4.31-vs1.2.10.1/include/linux/fs.h
--- linux-2.4.31-vs1.2.10/include/linux/fs.h	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/include/linux/fs.h	2005-08-12 13:57:31 +0200
@@ -132,10 +132,10 @@ extern int leases_enable, dir_notify_ena
 #define S_NOATIME	2	/* Do not update access times */
 #define S_QUOTA		4	/* Quota initialized for file */
 #define S_APPEND	8	/* Append-only file */
-#define S_IMMUTABLE_FILE	16	/* Immutable file */
+#define S_IMMUTABLE	16	/* Immutable file */
 #define S_DEAD		32	/* removed, but still open directory */
 #define S_NOQUOTA	64	/* Inode is not counted to quota */
-#define S_IMMUTABLE_LINK	128	/* Immutable links */
+#define S_IUNLINK	128	/* Immutable unlink */
 
 /*
  * Note that nosuid etc flags are inode-specific: setting some file-system
@@ -167,7 +167,7 @@ extern int leases_enable, dir_notify_ena
 
 #define IS_BARRIER(inode)	(S_ISDIR((inode)->i_mode) && \
 				(inode->i_mode & 0777) == 0 && \
-				((inode)->i_flags & S_IMMUTABLE_LINK))
+				((inode)->i_flags & S_IUNLINK))
 
 #define IS_DEADDIR(inode)	((inode)->i_flags & S_DEAD)
 
diff -NurpP --minimal linux-2.4.31-vs1.2.10/include/linux/reiserfs_fs.h linux-2.4.31-vs1.2.10.1/include/linux/reiserfs_fs.h
--- linux-2.4.31-vs1.2.10/include/linux/reiserfs_fs.h	2005-08-12 13:52:35 +0200
+++ linux-2.4.31-vs1.2.10.1/include/linux/reiserfs_fs.h	2005-08-12 13:57:31 +0200
@@ -866,8 +866,8 @@ struct stat_data_v1
 
 /* we want common flags to have the same values as in ext2,
    so chattr(1) will work without problems */
-#define REISERFS_IMMUTABLE_FILE_FL EXT2_IMMUTABLE_FILE_FL
-#define REISERFS_IMMUTABLE_LINK_FL EXT2_IMMUTABLE_LINK_FL
+#define REISERFS_IMMUTABLE_FL EXT2_IMMUTABLE_FL
+#define REISERFS_IUNLINK_FL   EXT2_IUNLINK_FL
 #define REISERFS_APPEND_FL    EXT2_APPEND_FL
 #define REISERFS_SYNC_FL      EXT2_SYNC_FL
 #define REISERFS_NOATIME_FL   EXT2_NOATIME_FL
@@ -884,7 +884,7 @@ struct stat_data_v1
 #define REISERFS_NOTAIL_FL    (0x00008000) /* EXT2_NOTAIL_FL */
 
 /* persistent flags that file inherits from the parent directory */
-#define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FILE_FL |	\
+#define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL |	\
 				REISERFS_SYNC_FL |	\
 				REISERFS_NOATIME_FL |	\
 				REISERFS_NODUMP_FL |	\
