HEADS UP - Another media change for HAMMER
Michael Neumann
mneumann at ntecs.de
Sat May 17 13:13:36 PDT 2008
Matthew Dillon wrote:
> :How about having a "version" field in the superblock and if we want
to=20
> :change the media layout, we'd just have to supply a tool which
changes th=
> :e=20
> :filesystem from the old format into the new format. This way we
could=20
> :keep on changing the layout without having to worry too much about=20
> :incompatible changes. I'd hate to be forced to use an inferior
format,=20
> :just because we might already have a user base using it.
> :
> :cheers
> : simon
>
> Yah, there's already a version field, but filesystem upgrades aren't
> going to be implemented until after the official first release.
There
> are simply too many changes being made prior to the official
release for
> an upgrade path to be a viable option.
>
> Once we release, though, there will clearly be an upgrade path.
>
> While I'm doing this I just realized that I can implement another
feature
> that I wanted to have for a while. In order to replicate a HAMMER
> filesystem the object ID's (i.e. inode numbers) must also be
replicated.
> Normally this would mean that you have to replicate whole HAMMER
> filesystems but with localization I can actually create logical
> HAMMER filesystems inside the real HAMMER filesystem, each with
its own
> object ID space and thus independantly replicatable.
>
> The point here is that one would then be able to have, say, /var, but
> then make each directory under /var a filesystem-within-a-filesystem
> and replicate them independantly. One might then decide to replicate
> /var/db but not /var/log, putting the redundancy and parallelism
where
> its needing rather then having to use a big-stick approach.
Superb! Exactly what I was waiting for! And this would also solve the
pruning "problem" we discussed a few days ago -- pruning of files that
are located in a directory -- and that very efficiently.
Do you already have an idea how those filesystems-within-a-filesystem
are maintained? In ZFS I can create filesystems like:
zfs create tank/usr
zfs create tank/usr/obj
Would there be a similar tool for HAMMER, or is each directory basically
a filesystem on it's own? The latter would mean that there is no need
for such a tool, leading to less administrative overhead.
Regards,
Michael
More information about the Kernel
mailing list