On Jan 23, 2006, at 02:24, Theodore Ts'o wrote:
Hot-shrinking a filesystem is certainly possible for any
filesystem, but the problem is how many filesystem data structures
you have to walk in order to find all the owner of all of the
blocks that you have to relocate. That generally isn't a RAM
overhead problem, but the fact that in general, most filesystems
don't have an efficient way to answer the question, "who owns this
arbitrary disk block?" Having extents means you have a slightly
more efficient encoding system, but it still is the case that you
have to check potentially every file in the filesystem to see if it
is the owner of one of the disk blocks that needs to be moved when
you are shrinking the filesystem.
The way that I'm considering implementing this is by intentionally
fragmenting the allocation bitmap, catalog file, etc, such that each
1/8 or so of the disk contains its own allocation bitmap describing
its contents, its own set of files or directories, etc. The
allocator would largely try to keep individual btree fragments
cohesive, such that one of the 1/8th divisions of the disk would only
have pertinent data for itself. The idea would be that when trying
to look up an allocation block, in the common case you need only
parse a much smaller subsection of the disk structures.
And the only use for such a [reverse-mapping] data structure would
be to make shrinking a filesystem more efficient.
Not entirely true. I _believe_ you could use such data structures to
make the allocation algorithm much more robust against fragmentation
if you record the right kind of information.
Cheers,
Kyle Moffett
--
If you don't believe that a case based on [nothing] could potentially
drag on in court for _years_, then you have no business playing with
the legal system at all.
-- Rob Landley
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]