[illumos-Developer] Review --> iSCSI UNMAP support

Garrett D'Amore garrett at damore.org
Thu Feb 10 08:03:07 PST 2011


I am neither Matt nor George, but your statements here have thoroughly
convinced me at least.  The examples you've given (including the prior
one) are especially relevant.

There's another one though.

When we get UNMAP support in ZFS itself (and sd/SCSA), being able to
pass UNMAP through to underlying storage may yield other performance
benefits, even if you are only planning on using a single zvol on the
pool and have no "storage size" concerns.

	- Garrett

On Thu, 2011-02-10 at 10:56 -0500, Eric Schrock wrote:
> On Thu, Feb 10, 2011 at 10:40 AM, Sumit Gupta
> <Sumit.Gupta at nexenta.com> wrote:
>         
>         
>         A reservation is reservation, whatever the intent is. Reserved
>         space means it cannot be given up. How can we return success
>         to an unmap command if the zpool is still accounting for that
>         much space being in use by the zvol. That will confuse the
>         user. And that space wont be available to other zvols and such
>         which is what the unmap is trying to do. I dont understand the
>         debate.
>         
> 
> 
> The reason for the confusion is that "accounted for != in use" in
> ZFS.  Allocating blocks has real ramifications for snapshots, space
> map usage, and a whole host of other things that come with using
> "real" space.  Freeing blocks will always have a meaningful effect
> even if there is a reservation - that is the ZFS model.  I don't know
> who the user is above or how they'd even know UNMAP was in play, but I
> would expect the USED stat for a zvol to go down on UNMAP, regardless
> of any reservation; I don't see how one could expect anything else.
> 
> 
> I have already provided you one example of where your assumptions are
> wrong and do active harm; here are some more off the top of my head:
> 
> 
>    - If the user later chooses to switch to a sparse zvol, they have
> space they can never reclaim
>    - One may want to create a sparse clone, which would needlessly
> reference extra blocks
>    - A 'zfs send' sends pointless data, and ends up being O(size)
> instead of O(used)
>    - Unused but allocated blocks cause unnecessary space map
> fragmentation, leading to poor performance
> 
> 
> If you can get buy in from Matt or George (the other ZFS approvers)
> I'm happy to defer to them, but IMO this is a bug that needs to be
> fixed.
> 
> 
> Thanks,
> 
> 
>         
> - Eric 
> 
> -- 
> Eric Schrock
> Delphix
> 
> 
> 275 Middlefield Road, Suite 50
> Menlo Park, CA 94025
> http://www.delphix.com
> 
> _______________________________________________
> Developer mailing list
> Developer at lists.illumos.org
> http://lists.illumos.org/m/listinfo/developer





More information about the Developer mailing list