[illumos-Developer] iSCSI UNMAP with DKIOCFREE
George Wilson
gwilson at zfsmail.com
Wed Feb 23 09:38:47 PST 2011
Dan,
The latest changes look good. I've also finished looking at
dmu_free_long_range() and as feared we're going to need to log an
intention for this in the zil so that we can replay this if a crash
were ever to happen.
Thanks,
George
On 2/21/11 9:28 PM, Dan McDonald wrote:
> 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
>
> _______________________________________________
> Developer mailing list
> Developer at lists.illumos.org
> http://lists.illumos.org/m/listinfo/developer
More information about the Developer
mailing list