On 12/17/13 5:21 AM, Gaurav Mahajan wrote:
Hi all,
I am trying to understand relations of root ZIO and children ZIO.
This is what I have understood.. Please correct me if I'm wrong.
Usually whenever we want to do a series of IO operations like in sync
thread.
We create a root ZIO with zio_root(). Now this root ZIO becomes parent
for every ZIO that we create while syncing the async data to disk (in
dbuf_sync_leaf).
All the child ZIO are issued using zio_nowait()
After issuing all the children ZIO at the end we call zio_wait() on
root ZIO.
So the question that comes in my mind is that after zio_wait for root
ZIO is over, are we guaranteed that all the children ZIO are complete.?
Yes, the root zio cannot complete until all its children have completed.
- George
complete in sense like block allocation and data write are done and
io_done callback are complete.
I may be wrong with my understanding. Please correct me.
Thanks !!!
Gaurav.
_______________________________________________
developer mailing list
developer@open-zfs.org
http://lists.open-zfs.org/mailman/listinfo/developer
_______________________________________________
developer mailing list
developer@open-zfs.org
http://lists.open-zfs.org/mailman/listinfo/developer