From: Bart Van Assche <bvanassche@acm.org>
To: "Ewan D. Milne" <emilne@redhat.com>
Cc: linux-scsi@vger.kernel.org, jbottomley@parallels.com,
rwheeler@redhat.com
Subject: Re: [PATCH v3 3/6] [SCSI] Add support for scsi_target events
Date: Wed, 19 Jun 2013 19:54:57 +0200 [thread overview]
Message-ID: <51C1F071.8070105@acm.org> (raw)
In-Reply-To: <1371663761-22481-4-git-send-email-emilne@redhat.com>
On 06/19/13 19:42, Ewan D. Milne wrote:
> +static void starget_evt_emit(struct scsi_target *starget,
> + struct starget_event *evt)
> +{
> + int idx = 0;
> + char *envp[3];
> +
> + switch (evt->evt_type) {
> + case STARGET_EVT_LUN_CHANGE_REPORTED:
> + envp[idx++] = "STARGET_LUN_CHANGE_REPORTED=1";
> + break;
> + default:
> + /* do nothing */
> + break;
> + }
> +
> + envp[idx++] = NULL;
> +
> + kobject_uevent_env(&starget->dev.kobj, KOBJ_CHANGE, envp);
> +}
Sorry but it's not clear to me why the envp[] array has size three while
at most two entries are used ? And shouldn't that array be declared as
const char*[] instead of char *[] since string constants have type const
char[] ?
> + list_for_each_safe(this, tmp, &event_list) {
> + evt = list_entry(this, struct starget_event, node);
Any reason why list_for_each_entry_safe() has not been used here ?
> +void starget_evt_send(struct scsi_target *starget, struct starget_event *evt)
> +{
> + unsigned long flags;
> +
> + spin_lock_irqsave(&starget->list_lock, flags);
> + list_add_tail(&evt->node, &starget->event_list);
> + schedule_work(&starget->event_work);
> + spin_unlock_irqrestore(&starget->list_lock, flags);
> +}
Is it necessary here to invoke schedule_work() under protection of
list_lock, or would it be safe to invoke schedule_work() after the
spin_unlock_irqrestore() ?
> +#ifdef CONFIG_SCSI_ENHANCED_UA
> + struct list_head *this, *tmp;
> +
> + cancel_work_sync(&starget->event_work);
> +
> + list_for_each_safe(this, tmp, &starget->event_list) {
> + struct starget_event *evt;
>
> + evt = list_entry(this, struct starget_event, node);
> + list_del(&evt->node);
> + kfree(evt);
> + }
> +#endif
Same question here: any reason why list_for_each_entry_safe() has not
been used ?
Thanks,
Bart.
next prev parent reply other threads:[~2013-06-19 17:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-19 17:42 [PATCH v3 0/6] [SCSI] Enhanced sense and Unit Attention handling Ewan D. Milne
2013-06-19 17:42 ` [PATCH v3 1/6] [SCSI] Add a kernel config option for enhanced Unit Attention support Ewan D. Milne
2013-06-19 18:35 ` James Bottomley
2013-06-19 18:52 ` Ewan Milne
2013-06-19 17:42 ` [PATCH v3 2/6] [SCSI] Rename scsi_evt_xxx to sdev_evt_xxx and scsi_event to sdev_event Ewan D. Milne
2013-06-19 18:36 ` James Bottomley
2013-06-24 13:49 ` Ewan Milne
2013-06-19 17:42 ` [PATCH v3 3/6] [SCSI] Add support for scsi_target events Ewan D. Milne
2013-06-19 17:54 ` Bart Van Assche [this message]
2013-06-19 18:49 ` Ewan Milne
2013-06-19 17:42 ` [PATCH v3 4/6] [SCSI] Generate uevents for certain Unit Attention codes Ewan D. Milne
2013-06-19 18:48 ` James Bottomley
2013-06-24 14:11 ` Ewan Milne
2013-06-24 14:58 ` James Bottomley
2013-06-27 15:37 ` Ewan Milne
2013-06-20 8:35 ` Hannes Reinecke
2013-06-19 17:42 ` [PATCH v3 5/6] [SCSI] Add sysfs support for enhanced Unit Attention handling Ewan D. Milne
2013-06-19 17:42 ` [PATCH v3 6/6] [SCSI] Add sense and Unit Attention generation to scsi_debug Ewan D. Milne
2013-07-22 15:31 ` [PATCH v3 0/6] [SCSI] Enhanced sense and Unit Attention handling James Bottomley
2013-07-22 21:13 ` Ewan Milne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51C1F071.8070105@acm.org \
--to=bvanassche@acm.org \
--cc=emilne@redhat.com \
--cc=jbottomley@parallels.com \
--cc=linux-scsi@vger.kernel.org \
--cc=rwheeler@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.