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

Reply via email to