@@ -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) {
Hi, 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 <a-fujita@rs.jp.nec.com> --- fs/ext4/defrag.c | 9 +-------- 1 files changed, 1 insertions(+), 8 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html