* [PATCH 0/4] scsi_debug cleanup
@ 2015-02-18 22:31 Tomas Winkler
2015-02-18 22:31 ` [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging Tomas Winkler
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Tomas Winkler @ 2015-02-18 22:31 UTC (permalink / raw)
To: James E.J. Bottomley"; +Cc: linux-scsi, Tomas Winkler
I did some minor code cleanups while playing with
scsi_debug module
Tomas Winkler (4):
scsi_debug: define pr_fmt() for consistent logging
scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of
SAM2_WLUN_REPORT_LUNS;
scsi_debug: vfree is null safe so drop the check
scsi_debug: make dump_sector static
drivers/scsi/scsi_debug.c | 143 ++++++++++++++++++++--------------------------
1 file changed, 63 insertions(+), 80 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging
2015-02-18 22:31 [PATCH 0/4] scsi_debug cleanup Tomas Winkler
@ 2015-02-18 22:31 ` Tomas Winkler
2015-02-23 18:19 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; Tomas Winkler
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Tomas Winkler @ 2015-02-18 22:31 UTC (permalink / raw)
To: James E.J. Bottomley"; +Cc: linux-scsi, Tomas Winkler
Use pr_fmt with both module name and __func__
Also drop few bare printk leftovers
The log format should stay pretty much intact
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
drivers/scsi/scsi_debug.c | 118 +++++++++++++++++++++-------------------------
1 file changed, 53 insertions(+), 65 deletions(-)
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 8bcf6ad0d765..14e73f27c27f 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -25,6 +25,9 @@
* module options to "modprobe scsi_debug num_tgts=2" [20021221]
*/
+
+#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__
+
#include <linux/module.h>
#include <linux/kernel.h>
@@ -2450,8 +2453,7 @@ static int dif_verify(struct sd_dif_tuple *sdt, const void *data,
__be16 csum = dif_compute_csum(data, scsi_debug_sector_size);
if (sdt->guard_tag != csum) {
- pr_err("%s: GUARD check failed on sector %lu rcvd 0x%04x, data 0x%04x\n",
- __func__,
+ pr_err("GUARD check failed on sector %lu rcvd 0x%04x, data 0x%04x\n",
(unsigned long)sector,
be16_to_cpu(sdt->guard_tag),
be16_to_cpu(csum));
@@ -2459,14 +2461,14 @@ static int dif_verify(struct sd_dif_tuple *sdt, const void *data,
}
if (scsi_debug_dif == SD_DIF_TYPE1_PROTECTION &&
be32_to_cpu(sdt->ref_tag) != (sector & 0xffffffff)) {
- pr_err("%s: REF check failed on sector %lu\n",
- __func__, (unsigned long)sector);
+ pr_err("REF check failed on sector %lu\n",
+ (unsigned long)sector);
return 0x03;
}
if (scsi_debug_dif == SD_DIF_TYPE2_PROTECTION &&
be32_to_cpu(sdt->ref_tag) != ei_lba) {
- pr_err("%s: REF check failed on sector %lu\n",
- __func__, (unsigned long)sector);
+ pr_err("REF check failed on sector %lu\n",
+ (unsigned long)sector);
return 0x03;
}
return 0;
@@ -3453,7 +3455,7 @@ static void sdebug_q_cmd_complete(unsigned long indx)
atomic_inc(&sdebug_completions);
qa_indx = indx;
if ((qa_indx < 0) || (qa_indx >= SCSI_DEBUG_CANQUEUE)) {
- pr_err("%s: wild qa_indx=%d\n", __func__, qa_indx);
+ pr_err("wild qa_indx=%d\n", qa_indx);
return;
}
spin_lock_irqsave(&queued_arr_lock, iflags);
@@ -3461,21 +3463,21 @@ static void sdebug_q_cmd_complete(unsigned long indx)
scp = sqcp->a_cmnd;
if (NULL == scp) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: scp is NULL\n", __func__);
+ pr_err("scp is NULL\n");
return;
}
devip = (struct sdebug_dev_info *)scp->device->hostdata;
if (devip)
atomic_dec(&devip->num_in_q);
else
- pr_err("%s: devip=NULL\n", __func__);
+ pr_err("devip=NULL\n");
if (atomic_read(&retired_max_queue) > 0)
retiring = 1;
sqcp->a_cmnd = NULL;
if (!test_and_clear_bit(qa_indx, queued_in_use_bm)) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: Unexpected completion\n", __func__);
+ pr_err("Unexpected completion\n");
return;
}
@@ -3485,7 +3487,7 @@ static void sdebug_q_cmd_complete(unsigned long indx)
retval = atomic_read(&retired_max_queue);
if (qa_indx >= retval) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: index %d too large\n", __func__, retval);
+ pr_err("index %d too large\n", retval);
return;
}
k = find_last_bit(queued_in_use_bm, retval);
@@ -3513,7 +3515,7 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
atomic_inc(&sdebug_completions);
qa_indx = sd_hrtp->qa_indx;
if ((qa_indx < 0) || (qa_indx >= SCSI_DEBUG_CANQUEUE)) {
- pr_err("%s: wild qa_indx=%d\n", __func__, qa_indx);
+ pr_err("wild qa_indx=%d\n", qa_indx);
goto the_end;
}
spin_lock_irqsave(&queued_arr_lock, iflags);
@@ -3521,21 +3523,21 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
scp = sqcp->a_cmnd;
if (NULL == scp) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: scp is NULL\n", __func__);
+ pr_err("scp is NULL\n");
goto the_end;
}
devip = (struct sdebug_dev_info *)scp->device->hostdata;
if (devip)
atomic_dec(&devip->num_in_q);
else
- pr_err("%s: devip=NULL\n", __func__);
+ pr_err("devip=NULL\n");
if (atomic_read(&retired_max_queue) > 0)
retiring = 1;
sqcp->a_cmnd = NULL;
if (!test_and_clear_bit(qa_indx, queued_in_use_bm)) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: Unexpected completion\n", __func__);
+ pr_err("Unexpected completion\n");
goto the_end;
}
@@ -3545,7 +3547,7 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
retval = atomic_read(&retired_max_queue);
if (qa_indx >= retval) {
spin_unlock_irqrestore(&queued_arr_lock, iflags);
- pr_err("%s: index %d too large\n", __func__, retval);
+ pr_err("index %d too large\n", retval);
goto the_end;
}
k = find_last_bit(queued_in_use_bm, retval);
@@ -3584,7 +3586,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
return devip;
sdbg_host = *(struct sdebug_host_info **)shost_priv(sdev->host);
if (!sdbg_host) {
- pr_err("%s: Host info NULL\n", __func__);
+ pr_err("Host info NULL\n");
return NULL;
}
list_for_each_entry(devip, &sdbg_host->dev_info_list, dev_list) {
@@ -3600,8 +3602,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
if (!open_devip) { /* try and make a new one */
open_devip = sdebug_device_create(sdbg_host, GFP_ATOMIC);
if (!open_devip) {
- printk(KERN_ERR "%s: out of memory at line %d\n",
- __func__, __LINE__);
+ pr_err("out of memory at line %d\n", __LINE__);
return NULL;
}
}
@@ -3619,7 +3620,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
static int scsi_debug_slave_alloc(struct scsi_device *sdp)
{
if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
- printk(KERN_INFO "scsi_debug: slave_alloc <%u %u %u %llu>\n",
+ pr_info("slave_alloc <%u %u %u %llu>\n",
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
queue_flag_set_unlocked(QUEUE_FLAG_BIDI, sdp->request_queue);
return 0;
@@ -3630,7 +3631,7 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp)
struct sdebug_dev_info *devip;
if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
- printk(KERN_INFO "scsi_debug: slave_configure <%u %u %u %llu>\n",
+ pr_info("slave_configure <%u %u %u %llu>\n",
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
if (sdp->host->max_cmd_len != SCSI_DEBUG_MAX_CMD_LEN)
sdp->host->max_cmd_len = SCSI_DEBUG_MAX_CMD_LEN;
@@ -3650,7 +3651,7 @@ static void scsi_debug_slave_destroy(struct scsi_device *sdp)
(struct sdebug_dev_info *)sdp->hostdata;
if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
- printk(KERN_INFO "scsi_debug: slave_destroy <%u %u %u %llu>\n",
+ pr_info("slave_destroy <%u %u %u %llu>\n",
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
if (devip) {
/* make this slot available for re-use */
@@ -3901,8 +3902,7 @@ static void __init sdebug_build_parts(unsigned char *ramp,
return;
if (scsi_debug_num_parts > SDEBUG_MAX_PARTS) {
scsi_debug_num_parts = SDEBUG_MAX_PARTS;
- pr_warn("%s: reducing partitions to %d\n", __func__,
- SDEBUG_MAX_PARTS);
+ pr_warn("reducing partitions to %d\n", SDEBUG_MAX_PARTS);
}
num_sectors = (int)sdebug_store_sectors;
sectors_per_part = (num_sectors - sdebug_sectors_per)
@@ -3949,8 +3949,7 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
struct scsi_device *sdp = cmnd->device;
if (NULL == cmnd || NULL == devip) {
- pr_warn("%s: called with NULL cmnd or devip pointer\n",
- __func__);
+ pr_warn("called with NULL cmnd or devip pointer\n");
/* no particularly good error to report back */
return SCSI_MLQUEUE_HOST_BUSY;
}
@@ -4387,8 +4386,7 @@ static ssize_t fake_rw_store(struct device_driver *ddp, const char *buf,
fake_storep = vmalloc(sz);
if (NULL == fake_storep) {
- pr_err("%s: out of memory, 9\n",
- __func__);
+ pr_err("out of memory, 9\n");
return -ENOMEM;
}
memset(fake_storep, 0, sz);
@@ -4788,8 +4786,7 @@ static int __init scsi_debug_init(void)
atomic_set(&retired_max_queue, 0);
if (scsi_debug_ndelay >= 1000000000) {
- pr_warn("%s: ndelay must be less than 1 second, ignored\n",
- __func__);
+ pr_warn("ndelay must be less than 1 second, ignored\n");
scsi_debug_ndelay = 0;
} else if (scsi_debug_ndelay > 0)
scsi_debug_delay = DELAY_OVERRIDDEN;
@@ -4801,8 +4798,7 @@ static int __init scsi_debug_init(void)
case 4096:
break;
default:
- pr_err("%s: invalid sector_size %d\n", __func__,
- scsi_debug_sector_size);
+ pr_err("invalid sector_size %d\n", scsi_debug_sector_size);
return -EINVAL;
}
@@ -4815,29 +4811,28 @@ static int __init scsi_debug_init(void)
break;
default:
- pr_err("%s: dif must be 0, 1, 2 or 3\n", __func__);
+ pr_err("dif must be 0, 1, 2 or 3\n");
return -EINVAL;
}
if (scsi_debug_guard > 1) {
- pr_err("%s: guard must be 0 or 1\n", __func__);
+ pr_err("guard must be 0 or 1\n");
return -EINVAL;
}
if (scsi_debug_ato > 1) {
- pr_err("%s: ato must be 0 or 1\n", __func__);
+ pr_err("ato must be 0 or 1\n");
return -EINVAL;
}
if (scsi_debug_physblk_exp > 15) {
- pr_err("%s: invalid physblk_exp %u\n", __func__,
- scsi_debug_physblk_exp);
+ pr_err("invalid physblk_exp %u\n", scsi_debug_physblk_exp);
return -EINVAL;
}
if (scsi_debug_lowest_aligned > 0x3fff) {
- pr_err("%s: lowest_aligned too big: %u\n", __func__,
- scsi_debug_lowest_aligned);
+ pr_err("lowest_aligned too big: %u\n",
+ scsi_debug_lowest_aligned);
return -EINVAL;
}
@@ -4867,7 +4862,7 @@ static int __init scsi_debug_init(void)
if (0 == scsi_debug_fake_rw) {
fake_storep = vmalloc(sz);
if (NULL == fake_storep) {
- pr_err("%s: out of memory, 1\n", __func__);
+ pr_err("out of memory, 1\n");
return -ENOMEM;
}
memset(fake_storep, 0, sz);
@@ -4881,11 +4876,10 @@ static int __init scsi_debug_init(void)
dif_size = sdebug_store_sectors * sizeof(struct sd_dif_tuple);
dif_storep = vmalloc(dif_size);
- pr_err("%s: dif_storep %u bytes @ %p\n", __func__, dif_size,
- dif_storep);
+ pr_err("dif_storep %u bytes @ %p\n", dif_size, dif_storep);
if (dif_storep == NULL) {
- pr_err("%s: out of mem. (DIX)\n", __func__);
+ pr_err("out of mem. (DIX)\n");
ret = -ENOMEM;
goto free_vm;
}
@@ -4907,18 +4901,17 @@ static int __init scsi_debug_init(void)
if (scsi_debug_unmap_alignment &&
scsi_debug_unmap_granularity <=
scsi_debug_unmap_alignment) {
- pr_err("%s: ERR: unmap_granularity <= unmap_alignment\n",
- __func__);
+ pr_err("ERR: unmap_granularity <= unmap_alignment\n");
return -EINVAL;
}
map_size = lba_to_map_index(sdebug_store_sectors - 1) + 1;
map_storep = vmalloc(BITS_TO_LONGS(map_size) * sizeof(long));
- pr_info("%s: %lu provisioning blocks\n", __func__, map_size);
+ pr_info("%lu provisioning blocks\n", map_size);
if (map_storep == NULL) {
- pr_err("%s: out of mem. (MAP)\n", __func__);
+ pr_err("out of mem. (MAP)\n");
ret = -ENOMEM;
goto free_vm;
}
@@ -4932,18 +4925,18 @@ static int __init scsi_debug_init(void)
pseudo_primary = root_device_register("pseudo_0");
if (IS_ERR(pseudo_primary)) {
- pr_warn("%s: root_device_register() error\n", __func__);
+ pr_warn("root_device_register() error\n");
ret = PTR_ERR(pseudo_primary);
goto free_vm;
}
ret = bus_register(&pseudo_lld_bus);
if (ret < 0) {
- pr_warn("%s: bus_register error: %d\n", __func__, ret);
+ pr_warn("bus_register error: %d\n", ret);
goto dev_unreg;
}
ret = driver_register(&sdebug_driverfs_driver);
if (ret < 0) {
- pr_warn("%s: driver_register error: %d\n", __func__, ret);
+ pr_warn("driver_register error: %d\n", ret);
goto bus_unreg;
}
@@ -4952,16 +4945,14 @@ static int __init scsi_debug_init(void)
for (k = 0; k < host_to_add; k++) {
if (sdebug_add_adapter()) {
- pr_err("%s: sdebug_add_adapter failed k=%d\n",
- __func__, k);
+ pr_err("sdebug_add_adapter failed k=%d\n", k);
break;
}
}
- if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) {
- pr_info("%s: built %d host(s)\n", __func__,
- scsi_debug_add_host);
- }
+ if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
+ pr_info("built %d host(s)\n", scsi_debug_add_host);
+
return 0;
bus_unreg:
@@ -5016,8 +5007,7 @@ static int sdebug_add_adapter(void)
sdbg_host = kzalloc(sizeof(*sdbg_host),GFP_KERNEL);
if (NULL == sdbg_host) {
- printk(KERN_ERR "%s: out of memory at line %d\n",
- __func__, __LINE__);
+ pr_err("out of memory at line %d\n", __LINE__);
return -ENOMEM;
}
@@ -5027,8 +5017,7 @@ static int sdebug_add_adapter(void)
for (k = 0; k < devs_per_host; k++) {
sdbg_devinfo = sdebug_device_create(sdbg_host, GFP_KERNEL);
if (!sdbg_devinfo) {
- printk(KERN_ERR "%s: out of memory at line %d\n",
- __func__, __LINE__);
+ pr_err("out of memory at line %d\n", __LINE__);
error = -ENOMEM;
goto clean;
}
@@ -5342,7 +5331,7 @@ static int sdebug_driver_probe(struct device * dev)
sdebug_driver_template.use_clustering = ENABLE_CLUSTERING;
hpnt = scsi_host_alloc(&sdebug_driver_template, sizeof(sdbg_host));
if (NULL == hpnt) {
- pr_err("%s: scsi_host_alloc failed\n", __func__);
+ pr_err("scsi_host_alloc failed\n");
error = -ENODEV;
return error;
}
@@ -5385,7 +5374,7 @@ static int sdebug_driver_probe(struct device * dev)
scsi_host_set_prot(hpnt, host_prot);
- printk(KERN_INFO "scsi_debug: host protection%s%s%s%s%s%s%s\n",
+ pr_info("host protection%s%s%s%s%s%s%s\n",
(host_prot & SHOST_DIF_TYPE1_PROTECTION) ? " DIF1" : "",
(host_prot & SHOST_DIF_TYPE2_PROTECTION) ? " DIF2" : "",
(host_prot & SHOST_DIF_TYPE3_PROTECTION) ? " DIF3" : "",
@@ -5413,7 +5402,7 @@ static int sdebug_driver_probe(struct device * dev)
error = scsi_add_host(hpnt, &sdbg_host->dev);
if (error) {
- printk(KERN_ERR "%s: scsi_add_host failed\n", __func__);
+ pr_err("scsi_add_host failed\n");
error = -ENODEV;
scsi_host_put(hpnt);
} else
@@ -5430,8 +5419,7 @@ static int sdebug_driver_remove(struct device * dev)
sdbg_host = to_sdebug_host(dev);
if (!sdbg_host) {
- printk(KERN_ERR "%s: Unable to locate host info\n",
- __func__);
+ pr_err("Unable to locate host info\n");
return -ENODEV;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS;
2015-02-18 22:31 [PATCH 0/4] scsi_debug cleanup Tomas Winkler
2015-02-18 22:31 ` [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging Tomas Winkler
@ 2015-02-18 22:31 ` Tomas Winkler
2015-02-23 18:20 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 3/4] scsi_debug: vfree is null safe so drop the check Tomas Winkler
2015-02-18 22:31 ` [PATCH 4/4] scsi_debug: make dump_sector static Tomas Winkler
3 siblings, 1 reply; 9+ messages in thread
From: Tomas Winkler @ 2015-02-18 22:31 UTC (permalink / raw)
To: James E.J. Bottomley"; +Cc: linux-scsi, Tomas Winkler
use SCSI_W_LUN_REPORT_LUNS from scsi.h instead of localy defined
SAM2_WLUN_REPORT_LUNS
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
drivers/scsi/scsi_debug.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 14e73f27c27f..11774cd1741a 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -204,7 +204,6 @@ static const char *scsi_debug_version_date = "20141022";
/* If REPORT LUNS has luns >= 256 it can choose "flat space" (value 1)
* or "peripheral device" addressing (value 0) */
#define SAM2_LUN_ADDRESS_METHOD 0
-#define SAM2_WLUN_REPORT_LUNS 0xc101
/* SCSI_DEBUG_CANQUEUE is the maximum number of commands that can be queued
* (for response) at one time. Can be reduced by max_queue option. Command
@@ -701,7 +700,7 @@ static void sdebug_max_tgts_luns(void)
else
hpnt->max_id = scsi_debug_num_tgts;
/* scsi_debug_max_luns; */
- hpnt->max_lun = SAM2_WLUN_REPORT_LUNS;
+ hpnt->max_lun = SCSI_W_LUN_REPORT_LUNS;
}
spin_unlock(&sdebug_host_list_lock);
}
@@ -1291,7 +1290,7 @@ static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
arr = kzalloc(SDEBUG_MAX_INQ_ARR_SZ, GFP_ATOMIC);
if (! arr)
return DID_REQUEUE << 16;
- have_wlun = (scp->device->lun == SAM2_WLUN_REPORT_LUNS);
+ have_wlun = (scp->device->lun == SCSI_W_LUN_REPORT_LUNS);
if (have_wlun)
pq_pdt = 0x1e; /* present, wlun */
else if (scsi_debug_no_lun_0 && (0 == devip->lun))
@@ -3371,8 +3370,8 @@ static int resp_report_luns(struct scsi_cmnd * scp,
one_lun[i].scsi_lun[1] = lun & 0xff;
}
if (want_wlun) {
- one_lun[i].scsi_lun[0] = (SAM2_WLUN_REPORT_LUNS >> 8) & 0xff;
- one_lun[i].scsi_lun[1] = SAM2_WLUN_REPORT_LUNS & 0xff;
+ one_lun[i].scsi_lun[0] = (SCSI_W_LUN_REPORT_LUNS >> 8) & 0xff;
+ one_lun[i].scsi_lun[1] = SCSI_W_LUN_REPORT_LUNS & 0xff;
i++;
}
alloc_len = (unsigned char *)(one_lun + i) - arr;
@@ -5171,7 +5170,7 @@ scsi_debug_queuecommand(struct scsi_cmnd *scp)
}
sdev_printk(KERN_INFO, sdp, "%s: cmd %s\n", my_name, b);
}
- has_wlun_rl = (sdp->lun == SAM2_WLUN_REPORT_LUNS);
+ has_wlun_rl = (sdp->lun == SCSI_W_LUN_REPORT_LUNS);
if ((sdp->lun >= scsi_debug_max_luns) && !has_wlun_rl)
return schedule_resp(scp, NULL, errsts_no_connect, 0);
@@ -5342,7 +5341,7 @@ static int sdebug_driver_probe(struct device * dev)
hpnt->max_id = scsi_debug_num_tgts + 1;
else
hpnt->max_id = scsi_debug_num_tgts;
- hpnt->max_lun = SAM2_WLUN_REPORT_LUNS; /* = scsi_debug_max_luns; */
+ hpnt->max_lun = SCSI_W_LUN_REPORT_LUNS; /* = scsi_debug_max_luns; */
host_prot = 0;
--
1.9.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] scsi_debug: vfree is null safe so drop the check
2015-02-18 22:31 [PATCH 0/4] scsi_debug cleanup Tomas Winkler
2015-02-18 22:31 ` [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging Tomas Winkler
2015-02-18 22:31 ` [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; Tomas Winkler
@ 2015-02-18 22:31 ` Tomas Winkler
2015-02-23 18:23 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 4/4] scsi_debug: make dump_sector static Tomas Winkler
3 siblings, 1 reply; 9+ messages in thread
From: Tomas Winkler @ 2015-02-18 22:31 UTC (permalink / raw)
To: James E.J. Bottomley"; +Cc: linux-scsi, Tomas Winkler
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
drivers/scsi/scsi_debug.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 11774cd1741a..80410f9588ba 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -4959,10 +4959,8 @@ bus_unreg:
dev_unreg:
root_device_unregister(pseudo_primary);
free_vm:
- if (map_storep)
- vfree(map_storep);
- if (dif_storep)
- vfree(dif_storep);
+ vfree(map_storep);
+ vfree(dif_storep);
vfree(fake_storep);
return ret;
@@ -4980,9 +4978,7 @@ static void __exit scsi_debug_exit(void)
bus_unregister(&pseudo_lld_bus);
root_device_unregister(pseudo_primary);
- if (dif_storep)
- vfree(dif_storep);
-
+ vfree(dif_storep);
vfree(fake_storep);
}
--
1.9.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/4] scsi_debug: make dump_sector static
2015-02-18 22:31 [PATCH 0/4] scsi_debug cleanup Tomas Winkler
` (2 preceding siblings ...)
2015-02-18 22:31 ` [PATCH 3/4] scsi_debug: vfree is null safe so drop the check Tomas Winkler
@ 2015-02-18 22:31 ` Tomas Winkler
2015-02-23 18:23 ` Douglas Gilbert
3 siblings, 1 reply; 9+ messages in thread
From: Tomas Winkler @ 2015-02-18 22:31 UTC (permalink / raw)
To: James E.J. Bottomley"; +Cc: linux-scsi, Tomas Winkler
fixes warning:
warning: no previous prototype for ‘dump_sector’
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
drivers/scsi/scsi_debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 80410f9588ba..ccbe1282e975 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -2685,7 +2685,7 @@ resp_read_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
return 0;
}
-void dump_sector(unsigned char *buf, int len)
+static void dump_sector(unsigned char *buf, int len)
{
int i, j, n;
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging
2015-02-18 22:31 ` [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging Tomas Winkler
@ 2015-02-23 18:19 ` Douglas Gilbert
0 siblings, 0 replies; 9+ messages in thread
From: Douglas Gilbert @ 2015-02-23 18:19 UTC (permalink / raw)
To: Tomas Winkler, James E.J. Bottomley"; +Cc: linux-scsi
On 15-02-18 05:31 PM, Tomas Winkler wrote:
> Use pr_fmt with both module name and __func__
> Also drop few bare printk leftovers
>
> The log format should stay pretty much intact
>
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
> ---
> drivers/scsi/scsi_debug.c | 118 +++++++++++++++++++++-------------------------
> 1 file changed, 53 insertions(+), 65 deletions(-)
>
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 8bcf6ad0d765..14e73f27c27f 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -25,6 +25,9 @@
> * module options to "modprobe scsi_debug num_tgts=2" [20021221]
> */
>
> +
> +#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__
> +
> #include <linux/module.h>
>
> #include <linux/kernel.h>
> @@ -2450,8 +2453,7 @@ static int dif_verify(struct sd_dif_tuple *sdt, const void *data,
> __be16 csum = dif_compute_csum(data, scsi_debug_sector_size);
>
> if (sdt->guard_tag != csum) {
> - pr_err("%s: GUARD check failed on sector %lu rcvd 0x%04x, data 0x%04x\n",
> - __func__,
> + pr_err("GUARD check failed on sector %lu rcvd 0x%04x, data 0x%04x\n",
> (unsigned long)sector,
> be16_to_cpu(sdt->guard_tag),
> be16_to_cpu(csum));
> @@ -2459,14 +2461,14 @@ static int dif_verify(struct sd_dif_tuple *sdt, const void *data,
> }
> if (scsi_debug_dif == SD_DIF_TYPE1_PROTECTION &&
> be32_to_cpu(sdt->ref_tag) != (sector & 0xffffffff)) {
> - pr_err("%s: REF check failed on sector %lu\n",
> - __func__, (unsigned long)sector);
> + pr_err("REF check failed on sector %lu\n",
> + (unsigned long)sector);
> return 0x03;
> }
> if (scsi_debug_dif == SD_DIF_TYPE2_PROTECTION &&
> be32_to_cpu(sdt->ref_tag) != ei_lba) {
> - pr_err("%s: REF check failed on sector %lu\n",
> - __func__, (unsigned long)sector);
> + pr_err("REF check failed on sector %lu\n",
> + (unsigned long)sector);
> return 0x03;
> }
> return 0;
> @@ -3453,7 +3455,7 @@ static void sdebug_q_cmd_complete(unsigned long indx)
> atomic_inc(&sdebug_completions);
> qa_indx = indx;
> if ((qa_indx < 0) || (qa_indx >= SCSI_DEBUG_CANQUEUE)) {
> - pr_err("%s: wild qa_indx=%d\n", __func__, qa_indx);
> + pr_err("wild qa_indx=%d\n", qa_indx);
> return;
> }
> spin_lock_irqsave(&queued_arr_lock, iflags);
> @@ -3461,21 +3463,21 @@ static void sdebug_q_cmd_complete(unsigned long indx)
> scp = sqcp->a_cmnd;
> if (NULL == scp) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: scp is NULL\n", __func__);
> + pr_err("scp is NULL\n");
> return;
> }
> devip = (struct sdebug_dev_info *)scp->device->hostdata;
> if (devip)
> atomic_dec(&devip->num_in_q);
> else
> - pr_err("%s: devip=NULL\n", __func__);
> + pr_err("devip=NULL\n");
> if (atomic_read(&retired_max_queue) > 0)
> retiring = 1;
>
> sqcp->a_cmnd = NULL;
> if (!test_and_clear_bit(qa_indx, queued_in_use_bm)) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: Unexpected completion\n", __func__);
> + pr_err("Unexpected completion\n");
> return;
> }
>
> @@ -3485,7 +3487,7 @@ static void sdebug_q_cmd_complete(unsigned long indx)
> retval = atomic_read(&retired_max_queue);
> if (qa_indx >= retval) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: index %d too large\n", __func__, retval);
> + pr_err("index %d too large\n", retval);
> return;
> }
> k = find_last_bit(queued_in_use_bm, retval);
> @@ -3513,7 +3515,7 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
> atomic_inc(&sdebug_completions);
> qa_indx = sd_hrtp->qa_indx;
> if ((qa_indx < 0) || (qa_indx >= SCSI_DEBUG_CANQUEUE)) {
> - pr_err("%s: wild qa_indx=%d\n", __func__, qa_indx);
> + pr_err("wild qa_indx=%d\n", qa_indx);
> goto the_end;
> }
> spin_lock_irqsave(&queued_arr_lock, iflags);
> @@ -3521,21 +3523,21 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
> scp = sqcp->a_cmnd;
> if (NULL == scp) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: scp is NULL\n", __func__);
> + pr_err("scp is NULL\n");
> goto the_end;
> }
> devip = (struct sdebug_dev_info *)scp->device->hostdata;
> if (devip)
> atomic_dec(&devip->num_in_q);
> else
> - pr_err("%s: devip=NULL\n", __func__);
> + pr_err("devip=NULL\n");
> if (atomic_read(&retired_max_queue) > 0)
> retiring = 1;
>
> sqcp->a_cmnd = NULL;
> if (!test_and_clear_bit(qa_indx, queued_in_use_bm)) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: Unexpected completion\n", __func__);
> + pr_err("Unexpected completion\n");
> goto the_end;
> }
>
> @@ -3545,7 +3547,7 @@ sdebug_q_cmd_hrt_complete(struct hrtimer *timer)
> retval = atomic_read(&retired_max_queue);
> if (qa_indx >= retval) {
> spin_unlock_irqrestore(&queued_arr_lock, iflags);
> - pr_err("%s: index %d too large\n", __func__, retval);
> + pr_err("index %d too large\n", retval);
> goto the_end;
> }
> k = find_last_bit(queued_in_use_bm, retval);
> @@ -3584,7 +3586,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
> return devip;
> sdbg_host = *(struct sdebug_host_info **)shost_priv(sdev->host);
> if (!sdbg_host) {
> - pr_err("%s: Host info NULL\n", __func__);
> + pr_err("Host info NULL\n");
> return NULL;
> }
> list_for_each_entry(devip, &sdbg_host->dev_info_list, dev_list) {
> @@ -3600,8 +3602,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
> if (!open_devip) { /* try and make a new one */
> open_devip = sdebug_device_create(sdbg_host, GFP_ATOMIC);
> if (!open_devip) {
> - printk(KERN_ERR "%s: out of memory at line %d\n",
> - __func__, __LINE__);
> + pr_err("out of memory at line %d\n", __LINE__);
> return NULL;
> }
> }
> @@ -3619,7 +3620,7 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
> static int scsi_debug_slave_alloc(struct scsi_device *sdp)
> {
> if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
> - printk(KERN_INFO "scsi_debug: slave_alloc <%u %u %u %llu>\n",
> + pr_info("slave_alloc <%u %u %u %llu>\n",
> sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
> queue_flag_set_unlocked(QUEUE_FLAG_BIDI, sdp->request_queue);
> return 0;
> @@ -3630,7 +3631,7 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp)
> struct sdebug_dev_info *devip;
>
> if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
> - printk(KERN_INFO "scsi_debug: slave_configure <%u %u %u %llu>\n",
> + pr_info("slave_configure <%u %u %u %llu>\n",
> sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
> if (sdp->host->max_cmd_len != SCSI_DEBUG_MAX_CMD_LEN)
> sdp->host->max_cmd_len = SCSI_DEBUG_MAX_CMD_LEN;
> @@ -3650,7 +3651,7 @@ static void scsi_debug_slave_destroy(struct scsi_device *sdp)
> (struct sdebug_dev_info *)sdp->hostdata;
>
> if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
> - printk(KERN_INFO "scsi_debug: slave_destroy <%u %u %u %llu>\n",
> + pr_info("slave_destroy <%u %u %u %llu>\n",
> sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
> if (devip) {
> /* make this slot available for re-use */
> @@ -3901,8 +3902,7 @@ static void __init sdebug_build_parts(unsigned char *ramp,
> return;
> if (scsi_debug_num_parts > SDEBUG_MAX_PARTS) {
> scsi_debug_num_parts = SDEBUG_MAX_PARTS;
> - pr_warn("%s: reducing partitions to %d\n", __func__,
> - SDEBUG_MAX_PARTS);
> + pr_warn("reducing partitions to %d\n", SDEBUG_MAX_PARTS);
> }
> num_sectors = (int)sdebug_store_sectors;
> sectors_per_part = (num_sectors - sdebug_sectors_per)
> @@ -3949,8 +3949,7 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
> struct scsi_device *sdp = cmnd->device;
>
> if (NULL == cmnd || NULL == devip) {
> - pr_warn("%s: called with NULL cmnd or devip pointer\n",
> - __func__);
> + pr_warn("called with NULL cmnd or devip pointer\n");
> /* no particularly good error to report back */
> return SCSI_MLQUEUE_HOST_BUSY;
> }
> @@ -4387,8 +4386,7 @@ static ssize_t fake_rw_store(struct device_driver *ddp, const char *buf,
>
> fake_storep = vmalloc(sz);
> if (NULL == fake_storep) {
> - pr_err("%s: out of memory, 9\n",
> - __func__);
> + pr_err("out of memory, 9\n");
> return -ENOMEM;
> }
> memset(fake_storep, 0, sz);
> @@ -4788,8 +4786,7 @@ static int __init scsi_debug_init(void)
> atomic_set(&retired_max_queue, 0);
>
> if (scsi_debug_ndelay >= 1000000000) {
> - pr_warn("%s: ndelay must be less than 1 second, ignored\n",
> - __func__);
> + pr_warn("ndelay must be less than 1 second, ignored\n");
> scsi_debug_ndelay = 0;
> } else if (scsi_debug_ndelay > 0)
> scsi_debug_delay = DELAY_OVERRIDDEN;
> @@ -4801,8 +4798,7 @@ static int __init scsi_debug_init(void)
> case 4096:
> break;
> default:
> - pr_err("%s: invalid sector_size %d\n", __func__,
> - scsi_debug_sector_size);
> + pr_err("invalid sector_size %d\n", scsi_debug_sector_size);
> return -EINVAL;
> }
>
> @@ -4815,29 +4811,28 @@ static int __init scsi_debug_init(void)
> break;
>
> default:
> - pr_err("%s: dif must be 0, 1, 2 or 3\n", __func__);
> + pr_err("dif must be 0, 1, 2 or 3\n");
> return -EINVAL;
> }
>
> if (scsi_debug_guard > 1) {
> - pr_err("%s: guard must be 0 or 1\n", __func__);
> + pr_err("guard must be 0 or 1\n");
> return -EINVAL;
> }
>
> if (scsi_debug_ato > 1) {
> - pr_err("%s: ato must be 0 or 1\n", __func__);
> + pr_err("ato must be 0 or 1\n");
> return -EINVAL;
> }
>
> if (scsi_debug_physblk_exp > 15) {
> - pr_err("%s: invalid physblk_exp %u\n", __func__,
> - scsi_debug_physblk_exp);
> + pr_err("invalid physblk_exp %u\n", scsi_debug_physblk_exp);
> return -EINVAL;
> }
>
> if (scsi_debug_lowest_aligned > 0x3fff) {
> - pr_err("%s: lowest_aligned too big: %u\n", __func__,
> - scsi_debug_lowest_aligned);
> + pr_err("lowest_aligned too big: %u\n",
> + scsi_debug_lowest_aligned);
> return -EINVAL;
> }
>
> @@ -4867,7 +4862,7 @@ static int __init scsi_debug_init(void)
> if (0 == scsi_debug_fake_rw) {
> fake_storep = vmalloc(sz);
> if (NULL == fake_storep) {
> - pr_err("%s: out of memory, 1\n", __func__);
> + pr_err("out of memory, 1\n");
> return -ENOMEM;
> }
> memset(fake_storep, 0, sz);
> @@ -4881,11 +4876,10 @@ static int __init scsi_debug_init(void)
> dif_size = sdebug_store_sectors * sizeof(struct sd_dif_tuple);
> dif_storep = vmalloc(dif_size);
>
> - pr_err("%s: dif_storep %u bytes @ %p\n", __func__, dif_size,
> - dif_storep);
> + pr_err("dif_storep %u bytes @ %p\n", dif_size, dif_storep);
>
> if (dif_storep == NULL) {
> - pr_err("%s: out of mem. (DIX)\n", __func__);
> + pr_err("out of mem. (DIX)\n");
> ret = -ENOMEM;
> goto free_vm;
> }
> @@ -4907,18 +4901,17 @@ static int __init scsi_debug_init(void)
> if (scsi_debug_unmap_alignment &&
> scsi_debug_unmap_granularity <=
> scsi_debug_unmap_alignment) {
> - pr_err("%s: ERR: unmap_granularity <= unmap_alignment\n",
> - __func__);
> + pr_err("ERR: unmap_granularity <= unmap_alignment\n");
> return -EINVAL;
> }
>
> map_size = lba_to_map_index(sdebug_store_sectors - 1) + 1;
> map_storep = vmalloc(BITS_TO_LONGS(map_size) * sizeof(long));
>
> - pr_info("%s: %lu provisioning blocks\n", __func__, map_size);
> + pr_info("%lu provisioning blocks\n", map_size);
>
> if (map_storep == NULL) {
> - pr_err("%s: out of mem. (MAP)\n", __func__);
> + pr_err("out of mem. (MAP)\n");
> ret = -ENOMEM;
> goto free_vm;
> }
> @@ -4932,18 +4925,18 @@ static int __init scsi_debug_init(void)
>
> pseudo_primary = root_device_register("pseudo_0");
> if (IS_ERR(pseudo_primary)) {
> - pr_warn("%s: root_device_register() error\n", __func__);
> + pr_warn("root_device_register() error\n");
> ret = PTR_ERR(pseudo_primary);
> goto free_vm;
> }
> ret = bus_register(&pseudo_lld_bus);
> if (ret < 0) {
> - pr_warn("%s: bus_register error: %d\n", __func__, ret);
> + pr_warn("bus_register error: %d\n", ret);
> goto dev_unreg;
> }
> ret = driver_register(&sdebug_driverfs_driver);
> if (ret < 0) {
> - pr_warn("%s: driver_register error: %d\n", __func__, ret);
> + pr_warn("driver_register error: %d\n", ret);
> goto bus_unreg;
> }
>
> @@ -4952,16 +4945,14 @@ static int __init scsi_debug_init(void)
>
> for (k = 0; k < host_to_add; k++) {
> if (sdebug_add_adapter()) {
> - pr_err("%s: sdebug_add_adapter failed k=%d\n",
> - __func__, k);
> + pr_err("sdebug_add_adapter failed k=%d\n", k);
> break;
> }
> }
>
> - if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) {
> - pr_info("%s: built %d host(s)\n", __func__,
> - scsi_debug_add_host);
> - }
> + if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
> + pr_info("built %d host(s)\n", scsi_debug_add_host);
> +
> return 0;
>
> bus_unreg:
> @@ -5016,8 +5007,7 @@ static int sdebug_add_adapter(void)
>
> sdbg_host = kzalloc(sizeof(*sdbg_host),GFP_KERNEL);
> if (NULL == sdbg_host) {
> - printk(KERN_ERR "%s: out of memory at line %d\n",
> - __func__, __LINE__);
> + pr_err("out of memory at line %d\n", __LINE__);
> return -ENOMEM;
> }
>
> @@ -5027,8 +5017,7 @@ static int sdebug_add_adapter(void)
> for (k = 0; k < devs_per_host; k++) {
> sdbg_devinfo = sdebug_device_create(sdbg_host, GFP_KERNEL);
> if (!sdbg_devinfo) {
> - printk(KERN_ERR "%s: out of memory at line %d\n",
> - __func__, __LINE__);
> + pr_err("out of memory at line %d\n", __LINE__);
> error = -ENOMEM;
> goto clean;
> }
> @@ -5342,7 +5331,7 @@ static int sdebug_driver_probe(struct device * dev)
> sdebug_driver_template.use_clustering = ENABLE_CLUSTERING;
> hpnt = scsi_host_alloc(&sdebug_driver_template, sizeof(sdbg_host));
> if (NULL == hpnt) {
> - pr_err("%s: scsi_host_alloc failed\n", __func__);
> + pr_err("scsi_host_alloc failed\n");
> error = -ENODEV;
> return error;
> }
> @@ -5385,7 +5374,7 @@ static int sdebug_driver_probe(struct device * dev)
>
> scsi_host_set_prot(hpnt, host_prot);
>
> - printk(KERN_INFO "scsi_debug: host protection%s%s%s%s%s%s%s\n",
> + pr_info("host protection%s%s%s%s%s%s%s\n",
> (host_prot & SHOST_DIF_TYPE1_PROTECTION) ? " DIF1" : "",
> (host_prot & SHOST_DIF_TYPE2_PROTECTION) ? " DIF2" : "",
> (host_prot & SHOST_DIF_TYPE3_PROTECTION) ? " DIF3" : "",
> @@ -5413,7 +5402,7 @@ static int sdebug_driver_probe(struct device * dev)
>
> error = scsi_add_host(hpnt, &sdbg_host->dev);
> if (error) {
> - printk(KERN_ERR "%s: scsi_add_host failed\n", __func__);
> + pr_err("scsi_add_host failed\n");
> error = -ENODEV;
> scsi_host_put(hpnt);
> } else
> @@ -5430,8 +5419,7 @@ static int sdebug_driver_remove(struct device * dev)
> sdbg_host = to_sdebug_host(dev);
>
> if (!sdbg_host) {
> - printk(KERN_ERR "%s: Unable to locate host info\n",
> - __func__);
> + pr_err("Unable to locate host info\n");
> return -ENODEV;
> }
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS;
2015-02-18 22:31 ` [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; Tomas Winkler
@ 2015-02-23 18:20 ` Douglas Gilbert
0 siblings, 0 replies; 9+ messages in thread
From: Douglas Gilbert @ 2015-02-23 18:20 UTC (permalink / raw)
To: Tomas Winkler, James E.J. Bottomley"; +Cc: linux-scsi
On 15-02-18 05:31 PM, Tomas Winkler wrote:
> use SCSI_W_LUN_REPORT_LUNS from scsi.h instead of localy defined
> SAM2_WLUN_REPORT_LUNS
>
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
> ---
> drivers/scsi/scsi_debug.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 14e73f27c27f..11774cd1741a 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -204,7 +204,6 @@ static const char *scsi_debug_version_date = "20141022";
> /* If REPORT LUNS has luns >= 256 it can choose "flat space" (value 1)
> * or "peripheral device" addressing (value 0) */
> #define SAM2_LUN_ADDRESS_METHOD 0
> -#define SAM2_WLUN_REPORT_LUNS 0xc101
>
> /* SCSI_DEBUG_CANQUEUE is the maximum number of commands that can be queued
> * (for response) at one time. Can be reduced by max_queue option. Command
> @@ -701,7 +700,7 @@ static void sdebug_max_tgts_luns(void)
> else
> hpnt->max_id = scsi_debug_num_tgts;
> /* scsi_debug_max_luns; */
> - hpnt->max_lun = SAM2_WLUN_REPORT_LUNS;
> + hpnt->max_lun = SCSI_W_LUN_REPORT_LUNS;
> }
> spin_unlock(&sdebug_host_list_lock);
> }
> @@ -1291,7 +1290,7 @@ static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
> arr = kzalloc(SDEBUG_MAX_INQ_ARR_SZ, GFP_ATOMIC);
> if (! arr)
> return DID_REQUEUE << 16;
> - have_wlun = (scp->device->lun == SAM2_WLUN_REPORT_LUNS);
> + have_wlun = (scp->device->lun == SCSI_W_LUN_REPORT_LUNS);
> if (have_wlun)
> pq_pdt = 0x1e; /* present, wlun */
> else if (scsi_debug_no_lun_0 && (0 == devip->lun))
> @@ -3371,8 +3370,8 @@ static int resp_report_luns(struct scsi_cmnd * scp,
> one_lun[i].scsi_lun[1] = lun & 0xff;
> }
> if (want_wlun) {
> - one_lun[i].scsi_lun[0] = (SAM2_WLUN_REPORT_LUNS >> 8) & 0xff;
> - one_lun[i].scsi_lun[1] = SAM2_WLUN_REPORT_LUNS & 0xff;
> + one_lun[i].scsi_lun[0] = (SCSI_W_LUN_REPORT_LUNS >> 8) & 0xff;
> + one_lun[i].scsi_lun[1] = SCSI_W_LUN_REPORT_LUNS & 0xff;
> i++;
> }
> alloc_len = (unsigned char *)(one_lun + i) - arr;
> @@ -5171,7 +5170,7 @@ scsi_debug_queuecommand(struct scsi_cmnd *scp)
> }
> sdev_printk(KERN_INFO, sdp, "%s: cmd %s\n", my_name, b);
> }
> - has_wlun_rl = (sdp->lun == SAM2_WLUN_REPORT_LUNS);
> + has_wlun_rl = (sdp->lun == SCSI_W_LUN_REPORT_LUNS);
> if ((sdp->lun >= scsi_debug_max_luns) && !has_wlun_rl)
> return schedule_resp(scp, NULL, errsts_no_connect, 0);
>
> @@ -5342,7 +5341,7 @@ static int sdebug_driver_probe(struct device * dev)
> hpnt->max_id = scsi_debug_num_tgts + 1;
> else
> hpnt->max_id = scsi_debug_num_tgts;
> - hpnt->max_lun = SAM2_WLUN_REPORT_LUNS; /* = scsi_debug_max_luns; */
> + hpnt->max_lun = SCSI_W_LUN_REPORT_LUNS; /* = scsi_debug_max_luns; */
>
> host_prot = 0;
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/4] scsi_debug: vfree is null safe so drop the check
2015-02-18 22:31 ` [PATCH 3/4] scsi_debug: vfree is null safe so drop the check Tomas Winkler
@ 2015-02-23 18:23 ` Douglas Gilbert
0 siblings, 0 replies; 9+ messages in thread
From: Douglas Gilbert @ 2015-02-23 18:23 UTC (permalink / raw)
To: Tomas Winkler, James E.J. Bottomley"; +Cc: linux-scsi
On 15-02-18 05:31 PM, Tomas Winkler wrote:
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
James and Christoph,
Please ignore this patch. I have just acked a more comprehensive
patch on this code from SF Markus Elfring.
Doug Gilbert
> ---
> drivers/scsi/scsi_debug.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 11774cd1741a..80410f9588ba 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -4959,10 +4959,8 @@ bus_unreg:
> dev_unreg:
> root_device_unregister(pseudo_primary);
> free_vm:
> - if (map_storep)
> - vfree(map_storep);
> - if (dif_storep)
> - vfree(dif_storep);
> + vfree(map_storep);
> + vfree(dif_storep);
> vfree(fake_storep);
>
> return ret;
> @@ -4980,9 +4978,7 @@ static void __exit scsi_debug_exit(void)
> bus_unregister(&pseudo_lld_bus);
> root_device_unregister(pseudo_primary);
>
> - if (dif_storep)
> - vfree(dif_storep);
> -
> + vfree(dif_storep);
> vfree(fake_storep);
> }
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 4/4] scsi_debug: make dump_sector static
2015-02-18 22:31 ` [PATCH 4/4] scsi_debug: make dump_sector static Tomas Winkler
@ 2015-02-23 18:23 ` Douglas Gilbert
0 siblings, 0 replies; 9+ messages in thread
From: Douglas Gilbert @ 2015-02-23 18:23 UTC (permalink / raw)
To: Tomas Winkler, James E.J. Bottomley"; +Cc: linux-scsi
On 15-02-18 05:31 PM, Tomas Winkler wrote:
> fixes warning:
> warning: no previous prototype for ‘dump_sector’
>
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
> ---
> drivers/scsi/scsi_debug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 80410f9588ba..ccbe1282e975 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -2685,7 +2685,7 @@ resp_read_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
> return 0;
> }
>
> -void dump_sector(unsigned char *buf, int len)
> +static void dump_sector(unsigned char *buf, int len)
> {
> int i, j, n;
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-02-23 18:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-18 22:31 [PATCH 0/4] scsi_debug cleanup Tomas Winkler
2015-02-18 22:31 ` [PATCH 1/4] scsi_debug: define pr_fmt() for consistent logging Tomas Winkler
2015-02-23 18:19 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 2/4] scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; Tomas Winkler
2015-02-23 18:20 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 3/4] scsi_debug: vfree is null safe so drop the check Tomas Winkler
2015-02-23 18:23 ` Douglas Gilbert
2015-02-18 22:31 ` [PATCH 4/4] scsi_debug: make dump_sector static Tomas Winkler
2015-02-23 18:23 ` Douglas Gilbert
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.