lkml.org 
[lkml]   [2011]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] scsi: use list_move() instead of list_del()/list_add() combination
    From
    Date
    From: Kirill A. Shutemov <kirill@shutemov.name>

    Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: "James E.J. Bottomley" <James.Bottomley@suse.de>
    Cc: Robert Love <robert.w.love@intel.com>
    Cc: linux-scsi@vger.kernel.org
    Cc: devel@open-fcoe.org
    Acked-by: Robert Love <robert.w.love@intel.com>
    ---
    drivers/scsi/esp_scsi.c | 6 ++----
    drivers/scsi/fcoe/fcoe_ctlr.c | 6 ++----
    drivers/scsi/scsi_tgt_lib.c | 6 ++----
    3 files changed, 6 insertions(+), 12 deletions(-)

    diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c
    index 5755852..9a1af1d 100644
    --- a/drivers/scsi/esp_scsi.c
    +++ b/drivers/scsi/esp_scsi.c
    @@ -708,8 +708,7 @@ static void esp_maybe_execute_command(struct esp *esp)
    tp = &esp->target[tgt];
    lp = dev->hostdata;

    - list_del(&ent->list);
    - list_add(&ent->list, &esp->active_cmds);
    + list_move(&ent->list, &esp->active_cmds);

    esp->active_cmd = ent;

    @@ -1244,8 +1243,7 @@ static int esp_finish_select(struct esp *esp)
    /* Now that the state is unwound properly, put back onto
    * the issue queue. This command is no longer active.
    */
    - list_del(&ent->list);
    - list_add(&ent->list, &esp->queued_cmds);
    + list_move(&ent->list, &esp->queued_cmds);
    esp->active_cmd = NULL;

    /* Return value ignored by caller, it directly invokes
    diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c
    index c93f007..fb3a506 100644
    --- a/drivers/scsi/fcoe/fcoe_ctlr.c
    +++ b/drivers/scsi/fcoe/fcoe_ctlr.c
    @@ -978,10 +978,8 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
    * the FCF that answers multicast solicitations, not the others that
    * are sending periodic multicast advertisements.
    */
    - if (mtu_valid) {
    - list_del(&fcf->list);
    - list_add(&fcf->list, &fip->fcfs);
    - }
    + if (mtu_valid)
    + list_move(&fcf->list, &fip->fcfs);

    /*
    * If this is the first validated FCF, note the time and
    diff --git a/drivers/scsi/scsi_tgt_lib.c b/drivers/scsi/scsi_tgt_lib.c
    index c399be9..4c444b8 100644
    --- a/drivers/scsi/scsi_tgt_lib.c
    +++ b/drivers/scsi/scsi_tgt_lib.c
    @@ -275,10 +275,8 @@ void scsi_tgt_free_queue(struct Scsi_Host *shost)

    for (i = 0; i < ARRAY_SIZE(qdata->cmd_hash); i++) {
    list_for_each_entry_safe(tcmd, n, &qdata->cmd_hash[i],
    - hash_list) {
    - list_del(&tcmd->hash_list);
    - list_add(&tcmd->hash_list, &cmds);
    - }
    + hash_list)
    + list_move(&tcmd->hash_list, &cmds);
    }

    spin_unlock_irqrestore(&qdata->cmd_hash_lock, flags);


    \
     
     \ /
      Last update: 2011-03-16 00:59    [W:4.164 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site