mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Svein Ove Aas <svein.ove@aas.no>
To: Jesse Pollard <jesse@cats-chateau.net>,
	rmoser <mlmoser@comcast.net>,
	viro@parcelfarce.linux.theplanet.co.uk,
	linux-kernel@vger.kernel.org
Subject: Re: File System conversion -- ideas
Date: Sun, 6 Jul 2003 21:30:23 +0200	[thread overview]
Message-ID: <200307062130.27771.svein.ove@aas.no> (raw)
In-Reply-To: <03063008265401.14007@tabby>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

mandag 30. juni 2003, 15:26, skrev Jesse Pollard:

> You are ASSUMING that the new filesystem requires lessthan or equal amount
> of metadata. This is NOT always true. A conversion of a full EXT2 to
> Riserfs would fail simply because there is no free space to expand the
> needed additional overhead.
>
> Going in the other direction usually is possible (again, depending on the
> filesystem) but there are exceptions... Try converting an EXT2 to DosFS.
> In place. And maintain a recoverable state when aborted.
>
> Not gonna happen.
>
> Too much depends on what the target filesystem is, and what it may require.
>
> Consider another - switching to an extent filesystem... If the datablocks
> don't move, then you need MORE extents than the current indirect pointers.
> And each extent is LARGER than the indirect pointers.
>
> Then you have to compress/condense the extents (requiring shuffling data
> blocks around to reduce the number of extents). Each requires free space
> to do it's work, and the amount of free blocks is not the same.
>
> Faster to do a copy. more reliable too. and recoverable.

What this boils down to is, "there may not be enough space".
Personally I prefer incrementally resizing LVM partitions for conversion 
anyway, but I'll take a stab at this.

Simple solution: In your conversion routines, allocate a chunk of another 
filesystem (just another file), and use that for scratch space. Journalling 
and the like won't get much harder, so why not?
And you can easily expand the file if you need to.

Problem: You might wind up with a 99%-converted filesystem and not have enough 
space to do without the scratch file. This could be bad.
If you can mount the filesystem as-is, then simply deleting a few large files 
would allow the conversion to complete. Otherwise you'll have to resize the 
underlying partition and the partial FS - difficult, but doable.

I'm think this idea ranks under "cool, but difficult and not quite necessary". 
Union mounts coupled with LVM and online resizing (which both Reiser3.6 and 
Reiser4 support, I presume) would render it irrelevant anyway; even without 
them, it can still be done with just LVM if taking the filesystem offline for 
a few hours is okay.

And if it isn't then you can likely afford some backup tape.

- - Svein Ove Aas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/CHjS9OlFkai3rMARAtvRAKCJhS4pMI73/AQmT4Nu8nT3XkKfOwCeLfWI
DL+O7LSIRnWaXKJFoT6L550=
=lMxE
-----END PGP SIGNATURE-----


  parent reply	other threads:[~2003-07-06 19:28 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-29 10:11 John Bradford
2003-06-29 13:28 ` Jamie Lokier
2003-06-29 13:50   ` David D. Hagood
2003-06-29 18:31     ` rmoser
2003-06-29 19:55       ` David D. Hagood
2003-06-29 20:05         ` rmoser
2003-06-29 20:41           ` David D. Hagood
2003-06-29 20:53             ` rmoser
2003-06-29 20:22         ` Leonard Milcin Jr.
2003-06-30 16:05     ` Henning P. Schmiedehausen
2003-06-30 16:59       ` Leonard Milcin Jr.
2003-06-30 17:04         ` Kevin Corry
2003-06-30 17:37         ` Valdis.Kletnieks
2003-07-01  9:56       ` Stewart Smith
2003-06-29 13:54   ` Leonard Milcin Jr.
2003-06-29 18:45     ` rmoser
2003-06-29 19:37       ` Leonard Milcin Jr.
2003-06-29 19:43         ` Leonard Milcin Jr.
2003-06-29 19:48           ` rmoser
2003-06-30  3:52             ` Horst von Brand
2003-07-01 10:15             ` Stewart Smith
2003-07-01 14:55               ` Leonard Milcin Jr.
2003-07-01 15:41                 ` Stewart Smith
2003-07-01 16:19                   ` Leonard Milcin Jr.
2003-06-29 19:44         ` rmoser
2003-06-29 19:44         ` Jamie Lokier
2003-06-29 19:46           ` rmoser
2003-06-29 20:02           ` viro
2003-06-29 20:26             ` Leonard Milcin Jr.
2003-06-29 20:31             ` rmoser
2003-07-01 10:01         ` Stewart Smith
2003-06-29 19:28     ` Jamie Lokier
2003-06-29 19:35       ` rmoser
2003-06-29 19:42       ` viro
2003-06-29 19:45         ` rmoser
2003-06-29 20:00           ` viro
2003-06-29 20:19             ` Davide Libenzi
2003-06-29 20:25               ` viro
2003-06-29 20:45                 ` rmoser
2003-06-29 20:46                 ` Davide Libenzi
2003-06-30  9:13                 ` Nikita Danilov
2003-06-29 20:38               ` rmoser
2003-06-29 20:29             ` rmoser
2003-06-29 20:50               ` Hugo Mills
2003-06-29 21:00                 ` rmoser
2003-06-29 21:10                   ` Davide Libenzi
2003-06-29 21:37                   ` Hugo Mills
2003-06-29 21:54                     ` rmoser
2003-06-29 22:25                       ` Hugo Mills
2003-06-29 20:51               ` viro
2003-06-29 21:07                 ` rmoser
2003-06-29 21:08                 ` Chris Friesen
2003-06-30  0:25               ` Jan Harkes
2003-06-30  0:59                 ` rmoser
2003-07-01 20:03             ` Pavel Machek
2003-07-02 14:49               ` Jan Kara
2003-06-29 20:05           ` David D. Hagood
2003-06-29 20:36             ` rmoser
2003-06-30  0:05               ` Richard Braakman
2003-06-30  0:58                 ` rmoser
2003-06-29 21:32           ` Diego Calleja García
2003-06-30 13:26           ` Jesse Pollard
2003-06-30 13:42             ` Hans Reiser
2003-06-30 13:56               ` Jesse Pollard
2003-07-06 19:30             ` Svein Ove Aas [this message]
2003-06-29 18:26 ` rmoser
  -- strict thread matches above, loose matches on Subject: below --
2003-07-07  8:43 John Bradford
2003-07-01 16:04 Matt Reuther
2003-07-01 16:13 ` Frank Gevaerts
2003-06-30 14:11 John Bradford
2003-06-30 15:45 ` Leonard Milcin Jr.
2003-06-30  8:55 John Bradford
2003-06-30  9:36 ` Hans Reiser
2003-06-30 16:29   ` viro
2003-06-29 21:59 John Bradford
2003-06-29 20:20 John Bradford
2003-06-29 20:44 ` rmoser
2003-06-29 20:06 John Bradford
2003-06-29 18:58 John Bradford
2003-06-29 19:12 ` rmoser
2003-06-29 18:37 John Bradford
2003-06-29 18:48 ` rmoser
2003-06-29 19:42 ` Jamie Lokier
2003-06-29 16:24 John Bradford
2003-06-29 16:13 John Bradford
2003-06-29 19:16 ` Jamie Lokier
2003-06-29  6:57 rmoser
2003-06-30 13:05 ` Jesse Pollard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200307062130.27771.svein.ove@aas.no \
    --to=svein.ove@aas.no \
    --cc=jesse@cats-chateau.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mlmoser@comcast.net \
    --cc=viro@parcelfarce.linux.theplanet.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®