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 <[email protected]>
---
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;
- }