[illumos-Developer] iSCSI UNMAP with DKIOCFREE
Dan McDonald
danmcd at nexenta.com
Mon Feb 21 21:28:27 PST 2011
On Mon, Feb 21, 2011 at 08:21:53PM -0800, George Wilson wrote:
<SNIP!>
> BTW, if you don't want to return error you could do:
>
> if (df.df_start + df.df_length > zv->zv_volsize)
> df.df_length = DMU_OBJECT_END
<SNIP!>
> Sorry, I should have looked closer at my response, instead I led you
> down the wrong path. What I was trying to say was add a add a check
> when you're freeing an area which is already free:
>
> /* Nothing to do */
> if (df.df_start >= zv->zv_volsize)
> break;
If it gives me a chance to call out (and apply) Postel's Law [1] in
non-TCP/IP code, I'll take it. Fixed, webrev updated.
> >have one question, and that's whether or not I need to place the
> >zfs_range_unlock() *after* the optional txg_wait_synced(). The previous
> >webrev is now updated:
>
> Will let you know what I uncover with dmu_free_long_range(). As for
> your location of zfs_range_unlock() it looks fine.
Thanks,
Dan
[1] Not the first time an Internet community principal has been used in the
same sentence as ZFS. See here, e.g.:
http://blogs.sun.com/sommerfeld/entry/the_end_to_end_argument
More information about the Developer
mailing list