Re: [RFC][PATCH 7/8]ext4: move victim files for the target file (-f mode)
From: Shen Feng <hidden>
Date: 2008-06-16 02:46:20
Also in:
linux-fsdevel
Akira Fujita Wrote:
ext4: online defrag-- Move victim files for the target file (-f mode) From: Akira Fujita <redacted> Move victim files to make sufficient space and reallocates the contiguous blocks for the target file. Signed-off-by: Akira Fujita <redacted> Signed-off-by: Takashi Sato <redacted> --- 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...
quoted hunk ↗ jump to hunk
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?
quoted hunk ↗ jump to hunk
/*@@ -303,6 +308,9 @@ struct ext4_new_group_data { #define EXT4_IOC_GROUP_INFO _IOW('f', 11, struct ext4_group_data_info) #define EXT4_IOC_FREE_BLOCKS_INFO _IOW('f', 12, struct ext4_extents_info) #define EXT4_IOC_EXTENTS_INFO _IOW('f', 13, struct ext4_extents_info) +#define EXT4_IOC_RESERVE_BLOCK _IOW('f', 14, struct ext4_extents_info) +#define EXT4_IOC_MOVE_VICTIM _IOW('f', 15, struct ext4_extents_info) +#define EXT4_IOC_BLOCK_RELEASE _IO('f', 8)
...snip...
quoted hunk ↗ jump to hunk
diff --git a/fs/ext4/mballoc.h b/fs/ext4/mballoc.h index bfe6add..1141ad5 100644 --- a/fs/ext4/mballoc.h +++ b/fs/ext4/mballoc.h@@ -205,6 +205,7 @@ struct ext4_allocation_context { struct page *ac_buddy_page; struct ext4_prealloc_space *ac_pa; struct ext4_locality_group *ac_lg; + long long ac_excepted_group;
ditto
}; #define AC_STATUS_CONTINUE 1 -- 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