Shen Feng Wrote:
Akira Fujita Wrote:
ext4: online defrag-- Move victim files for the target file (-f mode)
From: Akira Fujita <a-fujita@xxxxxxxxxxxxx>
Move victim files to make sufficient space and reallocates
the contiguous blocks for the target file.
Signed-off-by: Akira Fujita <a-fujita@xxxxxxxxxxxxx>
Signed-off-by: Takashi Sato <t-sato@xxxxxxxxxxxxx>
---
fs/ext4/balloc.c | 10 +-
fs/ext4/defrag.c | 460 +++++++++++++++++++++++++++++++++++++++++++++---
fs/ext4/ext4.h | 29 +++-
fs/ext4/ext4_extents.h | 5 +
fs/ext4/extents.c | 54 +++++--
fs/ext4/ioctl.c | 5 +-
fs/ext4/mballoc.c | 5 +
fs/ext4/mballoc.h | 1 +
8 files changed, 522 insertions(+), 47 deletions(-)
...snip...
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index d0b1301..88fd100 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -94,6 +94,11 @@ struct ext4_allocation_request {
unsigned long len;
/* flags. see above EXT4_MB_HINT_* */
unsigned long flags;
+ /*
+ * for ext4 online defrag:
+ * the block group which is excepted from allocation target
+ */
+ long long excepted_group;
};
Why not ext4_group_t for excepted_group here?
ac_excepted_group has not only excepted block group number
but also -1 (it means any block groups are accepted).
So we should keep it as long long variable to show
the special status correctly in large ext4.
Regards,
Akira Fujita
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html