[illumos-Developer] iSCSI UNMAP with DKIOCFREE

George Wilson gwilson at zfsmail.com
Mon Feb 21 18:09:40 PST 2011


Dan,

zvol.c:

- need error checking for the range [df_start, df_start + df_length)
     - ensure that df_start + df_length <= zv_volsize
     - ensure that df_start >= 0
- need to call zfs_range_lock() for the range specified by df (need 
unlock too)
- I think we also need to log this operation to the zil so that it can 
be replayed on reboot (I'm digging into dmu_free_long_range() to see if 
it tracks the deletion)

Thanks,
George




On 2/21/11 8:42 AM, Dan McDonald wrote:
> On Sun, Feb 20, 2011 at 05:16:08PM -0500, Dan McDonald wrote:
> <SNIP!>
>
>> I can see multiple kinds of delete happening too, so let's try this:
>>
>> 	typedef struct dkioc_free_s {
>> 		uint32_t df_flags;
>> 		uint32_t df_reserved;	/* For 64-bit goodness below... */
>> 		diskaddr_t df_start;
>> 		diskaddr_t df_length;
>> 	};
>>
>> Watch for code changes late tonight or sometime Monday.
> It's "sometime Monday", and there they are:
>
> 	http://www.kebe.com/~danmcd/webrevs/unmap/
>
> I only have one KEBE comment left, and it's more for the iSCSI types (do I
> honor the DISABLE_WRITE_CACHE flag enough to enable txg_wait_sync() or not?).
>
> Thanks!
> Dan
>
> _______________________________________________
> Developer mailing list
> Developer at lists.illumos.org
> http://lists.illumos.org/m/listinfo/developer




More information about the Developer mailing list