[illumos-Developer] MUCH better --> zil for zvol TRUNCATE (and iSCSI UNMAP) working...
Dan McDonald
danmcd at nexenta.com
Tue Mar 1 11:38:00 PST 2011
On Tue, Mar 01, 2011 at 01:02:00PM -0500, Eric Schrock wrote:
> I don't think it's necessary to do txg_wait_synced() now that you've
> integrated the ZIL changes. From the ZFS perspective, the change is
> committed to disk once you do the zil_commit().
Is that sufficient to honor the iSCSI flag SL_WRITEBACK_CACHE_DISABLED? I've
a feeling using the ZIL will mean the WRITEBACK_CACHE_DISABLED is effectively
a NOP for UNMAP, but anyone with more iSCSI clue should speak up.
> I still don't buy the "turn on ZLE compression automatically" behavior.
> Most frees are going to be aligned with the native block size, and if they
> aren't, adjacent frees will still free up the space as they overlap whole
> blocks. If ZLE is "free", we should turn it on by default for all zvols.
> If it's not "free", then the user may very well want to have it turned off
> for performance while still providing UNMAP semantics. If you want to get
> really fancy, then we should detect unaligned frees within the zvol layer
> dynamically and rewrite just those blocks with ZLE. In any of these
> scenarios, there is no reason for the code (and the ugly prop get/set
> support) to exist within sbd. George, what do you think?
I can/should run an experiment where I implement UNMAP without doing the zle
compression. I can see whether or not the reserved size shrinks
appropriately.
Dan
More information about the Developer
mailing list