From: Emoly Liu Date: Thu, 17 Apr 2014 05:57:08 +0000 (+0800) Subject: LU-2479 ldiskfs: do not check dir max size for regular files X-Git-Tag: 2.5.1-crt1~9 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=3d015e906112cb97ce1187e57bab355d639e471d;p=fs%2Flustre-release.git LU-2479 ldiskfs: do not check dir max size for regular files 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 Signed-off-by: Emoly Liu Change-Id: Ibc3e96078e9af3eb854c6666f087b1049b68f409 Reviewed-on: http://review.whamcloud.com/10043 Tested-by: Jenkins Reviewed-by: Bob Glossman Reviewed-by: James Nunez Reviewed-by: Jian Yu Reviewed-by: Oleg Drokin --- diff --git a/ldiskfs/kernel_patches/patches/rhel6.3/ext4-max-dir-size.patch b/ldiskfs/kernel_patches/patches/rhel6.3/ext4-max-dir-size.patch index 6741924..1820d69 100644 --- a/ldiskfs/kernel_patches/patches/rhel6.3/ext4-max-dir-size.patch +++ b/ldiskfs/kernel_patches/patches/rhel6.3/ext4-max-dir-size.patch @@ -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;