Thread (26 messages) read the whole thread 26 messages, 6 authors, 2012-09-14

Re: [PATCH] resize2fs: support online-resizing for meta_bg and 64bits features

From: Yongqiang Yang <hidden>
Date: 2012-09-02 10:31:40

Hi Ted,

    I noticed that you send out the patch enabling resizing on
filesystems with meta_bg and 64bits, so I send out the corresponding
patch on e2fsprogs.  Unfortunately, there is still a bug in e2fsprogs
as my last email says.

Thanks,
Yongqiang.

On Sun, Sep 2, 2012 at 5:52 PM, Yongqiang Yang [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This patch supports online-resizing for meata_bg and 64bits features.

Signed-off-by: Yongqiang Yang <redacted>
---
 resize/main.c   |    5 +++--
 resize/online.c |    6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/resize/main.c b/resize/main.c
index ffefe01..b3a7840 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -324,9 +324,10 @@ int main (int argc, char ** argv)
         * This is something we should fix eventually, though.
         */
        if ((fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) &&
-           !(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
+           !(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) &&
+           !(fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG)) {
                com_err(program_name, 0, _("%s: The combination of flex_bg "
-                                          "and\n\t!resize_inode features "
+                                          "and\n\t!resize_inode and !meta_bg features "
                                           "is not supported by resize2fs.\n"),
                        device_name);
                exit(1);
diff --git a/resize/online.c b/resize/online.c
index 966ea1e..e7891bd 100644
--- a/resize/online.c
+++ b/resize/online.c
@@ -56,9 +56,9 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt,
                EXT2_DESC_PER_BLOCK(fs->super));
        printf("old_desc_blocks = %lu, new_desc_blocks = %lu\n",
               fs->desc_blocks, new_desc_blocks);
-       if (!(fs->super->s_feature_compat &
-             EXT2_FEATURE_COMPAT_RESIZE_INODE) &&
-           new_desc_blocks != fs->desc_blocks) {
+       if (!(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) &&
+           new_desc_blocks != fs->desc_blocks &&
+           !(fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG)) {
                com_err(program_name, 0,
                        _("Filesystem does not support online resizing"));
                exit(1);
--
1.7.5.1


-- 
Best Wishes
Yongqiang Yang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help