On Fri, 2013-12-13 at 15:59 -0800, Andy Grover wrote: > Here are some instances where we're looping, but then dropping the > spinlock around the loop in the loop, because we need to be able to > sleep in the calls. Since everything is refcounted now, this should no > longer be needed and we can just hold the locks the whole time. > > Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> > --- > drivers/target/target_core_device.c | 4 ---- > drivers/target/target_core_tpg.c | 5 ----- > 2 files changed, 0 insertions(+), 9 deletions(-) > Ignoring, given the other NAKs. --nab > diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c > index a432d7b..3896c99 100644 > --- a/drivers/target/target_core_device.c > +++ b/drivers/target/target_core_device.c > @@ -463,7 +463,6 @@ void core_clear_lun_from_tpg(struct se_lun *lun, struct se_portal_group *tpg) > > spin_lock_irq(&tpg->acl_node_lock); > list_for_each_entry(nacl, &tpg->acl_node_list, acl_node) { > - spin_unlock_irq(&tpg->acl_node_lock); > > spin_lock_irq(&nacl->device_list_lock); > rbtree_postorder_for_each_entry_safe(deve, _tmp, &nacl->rb_device_list, rb_node) { > @@ -473,7 +472,6 @@ void core_clear_lun_from_tpg(struct se_lun *lun, struct se_portal_group *tpg) > } > spin_unlock_irq(&nacl->device_list_lock); > > - spin_lock_irq(&tpg->acl_node_lock); > } > spin_unlock_irq(&tpg->acl_node_lock); > } > @@ -1141,9 +1139,7 @@ int core_dev_add_lun( > if (acl->dynamic_node_acl && > (!tpg->se_tpg_tfo->tpg_check_demo_mode_login_only || > !tpg->se_tpg_tfo->tpg_check_demo_mode_login_only(tpg))) { > - spin_unlock_irq(&tpg->acl_node_lock); > core_tpg_add_node_to_devs(acl, tpg); > - spin_lock_irq(&tpg->acl_node_lock); > } > } > spin_unlock_irq(&tpg->acl_node_lock); > diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c > index 30af019..1bcb665 100644 > --- a/drivers/target/target_core_tpg.c > +++ b/drivers/target/target_core_tpg.c > @@ -172,8 +172,6 @@ void core_tpg_add_node_to_devs( > for (node = rb_first(&tpg->rb_tpg_lun_list); node; node = rb_next(node)) { > struct se_lun *lun = rb_entry(node, struct se_lun, rb_node); > > - spin_unlock(&tpg->tpg_lun_lock); > - > dev = lun->lun_se_dev; > /* > * By default in LIO-Target $FABRIC_MOD, > @@ -201,7 +199,6 @@ void core_tpg_add_node_to_devs( > > core_enable_device_list_for_node(lun, NULL, lun->unpacked_lun, > lun_access, acl, tpg); > - spin_lock(&tpg->tpg_lun_lock); > } > spin_unlock(&tpg->tpg_lun_lock); > } > @@ -299,9 +296,7 @@ void core_tpg_clear_object_luns(struct se_portal_group *tpg) > if (!lun->lun_se_dev) > continue; > > - spin_unlock(&tpg->tpg_lun_lock); > core_dev_del_lun(tpg, lun); > - spin_lock(&tpg->tpg_lun_lock); > } > spin_unlock(&tpg->tpg_lun_lock); > } -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html