Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Kubuntu User (http://www.linux-archive.org/kubuntu-user/)
-   -   allow ext3->ext4 upgrades (http://www.linux-archive.org/kubuntu-user/53172-allow-ext3-ext4-upgrades.html)

Eric Sandeen 02-11-2008 09:35 PM

allow ext3->ext4 upgrades
 
I have not been able to test this because each time I try, I get
"Multiple devices on your system are labelled /." [Exit Installer]
even though really, truly, and honestly only one device is labeled
"/"

If this looks reasonably safe, maybe it can get tossed into the mix
and I'll try the upgrade another day....

All it does is mark it with the "test_fs" flag (which won't be needed
when ext4 goes "live") and then as long as the ext3 fs is mounted as
ext4 during install, every file which is created/updated/installed
will be in the new extents format.

Thanks,

-Eric

Index: anaconda-11.4.0.33/fsset.py
================================================== =================
--- anaconda-11.4.0.33.orig/fsset.py
+++ anaconda-11.4.0.33/fsset.py
@@ -703,11 +703,31 @@ class ext3FileSystem(extFileSystem):
self.name = "ext3"
self.extraFormatArgs = [ "-j" ]
self.partedFileSystemType = parted.file_system_type_get("ext3")
+ if flags.cmdline.has_key("iamanext4developer"):
+ self.migratetofs = ['ext4dev']

def formatDevice(self, entry, progress, chroot='/'):
extFileSystem.formatDevice(self, entry, progress, chroot)
extFileSystem.setExt3Options(self, entry, progress, chroot)

+ def migrateFileSystem(self, entry, message, chroot='/'):
+ devicePath = entry.device.setupDevice(chroot)
+
+ if not entry.fsystem or not entry.origfsystem:
+ raise RuntimeError, ("Trying to migrate fs w/o fsystem or "
+ "origfsystem set")
+ if entry.fsystem.getName() != "ext3":
+ raise RuntimeError, ("Trying to migrate ext3 to something other "
+ "than ext4")
+
+ # This is only needed as long as ext4 is actually "ext4dev"
+ rc = iutil.execWithRedirect("tune2fs",
+ ["-E", "test_fs", devicePath ],
+ stdout = "/dev/tty5",
+ stderr = "/dev/tty5", searchPath = 1)
+ if rc:
+ raise SystemError
+
fileSystemTypeRegister(ext3FileSystem())

class ext4FileSystem(extFileSystem):

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

Jeremy Katz 02-11-2008 10:55 PM

allow ext3->ext4 upgrades
 
On Mon, 2008-02-11 at 16:35 -0600, Eric Sandeen wrote:
> If this looks reasonably safe, maybe it can get tossed into the mix
> and I'll try the upgrade another day....

Like I said earlier, this looks okay to me... if no one else commits
it, I'll try to do so later tonight or tomorrow. Would be good to have
some testing on it, though :)

Jeremy

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

Eric Sandeen 02-12-2008 06:28 PM

allow ext3->ext4 upgrades
 
Eric Sandeen wrote:
> I have not been able to test this because each time I try, I get
> "Multiple devices on your system are labelled /." [Exit Installer]
> even though really, truly, and honestly only one device is labeled
> "/"
>
> If this looks reasonably safe, maybe it can get tossed into the mix
> and I'll try the upgrade another day....
>
> All it does is mark it with the "test_fs" flag (which won't be needed
> when ext4 goes "live") and then as long as the ext3 fs is mounted as
> ext4 during install, every file which is created/updated/installed
> will be in the new extents format.
>

Ok got past the (silly... sorry) testing problem, and found that this
does need more work.

iw/upgrade_migratefs_gui.py looks very ext2->ext3 -centric; help text is
all about ext3, and:

entry.setFileSystemType(fileSystemTypeGet("ext3"))
entry.setFormat(0)
entry.setMigrate(1)

would appear to be assuming that we are only ever migrating to "ext3?"

The migrate method I set for ext3->ext4 was called, because I did see
that the "test_fs" flag got set.

-Eric

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

Jeremy Katz 02-12-2008 07:21 PM

allow ext3->ext4 upgrades
 
On Tue, 2008-02-12 at 13:28 -0600, Eric Sandeen wrote:
> iw/upgrade_migratefs_gui.py looks very ext2->ext3 -centric; help text is
> all about ext3, and:

The upgrade case needs a little bit more work, but at least the basics
of doing an install and selecting migrate work (once I fixed a thinko of
ext3 vs ext4dev). So I've pushed that

> The migrate method I set for ext3->ext4 was called, because I did see
> that the "test_fs" flag got set.

Yeah, but then we still end up mounting as ext3 because we do migration
after mounting things. I'll see about fixing that up

Jeremy

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

Jeremy Katz 02-12-2008 07:50 PM

allow ext3->ext4 upgrades
 
On Tue, 2008-02-12 at 15:21 -0500, Jeremy Katz wrote:
> On Tue, 2008-02-12 at 13:28 -0600, Eric Sandeen wrote:
> > The migrate method I set for ext3->ext4 was called, because I did see
> > that the "test_fs" flag got set.
>
> Yeah, but then we still end up mounting as ext3 because we do migration
> after mounting things. I'll see about fixing that up

And fixed and tested.

Jeremy

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


All times are GMT. The time now is 08:06 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.