From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 09/12] target: Convert se_portal_group->tpg_lun_list[] to RCU hlist Date: Wed, 13 May 2015 08:24:58 +0200 Message-ID: <20150513062458.GA21426@lst.de> References: <1431422736-29125-1-git-send-email-nab@daterainc.com> <1431422736-29125-10-git-send-email-nab@daterainc.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Content-Disposition: inline In-Reply-To: <1431422736-29125-10-git-send-email-nab@daterainc.com> Sender: target-devel-owner@vger.kernel.org To: "Nicholas A. Bellinger" Cc: target-devel , linux-scsi , linux-kernel , Hannes Reinecke , Sagi Grimberg , Nicholas Bellinger , Juergen Gross List-Id: linux-scsi@vger.kernel.org > FIXME: Figure out how sbp-target se_lun usage should work The Xen usage also looks really weird. Maybe Juergen can explain what scsiback_add_translation_entry is trying to do? Note that I think both sbp and xen really should be working on node ACLs. Right now both of them oly supported autogenerated ACLs, so in practice it doesn't matter, but keeping the data structure use clean is a goal on it's own. > @@ -281,8 +281,6 @@ int iscsit_tpg_del_portal_group( > return -EPERM; > } > =20 > - core_tpg_clear_object_luns(&tpg->tpg_se_tpg); > - How does the removal of tis function including it's only caller in the iscsi code =EF=AC=81it into the picture? The only explanation I= could come up with is that it wasn't even needed before, in which case it should b= e dropped in a seaprate, properly documented patch. > +static void target_fabric_port_release(struct config_item *item) > +{ > + struct se_lun *lun =3D container_of(to_config_group(item), > + struct se_lun, lun_group); > + > + call_rcu(&lun->rcu_head, target_lun_callrcu); Just use kfree_rcu here.