> > Shrinking the vdevs requires moving data. Once you move data, you've > > got to either invalidate the snapshots or update them. I think that > > will be one of the more difficult parts. > > Updating snapshots would be non-trivial, but doable. Perhaps some sort > of reverse mapping or brute force search to relate snapshots to > blocks.
Today, accounting for blocks used by snapshots is done at least partially by the internal generation number. If you modify a snapshot, you're going to have to modify a lot of if (because of the checksums, you'll end up having to write all the way up to the root). You'll then have to either lie about the generation number or the existing algorithm will break. Faking the old generation number seems hard, especially since rewriting the snapshot won't be atomic unless you have both the old and new points on disk at the same time. -- Darren Dunham [EMAIL PROTECTED] Senior Technical Consultant TAOS http://www.taos.com/ Got some Dr Pepper? San Francisco, CA bay area < This line left intentionally blank to confuse you. > _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss