Anyone interested in TCM loopback device?

--Sheng

On Thu, Oct 22, 2015 at 11:28 AM, Sheng Yang <[email protected]> wrote:
> In the past, the scsi_host's number wasn't shown anywhere, user have to
> depends on vpg_83 to find the block device, which is also depends on
> backstore implementation.
>
> It's better for tcm_loop to provide necessary straightforward information
> on locate the block device it created.
>
> This patch would help to locate the block device created by tcm_loop.  The
> address would be shown at e.g.
>
> /sys/kernel/config/target/loopback/naa.60014059436855c1/tpgt_1/address
>
> which would looks like "2:0:1", and the lun number can be found at
> "/tpgt_1/lun/lun_0".  Altogether they formated the scsi address of device
> as "2:0:1:0", which can be used to locate the device easily through
> 'lsscsi'.
>
> Signed-off-by: Sheng Yang <[email protected]>
> ---
>  drivers/target/loopback/tcm_loop.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/drivers/target/loopback/tcm_loop.c 
> b/drivers/target/loopback/tcm_loop.c
> index 5bc85ff..a38ddd6 100644
> --- a/drivers/target/loopback/tcm_loop.c
> +++ b/drivers/target/loopback/tcm_loop.c
> @@ -1046,9 +1046,26 @@ static ssize_t tcm_loop_tpg_store_transport_status(
>
>  TF_TPG_BASE_ATTR(tcm_loop, transport_status, S_IRUGO | S_IWUSR);
>
> +static ssize_t tcm_loop_tpg_show_address(
> +       struct se_portal_group *se_tpg,
> +       char *page)
> +{
> +       struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
> +                       struct tcm_loop_tpg, tl_se_tpg);
> +       struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
> +       ssize_t ret = -EINVAL;
> +
> +       ret = snprintf(page, PAGE_SIZE, "%d:0:%d\n",
> +                       tl_hba->sh->host_no, tl_tpg->tl_tpgt);
> +       return ret;
> +}
> +
> +TF_TPG_BASE_ATTR_RO(tcm_loop, address);
> +
>  static struct configfs_attribute *tcm_loop_tpg_attrs[] = {
>         &tcm_loop_tpg_nexus.attr,
>         &tcm_loop_tpg_transport_status.attr,
> +       &tcm_loop_tpg_address.attr,
>         NULL,
>  };
>
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to