Re: [PATCH 05/12] target: Convert transport_lookup_*_lun to RCU reader

Christoph Hellwig
2015-05-13T05:55:50Z

> + rcu_read_lock();
> + deve = target_nacl_find_deve(nacl, unpacked_lun);
> + if (deve && deve->lun_flags & TRANSPORT_LUNFLAGS_INITIATOR_ACCESS) {
> + /*
> + * Make sure that target_enable_device_list_for_node()
> + * has not already cleared the RCU protected pointers.
> + */
> + if (!deve->se_lun) {

Just move the hlist_del_rcu in core_disable_device_list_for_node before
clearing se_lun and this check won't be needed.

And if you need ny check here just add it to the if so that there is
no need for the goto. Same for the TMR path.

As for the locking changes: I'd rather have the change to a mutex
as a separate patch as that's different from the data structure
changes.