From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933844AbcAKVgM (ORCPT ); Mon, 11 Jan 2016 16:36:12 -0500 Received: from mail-bl2on0091.outbound.protection.outlook.com ([65.55.169.91]:63456 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759729AbcAKVgE (ORCPT ); Mon, 11 Jan 2016 16:36:04 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.173) smtp.mailfrom=sandisk.com; daterainc.com; dkim=none (message not signed) header.d=none;daterainc.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160a69-60b5e98000000e3e-fe-5694204050e3 Subject: Re: [PATCH-v2 2/4] ib_srpt: Convert acl lookup to modern get_initiator_node_acl usage To: "Nicholas A. Bellinger" , target-devel References: <1452457724-10629-1-git-send-email-nab@daterainc.com> <1452457724-10629-3-git-send-email-nab@daterainc.com> CC: linux-scsi , lkml , Sagi Grimberg , Christoph Hellwig , Hannes Reinecke , Andy Grover , Vasu Dev , Vu Pham , Nicholas Bellinger From: Bart Van Assche Message-ID: <56941FF6.5090003@sandisk.com> Date: Mon, 11 Jan 2016 13:34:46 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1452457724-10629-3-git-send-email-nab@daterainc.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMIsWRmVeSWpSXmKPExsWyRoxnka6DwpQwgxWbOSz2z3rGZLFn0SQm i5WrjzJZXN41h82i+/oONotX51YwWbStPsNocaPtAZtF69K3TBZ7H/lZTD/1kNGB22Pph1XM Hve3H2HymHcy0GP3zQY2j2fTDzN5vN93lc1j8+lqj8+b5AI4orhsUlJzMstSi/TtErgyfmzY zFzQLlSx++R59gbGy3xdjJwcEgImEvcbV7B1MXJxCAlsYpRYtuoaO4Szg1Fi9ZLtLDBVLT2d UImljBLn/3xjA0kICyRIzD//ggnEFhGIkzi5eycjiC0kUCkx//BZsAZmgRNMEl29C8ESbAJG Et/ezwSbyiugJdG18zsziM0ioCqx9/oRVhBbVCBC4seGJYwQNYISJ2c+AavnFHCSuL3sEdgy ZgEDiSOL5rBC2PIS29/OYYa49CerxMIHghBHqEucXDKfaQKj8Cwko2YhaZ+FpH0BI/MqRrHc zJzi3PTUAkMjveLEvJTM4my95PzcTYzgqOPK3MG4YpL5IUYBDkYlHt4M9ilhQqyJZcWVuYcY JTiYlUR4MxiBQrwpiZVVqUX58UWlOanFhxilOViUxHmtW9TChATSE0tSs1NTC1KLYLJMHJxS DYycWU7BkjYcvuu3PFObuWGyeZ3Hn94KH6lTOY9PRr87/D0hUcuPz0T6fZax2MGD723O/vdR awlNCzizUEvj38PMHxv3ijUf2dlxU5HpVFzGCvWYjQXbF00Lnf3bj+/QzT23eedPjl7QXLTP 6KFlYnaV+aIqz3fbOT4KpZ5qOnpd5Nf6cyU8yhFKLMUZiYZazEXFiQC6hD6PtgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJLMWRmVeSWpSXmKPExsXCtZEjRfeb/JQwg3/zOC32z3rGZLFn0SQm i5WrjzJZXN41h82i+/oONotX51YwWbStPsNocaPtAZtF69K3TBZ7H/lZTD/1kNGB22Pph1XM Hve3H2HymHcy0GP3zQY2j2fTDzN5vN93lc1j8+lqj8+b5AI4orhsUlJzMstSi/TtErgyfmzY zFzQLlSx++R59gbGy3xdjJwcEgImEi09nexdjFwcQgKLGSVWXXjECpIQFkiQmH/+BROILSIQ J/FszzsWEFtIoFJi/uGzYA3MAieYJLb8P8IGkmATMJL49n4mWBGvgJZE187vzCA2i4CqxN7r R8CGigpESPzYsIQRokZQ4uTMJ2D1nAJOEreXPQJbxiygJ7Hj+i9WCFteYvvbOcwTGPlmIWmZ haRsFpKyBYzMqxjFcjNzinPTMwsMjfSKE/NSMouz9ZLzczcxggOfM2oH4/WJ5ocYmTg4pRoY 186dmC1qvuLYsntSSR/+qdsq3hXueV+yVFG3Ou1HKO/ik7yZig/z5l8JkJQ6fX+GWq3xRGe9 8B73VMbCdeJFQioZfqtPfYxrObHJ5YulGJMV071KRfmFdewG+ru/m/9Zvifojmpns2TfqqxN ulPj5Q03NO+d5TqL4afjjl/ZNz/fcVR69/GyEktxRqKhFnNRcSIA5WbBVSwCAAA= X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD030;1:zlpKLEM8IE1eJCXD3QMi9dF73HtzwZTyJHNlLxQ4+G+1KUZaIdtZk2hqVkFEQuzpmaeg5V1uXvWaTstncKVthoAt8sH2/6e92AahxjRafih2O1n6QXCYbCbyp0dmGfeLZfPW0g7LVhHqwfM/B0t2UewPXuV0yCDVEpbtANvFnSI+dW035ScAs+ZWkj1zXPNnVkvztvenD/ZoBrn4ZWjSa4YeGkINI2UH7BGC/1Pd1nByDQsZHXrmUOXanh4kEOpSD3G9v/nplj+sYCX7SHLzAjNyR5D/a13EVc6wFBEO7l6BKEDnpzVspHhT2zTlXi0u0g4A+HfHXPdij0iT3jLNrFA3C40w+gteqCxUwC3d7vc19NlwvK0oxDWOaizF2Pok X-Forefront-Antispam-Report: CIP:63.163.107.173;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(24454002)(199003)(51444003)(377454003)(189002)(479174004)(36756003)(230700001)(4326007)(53416004)(1096002)(4001350100001)(83506001)(586003)(87266999)(15975445007)(92566002)(77096005)(23746002)(86362001)(64126003)(5008740100001)(1220700001)(50466002)(11100500001)(47776003)(2950100001)(87936001)(33656002)(19580395003)(97736004)(54356999)(59896002)(106466001)(99136001)(69596002)(76176999)(50986999)(5001770100001)(65956001)(65816999)(189998001)(65806001)(81156007)(80316001)(5001960100002)(5003600100002)(2906002)(21314002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2PR02MB289;H:milsmgep12.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2PR02MB289;2:Ue8NHsA2aCNQSrzJniuXIXph3bpkkxn8jU8CZQY6kF4ICMnUTLV10AbwkyS7V2mD5bmNk8aKZ4MP572oH6ft+1VIY/wW7LSb3Es63KQjTy9LR3clh6olMy90OHILNm7qAra7iFbhkcxH8pi2RDkjdQ==;3:5xXI+F8xkI4qYfMaVM7LmhXhWpL2e4kBxvcNYXdr1m0IfhS2Rv2NLpDB31O+RxNqtWSTSw5PJBH4YFmH6TPCHlSvYyBGRIuyo600I8akBjK5TlufWIYtL0kcdyIKubjGmkp9TA8nTb4ukdTP+Blx2gcaetsbc+ywvsrWmwFAU7ZlO/ONGDkHI0XzZzA8KbewUh5PptMipRKBIUZJsq0PQYdfv4C0Hp3gpPZZpbxKZxZj8/6YxFJOmDq/Ea7QXQKrxURXymdySGcQVXgqQvg2AQ==;25:hC7gTL5tOlp2ESan9VucaHqVtjzxNnOCXRah9lnCa/GZNZaOgyrkwYAyBJ+G2Ee0nk9Fnf3RJW1lS5DUEKQQuGOd+cM9JD0VEkFwhsBWMyH+SnipWnmDYpnopS63fpBKi+jK8eJ2fZTGBdmLNPQ354urGxVJtUb1iaj/AUftvK0qqB///8hARS5Y6A5+CC7XLyMChiKUFoPFVxRUDTlfxH4W+E3/XdBnAN0NzC3bbLuu1xbjFe1O3yJntOB1lO5N X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BL2PR02MB289; X-MS-Office365-Filtering-Correlation-Id: 991e066b-f6c3-4eed-9dcd-08d31acf337d X-Microsoft-Exchange-Diagnostics: 1;BL2PR02MB289;20:FM2qGKrNn8+s3IRIRmAJsLUFJReC9JURywkd3ExEvhS6KtU0+A169GuzbSeUJHy1gQcF8R217rxwQOng28Jc0apra7KET71qsEV4MoVKl7exn/4CvJ0CypkKbTRsyE79v2PIcs8DsOS90kgI76E0QlsyucwcvRWXWzc/PZBbUpkPyTpkeoQsauTmEXngy1F3J8+tmnUUboTo4XLHv0EeLLspLKAFA/Dt96prmfNdzi8O05L0bDsQRJ6LV+oC9/3WZZbgRgGPPAECT/1Mgps+qzGdgWzQC7H++wuK+HXuV5WTAbstJpPsxYmuIQKKcnRdsXIwTO7ZoE0Qr8HRdsBB0C94/RNKXr5sQ0c6WHg9abeImB+LrLWj1W3dLpjKeoN6k0yz9us6SA44lGASfjBTwd19ziq69Wsjj5FzDHi7iatlTt5hbF/ksVJvOLV8oJjSiJF1bICSTmSfjIC4dnMuhoAOxujN/Br8f0jFG1WvKgR9IQU+iOeu0IF6FdStUnQS;4:tlrNnPwbdFLzps5bvdsXJOiaRuV/bQ64WmWahrDA3r7Md6YtElmKg/ErE5GA4UMNiGQp71OSh9a38+Y3tAU9l1MG05i2OWIvJmaBc25D4czQ2DCeob06sfXgnvLmLTbOMPxV61QL2fyA+nCrjyGZvAcVfnkEoMsmmmxtBXIJr56C+Ns7X2VQFMze/sZrXW78fJ/Fdf/gODjnxf1YuxtwaekkfHGtZt+S1kEy2jUPmMTiiN20hRD5Xp9O/IJE2DQnm1Gu3G7KXavz+8Sd25Pmkq2a9GANxwS7k8Lp43TfMf4Jipcxu659yOTakAu4Hn0U2o2PKrDCI1W5saMMyHHIwkIhpV5JcnZ+iCmgLUYlGsEx2/TS3LHkm+dGA5ta/e3g+j/oUAsgEiJpUnKDa2gMwzqeKOoyFz8aF3vZXhM4i5tyTx+7uxolVSsQNtPhmM5c X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(13015025)(13017025)(13018025)(8121501046)(3002001)(10201501046);SRVR:BL2PR02MB289;BCL:0;PCL:0;RULEID:;SRVR:BL2PR02MB289; X-Forefront-PRVS: 0818724663 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BL2PR02MB289;23:DeQk/ft6mIL186riN/NpNCWMBbKCm8v/9mnc+y?= =?Windows-1252?Q?gifkZ0qM0XTf6QxcZyne4B3yknW2N2Cfk+DgmqCpWK9d4iYQBzXWW4Zz?= =?Windows-1252?Q?eRz93fNqTMKkRmJR+Q+MZLZcvo83I7uINx9f2ln2olglQWAa7f48rX4M?= =?Windows-1252?Q?uU7XhD8Kwk6/XLhObUoz7lfo8eIaqxT0sQQPJSKlqXPh832EKEmCnlwv?= =?Windows-1252?Q?J7UUetN/E21PGFDDBqrwjo+6mZua4MtElZaNAInxgU2KurRtKasd8/q9?= =?Windows-1252?Q?b3zVidlfmyS100xrwK91QcJq3mN8r1cFzB4ZTlQgVjQH6eHDmWW1+oPx?= =?Windows-1252?Q?v3KRCggUVBPtyr7Tne3sTuoZFJVRGlKaPQzejAKPhzSkX7M8JQxwfVzC?= =?Windows-1252?Q?vyEDabmvYbCtCgAQhh0XlwX2scu3XukJjlCeUY/inqKYfsN/FGbK/Jyo?= =?Windows-1252?Q?SuZV5C+x9dQzgLyXL4BWmaiebFe9EyfW3q0dTP0wLIlJGAQZ2Q6yrBIv?= =?Windows-1252?Q?oZc7ZZO7Dnzwl72gJjQYb/Q+GYS0GUzVLRL4KH66fctckdwUXOyJMO8X?= =?Windows-1252?Q?Ezo6wNPILMdvX9buNb+V/a2OyK0tTXtrPA1ca62Zukx80h+B0m1ZnrmK?= =?Windows-1252?Q?GDxNjc8RDqDc1OGNYa6Ru/wSbZ8KnHghesCVS6F/HhA8oqatG2ngDOV4?= =?Windows-1252?Q?EHF1wbK0/vH9iNTwZCHZ8demhN8RhFCwzzMixCzuSIREGWFOZBCDM197?= =?Windows-1252?Q?sfTVFambmW48qv/LfCWQIUcD3+Q3xaf7zNm7A9A5fz0LThVfNZTFMoG8?= =?Windows-1252?Q?/zKYGnPjE10YRT9NMLcRXm8MTa9ElWFoa5paq5GybBzuH4pIrwNnaxPp?= =?Windows-1252?Q?Y6VqP02IpwkvLlEbuQs+RIz0FlGZ8rJdS6775MtNhnvF6Vwp7msliwRk?= =?Windows-1252?Q?1FiKtKKUV/KiwroPwgRwEAJ3Jun6IuREVkfFiDVWNt54f9aauD5x8NUL?= =?Windows-1252?Q?G9SY4ILZ8AZp1956kLHObPxLCL5EgQVZBkk51I+j5S9obCHqfvF7ZvEF?= =?Windows-1252?Q?7Xpq6RAZPFUhY7S5dVE5zmGX9IuC4x8IFR/eeHEdDMSQYPdjpPvOGj7H?= =?Windows-1252?Q?IW/+I/WP6UpR8Rb81l+Q/LSfn4cQNQBPlwfeTEaN0mWFFygka37t5o8D?= =?Windows-1252?Q?8vdNpuYfH5fFIsUkYlREbK5GFqPAQJERy5l5bDrcN4g/xpilV1MINRi/?= =?Windows-1252?Q?TV/Yl6rfESo8xUACWjOddWoW26IawiY4TmzLnvFL1x77HthJzhMfyQZn?= =?Windows-1252?Q?bIvUpfuplEJiEgu1JEbgBKLJnrCtKMM83SQSP680cXDBEM8QY5HUjLI+?= =?Windows-1252?Q?PZMjUG7S/5ZjV5rMA9u3h0MuDEdG4vuKJ7X4txC/cwearnmQAqLLzQUN?= =?Windows-1252?Q?E5TOru+vG2hZLgss++6WK4luEmQfFl3BHAgBFVAQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR02MB289;5:nyVqHOaZwA1aBxl2aLPXGvGipn2U+LGoSM+GNfgM3k0KScEra7znp+hCww5f7wQ6jZUOawnjxe8LeST5Vs9peobPYJCaRAnG4xzVclhMo5iTNeOM9B2S7tgRFT5ukyFxNhUV3FKfqSREJKaURhI7zA==;24:LhWt1RKfbkha9jerDoxB67OYOWegiv/Wpespd6OFnRGsmG6DOgqa9frI6JlXemGEC1f98UkizXZpvqaA63xJ895uzIVvykNSpmAjx5QngJw=;20:mqPBkrGcpd52JQ+Yo+zV22u2PeGm8xug5IodyHY7oTfV0ayfigXwgDBjUEl/j76vegVXB6D3mK7BU58NI/g0HhmFmGUTHIx9+UubozrCILqgEV2cmrW0zqM3BplPH0xg1IN8jW+igfpo5dP+sQ+NpK60G6rQNQFZjIlAUx5va+ubBZifDEszx0DJgHk73GTcj/VvB1wT3RlQYnwMnKxAW0y6AzDRRvJTcaOwPidzJx0jeIykUYOZZUh4J3yHWRmj SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2016 21:36:00.3342 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.173];Helo=[milsmgep12.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR02MB289 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/10/2016 12:28 PM, Nicholas A. Bellinger wrote: > This patch does a simple conversion of ib_srpt code to use > proper modern core_tpg_get_initiator_node_acl() lookup using > se_node_acl->acl_kref, and drops the legacy internal list > usage from srpt_lookup_acl(). > > This involves doing transport_init_session() earlier, and > making sure transport_free_session() is called during > a se_node_acl lookup failure to drop the last ->acl_kref. > > Also, it adds a minor backwards-compat hack to avoid the > potential for user-space wrt node-acl WWPN formatting by > simply stripping off '0x' prefix from ch->sess_name, and > retrying once if core_tpg_get_initiator_node_acl() fails. > > Finally, go ahead and drop port_acl_list port_acl_lock > since they are no longer used. Hello Nic, I think that you promised last week to remove the srpt_node_acl structure (see also http://thread.gmane.org/gmane.linux.scsi/109275/focus=2121617). However, this patch doesn't remove that structure. > - ch->sess = transport_init_session(TARGET_PROT_NORMAL); > - if (IS_ERR(ch->sess)) { > +try_again: > + se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, p); > + if (!se_acl) { > + pr_info("Rejected login because no ACL has been" > + " configured yet for initiator %s.\n", ch->sess_name); > + /* > + * XXX: Hack to retry of ch->i_port_id without leading '0x' > + */ > + if (p == &ch->sess_name[0]) { > + p += 2; > + goto try_again; > + } > rej->reason = cpu_to_be32( > - SRP_LOGIN_REJ_INSUFFICIENT_RESOURCES); > - pr_debug("Failed to create session\n"); > - goto deregister_session; > + SRP_LOGIN_REJ_CHANNEL_LIMIT_REACHED); > + transport_free_session(ch->sess); > + goto destroy_ib; > } The "goto try_again" statement is executed at most once. Since the above loop can be unfolded with only a very minor code duplication I think it should be unfolded, e.g. as follows: se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, ch->sess_name); if (!se_acl) se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, ch->sess_name + strlen("0x")); if (!se_acl) { pr_info("Rejected login because no ACL has been" " configured yet for initiator %s.\n", ch->sess_name); [ ... ] } Bart.