packages (Titanium): kernel-bare-vserver/linux-2.6-vs2.3.patch - updated fo...

hawk hawk at pld-linux.org
Thu Oct 7 09:05:41 CEST 2010


Author: hawk                         Date: Thu Oct  7 07:05:41 2010 GMT
Module: packages                      Tag: Titanium
---- Log message:
- updated for 2.6.32.24

---- Files affected:
packages/kernel-bare-vserver:
   linux-2.6-vs2.3.patch (1.1.2.17.2.57 -> 1.1.2.17.2.58) 

---- Diffs:

================================================================
Index: packages/kernel-bare-vserver/linux-2.6-vs2.3.patch
diff -u packages/kernel-bare-vserver/linux-2.6-vs2.3.patch:1.1.2.17.2.57 packages/kernel-bare-vserver/linux-2.6-vs2.3.patch:1.1.2.17.2.58
--- packages/kernel-bare-vserver/linux-2.6-vs2.3.patch:1.1.2.17.2.57	Mon Oct  4 17:48:56 2010
+++ packages/kernel-bare-vserver/linux-2.6-vs2.3.patch	Thu Oct  7 09:05:28 2010
@@ -3561,7 +3561,7 @@
  		return 0;
  	if (S_ISREG(inode->i_mode))
  		return 1;
-@@ -4799,36 +4800,60 @@ void ext4_set_inode_flags(struct inode *
+@@ -4800,7 +4800,14 @@ void ext4_set_inode_flags(struct inode *
  {
  	unsigned int flags = EXT4_I(inode)->i_flags;
  
@@ -3577,10 +3577,7 @@
  	if (flags & EXT4_SYNC_FL)
  		inode->i_flags |= S_SYNC;
  	if (flags & EXT4_APPEND_FL)
- 		inode->i_flags |= S_APPEND;
--	if (flags & EXT4_IMMUTABLE_FL)
--		inode->i_flags |= S_IMMUTABLE;
- 	if (flags & EXT4_NOATIME_FL)
+@@ -4811,30 +4818,48 @@ void ext4_set_inode_flags(struct inode *
  		inode->i_flags |= S_NOATIME;
  	if (flags & EXT4_DIRSYNC_FL)
  		inode->i_flags |= S_DIRSYNC;
@@ -3596,39 +3593,43 @@
  /* Propagate flags from i_flags to EXT4_I(inode)->i_flags */
  void ext4_get_inode_flags(struct ext4_inode_info *ei)
  {
- 	unsigned int flags = ei->vfs_inode.i_flags;
-+	unsigned int vflags = ei->vfs_inode.i_vflags;
-+
-+	ei->i_flags &= ~(EXT4_SYNC_FL | EXT4_APPEND_FL |
-+			EXT4_IMMUTABLE_FL | EXT4_IXUNLINK_FL |
-+			EXT4_NOATIME_FL | EXT4_DIRSYNC_FL |
-+			EXT4_BARRIER_FL | EXT4_COW_FL);
-+
-+	if (flags & S_IMMUTABLE)
-+		ei->i_flags |= EXT4_IMMUTABLE_FL;
-+	if (flags & S_IXUNLINK)
-+		ei->i_flags |= EXT4_IXUNLINK_FL;
+-	unsigned int vfs_fl;
++	unsigned int vfs_fl, vfs_vf;
+ 	unsigned long old_fl, new_fl;
  
--	ei->i_flags &= ~(EXT4_SYNC_FL|EXT4_APPEND_FL|
--			EXT4_IMMUTABLE_FL|EXT4_NOATIME_FL|EXT4_DIRSYNC_FL);
- 	if (flags & S_SYNC)
- 		ei->i_flags |= EXT4_SYNC_FL;
- 	if (flags & S_APPEND)
- 		ei->i_flags |= EXT4_APPEND_FL;
--	if (flags & S_IMMUTABLE)
--		ei->i_flags |= EXT4_IMMUTABLE_FL;
- 	if (flags & S_NOATIME)
- 		ei->i_flags |= EXT4_NOATIME_FL;
- 	if (flags & S_DIRSYNC)
- 		ei->i_flags |= EXT4_DIRSYNC_FL;
-+
-+	if (vflags & V_BARRIER)
-+		ei->i_flags |= EXT4_BARRIER_FL;
-+	if (vflags & V_COW)
-+		ei->i_flags |= EXT4_COW_FL;
+ 	do {
+ 		vfs_fl = ei->vfs_inode.i_flags;
++		vfs_vf = ei->vfs_inode.i_vflags;
+ 		old_fl = ei->i_flags;
+ 		new_fl = old_fl & ~(EXT4_SYNC_FL|EXT4_APPEND_FL|
+ 				EXT4_IMMUTABLE_FL|EXT4_NOATIME_FL|
+-				EXT4_DIRSYNC_FL);
++				EXT4_DIRSYNC_FL|EXT4_BARRIER_FL|
++				EXT4_COW_FL);
++
++		if (vfs_fl & S_IMMUTABLE)
++			new_fl |= EXT4_IMMUTABLE_FL;
++		if (vfs_fl & S_IXUNLINK)
++			new_fl |= EXT4_IXUNLINK_FL;
++
+ 		if (vfs_fl & S_SYNC)
+ 			new_fl |= EXT4_SYNC_FL;
+ 		if (vfs_fl & S_APPEND)
+ 			new_fl |= EXT4_APPEND_FL;
+-		if (vfs_fl & S_IMMUTABLE)
+-			new_fl |= EXT4_IMMUTABLE_FL;
+ 		if (vfs_fl & S_NOATIME)
+ 			new_fl |= EXT4_NOATIME_FL;
+ 		if (vfs_fl & S_DIRSYNC)
+ 			new_fl |= EXT4_DIRSYNC_FL;
++
++		if (vfs_vf & V_BARRIER)
++			new_fl |= EXT4_BARRIER_FL;
++		if (vfs_vf & V_COW)
++			new_fl |= EXT4_COW_FL;
+ 	} while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl);
  }
  
- static blkcnt_t ext4_inode_blocks(struct ext4_inode *raw_inode,
 @@ -4863,6 +4888,8 @@ struct inode *ext4_iget(struct super_blo
  	journal_t *journal = EXT4_SB(sb)->s_journal;
  	long ret;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-bare-vserver/linux-2.6-vs2.3.patch?r1=1.1.2.17.2.57&r2=1.1.2.17.2.58&f=u



More information about the pld-cvs-commit mailing list