[PATCH 2/6] cxlflash: Cache owning adapter within context
Manoj Kumar
manoj at linux.vnet.ibm.com
Fri Aug 19 00:38:46 AEST 2016
Acked-by: Manoj N. Kumar <manoj at linux.vnet.ibm.com>
On 8/9/2016 6:39 PM, Matthew R. Ochs wrote:
> The context removal routine requires access to the owning adapter
> structure to reset the context within the AFU as part of the tear
> down sequence. In order to support kref adoption, the owning adapter
> must be accessible from the release handler. As the kref framework
> only provides the kref reference as the sole parameter, another means
> is needed to derive the owning adapter.
>
> As a remedy, the owning adapter reference is saved off within the
> context during initialization.
>
> Signed-off-by: Matthew R. Ochs <mrochs at linux.vnet.ibm.com>
> ---
> drivers/scsi/cxlflash/superpipe.c | 1 +
> drivers/scsi/cxlflash/superpipe.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/scsi/cxlflash/superpipe.c b/drivers/scsi/cxlflash/superpipe.c
> index ab5c893..640c3a2 100644
> --- a/drivers/scsi/cxlflash/superpipe.c
> +++ b/drivers/scsi/cxlflash/superpipe.c
> @@ -804,6 +804,7 @@ static void init_context(struct ctx_info *ctxi, struct cxlflash_cfg *cfg,
> ctxi->lfd = adap_fd;
> ctxi->pid = current->tgid; /* tgid = pid */
> ctxi->ctx = ctx;
> + ctxi->cfg = cfg;
> ctxi->file = file;
> ctxi->initialized = true;
> mutex_init(&ctxi->mutex);
> diff --git a/drivers/scsi/cxlflash/superpipe.h b/drivers/scsi/cxlflash/superpipe.h
> index 5f9a091..61404f2 100644
> --- a/drivers/scsi/cxlflash/superpipe.h
> +++ b/drivers/scsi/cxlflash/superpipe.h
> @@ -107,6 +107,7 @@ struct ctx_info {
> bool err_recovery_active;
> struct mutex mutex; /* Context protection */
> struct cxl_context *ctx;
> + struct cxlflash_cfg *cfg;
> struct list_head luns; /* LUNs attached to this context */
> const struct vm_operations_struct *cxl_mmap_vmops;
> struct file *file;
>
More information about the Linuxppc-dev
mailing list