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.?

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

Reply via email to