replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK
PATCH 1/1 replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK
There's no reason to redefine the maximum allowable offset in an extent-based file just for defrag; EXT_MAX_BLOCK already does this.
Signed-off-by Eric Sandeen <[email protected]>
---
fs/ext4/ext4.h +0 -1
@@ -459,7 +459,6 @@ struct move_extent {__u64 len;/* block length to be moved */ __u64 moved_len;/* moved block length */ }; -#define MAX_DEFRAG_SIZE ((1UL<<31) - 1)#define EXT4_EPOCH_BITS 2#define EXT4_EPOCH_MASK ((1 << EXT4_EPOCH_BITS) - 1)
fs/ext4/ext4_extents.h +1 -0
@@ -138,6 +138,7 @@ typedef int (*ext_prepare_callback)(struct inode *, struct ext4_ext_path *,#define EXT_BREAK 1#define EXT_REPEAT 2 +/* Maximum logical block in a file; ext4_extent's ee_block is __le32 */ #define EXT_MAX_BLOCK 0xffffffff/*
fs/ext4/move_extent.c +6 -6
@@ -960,12 +960,12 @@ mext_check_arguments(struct inode *orig_inode,return -EINVAL ; } -if ((orig_start >MAX_DEFRAG_SIZE ) || - (donor_start >MAX_DEFRAG_SIZE ) || - (*len >MAX_DEFRAG_SIZE ) || - (orig_start + *len >MAX_DEFRAG_SIZE )) { -ext4_debug ("ext4 move extent: Can't handle over [%lu] blocks " -"[ino:orig %lu, donor %lu]\n" ,MAX_DEFRAG_SIZE , +if ((orig_start >EXT_MAX_BLOCK ) || + (donor_start >EXT_MAX_BLOCK ) || + (*len >EXT_MAX_BLOCK ) || + (orig_start + *len >EXT_MAX_BLOCK )) { +ext4_debug ("ext4 move extent: Can't handle over [%u] blocks " +"[ino:orig %lu, donor %lu]\n" ,EXT_MAX_BLOCK , orig_inode->i_ino, donor_inode->i_ino);return -EINVAL ; }
Theodore Tso
maintainerQuoted 5 lines · Eric Sandeen
There's no reason to redefine the maximum allowable offset in an extent-based file just for defrag;
EXT_MAX_BLOCKalready does this.Signed-off-by Eric Sandeen <[email protected]>
Thanks, added to the ext4 patch queue.
- Ted