[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#358001: partman: please create ext3 file systems with online resize support

This might appear to be a one line fix, but unfortunately it isn't.
The current partman-ext3 source used libparted to create a ext2 fs
with a progress bar, and then 'tune2fs -j' to convert it to ext3.
There is no trusted way to add the resize_inode option to a ext3
filesystem after it is created.

It is possible to use ext2prepare from the ext2resize package on the
file system to add it, but the program have corrupted file systems in
the past.  These bugs are fixed now, so it could be safe to use
ext2prepare to do this job.

Would a patch to add a call to ext2prepare after the 'tune2fs -j' in
partman-ext3/commit.d/format_ext3 be accepted?  There is currently no
udeb with ext2prepare, but that can be fixed.

Other options to fix this issue is to add support for creating ext3 in
libparted (bug #177347).  We could also rewrite partman-ext3 to use
mkfs.ext3 but this would loose the progress report while the file
system is created.  It might also be possible to add some progress bar
support to mkfs.ext3.

Something like this (untested):

Index: src/debiancvs/d-i-svn/packages/partman/partman-ext3/commit.d/format_ext3
--- src/debiancvs/d-i-svn/packages/partman/partman-ext3/commit.d/format_ext3    (revisjon 34859)
+++ src/debiancvs/d-i-svn/packages/partman/partman-ext3/commit.d/format_ext3    (arbeidskopi)
@@ -57,6 +57,7 @@
                    if [ "$status" = OK ]; then
                        log-output -t partman --pass-stdout /sbin/tune2fs -j $device >/dev/null || status=failed
+                       log-output -t partman --pass-stdout /sbin/ext2prepare $device >/dev/null || status=failed

It might be an idea to only do this if some hidden option is available
(or if ext2prepare is installed).

Petter Reinholdtsen

Reply to: