From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753933AbbEMGZJ (ORCPT ); Wed, 13 May 2015 02:25:09 -0400 Received: from verein.lst.de ([213.95.11.211]:48435 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752663AbbEMGZG (ORCPT ); Wed, 13 May 2015 02:25:06 -0400 Date: Wed, 13 May 2015 08:24:58 +0200 From: Christoph Hellwig To: "Nicholas A. Bellinger" Cc: target-devel , linux-scsi , linux-kernel , Hannes Reinecke , Sagi Grimberg , Nicholas Bellinger , Juergen Gross Subject: Re: [PATCH 09/12] target: Convert se_portal_group->tpg_lun_list[] to RCU hlist 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-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1431422736-29125-10-git-send-email-nab@daterainc.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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; > } > > - 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 fiit into the picture? The only explanation I could come up with is that it wasn't even needed before, in which case it should be dropped in a seaprate, properly documented patch. > +static void target_fabric_port_release(struct config_item *item) > +{ > + struct se_lun *lun = container_of(to_config_group(item), > + struct se_lun, lun_group); > + > + call_rcu(&lun->rcu_head, target_lun_callrcu); Just use kfree_rcu here.