On Fri, Jan 26, 2007 at 06:08:50PM -0800, Darren Dunham wrote:
> > What do you guys think about implementing 'zfs/zpool rewrite' command?
> > It'll read every block older than the date when the command was executed
> > and write it again (using standard ZFS COW mechanism, simlar to how
> > resilvering works, but the data is read from the same disk it is written to=
> > ).
> 
> #1 How do you control I/O overhead?

The same way it is handled for scrub and resilver.

> #2 Snapshot blocks are never rewritten at the moment.  Most of your
>    suggestions seem to imply working on the "live" data, but doing that
>    for snapshots as well might be tricky. 

Good point, see below.

> > 3. I created file system with huge amount of data, where most of the
> > data is read-only. I change my server from intel to sparc64 machine.
> > Adaptive endianess only change byte order to native on write and because
> > file system is mostly read-only, it'll need to byteswap all the time.
> > And here comes 'zfs rewrite'!
> 
> It's only the metadata that is modified anyway, not the file data.  I
> would hope that this could be done more easily than a full tree rewrite
> (and again the issue with snapshots).  Also, the overhead there probably
> isn't going to be very high (since the metadata will be cached in most
> cases).  

Agreed. Probably in this case there should be rewrite-only-metadata
mode. I agree the overhead is probably not high, but on the other hand,
I'm quite sure there are workload, which will see the difference, eg.
'find / -name something'.

> Other than that, I'm guessing something like this will be necessary to
> implement disk evacuation/removal.  If you have to rewrite data from one
> disk to elsewhere in the pool, then rewriting the entire tree shouldn't
> be much harder.

How did I forget about this one?:) That's right. I belive ZFS will gain
such ability at some point and rewrite functionality fits very nice
here: mark the disk/mirror/raid-z as no-more-writes and start rewrite
process (probably only limited to this entity). To implement such
functionality there also has to be a way to migrate snapshot data, so
sooner or later there will be a need for moving snapshot blocks.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
[EMAIL PROTECTED]                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgpsIUZEgB2Q6.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to