From 1a6660f26617f66a12f7d0d7b1f0e55949cb51e1 Mon Sep 17 00:00:00 2001 From: Scott Benesh Date: Fri, 6 Nov 2015 06:04:54 -0800 Subject: [PATCH] hpsa: add in new offline mode prevent adding volumes that are not available. Reviewed-by: Kevin Barnett Reviewed-by: Scott Teel Reviewed-by: Justin Lindley Signed-off-by: Don Brace Orabug: 22075051 Acked-by: Chuck Anderson --- drivers/scsi/hpsa.c | 7 +++++++ drivers/scsi/hpsa_cmd.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 7f09b66d036e..b88d54eb3341 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -1480,6 +1480,12 @@ static void hpsa_show_volume_status(struct ctlr_info *h, h->scsi_host->host_no, sd->bus, sd->target, sd->lun); break; + case HPSA_LV_NOT_AVAILABLE: + dev_info(&h->pdev->dev, + "C%d:B%d:T%d:L%d Volume is waiting for transforming volume.\n", + h->scsi_host->host_no, + sd->bus, sd->target, sd->lun); + break; case HPSA_LV_UNDERGOING_RPI: dev_info(&h->pdev->dev, "C%d:B%d:T%d:L%d Volume is undergoing rapid parity initialization process.\n", @@ -3289,6 +3295,7 @@ static int hpsa_volume_offline(struct ctlr_info *h, /* Keep volume offline in certain cases: */ switch (ldstat) { case HPSA_LV_UNDERGOING_ERASE: + case HPSA_LV_NOT_AVAILABLE: case HPSA_LV_UNDERGOING_RPI: case HPSA_LV_PENDING_RPI: case HPSA_LV_ENCRYPTED_NO_KEY: diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h index 1a98bbebf15b..47c756ba8dce 100644 --- a/drivers/scsi/hpsa_cmd.h +++ b/drivers/scsi/hpsa_cmd.h @@ -164,6 +164,7 @@ /* Logical volume states */ #define HPSA_VPD_LV_STATUS_UNSUPPORTED 0xff #define HPSA_LV_OK 0x0 +#define HPSA_LV_NOT_AVAILABLE 0x0b #define HPSA_LV_UNDERGOING_ERASE 0x0F #define HPSA_LV_UNDERGOING_RPI 0x12 #define HPSA_LV_PENDING_RPI 0x13 -- 2.50.1