I'm looking at the following code:

zvol_ioctl()
...
 case DKIOCFREE:
...
/*
* If the caller really wants synchronous writes, and
* can't wait for them, don't return until the write
* is done.
*/
if (df.df_flags & DF_WAIT_SYNC) {
txg_wait_synced(
   dmu_objset_pool(zv->zv_objset), 0);
}

Why does DF_WAIT_SYNC imply txg_wait_synced()?  Why isn't zil_commit()
sufficient here?

I don't really understand the comment, does it mean that the caller wants
writes to be committed when we do a DKIOCFREE?  That's a little strange,
but zil_commit(ZVOL_OBJ) would still do that.  If so, I think the comment
would be more clear if it said:

If the caller wants previous asynchronous writes to be committed to disk,
commit the ZIL.  This will sync any previous uncommitted writes to the zvol
object.

--matt



-------------------------------------------
openzfs-developer
Archives: https://www.listbox.com/member/archive/274414/=now
RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c
Powered by Listbox: http://www.listbox.com

Reply via email to