Neil, Thank you. You closed my question. :-)
best regards, hanzhu On Mon, Dec 7, 2009 at 3:00 AM, Neil Perrin <neil.per...@sun.com> wrote: > > I'll try to find out whether ZFS binding the same file always to the same >> opening transaction group. >> > > Not sure what you mean by this. Transactions (eg writes) will go into > the current open transaction group (txg). Subsequent writes may enter > the same or a future txg. Txgs are obviously committed in order. > So writes are not committed out of order. The txg commit is all or nothing, > so on a crash you get to see all the transactions in that txg or none. > I think this answers your original question/concern. > > > If so, I guess my assumption here would be true. >> Seems like there is only one opening transaction group at anytime. >> Can anybody give me a definitive answer here? >> > > ZFS uses a 3 stage transaction model: Open, Quiescing and Syncing. > Transactions enter in Open. Quiescing is where a new Open stage has > started and waits for transactions that have yet to commit to finish. > Syncing is where all the completed transactions are pushed to the pool > in an atomic manner with the last write being the root of the new tree > of blocks (uberblock). > > All the guarantees assume good hardware. As part of the new uberblock > update > we flush the write caches of the pool devices. If this is broken all bets > are off. > > Neil. >
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss