Matthew Ahrens wrote On 03/24/07 12:36,:
Neil Perrin wrote:
I'm not sure exactly what will be slow about taking snapshots, but
one aspect might be that we have to suspend the intent log (see call
to zil_suspend() in dmu_objset_snapshot_one()). I've been meaning to
change that for a while now -- just let the snapshot have the
(non-empty) zil header in it, but don't use it (eg. if we rollback or
clone, explicitly zero out the zil header). So you might want to
look into that.
I've always thought the slowness was due to the txg_wait_synced().
I just counted 5 for one snapshot:
Yeah, well 3 of the 5 are for zil_suspend(), so I think you've proved my
point :-)
I believe that the one from spa_history_log() will go away with MarkS's
delegated admin work, leaving just the one "actually do it"
txg_wait_synced().
Bottom line, it shouldn be possible to make zfs snapshot take 5x less
time, without an extraordinary effort.
I'm not sure. Doing one will take the same time as more than one (assuming same
txg)
but at least one is needed to ensure all transactions prior to the snapshot are
committed.
Neil.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss