[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