Whamcloud - gitweb
LU-2479 ldiskfs: do not check dir max size for regular files 43/10043/2
authorEmoly Liu <emoly.liu@intel.com>
Thu, 17 Apr 2014 05:57:08 +0000 (13:57 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 24 Apr 2014 17:54:06 +0000 (17:54 +0000)
ldiskfs_append() is used not only to extend directory but also to
maintain iam container. In later case ldiskfs_append() should not
check for max directory size. The iam container is distunguished as
regular file.

This is a backport of
Lustre-commit: 4b9e64aec7cfdf859f1f931e1ee44056db050bb9
Lustre-change: http://review.whamcloud.com/8137

Signed-off-by: Vladimir Saveliev <vladimir_saveliev@xyratex.com>
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ibc3e96078e9af3eb854c6666f087b1049b68f409
Reviewed-on: http://review.whamcloud.com/10043
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
ldiskfs/kernel_patches/patches/rhel6.3/ext4-max-dir-size.patch

index 6741924..1820d69 100644 (file)
@@ -1,12 +1,13 @@
-Index: linux-2.6.32-el6-beta/fs/ext4/namei.c
+Index: linux-stage/fs/ext4/namei.c
 ===================================================================
---- linux-2.6.32-el6-beta/fs/ext4/namei.c
-+++ linux-2.6.32-el6-beta/fs/ext4/namei.c
-@@ -59,6 +59,14 @@ static struct buffer_head *ext4_append(h
+--- linux-stage.orig/fs/ext4/namei.c
++++ linux-stage/fs/ext4/namei.c
+@@ -60,6 +60,15 @@ struct buffer_head *ext4_append(handle_t
        * have to be serialized -bzzz */
        down(&ei->i_append_sem);
  
-+      if (unlikely(EXT4_SB(inode->i_sb)->s_max_dir_size &&
++      if (unlikely(S_ISDIR(inode->i_mode) &&
++                   EXT4_SB(inode->i_sb)->s_max_dir_size &&
 +                   (inode->i_size >=
 +                   EXT4_SB(inode->i_sb)->s_max_dir_size))) {
 +              *err = -ENOSPC;