From: Aneesh Kumar K.V Date: Sat, 29 Aug 2009 01:43:15 +0000 (-0400) Subject: ext4: Allow rename to create more than EXT4_LINK_MAX subdirectories X-Git-Tag: v2.6.31.8~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=929c7112197d58053117b3303f3bcf160bcdca45;p=thirdparty%2Fkernel%2Fstable.git ext4: Allow rename to create more than EXT4_LINK_MAX subdirectories (cherry picked from commit 2c94eb86c66e1eaaa1e7d8a2120f4fad5e7e7736) Use EXT4_DIR_LINK_MAX so that rename() can move a directory into new parent directory without running into the EXT4_LINK_MAX limit. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" --- diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index de04013d16ffd..9d51ab9dd9da8 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -2413,7 +2413,7 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry, goto end_rename; retval = -EMLINK; if (!new_inode && new_dir != old_dir && - new_dir->i_nlink >= EXT4_LINK_MAX) + EXT4_DIR_LINK_MAX(new_dir)) goto end_rename; } if (!new_bh) {