[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