[arch-commits] Commit in kernel26-lts/trunk (6 files)

Tobias Powalowski tpowa at archlinux.org
Mon Jan 24 13:34:43 EST 2011


    Date: Monday, January 24, 2011 @ 13:34:43
  Author: tpowa
Revision: 107411

upgpkg: kernel26-lts 2.6.32.28-2
fix udev crash issues, changed ext3 default mode

Added:
  kernel26-lts/trunk/libata-alignment.patch
Modified:
  kernel26-lts/trunk/PKGBUILD
  kernel26-lts/trunk/config
  kernel26-lts/trunk/config.x86_64
Deleted:
  kernel26-lts/trunk/linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch
  kernel26-lts/trunk/linux-2.6.27.9-ext4-cap-check-delay.patch

------------------------------------------------+
 PKGBUILD                                       |   19 
 config                                         |    2 
 config.x86_64                                  |    2 
 libata-alignment.patch                         |   48 +
 linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch |  595 -----------------------
 linux-2.6.27.9-ext4-cap-check-delay.patch      |   34 -
 6 files changed, 62 insertions(+), 638 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-01-24 18:12:44 UTC (rev 107410)
+++ PKGBUILD	2011-01-24 18:34:43 UTC (rev 107411)
@@ -6,29 +6,34 @@
 _kernelname=${pkgname#kernel26}
 _basekernel=2.6.32
 pkgver=${_basekernel}.28
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('GPL2')
 url="http://www.kernel.org"
 source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
         ftp://ftp.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/patch-$pkgver.bz2
+        libata-alignment.patch
 	# the main kernel config files
         config config.x86_64
         # standard config files for mkinitcpio ramdisk
         ${pkgname}.preset)
 md5sums=('260551284ac224c3a43c4adac7df4879'
          'fc8c36b4638d8384a5d26a50413a1d11'
-         '2e701029d508940a4ae02761edab4575'
-         'e11cfba11a4d363412474743c36c9147'
+         '30851deee235a7486bd408cbe8eb2d71'
+         '85f3d9fbcd02e5c699eeed8897850e69'
+         'b71a215329a4d64e4beef81cdb58706d'
          '2cbfeb3e2a18d45f82f613e97fc23355')
 
 build() {
   cd ${srcdir}/linux-$_basekernel
-   if [ "$_basekernel" != "$pkgver" ]; then
-     # add latest kernel stable patch
-     patch -Np1 -i ${srcdir}/patch-$pkgver
-   fi
+  if [ "$_basekernel" != "$pkgver" ]; then
+    # add latest kernel stable patch
+    patch -Np1 -i ${srcdir}/patch-$pkgver
+  fi
 
+  # fix 22343 udev crashes
+  patch -Np1 -i ${srcdir}/libata-alignment.patch
+
   if [ "$CARCH" = "x86_64" ]; then
     cat ../config.x86_64 >./.config
   else

Modified: config
===================================================================
--- config	2011-01-24 18:12:44 UTC (rev 107410)
+++ config	2011-01-24 18:34:43 UTC (rev 107411)
@@ -4196,7 +4196,7 @@
 CONFIG_EXT2_FS_SECURITY=y
 # CONFIG_EXT2_FS_XIP is not set
 CONFIG_EXT3_FS=m
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y

Modified: config.x86_64
===================================================================
--- config.x86_64	2011-01-24 18:12:44 UTC (rev 107410)
+++ config.x86_64	2011-01-24 18:34:43 UTC (rev 107411)
@@ -4000,7 +4000,7 @@
 CONFIG_EXT2_FS_SECURITY=y
 # CONFIG_EXT2_FS_XIP is not set
 CONFIG_EXT3_FS=m
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y

Added: libata-alignment.patch
===================================================================
--- libata-alignment.patch	                        (rev 0)
+++ libata-alignment.patch	2011-01-24 18:34:43 UTC (rev 107411)
@@ -0,0 +1,48 @@
+diff -Nur linux-2.6.32.orig/drivers/ata/libata-scsi.c linux-2.6.32/drivers/ata/libata-scsi.c
+--- linux-2.6.32.orig/drivers/ata/libata-scsi.c	2009-12-03 14:51:21.000000000 +1100
++++ linux-2.6.32/drivers/ata/libata-scsi.c	2011-01-22 20:32:53.353775375 +1100
+@@ -1099,13 +1099,13 @@
+ 	/* configure max sectors */
+ 	blk_queue_max_sectors(sdev->request_queue, dev->max_sectors);
+ 
++	sdev->sector_size = ATA_SECT_SIZE;
++
+ 	if (dev->class == ATA_DEV_ATAPI) {
+ 		struct request_queue *q = sdev->request_queue;
+ 		void *buf;
+ 
+-		/* set the min alignment and padding */
+-		blk_queue_update_dma_alignment(sdev->request_queue,
+-					       ATA_DMA_PAD_SZ - 1);
++		/* set DMA padding */
+ 		blk_queue_update_dma_pad(sdev->request_queue,
+ 					 ATA_DMA_PAD_SZ - 1);
+ 
+@@ -1119,12 +1119,24 @@
+ 
+ 		blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN);
+ 	} else {
+-		/* ATA devices must be sector aligned */
+-		blk_queue_update_dma_alignment(sdev->request_queue,
+-					       ATA_SECT_SIZE - 1);
+ 		sdev->manage_start_stop = 1;
+ 	}
+ 
++	/*
++	 * ata_pio_sectors() expects buffer for each sector to not cross
++	 * page boundary.  Enforce it by requiring buffers to be sector
++	 * aligned, which works iff sector_size is not larger than
++	 * PAGE_SIZE.  ATAPI devices also need the alignment as
++	 * IDENTIFY_PACKET is executed as ATA_PROT_PIO.
++	 */
++	if (sdev->sector_size > PAGE_SIZE)
++		ata_dev_printk(dev, KERN_WARNING,
++			"sector_size=%u > PAGE_SIZE, PIO may malfunction\n",
++			sdev->sector_size);
++
++	blk_queue_update_dma_alignment(sdev->request_queue,
++				       sdev->sector_size - 1);
++
+ 	if (dev->flags & ATA_DFLAG_AN)
+ 		set_bit(SDEV_EVT_MEDIA_CHANGE, sdev->supported_events);
+ 

