[illumos-Developer] Can only use "rdsk" for COMSTAR UNMAP support...

Dan McDonald danmcd at nexenta.com
Thu Mar 3 13:17:16 PST 2011


On Thu, Mar 03, 2011 at 04:07:50PM -0500, Dan McDonald wrote:
<SNIP!>
> It begs the higher-level question: Should there be an alternate DKIOCFREE
> path for block devices?

One followup datapoint: COMSTAR fills in a bunch of direct-access-ZVOL fields
if and only if the zvol is the character device:

    sl_zvol_minor_hdl = 0xffffff01cf4d0380
    sl_zvol_objset_hdl = 0xffffff01e8841080
    sl_zvol_zil_hdl = 0xffffff01f4273e00
    sl_zvol_rl_hdl = 0xffffff01cf4d07e0
    sl_zvol_bonus_hdl = 0xffffff020dab7760

If it's a block device, these are emptied:

    sl_zvol_minor_hdl = 0
    sl_zvol_objset_hdl = 0
    sl_zvol_zil_hdl = 0
    sl_zvol_rl_hdl = 0
    sl_zvol_bonus_hdl = 0

I know COMSTAR uses those ZVOL fields for data movement, and there are
commented external-caller-safe access points for them (and others?) in
zvol.c.  This may have been what motivated the original code author to
directly invoke zvol/dmu methods from COMSTAR directly.

Thanks,
Dan



More information about the Developer mailing list