> +     char                    work_q_name[264];

create_workqueue and friends now accept printf-like format
string, so there is no need for this temporary buffer.

> +     int                     error;
> +     struct completion       init_complete;

Please rename error to init_error and only assign to it before calling
complete().

Also I'm not sure what the real point of init_complete is, shouldn't
we just have a mutex held in alua_initialize and alua_activate to
synchronize the two against each other?

> +     rcu_read_lock();
> +     pg = rcu_dereference(h->pg);
> +     if (pg) {
> +             kref_get(&pg->kref);
> +             rcu_read_unlock();
> +             alua_rtpg_queue(pg, sdev, NULL);
> +             kref_put(&pg->kref, release_port_group);
> +     } else
> +             rcu_read_unlock();
> +}

How about:

        rcu_read_lock();
        pg = rcu_dereference(h->pg);
        if (!pg) {
                rcu_read_unlock();
                return;
        }

        kref_get(&pg->kref);
        rcu_read_unlock();
        alua_rtpg_queue(pg, sdev, NULL);
        kref_put(&pg->kref, release_port_group);

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to