Deleted: linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch
===================================================================
--- linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch	2011-01-24 18:12:44 UTC (rev 107410)
+++ linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch	2011-01-24 18:34:43 UTC (rev 107411)
@@ -1,595 +0,0 @@
-From: Theodore Ts'o <tytso at mit.edu>
-Date: Sat, 11 Oct 2008 00:02:48 +0000 (-0400)
-Subject: ext4: Rename ext4dev to ext4
-X-Git-Tag: v2.6.28-rc1~709^2
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=03010a3350301baac2154fa66de925ae2981b7e3
-
-ext4: Rename ext4dev to ext4
-
-The ext4 filesystem is getting stable enough that it's time to drop
-the "dev" prefix.  Also remove the requirement for the TEST_FILESYS
-flag.
-
-Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
----
-
-diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
-index 2890579..74484e6 100644
---- a/Documentation/filesystems/ext4.txt
-+++ b/Documentation/filesystems/ext4.txt
-@@ -32,9 +32,9 @@ Mailing list: linux-ext4 at vger.kernel.org
-     you will need to merge your changes with the version from e2fsprogs
-     1.41.x.
- 
--  - Create a new filesystem using the ext4dev filesystem type:
-+  - Create a new filesystem using the ext4 filesystem type:
- 
--    	# mke2fs -t ext4dev /dev/hda1
-+    	# mke2fs -t ext4 /dev/hda1
- 
-     Or configure an existing ext3 filesystem to support extents and set
-     the test_fs flag to indicate that it's ok for an in-development
-@@ -47,13 +47,13 @@ Mailing list: linux-ext4 at vger.kernel.org
- 
-         # tune2fs -I 256 /dev/hda1
- 
--    (Note: we currently do not have tools to convert an ext4dev
-+    (Note: we currently do not have tools to convert an ext4
-     filesystem back to ext3; so please do not do try this on production
-     filesystems.)
- 
-   - Mounting:
- 
--	# mount -t ext4dev /dev/hda1 /wherever
-+	# mount -t ext4 /dev/hda1 /wherever
- 
-   - When comparing performance with other filesystems, remember that
-     ext3/4 by default offers higher data integrity guarantees than most.
-diff --git a/fs/Kconfig b/fs/Kconfig
-index abccb5d..40183d9 100644
---- a/fs/Kconfig
-+++ b/fs/Kconfig
-@@ -136,37 +136,51 @@ config EXT3_FS_SECURITY
- 	  If you are not using a security module that requires using
- 	  extended attributes for file security labels, say N.
- 
--config EXT4DEV_FS
--	tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)"
--	depends on EXPERIMENTAL
-+config EXT4_FS
-+	tristate "The Extended 4 (ext4) filesystem"
- 	select JBD2
- 	select CRC16
- 	help
--	  Ext4dev is a predecessor filesystem of the next generation
--	  extended fs ext4, based on ext3 filesystem code. It will be
--	  renamed ext4 fs later, once ext4dev is mature and stabilized.
-+	  This is the next generation of the ext3 filesystem.
- 
- 	  Unlike the change from ext2 filesystem to ext3 filesystem,
--	  the on-disk format of ext4dev is not the same as ext3 any more:
--	  it is based on extent maps and it supports 48-bit physical block
--	  numbers. These combined on-disk format changes will allow
--	  ext4dev/ext4 to handle more than 16 TB filesystem volumes --
--	  a hard limit that ext3 cannot overcome without changing the
--	  on-disk format.
--
--	  Other than extent maps and 48-bit block numbers, ext4dev also is
--	  likely to have other new features such as persistent preallocation,
--	  high resolution time stamps, and larger file support etc.  These
--	  features will be added to ext4dev gradually.
-+	  the on-disk format of ext4 is not forwards compatible with
-+	  ext3; it is based on extent maps and it supports 48-bit
-+	  physical block numbers.  The ext4 filesystem also supports delayed
-+	  allocation, persistent preallocation, high resolution time stamps,
-+	  and a number of other features to improve performance and speed
-+	  up fsck time.  For more information, please see the web pages at
-+	  http://ext4.wiki.kernel.org.
-+
-+	  The ext4 filesystem will support mounting an ext3
-+	  filesystem; while there will be some performance gains from
-+	  the delayed allocation and inode table readahead, the best
-+	  performance gains will require enabling ext4 features in the
-+	  filesystem, or formating a new filesystem as an ext4
-+	  filesystem initially.
- 
- 	  To compile this file system support as a module, choose M here. The
- 	  module will be called ext4dev.
- 
- 	  If unsure, say N.
- 
--config EXT4DEV_FS_XATTR
--	bool "Ext4dev extended attributes"
--	depends on EXT4DEV_FS
-+config EXT4DEV_COMPAT
-+	bool "Enable ext4dev compatibility"
-+	depends on EXT4_FS
-+	help
-+	  Starting with 2.6.28, the name of the ext4 filesystem was
-+	  renamed from ext4dev to ext4.  Unfortunately there are some
-+	  lagecy userspace programs (such as klibc's fstype) have
-+	  "ext4dev" hardcoded.  
-+
-+	  To enable backwards compatibility so that systems that are
-+	  still expecting to mount ext4 filesystems using ext4dev,
-+	  chose Y here.   This feature will go away by 2.6.31, so
-+	  please arrange to get your userspace programs fixed!
-+
-+config EXT4_FS_XATTR
-+	bool "Ext4 extended attributes"
-+	depends on EXT4_FS
- 	default y
- 	help
- 	  Extended attributes are name:value pairs associated with inodes by
-@@ -175,11 +189,11 @@ config EXT4DEV_FS_XATTR
- 
- 	  If unsure, say N.
- 
--	  You need this for POSIX ACL support on ext4dev/ext4.
-+	  You need this for POSIX ACL support on ext4.
- 
--config EXT4DEV_FS_POSIX_ACL
--	bool "Ext4dev POSIX Access Control Lists"
--	depends on EXT4DEV_FS_XATTR
-+config EXT4_FS_POSIX_ACL
-+	bool "Ext4 POSIX Access Control Lists"
-+	depends on EXT4_FS_XATTR
- 	select FS_POSIX_ACL
- 	help
- 	  POSIX Access Control Lists (ACLs) support permissions for users and
-@@ -190,14 +204,14 @@ config EXT4DEV_FS_POSIX_ACL
- 
- 	  If you don't know what Access Control Lists are, say N
- 
--config EXT4DEV_FS_SECURITY
--	bool "Ext4dev Security Labels"
--	depends on EXT4DEV_FS_XATTR
-+config EXT4_FS_SECURITY
-+	bool "Ext4 Security Labels"
-+	depends on EXT4_FS_XATTR
- 	help
- 	  Security labels support alternative access control models
- 	  implemented by security modules like SELinux.  This option
- 	  enables an extended attribute handler for file security
--	  labels in the ext4dev/ext4 filesystem.
-+	  labels in the ext4 filesystem.
- 
- 	  If you are not using a security module that requires using
- 	  extended attributes for file security labels, say N.
-@@ -240,22 +254,22 @@ config JBD2
- 	help
- 	  This is a generic journaling layer for block devices that support
- 	  both 32-bit and 64-bit block numbers.  It is currently used by
--	  the ext4dev/ext4 filesystem, but it could also be used to add
-+	  the ext4 filesystem, but it could also be used to add
- 	  journal support to other file systems or block devices such
- 	  as RAID or LVM.
- 
--	  If you are using ext4dev/ext4, you need to say Y here. If you are not
--	  using ext4dev/ext4 then you will probably want to say N.
-+	  If you are using ext4, you need to say Y here. If you are not
-+	  using ext4 then you will probably want to say N.
- 
- 	  To compile this device as a module, choose M here. The module will be
--	  called jbd2.  If you are compiling ext4dev/ext4 into the kernel,
-+	  called jbd2.  If you are compiling ext4 into the kernel,
- 	  you cannot compile this code as a module.
- 
- config JBD2_DEBUG
--	bool "JBD2 (ext4dev/ext4) debugging support"
-+	bool "JBD2 (ext4) debugging support"
- 	depends on JBD2 && DEBUG_FS
- 	help
--	  If you are using the ext4dev/ext4 journaled file system (or
-+	  If you are using the ext4 journaled file system (or
- 	  potentially any other filesystem/device using JBD2), this option
- 	  allows you to enable debugging output while the system is running,
- 	  in order to help track down any problems you are having.
-@@ -270,9 +284,9 @@ config JBD2_DEBUG
- config FS_MBCACHE
- # Meta block cache for Extended Attributes (ext2/ext3/ext4)
- 	tristate
--	depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR
--	default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
--	default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m
-+	depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
-+	default y if EXT2_FS=y || EXT3_FS=y || EXT4_FS=y
-+	default m if EXT2_FS=m || EXT3_FS=m || EXT4_FS=m
- 
- config REISERFS_FS
- 	tristate "Reiserfs support"
-diff --git a/fs/Makefile b/fs/Makefile
-index a1482a5..de404b0 100644
---- a/fs/Makefile
-+++ b/fs/Makefile
-@@ -69,7 +69,7 @@ obj-$(CONFIG_DLM)		+= dlm/
- # Do not add any filesystems before this line
- obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
- obj-$(CONFIG_EXT3_FS)		+= ext3/ # Before ext2 so root fs can be ext3
--obj-$(CONFIG_EXT4DEV_FS)	+= ext4/ # Before ext2 so root fs can be ext4dev
-+obj-$(CONFIG_EXT4_FS)		+= ext4/ # Before ext2 so root fs can be ext4dev
- obj-$(CONFIG_JBD)		+= jbd/
- obj-$(CONFIG_JBD2)		+= jbd2/
- obj-$(CONFIG_EXT2_FS)		+= ext2/
-diff --git a/fs/ext4/Makefile b/fs/ext4/Makefile
-index ac6fa8c..a8ff003 100644
---- a/fs/ext4/Makefile
-+++ b/fs/ext4/Makefile
-@@ -2,12 +2,12 @@
- # Makefile for the linux ext4-filesystem routines.
- #
- 
--obj-$(CONFIG_EXT4DEV_FS) += ext4dev.o
-+obj-$(CONFIG_EXT4_FS) += ext4.o
- 
--ext4dev-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
-+ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
- 		   ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o \
- 		   ext4_jbd2.o migrate.o mballoc.o
- 
--ext4dev-$(CONFIG_EXT4DEV_FS_XATTR)	+= xattr.o xattr_user.o xattr_trusted.o
--ext4dev-$(CONFIG_EXT4DEV_FS_POSIX_ACL)	+= acl.o
--ext4dev-$(CONFIG_EXT4DEV_FS_SECURITY)	+= xattr_security.o
-+ext4-$(CONFIG_EXT4_FS_XATTR)		+= xattr.o xattr_user.o xattr_trusted.o
-+ext4-$(CONFIG_EXT4_FS_POSIX_ACL)	+= acl.o
-+ext4-$(CONFIG_EXT4_FS_SECURITY)		+= xattr_security.o
-diff --git a/fs/ext4/acl.h b/fs/ext4/acl.h
-index 4c9948f..cb45257 100644
---- a/fs/ext4/acl.h
-+++ b/fs/ext4/acl.h
-@@ -51,7 +51,7 @@ static inline int ext4_acl_count(size_t size)
- 	}
- }
- 
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 
- /* Value for inode->u.ext4_i.i_acl and inode->u.ext4_i.i_default_acl
-    if the ACL has not been cached */
-@@ -62,7 +62,7 @@ extern int ext4_permission(struct inode *, int);
- extern int ext4_acl_chmod (struct inode *);
- extern int ext4_init_acl (handle_t *, struct inode *, struct inode *);
- 
--#else  /* CONFIG_EXT4DEV_FS_POSIX_ACL */
-+#else  /* CONFIG_EXT4_FS_POSIX_ACL */
- #include <linux/sched.h>
- #define ext4_permission NULL
- 
-@@ -77,5 +77,5 @@ ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
- {
- 	return 0;
- }
--#endif  /* CONFIG_EXT4DEV_FS_POSIX_ACL */
-+#endif  /* CONFIG_EXT4_FS_POSIX_ACL */
- 
-diff --git a/fs/ext4/ext4_i.h b/fs/ext4/ext4_i.h
-index 2875eec..5c124c0 100644
---- a/fs/ext4/ext4_i.h
-+++ b/fs/ext4/ext4_i.h
-@@ -66,7 +66,7 @@ struct ext4_inode_info {
- 	__u32	i_state;		/* Dynamic state flags for ext4 */
- 
- 	ext4_lblk_t		i_dir_start_lookup;
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	/*
- 	 * Extended attributes can be read independently of the main file
- 	 * data. Taking i_mutex even when reading would cause contention
-@@ -76,7 +76,7 @@ struct ext4_inode_info {
- 	 */
- 	struct rw_semaphore xattr_sem;
- #endif
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	struct posix_acl	*i_acl;
- 	struct posix_acl	*i_default_acl;
- #endif
-diff --git a/fs/ext4/file.c b/fs/ext4/file.c
-index 6d5be15..6bd11fb 100644
---- a/fs/ext4/file.c
-+++ b/fs/ext4/file.c
-@@ -165,7 +165,7 @@ const struct inode_operations ext4_file_inode_operations = {
- 	.truncate	= ext4_truncate,
- 	.setattr	= ext4_setattr,
- 	.getattr	= ext4_getattr,
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	.setxattr	= generic_setxattr,
- 	.getxattr	= generic_getxattr,
- 	.listxattr	= ext4_listxattr,
-diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
-index a474786..9b4ec9d 100644
---- a/fs/ext4/inode.c
-+++ b/fs/ext4/inode.c
-@@ -4041,7 +4041,7 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino)
- 		return inode;
- 
- 	ei = EXT4_I(inode);
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	ei->i_acl = EXT4_ACL_NOT_CACHED;
- 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
- #endif
-diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
-index 5295a92..92db9e9 100644
---- a/fs/ext4/namei.c
-+++ b/fs/ext4/namei.c
-@@ -1773,7 +1773,7 @@ retry:
- 	err = PTR_ERR(inode);
- 	if (!IS_ERR(inode)) {
- 		init_special_inode(inode, inode->i_mode, rdev);
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 		inode->i_op = &ext4_special_inode_operations;
- #endif
- 		err = ext4_add_nondir(handle, dentry, inode);
-@@ -2456,7 +2456,7 @@ const struct inode_operations ext4_dir_inode_operations = {
- 	.mknod		= ext4_mknod,
- 	.rename		= ext4_rename,
- 	.setattr	= ext4_setattr,
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	.setxattr	= generic_setxattr,
- 	.getxattr	= generic_getxattr,
- 	.listxattr	= ext4_listxattr,
-@@ -2467,7 +2467,7 @@ const struct inode_operations ext4_dir_inode_operations = {
- 
- const struct inode_operations ext4_special_inode_operations = {
- 	.setattr	= ext4_setattr,
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	.setxattr	= generic_setxattr,
- 	.getxattr	= generic_getxattr,
- 	.listxattr	= ext4_listxattr,
-diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 7d86560..0e661c5 100644
---- a/fs/ext4/super.c
-+++ b/fs/ext4/super.c
-@@ -569,7 +569,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
- 	ei = kmem_cache_alloc(ext4_inode_cachep, GFP_NOFS);
- 	if (!ei)
- 		return NULL;
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	ei->i_acl = EXT4_ACL_NOT_CACHED;
- 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
- #endif
-@@ -605,7 +605,7 @@ static void init_once(void *foo)
- 	struct ext4_inode_info *ei = (struct ext4_inode_info *) foo;
- 
- 	INIT_LIST_HEAD(&ei->i_orphan);
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	init_rwsem(&ei->xattr_sem);
- #endif
- 	init_rwsem(&ei->i_data_sem);
-@@ -631,7 +631,7 @@ static void destroy_inodecache(void)
- static void ext4_clear_inode(struct inode *inode)
- {
- 	struct ext4_block_alloc_info *rsv = EXT4_I(inode)->i_block_alloc_info;
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	if (EXT4_I(inode)->i_acl &&
- 			EXT4_I(inode)->i_acl != EXT4_ACL_NOT_CACHED) {
- 		posix_acl_release(EXT4_I(inode)->i_acl);
-@@ -720,7 +720,7 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
- 		seq_puts(seq, ",debug");
- 	if (test_opt(sb, OLDALLOC))
- 		seq_puts(seq, ",oldalloc");
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	if (test_opt(sb, XATTR_USER) &&
- 		!(def_mount_opts & EXT4_DEFM_XATTR_USER))
- 		seq_puts(seq, ",user_xattr");
-@@ -729,7 +729,7 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
- 		seq_puts(seq, ",nouser_xattr");
- 	}
- #endif
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	if (test_opt(sb, POSIX_ACL) && !(def_mount_opts & EXT4_DEFM_ACL))
- 		seq_puts(seq, ",acl");
- 	if (!test_opt(sb, POSIX_ACL) && (def_mount_opts & EXT4_DEFM_ACL))
-@@ -1078,7 +1078,7 @@ static int parse_options(char *options, struct super_block *sb,
- 		case Opt_orlov:
- 			clear_opt(sbi->s_mount_opt, OLDALLOC);
- 			break;
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 		case Opt_user_xattr:
- 			set_opt(sbi->s_mount_opt, XATTR_USER);
- 			break;
-@@ -1092,7 +1092,7 @@ static int parse_options(char *options, struct super_block *sb,
- 			       "not supported\n");
- 			break;
- #endif
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 		case Opt_acl:
- 			set_opt(sbi->s_mount_opt, POSIX_ACL);
- 			break;
-@@ -1987,11 +1987,11 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
- 		set_opt(sbi->s_mount_opt, GRPID);
- 	if (def_mount_opts & EXT4_DEFM_UID16)
- 		set_opt(sbi->s_mount_opt, NO_UID32);
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	if (def_mount_opts & EXT4_DEFM_XATTR_USER)
- 		set_opt(sbi->s_mount_opt, XATTR_USER);
- #endif
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	if (def_mount_opts & EXT4_DEFM_ACL)
- 		set_opt(sbi->s_mount_opt, POSIX_ACL);
- #endif
-@@ -2050,16 +2050,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
- 		       "running e2fsck is recommended\n");
- 
- 	/*
--	 * Since ext4 is still considered development code, we require
--	 * that the TEST_FILESYS flag in s->flags be set.
--	 */
--	if (!(le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS)) {
--		printk(KERN_WARNING "EXT4-fs: %s: not marked "
--		       "OK to use with test code.\n", sb->s_id);
--		goto failed_mount;
--	}
--
--	/*
- 	 * Check feature flags regardless of the revision level, since we
- 	 * previously didn't change the revision level when setting the flags,
- 	 * so there is a chance incompat flags are set on a rev 0 filesystem.
-@@ -3580,13 +3570,34 @@ const struct file_operations ext4_ui_proc_fops = {
- 	return get_sb_bdev(fs_type, flags, dev_name, data, ext4_fill_super, mnt);
- }
- 
-+static struct file_system_type ext4_fs_type = {
-+	.owner		= THIS_MODULE,
-+	.name		= "ext4",
-+	.get_sb		= ext4_get_sb,
-+	.kill_sb	= kill_block_super,
-+	.fs_flags	= FS_REQUIRES_DEV,
-+};
-+
-+#ifdef CONFIG_EXT4DEV_COMPAT
-+static int ext4dev_get_sb(struct file_system_type *fs_type,
-+	int flags, const char *dev_name, void *data, struct vfsmount *mnt)
-+{
-+	printk(KERN_WARNING "EXT4-fs: Update your userspace programs "
-+	       "to mount using ext4\n");
-+	printk(KERN_WARNING "EXT4-fs: ext4dev backwards compatibility "
-+	       "will go away by 2.6.31\n");
-+	return get_sb_bdev(fs_type, flags, dev_name, data, ext4_fill_super, mnt);
-+}
-+
- static struct file_system_type ext4dev_fs_type = {
- 	.owner		= THIS_MODULE,
- 	.name		= "ext4dev",
--	.get_sb		= ext4_get_sb,
-+	.get_sb		= ext4dev_get_sb,
- 	.kill_sb	= kill_block_super,
- 	.fs_flags	= FS_REQUIRES_DEV,
- };
-+MODULE_ALIAS("ext4dev");
-+#endif
- 
- static int __init init_ext4_fs(void)
- {
-@@ -3603,9 +3614,16 @@ static int __init init_ext4_fs(void)
- 	err = init_inodecache();
- 	if (err)
- 		goto out1;
--	err = register_filesystem(&ext4dev_fs_type);
-+	err = register_filesystem(&ext4_fs_type);
- 	if (err)
- 		goto out;
-+#ifdef CONFIG_EXT4DEV_COMPAT
-+	err = register_filesystem(&ext4dev_fs_type);
-+	if (err) {
-+		unregister_filesystem(&ext4_fs_type);
-+		goto out;
-+	}
-+#endif
- 	return 0;
- out:
- 	destroy_inodecache();
-@@ -3618,7 +3636,10 @@ out2:
- 
- static void __exit exit_ext4_fs(void)
- {
-+	unregister_filesystem(&ext4_fs_type);
-+#ifdef CONFIG_EXT4DEV_COMPAT
- 	unregister_filesystem(&ext4dev_fs_type);
-+#endif
- 	destroy_inodecache();
- 	exit_ext4_xattr();
- 	exit_ext4_mballoc();
-diff --git a/fs/ext4/symlink.c b/fs/ext4/symlink.c
-index 0013d52..00740cb 100644
---- a/fs/ext4/symlink.c
-+++ b/fs/ext4/symlink.c
-@@ -34,7 +34,7 @@ const struct inode_operations ext4_symlink_inode_operations = {
- 	.readlink	= generic_readlink,
- 	.follow_link	= page_follow_link_light,
- 	.put_link	= page_put_link,
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	.setxattr	= generic_setxattr,
- 	.getxattr	= generic_getxattr,
- 	.listxattr	= ext4_listxattr,
-@@ -45,7 +45,7 @@ const struct inode_operations ext4_symlink_inode_operations = {
- const struct inode_operations ext4_fast_symlink_inode_operations = {
- 	.readlink	= generic_readlink,
- 	.follow_link	= ext4_follow_link,
--#ifdef CONFIG_EXT4DEV_FS_XATTR
-+#ifdef CONFIG_EXT4_FS_XATTR
- 	.setxattr	= generic_setxattr,
- 	.getxattr	= generic_getxattr,
- 	.listxattr	= ext4_listxattr,
-diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
-index 362b0ed..80626d5 100644
---- a/fs/ext4/xattr.c
-+++ b/fs/ext4/xattr.c
-@@ -99,12 +99,12 @@ static struct mb_cache *ext4_xattr_cache;
- 
- static struct xattr_handler *ext4_xattr_handler_map[] = {
- 	[EXT4_XATTR_INDEX_USER]		     = &ext4_xattr_user_handler,
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	[EXT4_XATTR_INDEX_POSIX_ACL_ACCESS]  = &ext4_xattr_acl_access_handler,
- 	[EXT4_XATTR_INDEX_POSIX_ACL_DEFAULT] = &ext4_xattr_acl_default_handler,
- #endif
- 	[EXT4_XATTR_INDEX_TRUSTED]	     = &ext4_xattr_trusted_handler,
--#ifdef CONFIG_EXT4DEV_FS_SECURITY
-+#ifdef CONFIG_EXT4_FS_SECURITY
- 	[EXT4_XATTR_INDEX_SECURITY]	     = &ext4_xattr_security_handler,
- #endif
- };
-@@ -112,11 +112,11 @@ static struct xattr_handler *ext4_xattr_handler_map[] = {
- struct xattr_handler *ext4_xattr_handlers[] = {
- 	&ext4_xattr_user_handler,
- 	&ext4_xattr_trusted_handler,
--#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
-+#ifdef CONFIG_EXT4_FS_POSIX_ACL
- 	&ext4_xattr_acl_access_handler,
- 	&ext4_xattr_acl_default_handler,
- #endif
--#ifdef CONFIG_EXT4DEV_FS_SECURITY
-+#ifdef CONFIG_EXT4_FS_SECURITY
- 	&ext4_xattr_security_handler,
- #endif
- 	NULL
-diff --git a/fs/ext4/xattr.h b/fs/ext4/xattr.h
-index 814ea58..8ede88b 100644
---- a/fs/ext4/xattr.h
-+++ b/fs/ext4/xattr.h
-@@ -63,7 +63,7 @@ struct ext4_xattr_entry {
- 		EXT4_I(inode)->i_extra_isize))
- #define IFIRST(hdr) ((struct ext4_xattr_entry *)((hdr)+1))
- 
--# ifdef CONFIG_EXT4DEV_FS_XATTR
-+# ifdef CONFIG_EXT4_FS_XATTR
- 
- extern struct xattr_handler ext4_xattr_user_handler;
- extern struct xattr_handler ext4_xattr_trusted_handler;
-@@ -88,7 +88,7 @@ extern void exit_ext4_xattr(void);
- 
- extern struct xattr_handler *ext4_xattr_handlers[];
- 
--# else  /* CONFIG_EXT4DEV_FS_XATTR */
-+# else  /* CONFIG_EXT4_FS_XATTR */
- 
- static inline int
- ext4_xattr_get(struct inode *inode, int name_index, const char *name,
-@@ -141,9 +141,9 @@ ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize,
- 
- #define ext4_xattr_handlers	NULL
- 
--# endif  /* CONFIG_EXT4DEV_FS_XATTR */
-+# endif  /* CONFIG_EXT4_FS_XATTR */
- 
--#ifdef CONFIG_EXT4DEV_FS_SECURITY
-+#ifdef CONFIG_EXT4_FS_SECURITY
- extern int ext4_init_security(handle_t *handle, struct inode *inode,
- 				struct inode *dir);
- #else

Deleted: linux-2.6.27.9-ext4-cap-check-delay.patch
===================================================================
--- linux-2.6.27.9-ext4-cap-check-delay.patch	2011-01-24 18:12:44 UTC (rev 107410)
+++ linux-2.6.27.9-ext4-cap-check-delay.patch	2011-01-24 18:34:43 UTC (rev 107411)
@@ -1,34 +0,0 @@
-Safer version of upstream commit a996031c87e093017c0763326a08896a3a4817f4
-
-Delay capable() checks to avoid (most) AVC denials when checking free blocks
-(Bug 478299 -  AVC denials on kernel 2.6.27.9-159.fc10.x86_64)
-
-Signed-off-by: Eric Sandeen <sandeen at redhat.com>
----
-
-Index: linux-2.6.27.noarch/fs/ext4/balloc.c
-===================================================================
---- linux-2.6.27.noarch.orig/fs/ext4/balloc.c	2009-01-06 14:49:05.625574969 -0600
-+++ linux-2.6.27.noarch/fs/ext4/balloc.c	2009-01-06 14:49:19.181637281 -0600
-@@ -1612,15 +1612,15 @@ out:
- ext4_fsblk_t ext4_has_free_blocks(struct ext4_sb_info *sbi,
- 						ext4_fsblk_t nblocks)
- {
--	ext4_fsblk_t free_blocks;
--	ext4_fsblk_t root_blocks = 0;
-+	ext4_fsblk_t free_blocks, root_blocks;
- 
- 	free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
-+	root_blocks = ext4_r_blocks_count(sbi->s_es);
- 
--	if (!capable(CAP_SYS_RESOURCE) &&
--		sbi->s_resuid != current->fsuid &&
--		(sbi->s_resgid == 0 || !in_group_p(sbi->s_resgid)))
--		root_blocks = ext4_r_blocks_count(sbi->s_es);
-+	if (sbi->s_resuid == current->fsuid ||
-+	    ((sbi->s_resgid != 0) && in_group_p(sbi->s_resgid)) ||
-+	    capable(CAP_SYS_RESOURCE))
-+		root_blocks = 0;
- #ifdef CONFIG_SMP
- 	if (free_blocks - root_blocks < FBC_BATCH)
- 		free_blocks =



More information about the arch-commits mailing list