ext4: Fix compile error at defrag.c in the current ext4 patch From: Akira Fujita The following compile error occurs at defrag.c in the current ext4 patch queue (2.6.27-rc6), because mballoc has become default and some functions related to the block allocation have been renamed. This patch fixes this inconsistency. Note: ext4_check_defrag() originally checks the length of extents in the force defrag (-f), but "defrag-10-add-ioc-move-victim-ioctl" in the ext4 patch queue is commented out, so that it just returns 0. I'll update ext4_check_defrag() correctly in the next version. CC fs/ext4/defrag.o fs/ext4/defrag.c: In function ‘ext4_defrag_check’: fs/ext4/defrag.c:1162: error: ‘EXT4_MOUNT_MBALLOC’ undeclared (first use in this function) fs/ext4/defrag.c:1162: error: (Each undeclared identifier is reported only once fs/ext4/defrag.c:1162: error: for each function it appears in.) fs/ext4/defrag.c: In function ‘ext4_defrag’: fs/ext4/defrag.c:1427: error: implicit declaration of function ‘ext4_mb_discard_inode_preallocations’ Signed-off-by: Akira Fujita --- fs/ext4/defrag.c | 9 +-------- 1 files changed, 1 insertions(+), 8 deletions(-) diff --git a/fs/ext4/defrag.c b/fs/ext4/defrag.c index cb7d237..6364d10 100644 --- a/fs/ext4/defrag.c +++ b/fs/ext4/defrag.c @@ -1158,13 +1158,6 @@ static int ext4_defrag_check(struct inode *org_inode, ext4_lblk_t defrag_size, ext4_fsblk_t *goal) { - /* ext4 online defrag needs mballoc mount option. */ - if (!test_opt(org_inode->i_sb, MBALLOC)) { - printk(KERN_ERR "ext4 defrag: multiblock allocation " - "is disabled\n"); - return -EOPNOTSUPP; - } - return 0; } @@ -1424,7 +1417,7 @@ ext4_defrag(struct file *filp, ext4_lblk_t block_start, * When true ext4_mb_return_to_preallocation() is * implemented, this will be removed. */ - ext4_mb_discard_inode_preallocations(org_inode); + ext4_discard_preallocations(org_inode); while (org_page_offset <= seq_end_page) {