* [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
* 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
* [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
* 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
* [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
* 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
* [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 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.