From nobody Thu Apr 9 06:36:36 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4ABE2389DF0; Tue, 10 Mar 2026 11:50:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143402; cv=fail; b=A2QqQZ+yMMZxdbRs8IufTgajOiobh78CQLrodu1SIAUE/AtfHWrh0+efpUXnGgvDgpM8Vb1jjCYB7vc8ed3pdFn3UCx1SEpomPJDALOUvaYUGtZKHqsFCUARkB+80xGwzqfRyzbJ0l6ruSOPJ4vYJ2/50dBmcIM+B4AS5WIKWTY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143402; c=relaxed/simple; bh=9M+9w/7CyQCXWwCIIHDiW1VDBLJO0rrFLt5zMtCOaB0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fW/GZJV82jbf2ULwoZfTAzfJm9kvotLqsb+pE57boDIL7/rX2tm+K9qyRXUvC+Ni+Rf/Y46l4GH08NhhXkfOoFU3PlPlTTLDiFBqDbHs8kPDs34FkqRAtM4Xj2zB7+sll6GK57QkjhHcFXAhXzAPpJ8BUgiaw26W8dKw6q1MDsY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=ZivzrpSJ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=bhpPBETU; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ZivzrpSJ"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="bhpPBETU" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9x68M2773031; Tue, 10 Mar 2026 11:49:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=xAbkqLrf+uC9Lx0N220c6MkeLQrExdg45lJWiAHXKyg=; b= ZivzrpSJcePEcNt9kw2mLpUWQYqi/JaAS0MipmsN9fM6haVm1TB55wvCHIJRMO7c WRV5ARlrvk7Ee9L66QpOAVRMiWO5y0P98oCtA37wQIB7CPSvtFNQ5HMfS8DOTe3t VxrPh5c771EEsvIGfsmTPDHYu33oRPf+VURFWAyUgoB7GZADKJ/6jfgYshn0Uj8a IXeUAWvBI+80IOHagwC6fAjOFIQzqigbQcZATofMbGyq74jKsnRq92PvoEg922XY XG//4JAR/+CDvysm/B4mgPncVUvlMt0FDHDKRctKkl45LUUU2764+gM5wMoIJKkz rBOCdW5KY0yiAYUrVZmxfA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csjnujpag-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:44 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62AAxAXw014780; Tue, 10 Mar 2026 11:49:44 GMT Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11010017.outbound.protection.outlook.com [40.93.198.17]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4crafe84yn-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j5kACnJJIp34/osWHF8PBuL8oopOWzAB1sVfXghRQkgy6Vs5Fd6WviqJqJb6GikwDQDIlOhPrBlE+JSHqhHBneJwCZpOtdE+T2p8wvYgCupG1hTehe4pyLQ8pav7QtX5ISgpBEFfZ9sKB4x4D2ftPjkywpPo/yxEi9B1JMp52Heft1PHPW6cqqBBOxsLU+U+8s543uR7LX3Shpr003cf5YVUWWJZ4EIFfjS2LlsdX+g+IhKGiz1QDpvhtu83IWVaviY9ySYG4NlOgrQv2RlTQy4WnPIDYyD3SG+m2HDpIcZ1Ic+cb73D0pCT+PKqShRpjS7DEcuNt3pfT7c+Po8dFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xAbkqLrf+uC9Lx0N220c6MkeLQrExdg45lJWiAHXKyg=; b=dPISEplcqYXvoa33ZC4poVFXQ/CjdOspC+lnq/h2O3KYq1JhZDccBH59+RIPUH0RPNs973RYz2V1hflnUEIteW7B2Pe4IzIfDkReTANF4YhlwIJcPEyhrZmVh2FFtOE7RL2cYv0lM0ufn/UWEFh9yHijfFBbm75rg9tIiwmhN9Nop1LBzq1ldyKkRwbwDtj6qDNlSP+eCwvqc0ALXiiueX9zIA4xSs9NxXkpcgGVfbNyg1yncCOhiu5fLjOeXvErc4LZ/HPoJJ0B4MUQ6mlcvEJS8a5/P8d92OZewhEf9Jj9/BBrzUgYY8jXaUpytuGmN5AwxhVqo3p6ss06rxAcSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xAbkqLrf+uC9Lx0N220c6MkeLQrExdg45lJWiAHXKyg=; b=bhpPBETU7yHpbungsOb1oM6EnJ772Xz4Ix5o7NOhsjJpMLdDjenjPKnulRM9C3AdEg77TwDD/+T0bFj92U1ZD+Wq2ZnP7zi9N3c3f/9HCAHcZPps+rkcQJuyhwXFIjue3muMNqjIFIkVyqhTHqcYXs9x0DBgk8MSSnE1Hl67SF4= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:41 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:41 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 1/8] libmultipath: add mpath_call_for_all_devices() Date: Tue, 10 Mar 2026 11:49:18 +0000 Message-ID: <20260310114925.1222263-2-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1P221CA0001.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::12) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: 4aa3367e-133c-4d13-706a-08de7e9b1db2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: MActuxkEp+WqI8iUXY7QZsRpO8g+1dyOGiKNd4XEUQA7K/XttatO/7FNjk0PY9Iwdo8fnQfvMre0bddpPd+HOxY/49Rm94IWXyAEN/TiSnx48QDZrlbe4Jst95icuXpWZWbpVp9N+JQq8ZkjjkMV+tzzuyctaWrGYbRDMj51xGXXeE6aTaLk4mZzYhJrX2h5ftcZJitYvDv35dmFOjexKO6+0KY8RAqf0Db8SbadnX9NaGFx2sdy5AJg9WJwe4N9751H9hLhQJipnqzkW7n0nxa3X0LHFJB81Ug8xCERlZH3/BawcUkaGL7QpMWjPIbVugIzX1Extk0Eyk7MfnN5m6zUPmSS8gCMF8U4qky8dJFMf2W9fvQnMBNiUHpE9Zq4khI7mjEpUjMEvrrJBjZcJsPl7Vo754wUvGS2xQCqefdmfQbpCndYJgpUq6gkQosEqbmZ6KOTGlY1Q2woiXamYwoTu1mRoKIsNvrnS+Cu/Tj+97ZGYc2DQFYbv6x1QBLdKjQNQn+YqKgH4JZlKzxH6SKUIfLvk+/kg8kxKzY3ebnZbhrrYOHjOaw4ktJIX4ppfU/tIp8p6vy7g7JumfUN42Xi0aVBv4eVmwnNMoOY6uR1X/jKPph03dooCNkyHk0XXNWZcFMG4rt3q1rJzKDq1X89+uy+HV5FQ8WxCWmVdaGI4mAZDVx0554hsWPKjiMx6Rz8IDmuhBZzGh8E4QLPTqgninTOgcVp8ZrKu/NXHWU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JrbyVYlt9TN7PHtCSRa2sFvR1neTcXDUkLWWEhQOAdH23mSED0hhtP+9Y7EH?= =?us-ascii?Q?I2P7zkTlH1Xg/oL+O3Otygq+JhhQGWnm3jYo8NjBuMb4wmj0gX6bVQQOelmL?= =?us-ascii?Q?66gTtjnBdVlcr6SWKcw96j9Z6pkAdMkw94KAVTr8HdqzSPXc71vagyrBbhWs?= =?us-ascii?Q?pFwjugJZe1NwnBa0Uj4OIRruRTCs8O92jVJOy8B+kzmrfsuYVqt+A1vzm2pg?= =?us-ascii?Q?l5is0qaSA6RpmIFL+558FrkhRr8GEqvL3P9I1h3cfoqF95/0EwMjC/tgAT9E?= =?us-ascii?Q?0KF5BRZiCL88TOg27zLvJuw5KzrdPHpRZjpgd6XcCnGamtV/uCvPpaHoqCCL?= =?us-ascii?Q?KY75CqxvGBg8eqBjZkP01XOoIlfGLT9KJtxIM07d0BYIanGuBQ9tmWO57tl+?= =?us-ascii?Q?8AN0YYu8XWxa8NXriDUegVdw2GcKJbuDL8P790npknC1kLyuJrmmSf9qFT/9?= =?us-ascii?Q?BN0QYFpvXCf283uE+/zftJ2mDSh1BLjy2TlAIgUpDA4g6NjRT0GFV9cQcrz7?= =?us-ascii?Q?jrEw/anWtUoyiWzEEyKnRNV3W1cO3Pd9CpS1feaJa+9t7h+iR1Jfre3pata9?= =?us-ascii?Q?D5ZD5Fie1L7vUP72W1/r2y1dxZHxdKaqPQY6T39fVoaSmHiCUYfYTuyxEMN8?= =?us-ascii?Q?PT/noT09FhywTQ94nLw9ea507H7PIa4vjoyWY+X0EokWaed7fr9xOeFo3lmn?= =?us-ascii?Q?bkKuB2AviWRyo7SDitJRxuKolJONN0WE+JI21c/chkFj2quCQxiJrPAESHei?= =?us-ascii?Q?I7ibnXIqgemEY24cOzR5XWp2XBU1G6rGNyksaxX/WFX1oomAIOvLnEFWcnju?= =?us-ascii?Q?XbVCtUTzZt7hNbdbeXmWQHZHB+7NA5fjBF9o0LG1Yg/W/iG+ICwijsoiVbgU?= =?us-ascii?Q?etbFzeHhqw18bGB/3Wrexpp+t3uxu6Na5jyw8+bij5Euf2onm9S9Bp68qcaE?= =?us-ascii?Q?rvccdLUl+p2BX5s/jB5sqLA/IpEWBJAa62Gh/NtpAoOe76MCHr4du4b77Aj6?= =?us-ascii?Q?3Iul/U0xpyaKA09FqT/gHjo46a8S9s4ivnRYXQeMMhm7PTbF5UL5/4CwVdO3?= =?us-ascii?Q?aeXxjChMGd1we5C5NLbdGlUMnHvgpXuTDFJlB7MmSDz3rytqTk9sSzE5s79q?= =?us-ascii?Q?NwjAYAOdf54/+5Y4vrgCVhDH08Rn2Q16k1swzMgrRTnILSA6j7Ot6FmdlYJa?= =?us-ascii?Q?l3awae8whg7nWZaUaE29VoXdowR/XmtRMaRk6xtdladpghQspkBobeFpUINF?= =?us-ascii?Q?bkaFmVZc8rBrymMWX6UPiOwlrXlW9iUx6YbSmgacTXrCMpfkg3e7EVn7cdCH?= =?us-ascii?Q?jBpjCw5MlhKT6Xvh0e1QZ+8vf774t5J1b9M06hZ+miJRR8fToO71SpQYM1oU?= =?us-ascii?Q?f6VunrV+zknr9o+MVG59AqPfwrACvsCPLpAc2WzxWABuIjNXYsD5gOkm7uBv?= =?us-ascii?Q?xuSIIyXA+JyObdNQz5Wh22WJiRTAa7ia2zfSXx0OZNdUG0+tf4Y6KUx8Lrso?= =?us-ascii?Q?iyT5WXF0xy88CK4o04gZyetA1wx49dgTtHBxjXGMkPFAJNBTm0UZ8Awfg/IK?= =?us-ascii?Q?NINl5ZhjlLZ8a91ggPoNuFkWuwPdXi6TpuqCELmMDqVAQ7vpbof8EFpUHCY1?= =?us-ascii?Q?KLBl/MtPC+lUe4rakZ0WX621ojJxgytfgIN9Ht8+a0dIlu47Qc/UcHYAOZcq?= =?us-ascii?Q?vZ7l7VwOKUVrVDSIdOpKTj+CwwWTaz4k6wlRz6QBhhp5yj8rp+/6NnjrQ0Rw?= =?us-ascii?Q?DxwGJS5yeAXl81+EKDqcjjoQdhir75E=3D?= X-Exchange-RoutingPolicyChecked: IQ39IS6VEx6TcdIs63xQ/w/2v8s54+TjwH+SGiFUzFNmofqu7c/x49OvYVdIku98fY4rNvt0BZG6UCX7JcDOzJ4lZATfuZVTwGma4HIOuJsyDQH6twRod4+yeWRYIs8TAv1ZhWPFr1HCWlP0Fxe7JmnGsAaHEWVsj3lO8BtV5hVMDMEqX2DNZWTTZjMjDXyqIUm++CWL0hsWLXMWPU5PJxNVP50YH/gkoO00SD8NSB5oDsKDQWzhRu/0STogCDphmmuJ2EmAaSAxC7CmtJWgsOoIuzs1kmx99WKImxBlQ5k6ykjXeLBGPViWG6x1rGO09TsJ54auDU5FtLtleyXTkA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: a4KrPkEipR7WzCzKEkk0H8P1Te92IlU/5ijPRsY6ULCMw5SW4NICgiHKCmtfRQstxZVMp3UKgeWcIi8xFCp7oF3rbAGLvvBPn+5Z6HXPDUjX9XAIK0lUPzU8rsbqihBwtSXAmq/Pyp5CzrcTdJQx3ex3lyRtJSnf4cnPsSKdZINn3g5j3qXynoD2pXwxYdYqpNnJVWI7aOHuuFsQc5yvMa4V8qvcallWDGhaGZ52PzGHOao3aKa8b6C11P/OiM3qBfR34jXxc4vjffC6r3ML2ny+shxcxoFp+m7h9U4arULSRku3/4GUrlOvmQVQx+RTjV+GMP4TOWtyZPK+ks5IJ/5JipQjNpQIBuGvb80DZ0gJI+w3crdvjF4/EOfy2gDJYSplQRuJPPSY04eO7WvmZfOMtZmx643TwgJfUpdtAcA/C7/1AZX86CajIB21NWrVhCYiSd1JN8N5Tgs5unLSEGLewihSFT+6cY40pYyC5pttc5UxhSbNMw0Du+QF/GphWl6T0jE9WKtAkEaYaC/qqXOmAXKezMbajkoxvF+0CE9VZap644voualcfRzMLNqimCbOPtA7skltJhdjdwp6lgnMLTlKR+GUQX1OvHztiX0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4aa3367e-133c-4d13-706a-08de7e9b1db2 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:41.8016 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: G39gUvSFkHorckmHL7DmXpVb7WgFd2N3/mH0qp7H54HzqlC/LPqyqUUU1DyRZcIrd8uT5rr/AFP24A5EvrLqfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Proofpoint-GUID: QNhHc8aChU6qfAoJEb-sJ2fxhVqJEMSK X-Authority-Analysis: v=2.4 cv=c7WmgB9l c=1 sm=1 tr=0 ts=69b00558 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=yPCof4ZbAAAA:8 a=hzjjRfHtLLWBCNXZrtkA:9 cc=ntf awl=host:12273 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX81OOlcemPlB7 pQ4kWjrTi345A/a4x781TIRxBc5c6QjjRZ2KFVCul74FO3WevrKX9FKyTJn2hrn/uObWMA/8GaN KUsjW2DHpog/vwAcR8oVKf+K+TmmGOGIeMrRFV8Cc08KFg83SI6zg/Q+GgscrHo4OmJvFiIMlvW MH05tDYPs8+RsmTs6g8HF6xrSyFDaeUQJMEHOy1WjdIeZ8nl6fJwdUIdqw1EpqSXlsL1R2ovj7V gyIwN1wIK5q3jk+ew1/u5DuI4/QnS73YlSBWMY9y+TcLhK1TiqGPLP4Cd58cgaUWWPu6PqjLFdm ZhBKWCgDUFgJNadvD5dd2yxWlZ28OBHT+qSCm8JVzDg70tPi3ekpChFTXHTKBBwDruleSSULH7d GiWRsI8erKtekFOYKHatkGUBO3P9/kooFTlte507FPL8aD77HxWxNDYS0GdvJgC3i1IIE8NsQ95 MO1r5hafp7dUlFncK0sX3M9QuNBkOLIV+k/MAKjI= X-Proofpoint-ORIG-GUID: QNhHc8aChU6qfAoJEb-sJ2fxhVqJEMSK Content-Type: text/plain; charset="utf-8" Add mpath_call_for_all_devices(), which iteratively calls a CB function for all devices. Signed-off-by: John Garry --- include/linux/multipath.h | 2 ++ lib/multipath.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/linux/multipath.h b/include/linux/multipath.h index 1aa70ae11a195..153eb4c0258ef 100644 --- a/include/linux/multipath.h +++ b/include/linux/multipath.h @@ -153,6 +153,8 @@ void mpath_delete_device(struct mpath_head *mpath_head, struct mpath_device *mpath_device); int mpath_call_for_device(struct mpath_head *mpath_head, int (*cb)(struct mpath_device *mpath_device)); +void mpath_call_for_all_devices(struct mpath_head *mpath_head, + void (*cb)(struct mpath_device *mpath_device)); void mpath_clear_paths(struct mpath_head *mpath_head); void mpath_revalidate_paths(struct mpath_disk *mpath_disk, void (*cb)(struct mpath_device *mpath_device, sector_t capacity)); diff --git a/lib/multipath.c b/lib/multipath.c index bba13b18215ee..96c6730680729 100644 --- a/lib/multipath.c +++ b/lib/multipath.c @@ -105,6 +105,21 @@ int mpath_call_for_device(struct mpath_head *mpath_hea= d, } EXPORT_SYMBOL_GPL(mpath_call_for_device); =20 +void mpath_call_for_all_devices(struct mpath_head *mpath_head, + void (*cb)(struct mpath_device *mpath_device)) +{ + struct mpath_device *mpath_device; + int srcu_idx; + + srcu_idx =3D srcu_read_lock(&mpath_head->srcu); + list_for_each_entry_srcu(mpath_device, &mpath_head->dev_list, siblings, + srcu_read_lock_held(&mpath_head->srcu)) { + cb(mpath_device); + } + srcu_read_unlock(&mpath_head->srcu, srcu_idx); +} +EXPORT_SYMBOL_GPL(mpath_call_for_all_devices); + bool mpath_clear_current_path(struct mpath_head *mpath_head, struct mpath_device *mpath_device) { --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA9E03B961A; Tue, 10 Mar 2026 11:50:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143405; cv=fail; b=dg7NakpUsI/bRL+PKTfTNzR8wwptZTWwAkf0TFWN1cXflzEDb397jKW+ebI87p9SlWhy0ggTi1g0YQhyQi1zR8SlIpLP0U6cgTxAVYCmZjPG277StE8U4Rz83kd2+VyL0TbzvtDrmzMhQqMdwR4aaguOQF8MQLkaLNCfLnWWvWE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143405; c=relaxed/simple; bh=+A8jY5uF8yCYXTUKdRnmy4R3DlQpYBgHRrqKQNhRPBE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=pXNbyBAKBGPsxNp7rOKehlJ4gL0mlZycaaxwFDkhHoY0P6/icf7Bedlqfe8KUDAj8/iAJeZ6zN+lJceKJxGWa5Ikz4HqebSG7fkiK+MPyfudMISwg6rfhIaprWkVulZPCyTQfIni/LYpmKzGOaIc8rPMZxJPVLsTsQ00iMqT+zo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=SX86KRb0; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Gk/5LRTe; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="SX86KRb0"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Gk/5LRTe" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9DYND094073; Tue, 10 Mar 2026 11:49:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=9MuQy9jcIPtNyMTk1v1jBRS5XLCtFrZfuzfs87SRNgY=; b= SX86KRb0fnsPWqyvPR1XGVida2a9TS4SDKrF03STuqQONA48GmAF6TbrsbPJiZwW bIQ5z9AgVxtI+qz3PYTUFFSt86XndE1LWhv13rfYbVsbZ9a5+1yFYTmA9nTJhrHr 2KaNVlupdxbIqYWUtjFACY579ykiJflYiKDqKFmeYpl4k2LzKePmmz7yuUvpR3o9 bOT1Dk4qMryafWtYkIeskTSoL8Lm1y9eUDYeIFh/nbvNe3C7ptBrw7LKf/whgWNK qCLgacZk/jTk8MH6mYNyIxdLU+i0M6Trc3uwnzewRN94ICCcLX1LRHoi1hhmP2xF CCKqHG8rbHh2xSsiHxr/oA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csmdkjny1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:46 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62ABBqxI014869; Tue, 10 Mar 2026 11:49:46 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012009.outbound.protection.outlook.com [40.93.195.9]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4crafe850d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vjEkG7VrScuyium8HxKtoDwxhm5x7y8jjvr44obKuN5kxRw8/8fXpp4fCmKGfjfeS7jymGBsjExuTmiqWQmS0DBNNeI6Par/Yonwp9l/7rYIKljzQMSoz0/zHo8r4PCaYCmoul5TtDBlOl9o2thbHa8Op9e9pN0GWkTNh1gCQLQqSx4kWyqRpF4THwWAzFvTcExwEtHuAyDHozq6BhzoTSY9jgW5Rh0ymmKCGvAywq8ezG7l2h8pWzvFv4a4I1R6vaa7a3Cqo68UqibskBNNjXIwWu3S/VPeffT1+qKEvQB12ednZo99bhwTiT1AmLICihnwKKkkllAdA09SWH0e2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9MuQy9jcIPtNyMTk1v1jBRS5XLCtFrZfuzfs87SRNgY=; b=J5gPXoC6F8OvW4555BuCU9QdTfrwLXVniRoGHKtkckVmUn5CKcYf32pFg8AaIerVeoggzduOGb7MqpURgyAeNkH4sS/X9XgDtjAtN84A7N9dkH4WtwdEnjTfHK7YWNfVu6kC0N64JYWNn+U4hEyDEFOCuDQmfcxIN/m5M2g1iUZDNZAhCxwLhUFpRnc/pMZO1OvD+YuSmISn4Y5sUwGqMzZZ0CcTgV2S18j8zvgJrzJRBHxTfjM3mW/tHYiJS4QDahNLvu4YBfH502vzaI1vY/gijeqcn7u1wYS2GefOJgiswS0zGchFLjgtSb+XakICf++4SF+oWXlnzGXY+J4uiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9MuQy9jcIPtNyMTk1v1jBRS5XLCtFrZfuzfs87SRNgY=; b=Gk/5LRTeBMrNLW5E/nBDAe859qoyUC5NdzWqpH1m2sIS/mGO3/kwHwW+VU9j5qzSvq4MTjBQOZRp262DA4zsbeAK1oQPmH73DMXX4pvQXR6BQ7ljUEztJPgTpoYjWKYNjcygY4khTGemwKSRrVWRE2lg9ejcLgdCaOdkwYhqLHU= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:43 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:43 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 2/8] scsi: scsi_dh_alua: Do not attach for SCSI native multipath Date: Tue, 10 Mar 2026 11:49:19 +0000 Message-ID: <20260310114925.1222263-3-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0179.namprd13.prod.outlook.com (2603:10b6:208:2bd::34) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: 2027060d-b355-4361-905e-08de7e9b1e75 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: o5AudAKbDr4paETNalFmabjRRj3eEf+uGck0eMA1PRHpIXDa8/Z4yDHYlvL2zUNcqDskFuimzu7Dm6AcUd+h/IANg50UBDLSSnvQqIRAmibPMvocDaWtry7Zi/EdcqU5s7E+1ii6Biipyba+GfL6o6wzuH9tkmAf+M+6puLmsn/ioMkmDQ+Qrj9vdGBeD9QPIM6Vsyuyh6fN2VyH/88LwYdTkibMI3LQBTQk5L+0BbJvnHQrOFY9Wr/6BRwNnObtBciKdUxcnNS3yMFAjmqRLN/SUQxrpU7ORx0Ierago4+Mc0h646pwf5b66/KJqa3p1Fq50mZwsnx5xtLg+KAzwu11QcM4XbOuP6uBIuGN7saDPj+WGzftcQBE7TnRFSVLfMHtYGQsiyJf3T6XOH0aOj4/fppaW30HFks9P4hD2lILpCBPNbHGwoiIDp/oA0opH9HrDDEPuubC0IosMUKdan+l173RFpONZ5xSGU/KHb9ePfCtrgOU+fAOMrhY7Dc/SHn1Us32EYxCl7XS90jtPI5SpCsQCFoPrS7XAVJJU0m237kQmMyQSsjvuVWAlR7KOcV9W9qvPQOVKw9ahchU1mx4GYv4BaaJCJCaQD3VTh+Pbr6fhS5XuXYWDwJ0Nhk0fDsC/eyW77IFVdqzmezH+p+85sYqq1MZzSWZB6sSuGy03fN8dHPVnSpKNvOhbeuCdJsK7PWf+mAE+AzGxG60eh/xwxjdEVAYS2MePzPPk0U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4FfOwMcNyFKS16Lwi1SgJ2DA0RyM9UqIk32maDBqANuKRIx6+7jVls6zEbCc?= =?us-ascii?Q?i0bsS0TZr2GIRaszkH34BbJBmBIWRtlNpQHMHZsckRzk+34y0qIKZ3jEK4zL?= =?us-ascii?Q?6CwBCet+IIyuVXNW3zrVZ+5CJXyRoykc0o5ZfjEQialIy+mqb6mfe8/PAejh?= =?us-ascii?Q?o0nFhorkwrwa2YKI5MqRyMan/Q7T38W5c8Bvy4iIFSuRpowsshyF1mSEEU7T?= =?us-ascii?Q?D80tk+kaIZL3bFQvqinPeFkJWLlq0YARN7PHy6o+HrB85rO0qn2Pxio3/Emj?= =?us-ascii?Q?QoZesIZ4aHchUuN8VkEnGyuYxXqJ6f5jg+bmUi2Eeuj8LNDGWQv8d2OU4pvc?= =?us-ascii?Q?jTFuGGwpI9oH90j6lTPR3BnkX09QCCXVZ6lmx38onr5GLsepAiunZxbMpsxF?= =?us-ascii?Q?ch6Xgqtn2bVJ6keqjAlLosAn1GlBHQ4i++1oUTEFbcYYnzyg9VnThbaSgfm9?= =?us-ascii?Q?wz4J/8zXy1OpMkuPXw0fQRbOddPTbuRMXfuCkqLXkxD6QSf8e48uBYP4PDop?= =?us-ascii?Q?5lR9VBZwDO9OPlVB1qSu3H45UdvZ8dFHlAikXCAL6Ee8GLYAQVC06lyJFTI8?= =?us-ascii?Q?YdY42u4JGfcdDLB3Obtw7ujtWPUpvoxIubrUFR4cnnaJpOIu99pV3zkoIXsE?= =?us-ascii?Q?JfKQD1HBUYMLK7fGbO7gQP0kDLoVCViBYF9apWGYAFZyIManrzADVvGxIuRo?= =?us-ascii?Q?5+Aj6WMUgZJSn+fP1+6NWHV/Hy2U5I90K3KPC53g1XxiudyYDdFJdqBmlhMD?= =?us-ascii?Q?TISrhQdIas+RVCy+BZiVmu00rB0VhCC9ujKdmF1pegHspDsqnGCYHeLuaAo9?= =?us-ascii?Q?N2wBtq23Ht4XXw1xzf24zsgvqK519IbTixxIZbeUhOOQvk6jXd6mRuJaZCoV?= =?us-ascii?Q?Jo9/peZebULsqx1haCgTmB/ZdfdVY8IuNxS7rsgOIKpFS4krXkb8wgly6vB+?= =?us-ascii?Q?iMv9YyvqHuyMjPqb3I+4oa0/pRF0lw5psZgluP9bWQhurfH7ZR1WaNCVnrfa?= =?us-ascii?Q?9s6dQrs7TknaiAVPPc6PMtADQtbvLiSM/cSXp4vjmveJ+5AXNkAaZgUdgMq8?= =?us-ascii?Q?1K/2lHkPmmSzXAJDHhlKO+ZBBCKE4X4zFN0g3KpQCtq1Af3XPZuTfvg1BQbi?= =?us-ascii?Q?e2jnTnFb/IY7AYWY7LrqaJVhnKdftqsHRAYrm/CAuJtmcHsdfHU6X7wZ116X?= =?us-ascii?Q?mIQ2D4aR30eM5pVaWc4RwvWPIRobQ+0g7CQKwpb0BnNki16Woh1uHZlbxBOd?= =?us-ascii?Q?75GfwaYgqO4gSh+yLIkbeeLQVZGzLaUXZkdGGmiTx6ZhrqOsK/UbsJMOZier?= =?us-ascii?Q?vmluOUSSwgYTc/VPnt2bmwoto3k41cIwMh2yQgY7CL7+eRv7U5pFruUeVMWu?= =?us-ascii?Q?ZbEpsGcdFfLu3ODRWfd4Ij1MLIoBT6AvojpfjEakRWP7Dnp3I47PnJrT3Czd?= =?us-ascii?Q?dR2ARkvsuorix35ZHAf3PWZW1zhAI8NcyvBfm5o1igmZ/6dH5ImOMKNX8wy9?= =?us-ascii?Q?o4UuoMUjpZ4uYp1ip+0Dt+qDg/ePqXbY7/oXt9ga0F4ra3Byz5Fk8IvGRY4U?= =?us-ascii?Q?Xb9XUm/0KwbGQV6QWIjF25qKYdQ0n5I7Pjra5npk+buDRiDexha5n90uuCzv?= =?us-ascii?Q?XjjQjV2Ay7sMHxvxOdGIk1Fd0rCcdReYRL7ei6SVNn+M04M8hcjfHhyeXMnq?= =?us-ascii?Q?6wxkxRQ04Oxgp6HkuJPLT7XRZY1Z0E8Ru3Zi9uIxFkAgCOzLCpxCsc4mKEWv?= =?us-ascii?Q?bAYp+drYRLYnRa23ReyVUnO1BK3QQ1Q=3D?= X-Exchange-RoutingPolicyChecked: XL1gs69iziEUJn5HZ9qNEq1W0HkRqmkRpo1cldhKqK/MajCY0315oAId4LA6BJaSeUVJmfC57ipuHivIgQQ06NhBIuboEdOyoEgNXf47ignT7T6+xbF6L3LGH8EmxyfmFvYkRqqx3f+MXtN5RROvgh29mKAFm239OgNSxKpR+kaapcfinhUHZVgyBxesh1im68qx0bwduKYCn8O9BjkOesb7//pYyKLv+yWm7sFYla+XAdRsVAP9SBnSRIgIgEj5+WQr87J4MtLCsTgeikmspjH2Z9xlBP2LbUXEPTHWfTptBYs9ny9NJMxqBFrf3GE6LzcrchnaEFCvX9JYNTDlRg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ZyIZ6UPuduHZUnQzUnwhM421g50nnN444HZFuJviKu8h4MG6PGWqqbVou0BDOLDFSK+Bx6GPtpLWHOunVAS78eeZYw4gdVouW0UNXONlA/k056zruQm4vufubPlkFiw9QFBquOgxdkZSfMp04GDiCIRX3zfTFDP+UjGDa0qHoC2O2sMODFnnN/mTzpezBrL1LQRX+XGSPx3YKaWbgDtjV9URFnnWeZ5AzUrdCk+p99dyVvzPQVB4YrRfq0mEPkuaipSz4TZnJCJU/0Ja5yqMtpzMMFiY542OtnbobI65384X3//cVv6EJGBnmqRx10/IySO3cYyKzPSzvLnVRJtR6oRJeg+OZeevENV4jpAXsVUww9LFRi3o7baASTLht0fqfSsk2PM60dSCbO/iEE4vWtIsIHHu++k4o24b1OIk0Ru3FI6UNiAMFzxod9AVyY9zFC93GVB7vBmfOIMZD/C73ku+TKgJQ1abvUyrzeeuZWhwZQ4bia3okLueHLKn9Xv/vMVOcMjVHb23S77Auj0rwAncsbthpvkb6iHu+u++WzaqrXO/7VvtW4PEUfTJRm5dl+TOUxbd1wJN3IEBnbc5Qy03PJEc0MQIhxfkgSqHCN8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2027060d-b355-4361-905e-08de7e9b1e75 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:43.1223 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DpJshHHmbB9PjdL72JxCXT3AF6O0O1UPOXACsTLXyK/grDoaScNFSQsMKBjZRdvGNTZ46HyDKnL9uLIHhiNO8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Authority-Analysis: v=2.4 cv=MuBfKmae c=1 sm=1 tr=0 ts=69b0055a b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=BqU2WV_vvsyTyxaotp0D:22 a=yPCof4ZbAAAA:8 a=yvriYwtWD6XCMWUnsckA:9 cc=ntf awl=host:12273 X-Proofpoint-ORIG-GUID: BSdjvMp2rIqfWqAf_aZmbGxtOEcinZGB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX5GC7pEEcttw2 xT6iNCGwe8x3GurOZ21buh7/VKSSOcMtpjRHnvmsqdpmuZ24E99Zj0RgiwfO4HcLSTElgK9ixcg wpE7Rzr5+NJOEMi9Vgfy2GbJdHcNwyl1OX5UqD7oyTbcarI97v0e0rP0sWR2BjgLrPWVWIP05UH 8UXOgrUfrfSSr7U1/wrfZ9s3cdtJYBOfzxG/ZwIjzjIiuKX0ZHMzE68DdWJCk6cMH1kKJhCfD6x VgAcnav9ydk9c8Ozg/m18AR2AiHPs66B7I9mOUsVkGFacjgEa+gbdu/jqCTRlJU8B+0TMbxpZzF qp88fzRIk4IWLzSG3m6G8uwMFzrA2OiFpVZfNdPuqaCCWnYa3x73I9cy4snRvCWe6cFeI5pgs61 bUl8SkHsDS1Wpo6AD2opt0Cao1EX5wsKK0GqKUfjTIqissW9X9cVdTtwv2wHsQFvgf30lwWF65F P0c7TPLn2lqtZd5IORsKNl8UfdpgJfNiTtH+AopA= X-Proofpoint-GUID: BSdjvMp2rIqfWqAf_aZmbGxtOEcinZGB Content-Type: text/plain; charset="utf-8" For native SCSI multipath, we don't want device handlers involved, so do not attach in this instance. For now, SCSI multipath will not maintain sdev->access_state. Signed-off-by: John Garry --- drivers/scsi/device_handler/scsi_dh_alua.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/devi= ce_handler/scsi_dh_alua.c index 6fd89ae33059f..7b360e7f11a6d 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -1239,6 +1239,8 @@ static int alua_bus_attach(struct scsi_device *sdev) struct alua_dh_data *h; int err; =20 + if (sdev->scsi_mpath_dev) + return SCSI_DH_DEV_UNSUPP; h =3D kzalloc(sizeof(*h) , GFP_KERNEL); if (!h) return SCSI_DH_NOMEM; --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CDCD389E02; Tue, 10 Mar 2026 11:50:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143402; cv=fail; b=nSGbBNKPMQBsrNhO90iXP6zKh9updfVrmFI3TF2+tX0AsMIecEi1VrkAPxpzKaqT3xB9h4mZM5fpdIHnqFnf1JDUwG3pMC2OmD0W3FRN3Dpu4B/8TLAFbxJbsV22qhZ5J5/veQ2LBpFxzWYwcrll86Ap396nHkDnPH2QO5uYwIE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143402; c=relaxed/simple; bh=kWUiRPWNcKP1mXIElDFC0iqMpqseOvOtaPRFRlx3lRg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=iHC1ZCf1DgzFhZCrFO8AIXQksB4UHgbOZXh1vYPR5tjs3JOez3Pvg0VlK8Uj6dHQplnHtmwKQ1f956ztiZhiD6Hg0A9mmKowM7OKg9sfxG7XWeeoCChOIndwQ6BQaGEQbZPxvGafGqLUtf/fWGgyjfWpOWSpp4RH1mZAn7PGyPI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=F9zUIs7U; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=CPxVZqOO; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="F9zUIs7U"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="CPxVZqOO" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9aPk62773105; Tue, 10 Mar 2026 11:49:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=LH3iklJTkZe7LMNn+P8PIF+s9ip61wKmfmpC4UUsm9g=; b= F9zUIs7UGB6pdo9y3kkLu+zr8eiyYRi96Yx55DjApqju5fxo58+tLiALNrSmpN7w fY++FKTqGd6Wtqnj8T0cmXfZnBCLd/dphRPC61EPC2mfmW4WrfpI04i5QLnDCKzg iOwhuc0bdxbYr1Xr2euL130A92SvuhXIBFMFIW2OTH/bzvewIJtyV9zO4mBQCI8Y 8sHRQokoMsbsdC5+dueUydME9ZMPtPIyEyNd0U4Dpj8xyLu/0+l1OdGj5q0EwLFh rGCE0b3xNLFRlHGjFM/EiK9z6DYa0yXglYIyoWiGhyR1qCkExY0M0wuoxn5ExP+5 MSWydEnolxrIzDkcXR8cVQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csjnujpah-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:47 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62ABBqxJ014869; Tue, 10 Mar 2026 11:49:46 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012009.outbound.protection.outlook.com [40.93.195.9]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4crafe850d-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T4eaEjCYFcKRjWuIP+y9hauUmZ0EzhrkVdWfiUP3BHW0CvtFQa+1SS1ZZjBWUlU0BDuQnMk+iIpPY3Nwh3eOw1OH/BRmrORS7bKlUls9Tk28Rz+g4CQ71FHq1SVOqXGUbSmuAESIP3GTkDDh/ME+M8dDArH0AwmIY3WLinuRFOBeJMIrL+9+5R91xFEKfIdjKdpiicOwd0Z4/Fl2vjz3ZLSdzthz6Mu1xuOFCkys09r9aZmFKX7UAWSGpVBeRyZtzxaDnQGFX/G7nWQtSGGqhImTfwpI91X1INHyFO52nVJwvtrSe5oaMnbE7jC82VSrMgLBMiaRZ7SIV4xHZpaMBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LH3iklJTkZe7LMNn+P8PIF+s9ip61wKmfmpC4UUsm9g=; b=vBDmZyWpa1fitmF/kDevH6LJlkk8HaPvMeVJ4wwYEaVHnX0RGtvu2KQwY4DyLLXW+v9shFZxDUSxHmjSio5zd+2ddkZW0KJnWn2prYUJLrQYcLHzkqe7N+x/5vZIOzdr9HPlm00BZ3sZ4U/XdgmceFk8BR960T9weqyfXSEEgwuc+zYGMoTuX7ciKgahV8MYHTxwDB/Zz8DxUAR3L5eC7TYqPxqQkOcPvNg8huIIpB6lEBFlxbOFnjasUvt17qUWZZqmBXmNbo0yTVbsHKlFQ98jc0rXgWTwQJ/6c59EoOAwnANFva1vq3MxOy7jCzlFFM06o96VyiXyYRE3xP3uNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LH3iklJTkZe7LMNn+P8PIF+s9ip61wKmfmpC4UUsm9g=; b=CPxVZqOO8NQLVLBlwLEAiIya06ue4+nY9G8DA6QIng8s4cHOfS9LyMwoHrd2KOoCENYm8fFzfYCW1gGUMLP/9nVYFFa9DNcp52PVdMJvfS3LicvIGTVQYQh7dY1FbHJtRrth077u1ujvvjWLlIwAdao7NxGOsScE3C3rG8/RgGs= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:44 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:44 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 3/8] scsi: scsi_dh_alua: Pass submit_rtpg() a bool for extended header support Date: Tue, 10 Mar 2026 11:49:20 +0000 Message-ID: <20260310114925.1222263-4-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0133.namprd13.prod.outlook.com (2603:10b6:208:2bb::18) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: 3dba6de9-2486-465f-32bd-08de7e9b1f43 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: /KYCGrHOD5Rg4WTki0u7DGaiJPOdk12nGvgreAFhfMdmEmvVlwvLcrZgnL4sYP0utmKhWyeSxuDzkVCJBBW/1Tk0hfq6BDHwhXvUBasm6+9xnJvcRFCENbt2hrjRv1we6t8nfVWLBnXloDOUnskHmKfCnU7KGcgdNuWv8P7X+aWN9ejEQBbUp08uqgu1se4kIcy5H/0NV0b30kysj0TptnFzxWbxK5k5jiEu69BEdyjwfRkMqWIQFT2o1ZtOW3AiKgDYaTA1HnK8zklfwlPj+8/4YUx+DiL6QqU3Db2U8/N54S4v+10OegMRA9fgUlGS3tlTR12vMedspWpXW+BbAyO5Tj/qaefPPvXZLcaHaokXl2yXEb4uxIDGiKQY/6L4njITn+RvK1N/t8FVyAq+1IQ2ohYYezsA6gRdxsI8/IUWl7R698vQU2oH11mLCIwVQiT3b0CGnGmIw1EnszXbMutIEm3NZDBCbEuj8NEODn+kPQbwMm6sC/yE30FprRgWOK3b782OBRC0HPljXCk7WjH+vW//hTfkgXz8oC70TX/mSlFUnMcRyOlks1a4HsI96BK2e17pMEjO8epJ1IzS0Eabg4pi8lzq3sVfkNe7+Bf/T8exfj0zgHvC287ttPTAGeQz3yMkuj1hPctL9imRoeVtKjRzlpgyIQLLl23oQPuZCPGspMMnmtnt7phlepdpJripfK1RaDLUjCQUQTSiWJar8AGwDV+jMtPjw/c383U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iqlfLCLTavzoFc7GvzGE4kwt0SwtgdgenyxMHdzzheL0GSK13rHO2NKuhmWP?= =?us-ascii?Q?6RRPRL5K0LOSWyEd9ObXIsqVqrZrqVW9mPOJxnnuMyAATM3Fmi7+BxomVoL+?= =?us-ascii?Q?dXm+Jn18rKBmmyKNvayh6RCMbkRSlUKZTE4y9XN+CQ2kEcveG+JNMQGkN+b1?= =?us-ascii?Q?tntc7kEVgVsYqUc7VHzUfdELM40u/cFacRjLOhAJqHlLs3QRrKxUdiY1EBOn?= =?us-ascii?Q?0ExfPDSiT+381DwuQXByV15HvSJpRYdwId7clxGZ5Dg4DzxdTYIQdImMMElZ?= =?us-ascii?Q?6ILs/Prvah3ElPJYlFFUPywG0D8AvDkb+gwoXz4esTbNbjVQxczyj6UqxjUJ?= =?us-ascii?Q?1HEdEcgPoLqzOXg5GWP9tl3Nfev+y4vqIa7pHew4Qg6dYhvXzYFJ6D8l96bl?= =?us-ascii?Q?ofuOwJABxUZblBneGklyeSkGvqtwiw8kTS0e7TJx2RgMzxvUSYmmusaWPsqL?= =?us-ascii?Q?rAMALT6zzfV0BKbMN1zmd/64gR56EqKSEDsNBQgFvA3drT5rZX+BIl7f70T+?= =?us-ascii?Q?XfH3nZwcyHwtGXfDrILzKlYkS6RhQjeZiTXbOWyKZktUxWHHaGjAUZeOLZkw?= =?us-ascii?Q?4V8GXKUZnG3uNJsBfCsHUtHQa7h74IgUGW998pGUhijtnKRloBVp/K8KmuZh?= =?us-ascii?Q?UaN1aKKTHJKFDYBmVYRuidL47E2WEu3jx7FxJLUU30MwTj72hVfn3eCLlYsh?= =?us-ascii?Q?YmTHkVwEjI0uBB48MOJtuFloPW5Cglup79AI46wbvE9YeHkYl0FlCppMNjWm?= =?us-ascii?Q?PvZMGx/+letaalnI/bZwMoxiDly2Daqthk2S0CcHrrAvyNd6QpVVmPaxFz38?= =?us-ascii?Q?ZMIcRp/P0TuNjYEzvmocyCAR6L4bZ3R4P+gGPs0vwDhz4VcTLDOd6ir2o3CG?= =?us-ascii?Q?Dc1mrjz1fPvwK7XcB9H8jG+QQNb/4gbBraMXuJ3VvzG75xUCUqjcddKhGYrb?= =?us-ascii?Q?R0u2UgkP/jOguTtQY/cFw/ekYfrLWp9dIv+1Luw1ce71/rDEGvh/AZIojJAv?= =?us-ascii?Q?6TRrVz3VXdPjV5EAx56pl2UDDEr+Xro5Irh55KmkSsVf7Nm7e/q9LOLTrCz5?= =?us-ascii?Q?tnxdjE9U2xovtO3VOu7N9yf+1eqliv+K7fG5PsC1hZyicoys8N2VIvDMNaTM?= =?us-ascii?Q?iW8heDGKAiyTJ8w2FwZlc5SheBX3kTk4W135rZ5nbabMAcrygLrSp+5Zwuxd?= =?us-ascii?Q?yaRAaBOch3iI/GPSrfVDcOs/quDxvC1ThBNvPk+DJXDOFuLFMO84rti2r9fl?= =?us-ascii?Q?F4zNLSI3iRv0KSzF6Cyqe+H4RbmDE8Y0kwVOuQRPJGBdR1+OZTM+MpisuAju?= =?us-ascii?Q?VXOLOuWYPEk32YeS78JsKNsbsH/SPcITj9CmMHcpnd/4tZbFlfYHY6nwbZCw?= =?us-ascii?Q?EQhNxWdjDSBQGi0QHVQw+vYhKGDCTy6aF6OeyNRYeV9kgPF+re0Pb1athZ5+?= =?us-ascii?Q?D5i6/RJ+vsk47fQrMp3dy+Urp38nXZ7xvhHiUxYwhZ7inBupafqJ1Dxxbg6u?= =?us-ascii?Q?BZyAX9mChE2n+LiXQzehF4vqe/cfkwg5Nhotl5P1wCdfGTxfx0k3PMeXnl7E?= =?us-ascii?Q?jVdQnQ2frS8N37qAniIVx/wLJDpt8zfHY4WDt0iBf7zHTzdyqaA3QPy19qBZ?= =?us-ascii?Q?vKBXrTUofBCxzqnK7QD7qpEVjIrriQc79BUMWYjueXf3l0yc3948B1XsLJ/V?= =?us-ascii?Q?S0ERi9Vzu+jzbmI1xFiRVi5uD+ogDzbh6+0voNjG/vV9nvpPwEdntCaTlriM?= =?us-ascii?Q?d1PIYXsgzA=3D=3D?= X-Exchange-RoutingPolicyChecked: NiZ4Y7M1rRbmlr7xiIGYAQX5XL3Ntvy59biY90ajJmhFRiVwNAkeoA2N2sQvrw20YB2Q5uqnhZ8eqaOJ/SjNeVFa2mZNHYGGcoNhK5lOJYn35M1bBs9Inv84/Mpkw2d7uy+QcRhK3qDX0F2lxBVnf3AfA8zZqr83XSdjNkdqx5xOMJK4uysY7OOBxKdj4jkfd8mx+5jrya45mLN8hY4S1QaAxPRk5gW0czDy2vHRwkPgMrRWda7z0LOSHksC5t/FW1M4z0q7ghVbYfOI+eLj/xiCNDTghXRKW+oWkl0ViMjM0lvu7Nj/aWhJH1+1swIZm+WoWLkP8SeZSyeBngFpVQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2kDjuszlo3YeTQhft5bZeWhRLx6WJCf4/TnvbFFMPdsuJysc9IHgWpibBNDkZ/taqYuLNakjfps02dJwo9Np12LVJzfWMqKPOxoqQxvBuFc0S9RYk9RVkAeUQBkw+73kcVWDOl5GDIN5D+BO4ENyr3aNrpG1MaiRHp4Vs3ElD5/4tmVO6wGbfsW8L+hDIB/d+DWMNV3dLtl4Ilf3o/CVKRWcDRcKdrouUaeVXxzXCE0gQz0T48Y3sIv0Igck5wdErnlTGRNak0GO9VCgQD5wX9f4zgiVKecJ6CszS7KegA1A/Cm/1Af1DWpxzcMYEUl2vvG+rcE5HQFjpbQ1ITtcFHTODWZApZ8gPqh/Mi3y4k7I1bCBFQc1qvJx9h1khJRLNj/aOyPXV+KYYT/A5Pv+H6rC5Z5KG9gFkGRXFwFalVewvGnasi/j3Z8HP8VLsolRsNu+z7f2hm4o9E/bPXaGMw5Osuc2JCl56Z4fBXA5DSHfCSeEkWhNiVhN68c7+mmxow8Y8smxj9T3R77eOVMdyb9XyhCoUbH+htcQ9ym2nWkFymjg7HBTd6ttBB9/dIYi6o9un3Otny3AxHy9PMtan/b7lbsy2moenz6nhxM47ug= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dba6de9-2486-465f-32bd-08de7e9b1f43 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:44.4337 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1y/7Ri9YvbbfGbYC7owIELyOb0E8SgvjEOZCabDQycepU4BAZ6SVzay6R6Ut7m24i/wOwDVrbrksJA3kNxadrQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Proofpoint-GUID: cCwA6XPujdBR3ULe5no7SzrcyFZfuJBd X-Authority-Analysis: v=2.4 cv=c7WmgB9l c=1 sm=1 tr=0 ts=69b0055b b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=yPCof4ZbAAAA:8 a=fg1W8QEykYd3I03PS9AA:9 cc=ntf awl=host:12273 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX8N+D15f20HYU +yIIpkfLSUkvPg3fDtCOcn5QEL3NALBYWilquFQvij347pULPHIuKXZeA/F98CUbBxQ/JaAwrIM EDI/LKT0Ysqx15K7Y5QOkwMtK8bEIgTDWXzyFKBy/u+88XkwgeqeASrCUU/mBtKarcWUnPBgAJD J2JbWV0dYyOUxHY6eTKKGDbFL/33FcRxP9EeXoDhMcq7ffMzRn+ux2GI4zA2Z/anK1LXed2c13d IBy+a7nntanyLofupL/zKYhIDmSsbfiqsUmywlrWCjcVcyvbyEd+rRcpOgz4cS+hMQ0zeKdOWjJ F+1bUf8Jkvr8A0dfCANrsk9VSXpMYHehoKIXknY4u3eBTXptCiXefkQdY6iVtfwE9Rl+Lhzr6T9 KaoGLyM1qoSfnl3MXTHXXBXxAaiJHBDQNrvMq//nlYGU6assoy7kLepUkkNPKHHN/Nk58cnyvWL XRZkStxWrDRSRkeJwvGjl1X5KtbsQk5MCx6+YF+8= X-Proofpoint-ORIG-GUID: cCwA6XPujdBR3ULe5no7SzrcyFZfuJBd Content-Type: text/plain; charset="utf-8" Currently the pg flags is passed to submit_rtpg() to allow submit_rtpg() know whether extended header support is available. Pass a bool instead, as when separating the driver into a pure ALUA part, we don't want to use pg flags. Signed-off-by: John Garry --- drivers/scsi/device_handler/scsi_dh_alua.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/devi= ce_handler/scsi_dh_alua.c index 7b360e7f11a6d..e9edd45ae28a3 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -124,7 +124,8 @@ static void release_port_group(struct kref *kref) * @sdev: sdev the command should be sent to */ static int submit_rtpg(struct scsi_device *sdev, unsigned char *buff, - int bufflen, struct scsi_sense_hdr *sshdr, int flags) + int bufflen, struct scsi_sense_hdr *sshdr, + bool ext_hdr_unsupp) { u8 cdb[MAX_COMMAND_SIZE]; blk_opf_t opf =3D REQ_OP_DRV_IN | REQ_FAILFAST_DEV | @@ -136,10 +137,10 @@ static int submit_rtpg(struct scsi_device *sdev, unsi= gned char *buff, /* Prepare the command. */ memset(cdb, 0x0, MAX_COMMAND_SIZE); cdb[0] =3D MAINTENANCE_IN; - if (!(flags & ALUA_RTPG_EXT_HDR_UNSUPP)) - cdb[1] =3D MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT; - else + if (ext_hdr_unsupp) cdb[1] =3D MI_REPORT_TARGET_PGS; + else + cdb[1] =3D MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT; put_unaligned_be32(bufflen, &cdb[6]); =20 return scsi_execute_cmd(sdev, cdb, opf, buff, bufflen, @@ -566,7 +567,8 @@ static int alua_rtpg(struct scsi_device *sdev, struct a= lua_port_group *pg) =20 retry: err =3D 0; - retval =3D submit_rtpg(sdev, buff, bufflen, &sense_hdr, pg->flags); + retval =3D submit_rtpg(sdev, buff, bufflen, &sense_hdr, + pg->flags & ALUA_RTPG_EXT_HDR_UNSUPP); =20 if (retval) { /* --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 60FA938A725; Tue, 10 Mar 2026 11:50:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143411; cv=fail; b=U5lpvHZbZB6dyIeNAevORqOqRZ0POLM5fl/bMIHz2Arx4My3fxsAxmpParSoDvxgZNpY7a3On2zGw36Uu55BQLGHoN4BuTejlj+edfZp4LKk3OEFIMuq3ci45c71zgazE3tSJZG5QhEK5YTTgLQ5a5IB9WnJH9dc5pVqNsn4xKY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143411; c=relaxed/simple; bh=sPjRpDYqwjwpemHUoo2OXIbcVuQu9lajdGqCHxdrUrI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=eS1eC5sVoVT95QUoy2ShUbSH8Zx+ACjkBXWv1qhBqnPm7tznYc+iyZMXwI/wAYc+eN/8SOeGROtcUcl5/vWwTP1EaXtXA5wQB5pG1YNVOYwPr+Nwvhj5Dep42vEYsJxJlirgCEPzkPEeqqA91mD5m2SFG8sOXjXn6BP5CFrYPI8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=SO5jTP2t; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=x7aoJtf2; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="SO5jTP2t"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="x7aoJtf2" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62AADYPV2346954; Tue, 10 Mar 2026 11:49:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=8n9Unpn0RFiP0EZbsLgPY55R6k52/EtX0jHRIFNIQKc=; b= SO5jTP2tULcBeThyoAheB2OUrOTM8T/ctSzJpTsDJsMvnMyWVJWpnmESP0vK8B1C 51B5AF7xA3CvuzZSptwAQmzGObLLTslxkX2g1ahcElUpbVsk3KQ6yM11naOzw2Gc YhnDFz+8Y5uyqljzuqSBVX1jUyMfDnltA/ePXNl9393vc5sNbhVk2Cqr/8WTPUAO EBR1gLKRjUj7IWAkCDv6EZOMK+7flf26cgQ9ONU4MHKQP6mua1knwjQIzxMZHKa8 L3V8cQ7fOxN9HrdB/Y+h1wMSWPFk8oL2VKWP/N0hSCP0kql4MhL+AXpmsKPpUJ79 mNjEKJiCsIq0Vj4jDf2J6w== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csmmaanb9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:49 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62AA07Fp039595; Tue, 10 Mar 2026 11:49:48 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012049.outbound.protection.outlook.com [40.93.195.49]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4crafa18g8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v9p5sYEThsTBPyPBXCV+fsQWx+9G58Fx2bdXH0AnnmgAy1OCwPiSeapcE9Ivp/PV1nT1rD2sTALzr12LRUK9cNOIy5hlA089GlENRDEoudd+EW/RpqX8riG7HhmkEvBq/TFPlG0fG4uv4Pwq5NqTDnCs9H+3Jr54fN94rilVWB0qqX4OyA8klSHrz3gORdWEUwbjrV5xpHorEoCYlosdPiHxbU4qaKYsUTDXlzEiInQ791Fj2xxR/6L0YhyDTkqqcriqkIA0/ZRqVo609psoPc4d53aEKDXPM5gMAd0qCJ4xZnVkSwUWtNtQmIXpapkjiitJSqm7QCQaEldPwCLlig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8n9Unpn0RFiP0EZbsLgPY55R6k52/EtX0jHRIFNIQKc=; b=WvgmVdNhl2c7INOsKFkUZtk8S0on09Bye5CRwJd6NmjY42uZpUKphene9EgP/V3KPjMU6EldYW/MyGM6eIov9CrxsfjBUPjVUJ9y4DQ+58ALluoKddn4Tfc5LYE4zTaGH3nfRS3PsazjdITILft79YYlC/sjp/2NasQdfg6MO+8zrz4G6yjdw/XnysCoBNWr16uuYtefkPu3bb7OhE3y+RggM/ExgyUwAYxE6sTRVB1bHrhp3v1RkDr2d8wtN2eYREcvUtmw8LWI1zQmmgwkBhizeYWNYEYtanOKW4kXgxXiizJwMNr4fuYQDtYGDy2iHcZjOsnG6B7hVABKZWRXpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8n9Unpn0RFiP0EZbsLgPY55R6k52/EtX0jHRIFNIQKc=; b=x7aoJtf2mY/nfpm8YWDUXG1Q1vfbzkX2G70fVNlMtC9e895sLbbQosMxRCgHo57PjQLWNSJr39tdhwXLYfw4CoQkMaq0oo5x66NAA2rHBMQrmcTuwBHzPsNEsabV+y2b4PRObjpXCdKSMNZU6s9o01oDHbUUsHA0bQLcjra65jo= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:45 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:45 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 4/8] scsi: Create a core ALUA driver Date: Tue, 10 Mar 2026 11:49:21 +0000 Message-ID: <20260310114925.1222263-5-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1P221CA0018.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::30) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a81f20f-28ec-4639-e48c-08de7e9b2005 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: tbiFnXFeKpjFyaHoO9Z7qkNx2Rd62m4Y4uybeWwH7tcaANl4GUgUKx712i0BVr++7LBIEgTmy7sM4mjpgoDuhPJy7xhqFaF9+Iae6VdgNQvC4sszGliLbBUdArsK7GlUjvtrlc9YJ9tC891LkgzpgZ/JbEH9u0KJqOrIeFzdbRBpTXZjgfWBIf/jN/ddu0HRIEjwV8cifwLngn3KW2pq+JIZHtMZPLIIXZLaRr6vfR/E1ezQi+Zqbj4bfg6hyEhPsLfj2zZLxM3gWl9UeHfWvIQtSf0bCgJouLwUjYHJ5GvPeuy2X7yamRyxuhk732nzGoT33FugIbQdz+wszQZ2i6o2xZ4XUaNPwfbwshUoJvWGwpiCRJL+V6BKxEcgvBGL2GTqv9TEXLQClyzFgjIzgRaUXi67xeAy6zS8nG4IOguNkT6not7hvtlwUSs7SuGgHjvT2d5vPOvrAVpZAjO6IX23tJa0m6gonczOlAeVHOOaP2wyYI9Ou+G6Q8R9YjQcWNYXY7ZScoanCeBKOuP8M1kX+e7P39y9VPWm8kIjR0wUJQIIr4rPLT+2M1Cx3oOu8UKolDeUG5EGsx2xQL/810bmkll97aXe/fSPo2fzS7xfyynVdX3nPDgSwZmmiHQVJQZwQJy/oAhDCxfApdFNbTwKXiRmwtYtkSQjcoN3dioN+OlrVEMjROPM+DhYCaNsJMHMbM9oxfQ/WBVNttpBtt/GDxgXP1cyyIoQ3ZJZ8UM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?irRTKCdmBh1Xufhe/43OctqC16Kw3M7HkWX5KuzPM3/G1Xi0L7h9AOAp+YnQ?= =?us-ascii?Q?2roFyZ84nlOjaAlDyLDPr06ggb3K/qXAw+BiMu1jDq2B1LgO+O4Ie3AxyBi8?= =?us-ascii?Q?Ku9QckfiNkpvKBRMgMtqcqFbIZqSgw8NHn6kpO3WhlfJKRS6ssl7nBxc95As?= =?us-ascii?Q?seyXjfST7qmuNdsHdn29ALYa1ynygq8gteuPg0N1IzLRoNx1GcVS9Mdtsau+?= =?us-ascii?Q?R2DopLC8CFCwHqfc+Dout1Za7GFXD3sYiirukcc6anMeM0n+GT6Ci1hau70c?= =?us-ascii?Q?K7tdsUmAof3LrO7HJ+4Wz2DEtDb7RJWttTxfKMSb75YHcRo7cbS153un9YNC?= =?us-ascii?Q?IdJxZ5bP7ezJdtUcI63sAJ4s7UDH22gm8uh08rabev69FN1N2AMcIt7yCJtY?= =?us-ascii?Q?1AvXnvkhNhPU6maEihSozd3eOpD7Gyy8gXkIftpAfO53sPicLpM4oLYh6sQN?= =?us-ascii?Q?pzMrhPO4cgOyYlWpH4bmfpo68xpnfzsGGp6SgXJAlEz/NKrEEAKpdTQdSrGy?= =?us-ascii?Q?9WVua1+DHAKU6HC+u2GgVMx26iXflpgujqOXKbmVeQhbPIY8iwo2dMoG+cPm?= =?us-ascii?Q?9+L3ugNkQCcdhggD3hR5CyWU/DNj4YwCLT7LSUTZ7S0BOvYU8WQC8FJyv9WD?= =?us-ascii?Q?J2U0ZcNCrNAo9IAZv48qtSup6eO4iXrXW88o1T/ZPPPTAL5s6qKbxKtj45P3?= =?us-ascii?Q?DswdPLWpBWRVjTMUsthg+3yO7Ut29FoHczs5Qo+tjgzR1ySgTaf0VF4QZSic?= =?us-ascii?Q?5k9WT+pFCqSfsDpkWHJ/JGOMX6WSbNkVdY0a4l0o/PbgYTYr4E/r8o9VT3Er?= =?us-ascii?Q?o6Nng8rGmSTVBqggPfVy6C+oAojKRyotOx/3STSQbBRrWAJ5AKrSaKxzGWPX?= =?us-ascii?Q?ifFZWli5chydyEk+0KT1XcS5nXDGMkBuNu685zmDmR3DvB9zNhzD8wZnWVQ5?= =?us-ascii?Q?UGyrbqQOK2e/LCH+eZB+WiXxLMAQHzjU2bXJANbQwHrkrzqiDyEoxN3EwoKl?= =?us-ascii?Q?tl8/4S/oOlSZqxaQ/DgqpzhgiFttKpE+/4om+hsMYwKOd565oeW2ybzvlpd8?= =?us-ascii?Q?jgSuCANJUAhoCk4gP3Wk/W6lQacGNlrB0+lqoP6CfLEEenwBDY0gcDUj+mVp?= =?us-ascii?Q?zpBhCWmuZXlSzI15oIJml2blDn8ddv0FV2ZDoAJik45WH51TBr+k8j7wLiW5?= =?us-ascii?Q?unQm+5MODqtZnDnBlPErALussNozo9msShUhd5Gh0ExrEY5zz0Ieaew67Gzz?= =?us-ascii?Q?/xb0RLtE+nQvXyVh6nArzd5U44RPCbUZEdrZ5VuQcjWl94UcsGYytgwoMciP?= =?us-ascii?Q?ycyhBg1C9ELhlBM1akcxZgnw6LeRFiAIH0Sf0wG0plyYUNQrFMOSmtLKnPlM?= =?us-ascii?Q?+I733OdgMDv1RJRGh6U6cyvad2GD2g11wIUurl1pc9FAWy7Fs1sQN/lN/hT5?= =?us-ascii?Q?hm83dPYHitCBPHI2cPmlp57MfbQeE+I/wFU/r/yn+uVGjpWsAfAzbxPMF6Im?= =?us-ascii?Q?JGPDFeVEBzEoRPL8EbonaD7oLkK7tF1cdScgVp4LSRfgB9TStr0Ekzc7CN5k?= =?us-ascii?Q?tD9fdHYwlCRhiWzLB3G+nomhWayyIsbBsN1BKeMKPFe6QMC0eUvq8ORYEI0p?= =?us-ascii?Q?FWCfLQsOSbZ9EhLnLE7tTQL8mncSlzVQdlh79NSVvQOfXXXWTDHB2DpoEHlt?= =?us-ascii?Q?VUgi2Tn27sssD8vNkCkJLxU2XZiFpAgdgrHqrTlN9JwI0kY2xNt6xXv20oBH?= =?us-ascii?Q?fgHcjakrnQ=3D=3D?= X-Exchange-RoutingPolicyChecked: OPSnN2AdvbbOVbcuH4wICYO7iajKsu9T5HDjqolJPK1tGXISCXeibKlOGPZriI+cXW1SylVy0+Uo9c3jx5+q2+DEiuzB5NsTNDyuVQNINW3LU0y1LYdEsdvNN3VHxze+d5FwcUNaNO1vbteoIK0upgOO8yXD+qjB4PweLcToO4iCwc9lke0A52bw0ITtNmY8SIzBrdNEvt0ePfDPw7L9nG0pSH7/QlnynHOvKGKT4MddWC/Puo5Mnph08ipCex3EFQ5fe3YcQBwsW0LX1Uakl8QcvuTLz6fhEowhbhxgAupdQLUCYRhr3G0Gkj6eERJ5iFECRpVNiWMDhMpsyUBJWw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: eNm6PJN7dIvu7hCRSj/IOiwxAhme+hfOLvTzOaSNu+2JRIrV63VsiAv5KgeanLl9IPiR/5Jk2ma1rOWM3XNi9mPvF0MslSBzAmqc9nvsP9OS9+xthdLFjmsHH98RFaG2vd5URlMSKwUzPXJCCl1QP4j9zZw4GLr7FsA+kUrVTEGg8BTVIsSV8RpYofjX7VzbJhh10pHE6gzvLoYOxOiUxaTcrdyuDl+B/nZx7rapXQGO8qj1rHbeC/3eoJcSKP0ySELpNRgUE6LTcy0iJ8SZflVZRIcFN2SF7s29QwRntyTxHnNtOhOrqEjm0KyeMDvGwcvohYEVIZgEh++W526EviR+q7wST48+e1xYNjeNqIlUAG3J1fvhgg0nhmqGWXXtTjQaFEGTY61vXSK8Pv4VJZQTfUPbPXPr5UtjAR3GyDXwQvrdlOHSPFxvvxllNgyqDpAc+akX3Fkhh9BlRfQtbYBuEIOIYAOFsGM+7ChtVMrReLwvV+UjjKj+jkpYUljP8QeTBR67M2nZnmZfWiPUSwzFuDtcNK2il7mjnOAZ9kdYN8uG3EGUo18pEPmJ1VKMhwjUMSfTMZIE9PzQLotz7JgpdI9KvB8FNZMIJPVj4yg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a81f20f-28ec-4639-e48c-08de7e9b2005 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:45.6852 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UELDF+2V6MoW+33IZH2cAPD8gJo/rgE6w78yjGT4m38lM7340Gr4UMipm+ITLzVL7D2f20XP1T+yHBsIH6wyfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 spamscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Proofpoint-GUID: 2IGW4-oU6cXv4jqDiqWSNiYokvKOGJVR X-Proofpoint-ORIG-GUID: 2IGW4-oU6cXv4jqDiqWSNiYokvKOGJVR X-Authority-Analysis: v=2.4 cv=U5efzOru c=1 sm=1 tr=0 ts=69b0055d cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=EIcjfB9IiI4px24ztqRk:22 a=yPCof4ZbAAAA:8 a=XL_M-tDpjql-NjFPQvkA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX1l5Gxb0sutl0 FtcXcl3KAWhCy2fKWDRKcY3IHy3LpmALR1pT/gFeE/lx1DFBshd8wTBqZXVq8dZvcHD1ZW1uYue oKWAwCMwPTgn9YjziE837hcqHcmjl+6nJWwEiCOcKm2Szq94W/SF9Of96Te7ydnqed9Q0qcNGmL rBadp7jcw+ii6GdNvV8BinTgbnbqVYPE0VyPyMjRaB19dnUmRaE8x1zDiNNgPHAAvXLP4bCRbVE QsRGNupa+li6C2D4XmbQQvG0HmJqOh+GPjHMraatKxdtvsckTmgkVvY8ssg4Y2iSQUI6cMPOUdP ODXNo/c6BQO3EzMnk4+z7eb3ifJn+jN5+K7ZI8UB+XpLL1Vdbv39dRm2xGuE3yWi8Z72Tp8/w1F JjI88B6t/pe/ik1IY6PHaiXF4rPnD6Zu9kLDBWSqvJpNUALlK2qqsfKiXgGrYJ5sxQVKJVIIxvg wRNvJW9884kJBaP/1VQ== Content-Type: text/plain; charset="utf-8" Add a dedicated ALUA driver which can be used for native SCSI multipath and also DH-based ALUA support. Only core functions to submit a RTPG, STPG, tur, and also helper functions are added. The code from scsi_dh_alua.c to maintain the port groups is not added, because it is quite intertwined with the DH code. However the port group management code would be quite useful. Hannes Reinecke originally authored this code. Signed-off-by: John Garry --- drivers/scsi/Kconfig | 9 + drivers/scsi/Makefile | 1 + drivers/scsi/device_handler/Kconfig | 1 + drivers/scsi/device_handler/scsi_dh_alua.c | 198 +------------------- drivers/scsi/scsi_alua.c | 204 +++++++++++++++++++++ include/scsi/scsi_alua.h | 50 +++++ 6 files changed, 269 insertions(+), 194 deletions(-) create mode 100644 drivers/scsi/scsi_alua.c create mode 100644 include/scsi/scsi_alua.h diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index cfab7ad1e3c2c..1a538c84ddf0a 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig @@ -86,6 +86,15 @@ config SCSI_MULTIPATH =20 If unsure say N. =20 +config SCSI_ALUA + tristate "SPC-3 ALUA support" + depends on SCSI + help + SCSI support for generic SPC-3 Asymmetric Logical Unit + Access (ALUA). + + If unsure, say Y. + comment "SCSI support type (disk, tape, CD-ROM)" depends on SCSI =20 diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile index 64b7a82828b81..053fb51d98092 100644 --- a/drivers/scsi/Makefile +++ b/drivers/scsi/Makefile @@ -153,6 +153,7 @@ obj-$(CONFIG_SCSI_ENCLOSURE) +=3D ses.o =20 obj-$(CONFIG_SCSI_HISI_SAS) +=3D hisi_sas/ =20 +obj-$(CONFIG_SCSI_ALUA) +=3D scsi_alua.o # This goes last, so that "real" scsi devices probe earlier obj-$(CONFIG_SCSI_DEBUG) +=3D scsi_debug.o scsi_mod-y +=3D scsi.o hosts.o scsi_ioctl.o \ diff --git a/drivers/scsi/device_handler/Kconfig b/drivers/scsi/device_hand= ler/Kconfig index 368eb94c24562..ff06aea8c272c 100644 --- a/drivers/scsi/device_handler/Kconfig +++ b/drivers/scsi/device_handler/Kconfig @@ -35,6 +35,7 @@ config SCSI_DH_EMC config SCSI_DH_ALUA tristate "SPC-3 ALUA Device Handler" depends on SCSI_DH && SCSI + select SCSI_ALUA help SCSI Device handler for generic SPC-3 Asymmetric Logical Unit Access (ALUA). diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/devi= ce_handler/scsi_dh_alua.c index e9edd45ae28a3..42fa6bf8bb480 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -14,31 +14,11 @@ #include #include #include +#include =20 #define ALUA_DH_NAME "alua" #define ALUA_DH_VER "2.0" =20 -#define TPGS_SUPPORT_NONE 0x00 -#define TPGS_SUPPORT_OPTIMIZED 0x01 -#define TPGS_SUPPORT_NONOPTIMIZED 0x02 -#define TPGS_SUPPORT_STANDBY 0x04 -#define TPGS_SUPPORT_UNAVAILABLE 0x08 -#define TPGS_SUPPORT_LBA_DEPENDENT 0x10 -#define TPGS_SUPPORT_OFFLINE 0x40 -#define TPGS_SUPPORT_TRANSITION 0x80 -#define TPGS_SUPPORT_ALL 0xdf - -#define RTPG_FMT_MASK 0x70 -#define RTPG_FMT_EXT_HDR 0x10 - -#define TPGS_MODE_UNINITIALIZED -1 -#define TPGS_MODE_NONE 0x0 -#define TPGS_MODE_IMPLICIT 0x1 -#define TPGS_MODE_EXPLICIT 0x2 - -#define ALUA_RTPG_SIZE 128 -#define ALUA_FAILOVER_TIMEOUT 60 -#define ALUA_FAILOVER_RETRIES 5 #define ALUA_RTPG_DELAY_MSECS 5 #define ALUA_RTPG_RETRY_DELAY 2 =20 @@ -119,70 +99,6 @@ static void release_port_group(struct kref *kref) kfree_rcu(pg, rcu); } =20 -/* - * submit_rtpg - Issue a REPORT TARGET GROUP STATES command - * @sdev: sdev the command should be sent to - */ -static int submit_rtpg(struct scsi_device *sdev, unsigned char *buff, - int bufflen, struct scsi_sense_hdr *sshdr, - bool ext_hdr_unsupp) -{ - u8 cdb[MAX_COMMAND_SIZE]; - blk_opf_t opf =3D REQ_OP_DRV_IN | REQ_FAILFAST_DEV | - REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; - const struct scsi_exec_args exec_args =3D { - .sshdr =3D sshdr, - }; - - /* Prepare the command. */ - memset(cdb, 0x0, MAX_COMMAND_SIZE); - cdb[0] =3D MAINTENANCE_IN; - if (ext_hdr_unsupp) - cdb[1] =3D MI_REPORT_TARGET_PGS; - else - cdb[1] =3D MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT; - put_unaligned_be32(bufflen, &cdb[6]); - - return scsi_execute_cmd(sdev, cdb, opf, buff, bufflen, - ALUA_FAILOVER_TIMEOUT * HZ, - ALUA_FAILOVER_RETRIES, &exec_args); -} - -/* - * submit_stpg - Issue a SET TARGET PORT GROUP command - * - * Currently we're only setting the current target port group state - * to 'active/optimized' and let the array firmware figure out - * the states of the remaining groups. - */ -static int submit_stpg(struct scsi_device *sdev, int group_id, - struct scsi_sense_hdr *sshdr) -{ - u8 cdb[MAX_COMMAND_SIZE]; - unsigned char stpg_data[8]; - int stpg_len =3D 8; - blk_opf_t opf =3D REQ_OP_DRV_OUT | REQ_FAILFAST_DEV | - REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; - const struct scsi_exec_args exec_args =3D { - .sshdr =3D sshdr, - }; - - /* Prepare the data buffer */ - memset(stpg_data, 0, stpg_len); - stpg_data[4] =3D SCSI_ACCESS_STATE_OPTIMAL; - put_unaligned_be16(group_id, &stpg_data[6]); - - /* Prepare the command. */ - memset(cdb, 0x0, MAX_COMMAND_SIZE); - cdb[0] =3D MAINTENANCE_OUT; - cdb[1] =3D MO_SET_TARGET_PGS; - put_unaligned_be32(stpg_len, &cdb[6]); - - return scsi_execute_cmd(sdev, cdb, opf, stpg_data, - stpg_len, ALUA_FAILOVER_TIMEOUT * HZ, - ALUA_FAILOVER_RETRIES, &exec_args); -} - static struct alua_port_group *alua_find_get_pg(char *id_str, size_t id_si= ze, int group_id) { @@ -265,58 +181,6 @@ static struct alua_port_group *alua_alloc_pg(struct sc= si_device *sdev, return pg; } =20 -/* - * alua_check_tpgs - Evaluate TPGS setting - * @sdev: device to be checked - * - * Examine the TPGS setting of the sdev to find out if ALUA - * is supported. - */ -static int alua_check_tpgs(struct scsi_device *sdev) -{ - int tpgs =3D TPGS_MODE_NONE; - - /* - * ALUA support for non-disk devices is fraught with - * difficulties, so disable it for now. - */ - if (sdev->type !=3D TYPE_DISK) { - sdev_printk(KERN_INFO, sdev, - "%s: disable for non-disk devices\n", - ALUA_DH_NAME); - return tpgs; - } - - tpgs =3D scsi_device_tpgs(sdev); - switch (tpgs) { - case TPGS_MODE_EXPLICIT|TPGS_MODE_IMPLICIT: - sdev_printk(KERN_INFO, sdev, - "%s: supports implicit and explicit TPGS\n", - ALUA_DH_NAME); - break; - case TPGS_MODE_EXPLICIT: - sdev_printk(KERN_INFO, sdev, "%s: supports explicit TPGS\n", - ALUA_DH_NAME); - break; - case TPGS_MODE_IMPLICIT: - sdev_printk(KERN_INFO, sdev, "%s: supports implicit TPGS\n", - ALUA_DH_NAME); - break; - case TPGS_MODE_NONE: - sdev_printk(KERN_INFO, sdev, "%s: not supported\n", - ALUA_DH_NAME); - break; - default: - sdev_printk(KERN_INFO, sdev, - "%s: unsupported TPGS setting %d\n", - ALUA_DH_NAME, tpgs); - tpgs =3D TPGS_MODE_NONE; - break; - } - - return tpgs; -} - /* * alua_check_vpd - Evaluate INQUIRY vpd page 0x83 * @sdev: device to be checked @@ -393,27 +257,6 @@ static int alua_check_vpd(struct scsi_device *sdev, st= ruct alua_dh_data *h, return SCSI_DH_OK; } =20 -static char print_alua_state(unsigned char state) -{ - switch (state) { - case SCSI_ACCESS_STATE_OPTIMAL: - return 'A'; - case SCSI_ACCESS_STATE_ACTIVE: - return 'N'; - case SCSI_ACCESS_STATE_STANDBY: - return 'S'; - case SCSI_ACCESS_STATE_UNAVAILABLE: - return 'U'; - case SCSI_ACCESS_STATE_LBA: - return 'L'; - case SCSI_ACCESS_STATE_OFFLINE: - return 'O'; - case SCSI_ACCESS_STATE_TRANSITIONING: - return 'T'; - default: - return 'X'; - } -} =20 static void alua_handle_state_transition(struct scsi_device *sdev) { @@ -500,30 +343,6 @@ static enum scsi_disposition alua_check_sense(struct s= csi_device *sdev, return SCSI_RETURN_NOT_HANDLED; } =20 -/* - * alua_tur - Send a TEST UNIT READY - * @sdev: device to which the TEST UNIT READY command should be send - * - * Send a TEST UNIT READY to @sdev to figure out the device state - * Returns SCSI_DH_RETRY if the sense code is NOT READY/ALUA TRANSITIONING, - * SCSI_DH_OK if no error occurred, and SCSI_DH_IO otherwise. - */ -static int alua_tur(struct scsi_device *sdev) -{ - struct scsi_sense_hdr sense_hdr; - int retval; - - retval =3D scsi_test_unit_ready(sdev, ALUA_FAILOVER_TIMEOUT * HZ, - ALUA_FAILOVER_RETRIES, &sense_hdr); - if ((sense_hdr.sense_key =3D=3D NOT_READY || - sense_hdr.sense_key =3D=3D UNIT_ATTENTION) && - sense_hdr.asc =3D=3D 0x04 && sense_hdr.ascq =3D=3D 0x0a) - return SCSI_DH_RETRY; - else if (retval) - return SCSI_DH_IO; - else - return SCSI_DH_OK; -} =20 /* * alua_rtpg - Evaluate REPORT TARGET GROUP STATES @@ -722,17 +541,8 @@ static int alua_rtpg(struct scsi_device *sdev, struct = alua_port_group *pg) =20 if (group_id_old !=3D pg->group_id || state_old !=3D pg->state || pref_old !=3D pg->pref || valid_states_old !=3D pg->valid_states) - sdev_printk(KERN_INFO, sdev, - "%s: port group %02x state %c %s supports %c%c%c%c%c%c%c\n", - ALUA_DH_NAME, pg->group_id, print_alua_state(pg->state), - pg->pref ? "preferred" : "non-preferred", - pg->valid_states&TPGS_SUPPORT_TRANSITION?'T':'t', - pg->valid_states&TPGS_SUPPORT_OFFLINE?'O':'o', - pg->valid_states&TPGS_SUPPORT_LBA_DEPENDENT?'L':'l', - pg->valid_states&TPGS_SUPPORT_UNAVAILABLE?'U':'u', - pg->valid_states&TPGS_SUPPORT_STANDBY?'S':'s', - pg->valid_states&TPGS_SUPPORT_NONOPTIMIZED?'N':'n', - pg->valid_states&TPGS_SUPPORT_OPTIMIZED?'A':'a'); + alua_print_info(sdev, pg->group_id, pg->state, pg->pref, + pg->valid_states); =20 switch (pg->state) { case SCSI_ACCESS_STATE_TRANSITIONING: @@ -911,7 +721,7 @@ static void alua_rtpg_work(struct work_struct *work) pg->flags &=3D ~ALUA_PG_RUN_RTPG; spin_unlock_irqrestore(&pg->lock, flags); if (state =3D=3D SCSI_ACCESS_STATE_TRANSITIONING) { - if (alua_tur(sdev) =3D=3D SCSI_DH_RETRY) { + if (alua_tur(sdev) =3D=3D -EAGAIN) { spin_lock_irqsave(&pg->lock, flags); pg->flags &=3D ~ALUA_PG_RUNNING; pg->flags |=3D ALUA_PG_RUN_RTPG; diff --git a/drivers/scsi/scsi_alua.c b/drivers/scsi/scsi_alua.c new file mode 100644 index 0000000000000..2e4102192dcb9 --- /dev/null +++ b/drivers/scsi/scsi_alua.c @@ -0,0 +1,204 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generic SCSI-3 ALUA SCSI driver + * + * Copyright (C) 2007-2010 Hannes Reinecke, SUSE Linux Products GmbH. + * All rights reserved. + */ + +#include +#include +#include +#include +#include + +#define DRV_NAME "alua" + +#define ALUA_FAILOVER_RETRIES 5 + +/* + * alua_check_tpgs - Evaluate TPGS setting + * @sdev: device to be checked + * + * Examine the TPGS setting of the sdev to find out if ALUA + * is supported. + */ +int alua_check_tpgs(struct scsi_device *sdev) +{ + int tpgs =3D TPGS_MODE_NONE; + + /* + * ALUA support for non-disk devices is fraught with + * difficulties, so disable it for now. + */ + if (sdev->type !=3D TYPE_DISK) { + sdev_printk(KERN_INFO, sdev, + "%s: disable for non-disk devices\n", + DRV_NAME); + return tpgs; + } + + tpgs =3D scsi_device_tpgs(sdev); + switch (tpgs) { + case TPGS_MODE_EXPLICIT|TPGS_MODE_IMPLICIT: + sdev_printk(KERN_INFO, sdev, + "%s: supports implicit and explicit TPGS\n", + DRV_NAME); + break; + case TPGS_MODE_EXPLICIT: + sdev_printk(KERN_INFO, sdev, "%s: supports explicit TPGS\n", + DRV_NAME); + break; + case TPGS_MODE_IMPLICIT: + sdev_printk(KERN_INFO, sdev, "%s: supports implicit TPGS\n", + DRV_NAME); + break; + case TPGS_MODE_NONE: + sdev_printk(KERN_INFO, sdev, "%s: not supported\n", + DRV_NAME); + break; + default: + sdev_printk(KERN_INFO, sdev, + "%s: unsupported TPGS setting %d\n", + DRV_NAME, tpgs); + tpgs =3D TPGS_MODE_NONE; + break; + } + + return tpgs; +} +EXPORT_SYMBOL_GPL(alua_check_tpgs); + +/* + * alua_tur - Send a TEST UNIT READY + * @sdev: device to which the TEST UNIT READY command should be send + * + * Send a TEST UNIT READY to @sdev to figure out the device state + * Returns SCSI_DH_RETRY if the sense code is NOT READY/ALUA TRANSITIONING, + * 0 if no error occurred, and SCSI_DH_IO otherwise. + */ +int alua_tur(struct scsi_device *sdev) +{ + struct scsi_sense_hdr sense_hdr; + int retval; + + retval =3D scsi_test_unit_ready(sdev, ALUA_FAILOVER_TIMEOUT * HZ, + ALUA_FAILOVER_RETRIES, &sense_hdr); + if ((sense_hdr.sense_key =3D=3D NOT_READY || + sense_hdr.sense_key =3D=3D UNIT_ATTENTION) && + sense_hdr.asc =3D=3D 0x04 && sense_hdr.ascq =3D=3D 0x0a) + return -EAGAIN; + else if (retval) + return -EIO; + else + return 0; +} +EXPORT_SYMBOL_GPL(alua_tur); + +/* + * submit_rtpg - Issue a REPORT TARGET GROUP STATES command + * @sdev: sdev the command should be sent to + */ +int submit_rtpg(struct scsi_device *sdev, unsigned char *buff, + int bufflen, struct scsi_sense_hdr *sshdr, + bool alua_rtpg_ext_hdr_unsupp) +{ + u8 cdb[MAX_COMMAND_SIZE]; + blk_opf_t opf =3D REQ_OP_DRV_IN | REQ_FAILFAST_DEV | + REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; + const struct scsi_exec_args exec_args =3D { + .sshdr =3D sshdr, + }; + + /* Prepare the command. */ + memset(cdb, 0x0, MAX_COMMAND_SIZE); + cdb[0] =3D MAINTENANCE_IN; + if (alua_rtpg_ext_hdr_unsupp) + cdb[1] =3D MI_REPORT_TARGET_PGS; + else + cdb[1] =3D MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT; + put_unaligned_be32(bufflen, &cdb[6]); + + return scsi_execute_cmd(sdev, cdb, opf, buff, bufflen, + ALUA_FAILOVER_TIMEOUT * HZ, + ALUA_FAILOVER_RETRIES, &exec_args); +} +EXPORT_SYMBOL_GPL(submit_rtpg); + +static char print_alua_state(unsigned char state) +{ + switch (state) { + case SCSI_ACCESS_STATE_OPTIMAL: + return 'A'; + case SCSI_ACCESS_STATE_ACTIVE: + return 'N'; + case SCSI_ACCESS_STATE_STANDBY: + return 'S'; + case SCSI_ACCESS_STATE_UNAVAILABLE: + return 'U'; + case SCSI_ACCESS_STATE_LBA: + return 'L'; + case SCSI_ACCESS_STATE_OFFLINE: + return 'O'; + case SCSI_ACCESS_STATE_TRANSITIONING: + return 'T'; + default: + return 'X'; + } +} + +void alua_print_info(struct scsi_device *sdev, int group_id, int state, + int pref, int valid_states) +{ + sdev_printk(KERN_INFO, sdev, + "alua: port group %02x state %c %s supports %c%c%c%c%c%c%c\n", + group_id, print_alua_state(state), + pref ? "preferred" : "non-preferred", + valid_states&TPGS_SUPPORT_TRANSITION?'T':'t', + valid_states&TPGS_SUPPORT_OFFLINE?'O':'o', + valid_states&TPGS_SUPPORT_LBA_DEPENDENT?'L':'l', + valid_states&TPGS_SUPPORT_UNAVAILABLE?'U':'u', + valid_states&TPGS_SUPPORT_STANDBY?'S':'s', + valid_states&TPGS_SUPPORT_NONOPTIMIZED?'N':'n', + valid_states&TPGS_SUPPORT_OPTIMIZED?'A':'a'); +} +EXPORT_SYMBOL_GPL(alua_print_info); + +/* + * submit_stpg - Issue a SET TARGET PORT GROUP command + * + * Currently we're only setting the current target port group state + * to 'active/optimized' and let the array firmware figure out + * the states of the remaining groups. + */ +int submit_stpg(struct scsi_device *sdev, int group_id, + struct scsi_sense_hdr *sshdr) +{ + u8 cdb[MAX_COMMAND_SIZE]; + unsigned char stpg_data[8]; + int stpg_len =3D 8; + blk_opf_t opf =3D REQ_OP_DRV_OUT | REQ_FAILFAST_DEV | + REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; + const struct scsi_exec_args exec_args =3D { + .sshdr =3D sshdr, + }; + + /* Prepare the data buffer */ + memset(stpg_data, 0, stpg_len); + stpg_data[4] =3D SCSI_ACCESS_STATE_OPTIMAL; + put_unaligned_be16(group_id, &stpg_data[6]); + + /* Prepare the command. */ + memset(cdb, 0x0, MAX_COMMAND_SIZE); + cdb[0] =3D MAINTENANCE_OUT; + cdb[1] =3D MO_SET_TARGET_PGS; + put_unaligned_be32(stpg_len, &cdb[6]); + + return scsi_execute_cmd(sdev, cdb, opf, stpg_data, + stpg_len, ALUA_FAILOVER_TIMEOUT * HZ, + ALUA_FAILOVER_RETRIES, &exec_args); +} +EXPORT_SYMBOL_GPL(submit_stpg); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("scsi_alua"); diff --git a/include/scsi/scsi_alua.h b/include/scsi/scsi_alua.h new file mode 100644 index 0000000000000..51b5ed1836c99 --- /dev/null +++ b/include/scsi/scsi_alua.h @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Generic SCSI-3 ALUA SCSI Device Handler + * + * Copyright (C) 2007-2010 Hannes Reinecke, SUSE Linux Products GmbH. + * All rights reserved. + */ +#ifndef _SCSI_ALUA_H +#define _SCSI_ALUA_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#define TPGS_SUPPORT_NONE 0x00 +#define TPGS_SUPPORT_OPTIMIZED 0x01 +#define TPGS_SUPPORT_NONOPTIMIZED 0x02 +#define TPGS_SUPPORT_STANDBY 0x04 +#define TPGS_SUPPORT_UNAVAILABLE 0x08 +#define TPGS_SUPPORT_LBA_DEPENDENT 0x10 +#define TPGS_SUPPORT_OFFLINE 0x40 +#define TPGS_SUPPORT_TRANSITION 0x80 +#define TPGS_SUPPORT_ALL 0xdf + +#define RTPG_FMT_MASK 0x70 +#define RTPG_FMT_EXT_HDR 0x10 + +#define TPGS_MODE_UNINITIALIZED -1 +#define TPGS_MODE_NONE 0x0 +#define TPGS_MODE_IMPLICIT 0x1 +#define TPGS_MODE_EXPLICIT 0x2 + +#define ALUA_RTPG_SIZE 128 +#define ALUA_FAILOVER_TIMEOUT 60 + +int alua_check_tpgs(struct scsi_device *sdev); +int submit_rtpg(struct scsi_device *sdev, unsigned char *buff, + int bufflen, struct scsi_sense_hdr *sshdr, + bool alua_rtpg_ext_hdr_unsupp); +int alua_tur(struct scsi_device *sdev); +void alua_print_info(struct scsi_device *sdev, int group_id, int state, + int pref, int valid_states); +int submit_stpg(struct scsi_device *sdev, int group_id, + struct scsi_sense_hdr *sshdr); +#endif // _SCSI_ALUA_H --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC61B3ECBEB; Tue, 10 Mar 2026 11:51:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143470; cv=fail; b=t/8JhWdc0z5R6J/YE5HPV+g9Pl84gZz3PtCoOiW9HT87CiDzo6E/GapwKmlEaaWD24jNfZ9qmWjq6VUcmx73W2cOQmHUgtjMEtAVkqQt7KAEjH02dCZGeoqhsm+upyXLlNPF69v9phdeXJSf1dvDl1c5Hk34+3MbDC8lj3sgTjE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143470; c=relaxed/simple; bh=QRTvCjdPbNZHSo4Z/JEMNXymWsC7j7oM1YMACzAnOOc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=PzranNlvr8jrH+wyt+VAGT5hpOQ6eLoGrUNZOjOu/h540zYA4o2JslDP+nXcInWhJzbbgzeqXLLvcWkfNKkSqNCImTzuF5GXkslyf6E4ukGbz2sL92k5vrtxrlzIc37JhuHXCHhJQ1HLj9ni++G4Q3SM+UYs3g0G5k/TV50XOLw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=onxLk2dT; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=TwVIwVjz; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="onxLk2dT"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="TwVIwVjz" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9padI1719464; Tue, 10 Mar 2026 11:49:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=FO/cAK6o81XPPeYCn7Kpf8qBPzAzBBFi8m18fVhx+9Q=; b= onxLk2dTvHdYbJ4/iybPuDdJr5gMyZRUv3ZH7UpxyXxyhoGg4xaBDGF2AY7IEGbw kkO34uCSzpNF/wyZjF+cJgd40gvM8C+GAN3EEFCkoMVDUTuu+wiRLWsSmUu7c3RZ 0P+LCW8uYilBkAGW9NE5ZryI21OyUsrBEuebABNLAunu9lEWfhb3tKkwbGz+fHqd +CqGnqSymSd3QuZaCz5ggI/zhg0Ew7zWFp+X2nGdqlYF2HCOp1qkFPVojmPMPnWh +cr8LVbZHZVvwY2Y1IOSVFV92kMdFQ7/RZUAvJAaNcC3ohhjNQCg8DOcobP0jgxW OU3ugG3PH8a/vBk3piIn+A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cskyp2nuk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:50 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62A9o4vL007796; Tue, 10 Mar 2026 11:49:50 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012067.outbound.protection.outlook.com [40.93.195.67]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4craf9yfuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZbFv3X6R4GnYypv6/i31KKVF0sHjxFwhyB+nexxipTKgDYHtnkdDbcfIiZT0EtOyaJ3Uqu+853yRMQam8Nx62/RpwxUgyEisOSjTnWCk2h16qA/0Itlttsj0JpFaueszpzzYoAKVDYtMxudu3J7M3F5GonLYe2r6LT1KUZnC/sSBSMUM4JHLCJHOtgr/HJZwGG6On6TNCTgLwgky6n51gSLw/wIh3cdaGxUoXwC1KKk0D1jCWhoUNWyVvH7SjNtbCRggxE9piTZubQ5WP58bb9U6fUvZdbe5yz+RxL5RZy9MdJ07birUbeqnoUrQwfx+RdVjB10UNX0gcsBS3Yo/gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FO/cAK6o81XPPeYCn7Kpf8qBPzAzBBFi8m18fVhx+9Q=; b=PT+NdZEXCuTSOw/V8dCWZ15YOhFy/96PxS4KaC2WLCuxC9D5YrhKmJvhKbej9/hUSmlZ+rznuXDWxbWYjonkQOTSOp1swCi3gQ32c8xhqGzy8CNWo+3LTSEGRO5bxGNk1B88ywOcEWZ7iMh5Y+cAY7xEuUssGy16c3H6Swi7Lr23zXe/LbhSiv5id7sTmv1xAJqH0QlG+NbWsb+KGvXaz+CBG67SkpruIo5xp+Fn05Zxp+lQ/L3qWHzfe1adKSo2dF1Dkh3pM2c3tL7+Sn4JqqmIUpNj5Fdkt1waU5EqfsiZ1TC/j2xXNNwlILbvHmueXyPPUgKWa5KVhOl2dxH58Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FO/cAK6o81XPPeYCn7Kpf8qBPzAzBBFi8m18fVhx+9Q=; b=TwVIwVjzPw20x/4Vc8JZ3+KI1XCV9y52j4x0YON9NWi/s4a4Qsjq7f6ofBiPuDKMVWg8eFbSEDluXR9I/fU1l1WQ/aRwrTGDegJQ3E7hByz4po+2RqMImk+YEGN0lwMJtNtGXmJZi567nR8TqHeHgfQkqgg7NvECa2L5PbhVFrg= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:47 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:47 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 5/8] scsi: scsi-multipath: Add basic ALUA support Date: Tue, 10 Mar 2026 11:49:22 +0000 Message-ID: <20260310114925.1222263-6-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1P221CA0023.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::10) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: 1fd30a1d-03b7-4660-11a5-08de7e9b20d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: NvG1+HaC/tyW9T8SuvMepjb6vGwfjacYYAeQ5b9h1WUzY1ZgEpCDyuuAWLSYkZ5hC64DLvDM95HhtLj9K/u58tSr3hKDzQlD9VS/okpFuYS0JjHZnvzjBskS51Rhzn+50ra212MLNwYvLyRRXiUaGSASDuxU8+t4hpwC4kVsm5HoJVpkZFmV4fMjE/GiuMqQNQWhg1DyaF61iQoLwJAP20mEBeMa1EdMVgA8Ri/to94hYea9Kj5R6RBVgzqr1H6bfWBbYqSamMud8wKv6JnEYjIrqMGPSbnm6lsERV9Ixr3Ia0QHdtFFhAyVO+zXeg2hFbR0S4dmW5K76DB3eWshkKmFpEOJ7zkMIZWH2KoR+MO53xRsOl3cAskfaf88lqNrCeNvESq12Hg1A6vOcB/tb2J3x4pb6FxL4/iwZLkB8chZg+tuAyp4bWrri04zRp3LYlmtpF2r0SK6Uw6MWtlaMDktFtUxoQOV1qaB5Y3Hg9hu5MLs97S2Gka24DKSRcPmLOyDeUNaxGFNewIBpAuQqsPK3uQMbGXb9gpHvZ9e5qzlFTDzvsCwEi2FLVzoLOE20VXrUM/lPD61HGQLOW6/3x7B63o2hJvQPj8RIMah8S6bga9l/2Yswn0BRpwo5SjWF61o39zy2qCJ4kKgCqXwtTNNTE+tBsydFr5STLbFc8LB7Kr2VDBoBK7B/S4jRYy51X/r+WfhjpddyyyDXxNpPQKtLJpM3kyQdgQCCGu+3cE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RQsIULEk5fy+vDXDIHD3hE5LUCfCCl6BkprhYptl3PZ+Q0ShAQMTMvsWx1qS?= =?us-ascii?Q?PKji1mnJa1XxxDD5CUl5lwSXK8MiDL6iu6/W/VVfnjgoEDifK09fKaDmVamP?= =?us-ascii?Q?b/OcAUOUbTjWw/447jaZqfTGQmJP9hGaIijmWtgk7Vy3v5fMRpg7JTjVgmr3?= =?us-ascii?Q?PeXG2fD3FHjwcKzFbVBsXF3TTaePRcYZ4W9NPdVFqNL7k5piy+d3k8SnwU1G?= =?us-ascii?Q?gy8Bb+ha1Icg1whXo+GSJvASJqX9f3SZ3Vt/AYu8OmU2q1HWPRNxn+LeqSeU?= =?us-ascii?Q?/uf6bAMO1EvHx5IALIO1qmeb7EPwJ+1XJ74FJZQzZ9rKuMJCdg5wynNCF81X?= =?us-ascii?Q?2SKkfs/mm4ZFIqq4bd8PkpdDdmGnYYH7hyixSvO3hJQp1vg2TaMjpiGEFuWu?= =?us-ascii?Q?kDq8l4gitMtfCZp1cwxgq/qmCHOoSMDSPlNfpZEA+P+2neO2utsgyBcFmOoL?= =?us-ascii?Q?y3cUExCwGbundg0a0fY5tnES8EA/lzFN7TB1xJ80aVsIArZLH9uEQ08Ulf6+?= =?us-ascii?Q?MBZG4UFv8ZQdJ3OEatPhQzQUCQPz3FvGzCetzvsn4pDoMnHIeYfT2R7z8C5P?= =?us-ascii?Q?PzJPHYCJM3BdD1FGcScq5K4ziMUTLQNOfS1hhg3Ae9+njHtpj6NMpwhSDGTx?= =?us-ascii?Q?h7couAPWAK0QOdgweFIyd84owOuRzXhXwZXGujMw2DqlRTqjtSM2LoV23BE9?= =?us-ascii?Q?6C0WRT88Z/yWjD2wx5XIW5wPXK6IGXLrnjLuzzh8o5xrYx0YR9OOK5cZ9auQ?= =?us-ascii?Q?HXWggNLhTff7pd3o8mRSu+FAFpGkofgKB2tdCcFawfwbY+QbBjM/QTDXjktZ?= =?us-ascii?Q?j6M978Z5Ed4TmUph5XDnRo2Jm7r5crCLINwc7oeqlnCTsQq+d96zrmCepSYS?= =?us-ascii?Q?/A0UDhvM9k9zGNs1tZuXF5G46wlbpkF0ogAFqwTnqzvOndqaJGtwFL7iI4wx?= =?us-ascii?Q?oW01f2l5K2GCdYwHrXlrS7Mzt2GCaq8gbmbQVb2Q8ieq9wrzyqty6ucGnTsV?= =?us-ascii?Q?l0aJb7UBMGOeP/PIGBkBGBFKA5QWubJnmL/poA9iNk43kt2wGpW19Co+fOPu?= =?us-ascii?Q?ilmm/nJDqh+tKmxif9gYubT+Cqx6/LYiNU34iHqZ+gXSmUrS0bN3TWI9dQh2?= =?us-ascii?Q?DIUjzlG+1yjENC3ylnPvm8fQyar0YX0HLHSbs2GvlAOFS+wC52wWZ35DpkF+?= =?us-ascii?Q?4NLPv4nw+gi7NDY80+qipDcZ6RKUwD4E2Q6f1BY9vapxzFFnC0i21EBxtsXT?= =?us-ascii?Q?+0vPqkM54YZh6fwvgcRxSwMcAjUSOUpQUzGK6OLQ1+yiR28N4GiQ/PP2yhrc?= =?us-ascii?Q?XjqzgcHd/uxP2BzLY/X9BUB3JGPZD/W4vdhRhsq8Z3q1XQIu6+jk2z5ZwSmV?= =?us-ascii?Q?A3nfq2VK5uMgvMzduAod1s9JEi8RyruKq6UNIpQBUpkyBkgxvg13yiWXQ2BE?= =?us-ascii?Q?HH/7SSNk5EFfsLx1AWQ/2YqIVW8JZKsCZEpV1d8lgHxbfRSrG/EYrtgQHyX+?= =?us-ascii?Q?HYUJLV8HBMUQ4iLy5p9NDuVZJdXL+x+uEOw6kJUxN+wbbRLDXvcABFRZF55t?= =?us-ascii?Q?Qy7ondYvsJG+iZN9fEzHE4rTZP95Gh0Rbq7x+JJvHVZrqeaMRtmdD1bZafru?= =?us-ascii?Q?uK/qJ7Sdh1WH0ppgT6ANfnSvzs+EYWrXQCmaWgnxBGZNrN2O3EjAkzPGuV1u?= =?us-ascii?Q?STBY3ZN04kll9xGrbK25zds/vHEGp8N3JhAwqqakHqPz9lKbtDo/kelXQGTx?= =?us-ascii?Q?x60Q6zmZng=3D=3D?= X-Exchange-RoutingPolicyChecked: Yp0FWmfWgiDRCOEAzKHB4/sNqPVrphqOm/cL5lNDA0bqjbf7i4Ak/JMvueyBRUH4dP//6TZt9vcQ3jUuYEiYNfiUDkrjjwsn5SP+xIrh0TOm7daCs2XTLk8GQK/OxJorpHzgKdpzk8fXa4k+V4R/agRh+EZS1/jGzifBvjih5RnaeOUy6N7HUfUBEr1Z17KPMNAfQc1++Hl173OgrtpZK5pep7MVXHdij409+ggxJ6QDvf4z8vmXG2Da5EVZImenjQpSLrhSAw4T3apUgC5uivREuxjgNAY3FU1+DHf4ykl39QThxV38lgOhhGXdKd9zAerVsY4DHcYUPNbc9lFQOA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4JLe+37cVxsvCefx8k+DbL9mzQbZ+XlYh+/i52w7HO0gj2kB30O/g8fTbNPBt6bRk3t+1WyTjUM5SL6EjCp9RBkN1g5LrlxuZGEyLpHD+s0ROAKGm32rNi8X2n5HDnRefkmCnS2zs1Lhv9V8h3YvTFi6Wfn3Kpw6SzuGUQ9rm+WvKjwVRDVcvxYk35dAxzLVRKVQURVX+i/2Lu+gDRrvmEKeYYhiq+IulL3IkP2aG+RfqNcBR0sljKSMifCPTWDPbUBZFf3/bqZfbm1SK76Fj6zq5JUbVCOYKjOsPtfPo9iHATEzhohvNsJXhJY6lNKgzW7puElJ7+QXlH61JQTO8DyqHFjlwmD3WYlwiMUhqZ0mEk0qQBtznuFv+SbvRr3nyOOK2VdWrKXA25e6oBmL330ujmi7LjhHtdRfydpGbtB0SYBgnkqfO2BLN0OAFOkC8u18Cix8gFrdRxgdjXvjPXwqmRMcc0ME8npFU8c2pMeFxuPw6c1inod0R7C+1oF6MRMn3RoGuiY6v1A+3fqcSr4rfteZRy/8NUhZztrgRBGcUx6DuZDFA0wj2aAAxoUck2jX+n3FhLXm2JPCpuCXifz2bBA1tReYyf1MrFBM2hA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd30a1d-03b7-4660-11a5-08de7e9b20d8 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:47.0376 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zNoahDBHVq2HjCEjppaNsdO5aXTkf8Tsr750L4wWGN8/q/p2ntxssI6jJJOtpmzsTbEd2aLF2dCrGm7VbMm2aQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 suspectscore=0 adultscore=0 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Proofpoint-GUID: 9Nk7jOjmQ_kjt5_p53hZmJa50Pq8Hy_3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfXwqskKXhbuECH vxq/z19dRJ8q6K4uj13/82A/vwFECLlq+XY3hhkDQUSX/lnrktP8ggukgSF/h7YZxlZb5xqR0rB MnkmLYbfi0e72EVwS++NIsoHc5D2MmKDJJB6x3qUSrMyqTw7lG6+sMv5HHFNSfkbtiY1ZsUXnLi 6ctgtyU92EFkhQWIP+MwFoN9wBgNr8yJdENoWmQfzZGqG59x1Falzw2aIP6rtF87pt0EGTK+Z8L xHr2VX+RAOtUn6Yu903arYt3CnqXwu3iQFZdG7kFi3HdhsL0HA/ovuq8HGxhFW9TrKlMFVU/Oc7 tdb+L5coPVU4eVPrUMPAIxBaQqRNj6D/4RxhfcwL89LVvDcK6sMI7vuQEpest7ZxVuR95PDTGZw d82Wtn1anw8zn5sEZKPkgBKkonukt49sjALEWYHl7JBsMlX2K6HqZCcqXW0dMXTeq7Bo3/gxQrK IlmCXKLxdMWSdd2BSvg== X-Proofpoint-ORIG-GUID: 9Nk7jOjmQ_kjt5_p53hZmJa50Pq8Hy_3 X-Authority-Analysis: v=2.4 cv=XP89iAhE c=1 sm=1 tr=0 ts=69b0055e b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=RD47p0oAkeU5bO7t-o6f:22 a=yPCof4ZbAAAA:8 a=AZlAolgNaF6XCcgzKhEA:9 Content-Type: text/plain; charset="utf-8" Add basic support just to get the per-port group state. This support does not account of state transitioning, sdev port group reconfiguration, etc, required for full support. libmultipath callbacks scsi_mpath_is_optimized() and scsi_mpath_is_disabled() are updated to take account of the ALUA-provided path information. As before, for no ALUA support (and scsi_multipath_always on) we assume that the paths are all optimized. Much of this code in scsi_mpath_alua_init() is copied from scsi_dh_alua.c, originally authored by Hannes Reinecke. Signed-off-by: John Garry --- drivers/scsi/scsi_multipath.c | 163 ++++++++++++++++++++++++++++++++-- include/scsi/scsi_multipath.h | 3 + 2 files changed, 160 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/scsi_multipath.c b/drivers/scsi/scsi_multipath.c index 1489c7e979167..0a314080bf0a5 100644 --- a/drivers/scsi/scsi_multipath.c +++ b/drivers/scsi/scsi_multipath.c @@ -4,6 +4,7 @@ * */ =20 +#include #include #include #include @@ -346,18 +347,29 @@ static bool scsi_mpath_is_disabled(struct mpath_devic= e *mpath_device) to_scsi_mpath_device(mpath_device); struct scsi_device *sdev =3D scsi_mpath_dev->sdev; enum scsi_device_state sdev_state =3D sdev->sdev_state; + int alua_state =3D scsi_mpath_dev->alua_state; =20 if (sdev_state =3D=3D SDEV_RUNNING || sdev_state =3D=3D SDEV_CANCEL) return false; =20 - return true; + if (alua_state =3D=3D SCSI_ACCESS_STATE_OPTIMAL || + alua_state =3D=3D SCSI_ACCESS_STATE_ACTIVE) + return true; + + return false; } =20 static bool scsi_mpath_is_optimized(struct mpath_device *mpath_device) { + struct scsi_mpath_device *scsi_mpath_dev =3D + to_scsi_mpath_device(mpath_device); + if (scsi_mpath_is_disabled(mpath_device)) return false; - return true; + if (scsi_mpath_dev->alua_state =3D=3D SCSI_ACCESS_STATE_OPTIMAL) + return true; + return false; + } =20 /* Until we have ALUA support, we're always optimised */ @@ -366,7 +378,7 @@ static enum mpath_access_state scsi_mpath_get_access_st= ate( { if (scsi_mpath_is_disabled(mpath_device)) return MPATH_STATE_INVALID; - return MPATH_STATE_OPTIMIZED; + return scsi_mpath_is_optimized(mpath_device); } =20 static bool scsi_mpath_available_path(struct mpath_device *mpath_device, b= ool *available) @@ -579,16 +591,147 @@ static void scsi_multipath_sdev_uninit(struct scsi_d= evice *sdev) sdev->scsi_mpath_dev =3D NULL; } =20 +static int scsi_mpath_alua_init(struct scsi_device *sdev) +{ + struct scsi_mpath_device *scsi_mpath_dev =3D sdev->scsi_mpath_dev; + struct scsi_sense_hdr sense_hdr; + int len, k, off, bufflen =3D ALUA_RTPG_SIZE; + unsigned char *desc, *buff; + unsigned int tpg_desc_tbl_off; + int group_id, rel_port =3D -1; + bool ext_hdr_unsupp =3D false; + int ret; + + group_id =3D scsi_vpd_tpg_id(sdev, &rel_port); + if (group_id < 0) { + /* + * Internal error; TPGS supported but required + * VPD identification descriptors not present. + * Disable ALUA support. + */ + sdev_printk(KERN_INFO, sdev, + "%s: No target port descriptors found\n", + __func__); + return -EIO; + } + + buff =3D kzalloc(bufflen, GFP_KERNEL); + if (!buff) + return -ENOMEM; + retry: + ret =3D submit_rtpg(sdev, buff, bufflen, &sense_hdr, + ext_hdr_unsupp); + + if (ret) { + if (ret < 0 || !scsi_sense_valid(&sense_hdr)) { + sdev_printk(KERN_INFO, sdev, + "%s: rtpg failed, result %d\n", + __func__, ret); + kfree(buff); + if (ret < 0) + return -EBUSY; + if (host_byte(ret) =3D=3D DID_NO_CONNECT) + return -ENODEV; + return -EIO; + } + + /* + * submit_rtpg() has failed on existing arrays + * when requesting extended header info, and + * the array doesn't support extended headers, + * even though it shouldn't according to T10. + * The retry without rtpg_ext_hdr_req set + * handles this. + * Note: some arrays return a sense key of ILLEGAL_REQUEST + * with ASC 00h if they don't support the extended header. + */ + if (ext_hdr_unsupp && + sense_hdr.sense_key =3D=3D ILLEGAL_REQUEST) { + ext_hdr_unsupp =3D true; + goto retry; + } + /* + * If the array returns with 'ALUA state transition' + * sense code here it cannot return RTPG data during + * transition. So set the state to 'transitioning' directly. + */ + if (sense_hdr.sense_key =3D=3D NOT_READY && + sense_hdr.asc =3D=3D 0x04 && sense_hdr.ascq =3D=3D 0x0a) + goto out; + + /* + * Retry on any other UNIT ATTENTION occurred. + */ + if (sense_hdr.sense_key =3D=3D UNIT_ATTENTION) { + scsi_print_sense_hdr(sdev, __func__, &sense_hdr); + kfree(buff); + return -EAGAIN; + } + sdev_printk(KERN_ERR, sdev, "%s: rtpg failed\n", + __func__); + scsi_print_sense_hdr(sdev, __func__, &sense_hdr); + kfree(buff); + return -EIO; + } + + len =3D get_unaligned_be32(&buff[0]) + 4; + + if (len > bufflen) { + /* Resubmit with the correct length */ + kfree(buff); + bufflen =3D len; + buff =3D kmalloc(bufflen, GFP_KERNEL); + if (!buff) { + /* Temporary failure, bypass */ + return -EBUSY; + } + goto retry; + } + + if ((buff[4] & RTPG_FMT_MASK) =3D=3D RTPG_FMT_EXT_HDR) + tpg_desc_tbl_off =3D 8; + else + tpg_desc_tbl_off =3D 4; + + for (k =3D tpg_desc_tbl_off, desc =3D buff + tpg_desc_tbl_off; + k < len; + k +=3D off, desc +=3D off) { + u16 group_id_found =3D get_unaligned_be16(&desc[2]); + + if (group_id_found =3D=3D group_id) { + int valid_states, state, pref; + + state =3D desc[0] & 0x0f; + pref =3D desc[0] >> 7; + valid_states =3D desc[1]; + + alua_print_info(sdev, group_id, state, pref, valid_states); + + scsi_mpath_dev->alua_state =3D state; + scsi_mpath_dev->alua_pref =3D pref; + scsi_mpath_dev->alua_valid_states =3D valid_states; + goto out; + } + + off =3D 8 + (desc[7] * 4); + } + +out: + kfree(buff); + return 0; +} + int scsi_mpath_dev_alloc(struct scsi_device *sdev) { struct scsi_mpath_head *scsi_mpath_head; - int ret; + int ret, tpgs; =20 if (!scsi_multipath) return 0; =20 - if (!scsi_device_tpgs(sdev) && !scsi_multipath_always) { - sdev_printk(KERN_NOTICE, sdev, "tpgs are required for multipath support\= n"); + tpgs =3D alua_check_tpgs(sdev); + if (!(tpgs & TPGS_MODE_IMPLICIT) && !scsi_multipath_always) { + sdev_printk(KERN_DEBUG, sdev, "IMPLICIT TPGS are required for multipath = support\n"); return 0; } =20 @@ -622,6 +765,14 @@ int scsi_mpath_dev_alloc(struct scsi_device *sdev) sdev->scsi_mpath_dev->scsi_mpath_head =3D scsi_mpath_head; =20 found: + if (tpgs & TPGS_MODE_IMPLICIT) { + ret =3D scsi_mpath_alua_init(sdev); + if (ret) + goto out_put_head; + } else { + sdev->scsi_mpath_dev->alua_state =3D SCSI_ACCESS_STATE_OPTIMAL; + } + sdev->scsi_mpath_dev->index =3D ida_alloc(&scsi_mpath_head->ida, GFP_KERN= EL); if (sdev->scsi_mpath_dev->index < 0) { ret =3D sdev->scsi_mpath_dev->index; diff --git a/include/scsi/scsi_multipath.h b/include/scsi/scsi_multipath.h index 2011447f482d6..7c7ee2fb7def7 100644 --- a/include/scsi/scsi_multipath.h +++ b/include/scsi/scsi_multipath.h @@ -38,6 +38,9 @@ struct scsi_mpath_device { int index; atomic_t nr_active; struct scsi_mpath_head *scsi_mpath_head; + int alua_state; + int alua_pref; + int alua_valid_states; =20 char device_id_str[SCSI_MPATH_DEVICE_ID_LEN]; }; --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D4A741C0D6; Tue, 10 Mar 2026 11:50:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143410; cv=fail; b=VmpKG0lfSIMEzcMMSMn9WWKsC62KzTre8IN8h6pkggfy32/PADDg68EBcP6RPW7RPQ9xtCTTl/K39cuDKNbKue7XTZEzVapqxMfkQKBiNb1Gcsm3eZ5J2xC6OQR31lyJ5JfgQq5h5wiHKv4Phg67Fs9Le2YDUAMn/BSjk6hnoFI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143410; c=relaxed/simple; bh=sxrkg68uyZuyFkrlyZrkvqbfuc/NKv/tpQKFbvPYCZ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OWbhDUy8qZPJ92WOxqxZgAKHCvk8B79CPDSvWSKQ/meQZDcT4qOTV/FPN/zMnibwoquzp6yVRi/HRZg/pYuSoOqU9V7YkEfgcdatKq8AaeFfh681Ls0O1JafPHtR6P2AsAEUWMbu8kP3AWZSptaplb7ePPHKRBlPwqXtuGe3Mso= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=p7hSHRmL; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=b8yITzpg; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="p7hSHRmL"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="b8yITzpg" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9eCLa1628413; Tue, 10 Mar 2026 11:49:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=LBW/fXKYlZYe+UNtZ/28LjXAZIB1syxEV+MY9wK9Y1Q=; b= p7hSHRmL1xxjy+jF/CEIsr5FzqDvPY/E+cA1aeDX8yloGc/UVOOBqSanHEdTnF48 2zfFvODhG6aYwa1d0x5naNwKd+uLZ3E5BP4esZT2a+A/l0fK2T8bmbzzH8/fw5mI /r6h2UTOtEP/saqoWj9PEUQ/BuOMHnvAgF5xm5lPDzgof3xDAv8oSHm57CSdibls Lt0gSNoLD3BMKzHCo8H+Wfr61fFQE8fKx2kxiGfJ+/TDc5WQZn8VlyNxlY/txkki vB8ZKxG+pbcDzJZsRRR6StdU6/oTJJv8Vtcpzp3F2bSIMyXDE/6ohwwAozV9BeUT /ooPdxfaqb0GPfa1K7xoRg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csmps2nt3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:51 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62A9o4vM007796; Tue, 10 Mar 2026 11:49:50 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012067.outbound.protection.outlook.com [40.93.195.67]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4craf9yfuw-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rROLEOifuFUz3yYY9pBv2Cige2Ll0DXPRGT0SEr9oLYYwtLlZsm4VMkxQMoIJUXhpAPXKsPvgKr+zZfEypQFrpazyqlmdhl49gCBGlUc0epyw7+Tll97iLrG400pC9g1sTcEfSjG0EPMBngSYXIA6yoI0e/Yg4XDNrP4/d8ztoxtcCijAFB3KmtZDznFzmm/0BG04/s40cePqlaf6nW+JjVmaP+Hk4MmmB0YSIaQt+KKLIaa6RjF35ntumSiGJOjMBlPA0092RiZGZmLrPBxO241ZcnbnV78ZBeKOZoFMUhnjTXZTLxsh5zuwEcR8OuwIoLSTUD5u7MMb+wBFKHrsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LBW/fXKYlZYe+UNtZ/28LjXAZIB1syxEV+MY9wK9Y1Q=; b=VLi5bHElyQGsIqKCnI3PRvaGFC/chdl+0bw+gZHtxm2eWG5qH47IDvVqaBjz5uHStEclbTSKms7OJzUtS0/vEhzbx1b/V6G2dtAvm/HqAQOgvwbMbt/hz6VMLe7UXXbsXxh1kxlGIHWfPiG+Lg53vrNFk1GL9+iPGq5ed5IDWyTfWEURBWNAeO72Eoyz0MEHs2w73toSpHIZTS8Hw2Gh4E0ZjKyFLOebl5myXrV07WIkkaPsTYsXoIhP4jTXYdke0XegZk7o1Av7JZJc5/b4O/3N5zQxEw9F+XM1za8TRsj5L4Yu6qiA4B+6k8FTfU6MLH+jYh3v2Q6xm3yHvKw2wQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LBW/fXKYlZYe+UNtZ/28LjXAZIB1syxEV+MY9wK9Y1Q=; b=b8yITzpgN95f6Rm3yi9KGB6oz3YIM1ry36+QM9eldma2Twarg+Ya09TwOFcQn+gFCPRqUb7w5mRh4Gv96iYV7EahiSL1UbeGiPkhgDiDZxP9Oy+21H0GGaU26jEboyi+avWXxjdFHDgi1KOLNNX2nlBbcGID15yenyMKZz/33uU= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by PH0PR10MB4519.namprd10.prod.outlook.com (2603:10b6:510:37::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.11; Tue, 10 Mar 2026 11:49:48 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:48 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 6/8] scsi: scsi-multipath: Maintain sdev->access_state Date: Tue, 10 Mar 2026 11:49:23 +0000 Message-ID: <20260310114925.1222263-7-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1P221CA0023.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::10) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|PH0PR10MB4519:EE_ X-MS-Office365-Filtering-Correlation-Id: fda0c891-7844-4848-3cd1-08de7e9b2179 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: bfAjEYGTX4/CLgmocXUXg26vyn53ZrsuM2CdZOhVgxW0+LpsCNqCPSlIIlhrOC2kO9ThmebmZya8i28QR03K9eZRyiFrHCtJTWgaMnVPaYb4YO0fATqYLWSv4TlEfoJt5Gof/UabC6YL19wUdvhNDxEs+PbcjPIQpWD2M02xYxmoJ9E0ZUXcb1RznUQvAPm2KUVvhk4mmJcbEyuXKZ7JzNZMIfMJRcrp7+yUvZTeUCsz2B/ehWX+Zk8zX02vIAURr8K5imCYYrGC8L8ZVHNHy1rrrH4FWjMun6/u9Ecbag6Lk5GGzfqHsur+vjE7mXza/yU/qVs5o6VMLqA1MGiWdlq9FV902jGxxRH86IHUf7KVDJ4ElOh06N3MSSsdoEyFZSB+qmDHQ7XQBSw6r6Wji86usLScxQBEm7HMLS31xQgd8TBfvXQ3wriuwwYaMkoa02IxaMRc5gPvfttq4U4W2Obj5XyWBzxdA3xjeMgp19iJ9Y59FOU1xi1Ub0bUfvg7/o23ZFcc+s9ULaJ6j2BrGha/QoZ3R+FMQQgORlwZVB8M+69LxnPyOdcanzPsXe4wdn+zhw9HSajZkvqFjyA2HTKu/uPWikFUK3fjG1dXpmiouHXzIKmuBif+kl3R8Jieg+diCaEtIZOPlLouBFc6I3o7vDJE02EcdU0mLrzdJGiCNVU0iKOOEev9GVCUp9p+/GyjGh0wZ4owS7EsihGDMsrdNqvqymu0zaXInazKoBc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2A+1zZLZipd4xoGf+XKW7NOUmaJL9gdALF4j8BBJEBHHs0ijpnKTn2eejPiv?= =?us-ascii?Q?POz3D7PqFCoNwxln2Ke+1rFgR/JVNulZNhe8gOOHx4YRMHibKc2RAZlN13TP?= =?us-ascii?Q?I4JTECfgPZtpDzigY8hSv4OIb9obn3rducl5R2Z/PbVkTTU8qZBoLPRrIyZy?= =?us-ascii?Q?epGszN+iZv7pqezdEOtLaGKtaIkRV37IR95LM7VnWr6PP/zQf5dWOrj2KYjF?= =?us-ascii?Q?4wkkFa7JO+rWGFKbNurquW7iuyl5usb9Q195yOWn1oPqblbHDcokhCdEF+ip?= =?us-ascii?Q?84imcxg02cjFB/rj1SAC2pUL1VCt520C9hMSobr7pJkHTatyIsy71epx255p?= =?us-ascii?Q?62o/zuK8rOTF4S4Vd135pT50jUBWMHxh4KIcRaFcpMAscQJnUCHA2vgFw5Pa?= =?us-ascii?Q?UO7DLhJ9V5uiOO39Gou2QETAbJYsbhvx32uvAvP9b7NLUh25bSwPKPLX0ULS?= =?us-ascii?Q?3Zm4OkEyRWS2faENelrNYN370izRE7Fuy7Tn8Ba+P9v/02NzLDtVhzai+pmY?= =?us-ascii?Q?d68AqKPo38gcsspzFwVLivm5By87u6hVUlseAqFQWi2oKjA9V4E9jM2D+WRH?= =?us-ascii?Q?51JoA7GMKM3oJyeARrV3iKLUOWwFWgH39bNxxID1mqaQNx1kirAr20aVE5hG?= =?us-ascii?Q?WojyjfLab3a1AxMqzFLLM8EQXvWhaPGROxcSxUiTXBI4fLanzNZ+hNc7IQcD?= =?us-ascii?Q?FZfLBDhL/Vyv4EaS9OSss+CfmltzfQwLqgrU0GIbAq8RzQvrYW3tS+ylV+AF?= =?us-ascii?Q?fEORQKALjsNeol6M47VIim+4vy8Am3rT7fikKg1a4l0j+AlD0Wv/UiIcbTTB?= =?us-ascii?Q?GZNSLKQsTUAumwWs/zjSzAQMauleJXW6EV1GEqll12zI8Fgc/YHiBCwZ3XGW?= =?us-ascii?Q?4Ub1q9gS5X5rs9OwOsPmLnDilSK77fGp3M8/J19TG5Qn+jhHp2cl6/+T4r43?= =?us-ascii?Q?qm8Os4sAdjXop1wSljE38VuntXeJUju1jqyVQLNMGIHACkLxTYpw9WLHMGtu?= =?us-ascii?Q?ItyYHl95mAFU6VXm6aJDdAbpbsB8L51utSPQecMSJzNdNn/g5lpvZFryLOck?= =?us-ascii?Q?OemN9AAnnuZrjM3KzYmboXCFSJw47smdT28kYhnV4WOcfeLgBsvqx3dxDWZ8?= =?us-ascii?Q?x43mz6MgS9Gp/uhvqoAFx4y+dFVh9D1bQqXfNiUln9/cUQ5hw0FAeMd5K6S7?= =?us-ascii?Q?uLI5rr5C972iTyFaU99DBpKau4nh0IA7DuUMsdfxVEHaOhZg0N1jkdIJxCUi?= =?us-ascii?Q?++xXwx3H0v4Vr0TIu5+e8FHT/7WBUGTqnGSKoWoMqpA6lF6/O0POUytBCpRA?= =?us-ascii?Q?jrBwPYfdCPO7V3DksqW8TmabK10De7g37L7WmfByZW7kEddtpXvrzO+aee6U?= =?us-ascii?Q?uKtYTN8BfKK74vhl41Pw1hbmbPCmL6u7xltJ0dVSo4U8IDWNcHTtSNl4MOI8?= =?us-ascii?Q?Z8Dczn/zm6U3OOmfGI/MPG9fYTbCtVCOlLXirjUWiZEj77x9plTOIKWSECMW?= =?us-ascii?Q?mBkB+A4HFM010Kuxb27cR/B1DQx2Ubx9yFoxADC/m0BwOrTIVQgQ8mQN5Jml?= =?us-ascii?Q?eC3PmGuKSWg5fUOoMWpfKXeDZovIJ+qN15gC7A/jxdSggKPZCA47gxdUDtko?= =?us-ascii?Q?slYzS9umrXESmFtWI2wQ47sIR6wv+CwBQtB1+Yh09tqvBvI8wnRfiRHcKgVX?= =?us-ascii?Q?hMZd8YDMggadzxJx1ikHidlbriDRvukogwPVkoKnLpgkN2hwuZK/5JuYY2oo?= =?us-ascii?Q?kzJ1H9Krfw=3D=3D?= X-Exchange-RoutingPolicyChecked: kxGwrpb+Dv3kFt0gqPgAHGdL5kFSMB8FfN5wwcH36fePTMyz5ejlE3EdVH6T3jUEEdgloNhEEhCFAjRrouJ+Vt/PgCYNWSQJjQyvB0yjxwB/IJJ/s/OxKdJWolIsZJ/IHgQ5syN49fk6XQ7ooxfjPFSmYIv3LGhyGaImvnHdrp2TtbvQkpFUdjatxOwkvDDoeB4ENP0w7pcx94LeCOq3n2e6p+BKk2L2bKHGTEDsX854BlPZ0yIekCzas9saIEtASZW/+MmpNdL+Mq9AJt/adTrGhMqNKY65j2NPM2bPHXmlM3WEZGv3ZmTzgn4Hxvkn+UmdYZgZ5RAedXOXUU5qZg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: QqO+7qFbNzUcUSvnNe3plwB3jLDwWPxEZsAVx43XCNiwdflKIZ+0dULJMpwkpmx8RrPxx+1oEb3MN2pEntkIG6t4UVlJAZ+M6xiWKRET1TagRESAjJHd8i6jjR0YkvyhbqoXJjHjpJb6sMR1NBSAgtYIrrsd6IOyDaw/ln6lTChZbsLpvyC3WgvS3w9zHpDeWRJUGtWKfqXFSuSfTJgUTSjyfmuYWwpolrfwzLyZtuHU05ao1ceya7MG3rl/KOZzzCeMrlkE6dtJXdF0RfRBv1fIJwjX9AyU+3c+d42yJnlOwGLgKWnuVe7kXjBJB9ljZc0xPBxT9zR+g5XmHm554Y18cL8ffdhhdnTyGo4VtG/olm6mgExqwQToS1LD9sp2q6CcKaEPZDVTmSerBTJWzchKSv+uFDayp1EdKZIdwew7JUPIgRbT/pTXbMcUvEt8b8rFxgEOi8yyKc1/h7t7mt8KVbwjX3yb9jr4wFus76H4zQ9J1R8PApbY6V2DI0D8oyVA9ZYY1b1jyVhpAwpU4l28ru7JYf7eADrCp4+0fZ+vc65Laz/JG6zUY+P0m1TyNA16F6nRkb7twiEFCuh3ZgxDoMLW0zVlH/zSy4zr9mw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fda0c891-7844-4848-3cd1-08de7e9b2179 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:48.1428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FHCFfjJMs4hvZZqtJD+mJr4pzOi2ft/TsjVtmcHIEaeh8YIaAj7MAmq0Z0L/z67k9VSJCH0lZAAEI2kGk+J40g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4519 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 suspectscore=0 adultscore=0 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Authority-Analysis: v=2.4 cv=IJQPywvG c=1 sm=1 tr=0 ts=69b0055f b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=yPCof4ZbAAAA:8 a=Z-QkV3UySbKu4i3C0aMA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfXz9NXT1uxe1OX fhP4rUF0ODSGYzcgD0GKqeulS1Ss2HtbyfkzeVdmZ64I4DNn6GpTfuwEyuGOSMIVHj/TvjYOXmp q4bG4lzv1J0NOZ4uNV2ydNyDWpRPvsRemhe6pixJhpve95XdX+IFAjdLeH6swGqOm2T5jJG6inF EbzlX/jTQDyZoWVcbQbK9EJIrBSj4c7bsBDIA5BhqxCmCRnsf3b0kF6aAicNFzbZSxnK5x6uE7m 3v3C1XcEs8conBnqOYI91lMzQshd5J27/Vrogjng5iWMF+WMl6p9nN/Xb5GBY9UxvZuYrJ9zn+f sGbFqUChJeMeYb17qL+eSTCHP0cvnxT5Ca+cdQJCXu6EYJ6fKUNwdhMs6NGf7oJD5FVoWzICwq/ 9FS/jRZF39Z4pLhaMv68Oq21jqjeMVR8mY7+OK7dBmwT2UoqXVgPB+N7/1aRHcsVzF6KiO3mlXR 3UQWMdylnqDGNkfvAIg== X-Proofpoint-GUID: ARNglL8J09SBm3iyilPp47IyU547NqZl X-Proofpoint-ORIG-GUID: ARNglL8J09SBm3iyilPp47IyU547NqZl Content-Type: text/plain; charset="utf-8" Now that ALUA is supported, we can maintain sdev->access_state. However, preferred_path is still not maintained as that that is related to transitioning state and we do not yet support that (for SCSI multipath). Signed-off-by: John Garry --- drivers/scsi/scsi_multipath.c | 1 + drivers/scsi/scsi_sysfs.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/scsi_multipath.c b/drivers/scsi/scsi_multipath.c index 0a314080bf0a5..0c34b1151f5bf 100644 --- a/drivers/scsi/scsi_multipath.c +++ b/drivers/scsi/scsi_multipath.c @@ -772,6 +772,7 @@ int scsi_mpath_dev_alloc(struct scsi_device *sdev) } else { sdev->scsi_mpath_dev->alua_state =3D SCSI_ACCESS_STATE_OPTIMAL; } + sdev->access_state =3D sdev->scsi_mpath_dev->alua_state; =20 sdev->scsi_mpath_dev->index =3D ida_alloc(&scsi_mpath_head->ida, GFP_KERN= EL); if (sdev->scsi_mpath_dev->index < 0) { diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 3b03ee00c8df3..e4fbf08e05f4f 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -1113,7 +1113,7 @@ sdev_show_access_state(struct device *dev, unsigned char access_state; const char *access_state_name; =20 - if (!sdev->handler) + if (!sdev->handler && !sdev->scsi_mpath_dev) return -EINVAL; =20 access_state =3D (sdev->access_state & SCSI_ACCESS_STATE_MASK); --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E20F638B7A2; Tue, 10 Mar 2026 11:50:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143411; cv=fail; b=Kk2CJMIycLDaRIysS9lA/2UQmCCNlGojurQUbvRB8L0L83tJjB4LZtNtAhwGnSJCey2mJJ33Nb0KmC5lP70ZHM5FZBjxDADZsZA2UVGATI6+mtk4SShSuHkbqwdLveZ/tDQxCvfjSFgc7aWz/fR6+bPBYWrtZDDYApQ/a8xYbrE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143411; c=relaxed/simple; bh=Gf+VFKEFWhy1azdIVE2ESqRHovNY0JtDccCUmagC4cQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LWv6fI1tiEQ/tZSpMOlLz8c2TeMLysGeN4N3dQ3NR0kpb6i27GXGz6j0RCsUgvz7x1P960xZVsCXKmmpaR3phe68Yduz7Dpa0LHG91py1Qx4H4Ntn1xJxdTRcE4SXvDpT1TDd6SMRTHOAE9879N6xdhxiGCHmo5Ay4ZXAYsIv2Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=PEsh/i10; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=kFrNuKAy; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PEsh/i10"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="kFrNuKAy" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9ovqX1719663; Tue, 10 Mar 2026 11:49:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=GF1l2qhVk7tpbiedlk77pij6CLCQbocOLn5SYO93ZSg=; b= PEsh/i102WMifeLTXWNhk8lpPLURr6b1Hxhnk73OC29cll38Crfci7L6Lhbkk1ot 2Kr8WlITDIhHRhhdPmKFVITpnODyBRtV2lAcZszrk9lMS6DVPcRFwiXjydle/RF9 1Log8zQgxUIddEYIRMVDQOZnUT0vXjHFDiiYhogGU27Pyj0RRw44ecytudTpinkP HEH7mpui3v/zTIvok5FYKRro8fYRb3kgHrLBopGJeONnsHedbDvXQeZOQgurXDj1 Id8USDnXT23RDrQKCQMdm/nzl2TY5j4c2LCY4yQhH5CU8HUXNBpdxD77bTjwDpn/ E3w5ON9tjEZPwUxYsNF+vg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cskyp2nuq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:53 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62ABQZDI007766; Tue, 10 Mar 2026 11:49:52 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010033.outbound.protection.outlook.com [52.101.193.33]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4craf9yfvw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rORK4K33Jru+nnXPIhIvyTIIIGVqmMYPMHqjEdYQHAdgHyRjuFHlDXF2n3Dah9oc1TFg5lP2l5lgHFkNtlimQahy3/1HAIXu/tvrzmcc8IqjYCfSGjcyLH558jfz8ebs6nIHlWIh6LyApGfk4+AgDgpyZ5EMAdcJR1rBV6B07Y8XGUTmFMqWwc7LQthf9NY25VOqZWPF7GBJ96jqF08Ymw7/4AazcrgqiZGxbEerHjYqFRhutm62QJTRNLaZVNFgh/ZAIUDN4v0AKPlRr4wV40iNHcjlQloXBYyo9h+aJAEW7QJok0Jq9VRWUJfO2apXP7rnteaCWoXQymgaSxRQZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GF1l2qhVk7tpbiedlk77pij6CLCQbocOLn5SYO93ZSg=; b=uGv0oK1vf+a8D1DnGnujP03uHbt5ovHT7OZdfgEANtvtYRx2r4EQRr/+l/t8uq2qJffKIErAR2wLq8+gQa5ZKsUhqgUvYYms2yKYzqycriZvY3i7snKS+1rFPnlwN9fiZiHTQpGMkHCrIYKlr0n8FyHTy6SzmmHAQ4Lvi+HPj4+b4ElM+qgx/tECdyo38HS7FU9MhpSkpIiz/32G8Kv2rdg+Mp6Z2AWIadNyzgYtbwnpJq+t12SvasYnjTxe7aQvvOUD9gbv1nksHfQ4Eg76qyKSP1aVa2S6E/jxo0hnCgrV1QzHo8st78Eq4480UH2Yzl9t+f+4l3vLAC4dmBxfgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GF1l2qhVk7tpbiedlk77pij6CLCQbocOLn5SYO93ZSg=; b=kFrNuKAyECsCeXsJb3tQe4d8XCmqny9OJaneNDCr2F/vua4EGkk/aZ+X4ptuqbFpPMwQoNVW9Yce5qLJQPPoy/4Ov0NHLrkCcKNwvsgbFydzbjZCllBRaptZS7AsJHBjY2130AlzP84hZXLtdbml3JtW8563J6HhQ/g6X5tgmog= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by DS7PR10MB5166.namprd10.prod.outlook.com (2603:10b6:5:3a4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.25; Tue, 10 Mar 2026 11:49:49 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:49 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 7/8] scsi: scsi-multipath: Issue a periodic TUR per path Date: Tue, 10 Mar 2026 11:49:24 +0000 Message-ID: <20260310114925.1222263-8-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0140.namprd13.prod.outlook.com (2603:10b6:208:2bb::25) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|DS7PR10MB5166:EE_ X-MS-Office365-Filtering-Correlation-Id: 49054e3c-30d2-45af-9d02-08de7e9b2244 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: +dcLZGJwwJ1MyL1jKhP17JwHz9OwMKlIG1fkFfOG1jEGKSL9Cj+Hwnn34EaJMY+xx/nqJVY3/gSN4Tc9xZA2cQ2N6mxj1vnaTSzDzkLSGc6zC13cVguo8t1ouEECFbCOK9jB+bN2nYieMQufcPHD8AjncZwWQ0SdZ6/pbfh0/yuxbBgQ6mbv+MImal0jU+ylj1C4PDgqMgr1e92x+ppMAoq7sZxG32sGG7YvAHxnGF4/t9kK1ViC93+tw87TkU232GnXf+yo2D79iK8pW4eSYXcUWtl0K/cIpWdA6GWaWyGqsdCMCOiyqDpPf+eCRqWx0PrE019OJR2WNfggktU61WmNJMYXtmAFJPK5D1LcWR8wd8yiqEhAJrk05aQvusYlKO3H/UsfHOFa0IGDkDAJE3PthwA/V2w6eSchy8VB4TEjHD5IyfQN27k2Mxq3Id6HocSjvs9lrHC5567Ca0DsHycfgV3RFKZE4WYd7uXZQ38bokc7+PoUosG9ZjcugYB9REsyy3++aitntjYQLDaGt9YbE0GiIXU3PDArL7XnYIQL/Wz3mxbGPgi5f0Mbu0cLNXY4ZY1+yHAf/Dib08GiGMjXQ4aBwUdWLPwQsOqns1E4GZfL/xOurAWm7iLPXixZXMMaxtVwZokt3swz4YXRTIrAuQb0+l4dikrQs8fJBZxq9o1UngL+S15g8sSQwyIXNIdFBPayKHVI2EDDx7B318nT2SvSD90t/Z4EQd4szHY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bjZqLMsCI3WBlDZeS2b75Dk0+OXGUnm4PAEN2+aX6Dfr5K8k3np4fmXzhyf/?= =?us-ascii?Q?exub0Z3+xMyw0lnGd/pdiQWrwM0Shp80Rx8hsPQ3xNvcOx9P5Esjga3zzBVm?= =?us-ascii?Q?/6hdFHaCOBBtgNkbke8XJW7jHc875CBobtYn4AjFaYU7p0tC+9hd5yL12YHu?= =?us-ascii?Q?FecYj0CVFceZuQUXFcfidbCgdINGxgJYNX5z+n3BXiRbTaYD7Kal08sDqLpu?= =?us-ascii?Q?jwy4iLT5eiGoROquB6HUNreN1yjEIsaAnKmqlgYxcnOKfZSEwuJLpK4f/mZ1?= =?us-ascii?Q?uV6cVPGaZ5DqXNGuBM5AHGCCaqhklTewW0G/2HNOk7aDQ2t3quo7IN6MDAsm?= =?us-ascii?Q?6IdjnlTqO5iXJUS/ejs/IF8vHCp53HMWs5yfGFQFVmD4X82Z0CQ+nBLoX+rt?= =?us-ascii?Q?DxGDBuckyFcFD1Yxj5+eqPcaOIAKLIEDrslK/HLiPCl27EtY97yGexifyu+Q?= =?us-ascii?Q?JPX7yXgZZqbxn741vwheQRaX9DVgRcwWr7qVzAAPQf211EFZf6rB4JUXVVW0?= =?us-ascii?Q?5mkAC0xGyODFodY/Uq8tjb2VJ/2NaE0Iam2InltOrOXr+AaY8x5jjSxJ/zLD?= =?us-ascii?Q?JNDwFUoK7m0oaWFKjonRdB279FZsXVKaJaDfxAcblf1SwSJhGt9rz0S4Jxe6?= =?us-ascii?Q?ZY/fmK8vM6CKjLMNqwGgCB3aKXuFELGP6Io7HQ2nD+mPFlS9KGusRlPv3ZmW?= =?us-ascii?Q?qcPxZCKLgGkjcseYrTsc3bM8gcORKO483AwotsEGrc9EWkxv/2jbljAc5Cew?= =?us-ascii?Q?Q/gbRwY1ao+tMfNchLsrcC5SlxlAkxhKCYdDmHPRI/yCf7n9vD7u056QOjYt?= =?us-ascii?Q?EOAwhv/MGjVX59Hz+32zmlo093SQptgT5KP+3iQzq/ObMnNOxKFoVWzhStl4?= =?us-ascii?Q?15PRWMCjtMCon8Gbh/u0isBuo8rPfvtSoiG9U+eg1sX/I2zL1oQy2o177Bad?= =?us-ascii?Q?jgujZZyDE2BtOpcZGA4qbPKMwDYiD0v6q/6t3Rvh+WUT/qU0LMTLSMtGHuPu?= =?us-ascii?Q?yRZ11bq488jQOJT1RHQu20Y507yhEeCoYsh1KhFD8HcjMoIbkP27zYhVB57G?= =?us-ascii?Q?ObRG4pBxLqS3a4G/v08oHncXi8GJf160G0jVOuOLQn1jDAPf4S/jEjK9MMfV?= =?us-ascii?Q?QdUIKgXP3jfuwnYtk4zdND0wanARqGxKeeTViB6LykJY7ExS6+fAUf3rMt1Q?= =?us-ascii?Q?vne+9rY65zSf+lmnwufXjJrrjX2WvII9bd+4HnK1C+va+5s/XTz+uti2Vfro?= =?us-ascii?Q?5iYjWqZPBqIB+SZEOB2xYTJzsDlt+XbuMsHuqsJUmX3NgAUC5mZ1vQUG7WbL?= =?us-ascii?Q?3M9AySpbSrsyFS0HHliEQ8G196mFY+oRXNvc4JgwouCSBb4MUQOdPtp/fZZ5?= =?us-ascii?Q?20I2XCVvQbIf+r7w+eAaF6PJqS/56IG5Uo5PAbXPgR7khWsrnARYMy4Bguyu?= =?us-ascii?Q?uaWQTLjL0jKUoGcwo7y9BVv/28MiFMrFFw5OIvr8rq1W1GquGBVHQQUoPesS?= =?us-ascii?Q?6n9raFwJeBAzaDdW7dBXN2nNdrLnzZ91BcRVz/yX2zKafTgS9XOD/8oNvBv2?= =?us-ascii?Q?Oow+IwUgu5N4roW0wbLOil6hPZz7sksNEozHxUL00Lwh16k0z60LNQaK4LMp?= =?us-ascii?Q?jHbE7qkJOxUyFXUR2J1mAOiVuGXq48zhpeDPWqRg0UuT2sh6hrgZvtGEjTET?= =?us-ascii?Q?PtnrNjCV/HYrEVXbmWMm8M1VGfMc3vEomi0HSV3hPF9l1MXfCEV2fKaVm4IO?= =?us-ascii?Q?7U+K6he1Wg=3D=3D?= X-Exchange-RoutingPolicyChecked: YI1S1pg6gKE6/QeNWiRdiaySLQYcRT3LMC4sv2YrvWF3YYAcrU3GMzqjU2tOgSg1ptQiUMdTY0jUzHunwu6uY+LQOD016WPHYFDUUcTYUm0bRrL8CMBxn3nGJyC6gWykcgsM5lHBIC/ux3NTlHgCxXkyyOuJZVCjfQUSw7l7MWoWvHbawJGpOZ2bZMP6SMiAlMQCJuIeg2lPut0GB2CbzAVM6UtXnDqKDPmrRTXRqqs1aJtJnoakWj6dl3TX8mNHstG+EtjeipYfgpx/Hz4hyS2FBGV2tYdF8sXHCgDohdEHthy6RK6tFW80zSvEbTuONhkE2TUEaeIag6A3NVY6XA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: i3jK0w9cxV+rnV8Yz3X0Wx/T6SsMYQ4lp9q9Q6hxL0faxQPpHcBsaaveJm5kw2EivLGnuhJR5m2wqINNcJtd6QGt8pYpTok1hkv9VBFPqgYIIpOfVxG2lS3ahygJJC4N21owUbxl/AkxsTYE2U5IcU0ysjBelcluDP/4fmH7WA5zePEhLX76Q61hcFbGsY9OKk/bXZlTO2/g16KLSuYD2ROBX7SQDTkrkEZCcb7t7FXrZcdAcNQXmjpQQJZN7ECpQ6mcCynXJxsDbL+Jpn+CCOBoc3C0cC6k6bbYSzxKi+HNnS7iw0qCqjxe1+8qaV4OFLFa4W3W+f27NyOEMsG0ozQS1zJOAziLzY82RYX2UEZ6Krk9Nbue2qIkepSAdLzbYdozIFsN77SrgueuAAjtuSQ0xSwueBKdNwQy7/i8BVAk07ShfszgIikO+NSGkzFgSmhYjxsvt1GRJMeZwvNmADboDPn21ccTq2n7EAJgcznyM674ChCDVJDO8/yd779rXVQxGL3x3D7gtYKaQ+yZyfcmZfcZJPBu+PkVgYgyg4bFBEBIa0t+IEgtpAUmY7d+kq0nxgLOdvEKgqADTfdmDaKXyZ+AfsKmRuSsoab0+W8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49054e3c-30d2-45af-9d02-08de7e9b2244 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:49.4328 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uEuXu4IvtYEeth52qAO+y65LrTLFZ1iGbkQpnH+IoqWnslt7J7SxW2zH7rnIamdI1f9jyZco6+MVGTvf/m6z9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5166 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 suspectscore=0 adultscore=0 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Proofpoint-GUID: dEHFXwj8NPrf5ez5aGazaQYL-TDAHe1f X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX9FVX5U7+h9dk Ffyk7Ms5pU2Erpcfb9PTb4zXTdIiVjwZVdy0deVlPGtA+Sdg5byPtN/LqMSiSZ39cpDHQ6bZwUr D19/VKy/vWkbsR1VIKu17jjLj2XWb1AiG0XrISv5ehEMr7LuK8ZPuhKNV3xCLcg9akRu64DLkMr oFbk8SIBlmCaS9iOUBUT945+i5A+wgwuO9+cRs/w/atssYb1AhCraABUkG6xYwcWh6An24vLwVJ st3GS+kzgxxw3bPD4AjBAkhKSU5aFdjA9/gPJ/whOZfRy9PqbDzN22BBSJg3/wFnxk/elHxrG9I jUzeV76AoAeHLppRHRkgWl39NrWnrHwFPzFo8KxRZCmPTzpRSRZR8ak7k42bl+0A/KvQuIizSTS 8kQSSsXQFotLPV0G7TnXZBEgoB2BcEdxxLnT0NyqRcr9xKl57bnYIQ71FyfpWfQf/kTIGdBdyiT 83KpkqyRuIrhVVRDHnw== X-Proofpoint-ORIG-GUID: dEHFXwj8NPrf5ez5aGazaQYL-TDAHe1f X-Authority-Analysis: v=2.4 cv=XP89iAhE c=1 sm=1 tr=0 ts=69b00561 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=RD47p0oAkeU5bO7t-o6f:22 a=yPCof4ZbAAAA:8 a=437RAPt7mZHohC6A0YAA:9 Content-Type: text/plain; charset="utf-8" To allow the initiator know of any ALUA configuration changes, issue a periodic TUR. multipathd does something similar for dm-multipath in terms of issuing a periodic read per path. The purpose of the TUR is that the target can update UA info in the TUR response and the INI can handle it, but currently we don't for SCSI multipath. Signed-off-by: John Garry --- drivers/scsi/scsi_multipath.c | 36 +++++++++++++++++++++++++++++++++++ include/scsi/scsi_multipath.h | 1 + 2 files changed, 37 insertions(+) diff --git a/drivers/scsi/scsi_multipath.c b/drivers/scsi/scsi_multipath.c index 0c34b1151f5bf..2b916c7af4bd7 100644 --- a/drivers/scsi/scsi_multipath.c +++ b/drivers/scsi/scsi_multipath.c @@ -4,6 +4,7 @@ * */ =20 +#include #include #include #include @@ -124,6 +125,7 @@ static void scsi_mpath_head_release(struct device *dev) container_of(dev, struct scsi_mpath_head, dev); struct mpath_head *mpath_head =3D scsi_mpath_head->mpath_head; =20 + WARN_ON_ONCE(kthread_stop(scsi_mpath_head->kua)); scsi_mpath_delete_head(scsi_mpath_head); bioset_exit(&scsi_mpath_head->bio_pool); ida_free(&scsi_multipath_dev_ida, scsi_mpath_head->index); @@ -514,6 +516,29 @@ struct mpath_head_template smpdt_pr =3D { .device_groups =3D mpath_device_groups, }; =20 +static void scsi_mpath_cb_ua_thread(struct mpath_device *mpath_device) +{ + struct scsi_mpath_device *scsi_mpath_dev =3D + to_scsi_mpath_device(mpath_device); + + if (alua_tur(scsi_mpath_dev->sdev)) + sdev_printk(KERN_NOTICE, scsi_mpath_dev->sdev, + "%s: No target port descriptors found\n", + __func__); +} + +static int scsi_mpath_ua_thread(void *data) +{ + struct scsi_mpath_head *scsi_mpath_head =3D data; + + while (!kthread_should_stop()) { + mpath_call_for_all_devices(scsi_mpath_head->mpath_head, + scsi_mpath_cb_ua_thread); + msleep(5000); + } + return 0; +} + static struct scsi_mpath_head *scsi_mpath_alloc_head(void) { struct scsi_mpath_head *scsi_mpath_head; @@ -548,6 +573,17 @@ static struct scsi_mpath_head *scsi_mpath_alloc_head(v= oid) goto out_free_ida; } =20 + scsi_mpath_head->kua =3D kthread_create(scsi_mpath_ua_thread, + scsi_mpath_head, "scsi-multipath-kua-%d", + scsi_mpath_head->index); + if (IS_ERR(scsi_mpath_head->kua)) { + put_device(&scsi_mpath_head->dev); + goto out_free_ida; + } + + set_user_nice(scsi_mpath_head->kua, 10); + wake_up_process(scsi_mpath_head->kua); + return scsi_mpath_head; =20 out_free_ida: diff --git a/include/scsi/scsi_multipath.h b/include/scsi/scsi_multipath.h index 7c7ee2fb7def7..d30f2c41e17de 100644 --- a/include/scsi/scsi_multipath.h +++ b/include/scsi/scsi_multipath.h @@ -30,6 +30,7 @@ struct scsi_mpath_head { struct mpath_head *mpath_head; struct device dev; int index; + struct task_struct *kua; }; =20 struct scsi_mpath_device { --=20 2.43.5 From nobody Thu Apr 9 06:36:36 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6EFF38E113; Tue, 10 Mar 2026 11:51:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143472; cv=fail; b=f6CLhhe8OMNgbiBrQB/DMZckTnEUtSPp45ctD3b6IWC93pVxBvu9ajcfK37/ehRO/QYZ4puIoX5g8xIXFbBo28npMt6zknbDXoaSuLrlfpwraHdZGxERrzroJ+TPyeJvqlkte0n/Df5yRCTgsBYv229LcgDOOrXIXNwxqPsyCeA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143472; c=relaxed/simple; bh=xMXobP9GPVbaDpIHzcIo8fritLIyfvnDVTZbjpnl9DY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=r2rwO/oWeGaF2vsIF7IyX5tbxkkWGFTUzBev4UrAVnBo0mY3gdBHUIRKq6ydzIne1sWZr/mwJplDpS9wFuUhH/Hy1CMOQFv1MmllpZa09f5Io1udjjrcIx5jHLJgVVzDrs/PAu149yYwUC6RxRHnclvWVz3NIcegjLSRTm0CtTA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=gLTfAo3d; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=y5aLR1gd; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="gLTfAo3d"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="y5aLR1gd" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62A9eCLb1628413; Tue, 10 Mar 2026 11:49:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=XBPEgrh3P8I/wnirTcteSmT4GS9exVPhQYf7Aaz/CYk=; b= gLTfAo3d+r9gxzzoUUfLavazLqyFDpcOamvKFUApJNWLvdDR1U/SA8uTS+LAdRRM XR54WeXcDRQQAsMiEzt8MoASQm0wZumT/2CW3MIO0HifHsT61j9jXJTM/GDNOKdA iL8f+e6mRHTopfxiKodjy/QuClXBz95rbYyjzbRYHqUgMdU0Chte4T91FYqUFGGR mf4lrswf+yFZTirhKDwJ/36WfTbNt+X6tToKCSAqbt/a0rRvHvHT4p70jvd0hEHZ oR/FF94MfBpJ3jSUWtJK9C2VWENuHh2VvbOoTUlSzedzbJ6aswtQHoWN65dXqIqS luv5kfdhIJFAaT3qS7d4DQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4csmps2nt6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:55 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 62AAbA1Z020243; Tue, 10 Mar 2026 11:49:53 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010044.outbound.protection.outlook.com [52.101.193.44]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4crafe075d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2026 11:49:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n/h4dgl7zzPFWWaL/3lg8trN+Id3ZVMdv9HsF89Y4OGaodEcXpZube68E3YLnRh3LruRPEOe3se4wvSlOLuVQHqBXyHO88k2jS1tO0W36zD+DZdyklgtX6zyaa0fIsy6U8dUILflGmUHFxTj8IOXDCE+wsnAE6Q5/YKxxo9GU+53Xo4oy5bEZDttyCRqTwrc+aC3ikndgp9+kwHrYFMlPkiiMvGa3fsUik08tWdO/zIONz2Z8S7++UgyVPrRJHWR9H7WJago5Q/IrZs+Pr1TkowAxqUbgF4fnhWwL4cC2SAxvdcHtkYuS9GP9CzfhWdlFWgB/iOO2BqxVCKz2XKW5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XBPEgrh3P8I/wnirTcteSmT4GS9exVPhQYf7Aaz/CYk=; b=nSyJ1yygkzT6YswMbokAWSJEt1SWnCHFEDMBBVy5DIr/u5t+z47bjicrDn2OX2+fjrqPMReQ60ZdrlfsqVmPMJahBYvZmeChYdO3Ss2McXr2GJwngzRwtb++CfWr6DOlArvrLkAyuF+FfYAyxoF4oFQz0UI+ACdjdDsahi0M+2Zm8QfptjXbmJPFczA9/z34KJjVHKecAs8nuPVALWzeHq2WrGgKfSK1pbRv/M9JqZ74p9ECVaUL8WsZxCqtdzj9wuhwgQX49aaVODbXgf7hZs7uDqi3kVFfSe9uFNu0pogPsEBuxVQxwl2N7/LhSmCgBjFgcs/3ia7ROc30W6TyGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XBPEgrh3P8I/wnirTcteSmT4GS9exVPhQYf7Aaz/CYk=; b=y5aLR1gdEgYDDQR9+fO/YQS3RABMd3mTjLn3YQB16CrvuyEvx5RTeGNDloRfOz/qtkaNVY3L6MhqnK8Cax6k2r16+PfeXN5CWO54X2/xKi7kIcZXLvLZ2OPwuuQazo+m1wBl4ZZNeLG1CoCccWg9A4G4CeRdTPXIHTQ+w2ydQh4= Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) by DS7PR10MB5166.namprd10.prod.outlook.com (2603:10b6:5:3a4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.25; Tue, 10 Mar 2026 11:49:51 +0000 Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com ([fe80::5266:1601:5598:3f0a%5]) with mapi id 15.20.9700.010; Tue, 10 Mar 2026 11:49:50 +0000 From: John Garry To: hch@lst.de, kbusch@kernel.org, martin.petersen@oracle.com, james.bottomley@hansenpartnership.com, hare@suse.com, bmarzins@redhat.com Cc: jmeneghi@redhat.com, linux-nvme@lists.infradead.org, sagi@grimberg.me, axboe@fb.com, linux-scsi@vger.kernel.org, michael.christie@oracle.com, snitzer@kernel.org, dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, nilay@linux.ibm.com, John Garry Subject: [PATCH 8/8] scsi: scsi-multipath: Add stubbed scsi_multipath_dev_rescan() Date: Tue, 10 Mar 2026 11:49:25 +0000 Message-ID: <20260310114925.1222263-9-john.g.garry@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260310114925.1222263-1-john.g.garry@oracle.com> References: <20260310114925.1222263-1-john.g.garry@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0132.namprd13.prod.outlook.com (2603:10b6:208:2bb::17) To DS4PPFEAFA21C69.namprd10.prod.outlook.com (2603:10b6:f:fc00::d54) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|DS7PR10MB5166:EE_ X-MS-Office365-Filtering-Correlation-Id: 7784f53b-e273-4fbd-eb7c-08de7e9b2317 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: D9/TQpBrKZ/QlZXvum0fgilxnV9YwdbY+AgQUR+xPAuQuoJ9SxxeBjw217GMWzPq2LBw6ZU7l4ldJeF+c+4p5LoHgM3wGY3YJNQ9owG3TSztdFo/s/wkPQO7XpmHjnUOuO3Zov0M66f13Q34UBAiOhgHfpCBWksW4H9brta5bmWh/SXh8PQsNkHNwKVdSQuuTtezmeLUXGfVjV+Zqmzvgu3K2tbHZ+p8IGbjDpmfHX/XGuT7Q1onf/1DCPMiv4INZC7n1kHeKAPRnySpCpUXh3xQkKRVc7Wwj6sw4ZczKNRKP8JrmApb+xd1nyrKsGq5S7qPnkmhdDZ91zk8y7HE0JaMqpXSuxYZ6lw9FeExUNPzMd2kG5pa3WcesoSFS7c0ij3f/ocrqC8nTkwaozgic40ADHhq0kCI/W/mDZJ1RytjepPdUB2csGnXIX2ipKbd9tImc8HEQ1ROwu9crySn6S/AzEwC/a7MnasXrykI5Hu9PfAqKPehvHVDSoP0M3fNvzLudZOWk+A2KWJPxc5pwzQ3AsTYhGPE6gUPHimcM8rn0QJYYi39RczEQZiLLe2FWXbfiZ94ESLtjLhZp655u9cD4dLw68rbY1HhNqAcbzxxIBhmG0Y2tYkdPc+WzjF1KUqkDy6z3JOfcnfm8jEYGXDupN/NTU5guKvgbq+HtdPvSW5GWXuLBGbyiiCetGeV3DpRlwXETVSdpOrJF8Ryy3DXFLTG0T/G+JH9Q8q44Ys= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8beSk49EAsw9VpghDGGRZuau1jrcvD9rUAUTSL0SnZYtpPbHQyav8aSSCurO?= =?us-ascii?Q?ZQsi1W/rGCvHjdbjsdXhkn1MKfRB+D0Y1e0MZzDzUsLfFwMlxulVH7MI9RYz?= =?us-ascii?Q?+DVCz+W3HGOCq9uKuGCK/QnRccR7qunsujqHSMtJyjWptRTOHiK/HqzmXI8a?= =?us-ascii?Q?ggOvpa2cRYhBf0PdauyLheQ8vS+4nwZ/Nov3GX0ygsgnso5zARcsLoeyn28F?= =?us-ascii?Q?FY8tcDFyd9uw6p6ltJLZRGRpW0Y2BL9lOjzH2IeVXTByaoDCRZUMKhid7GrQ?= =?us-ascii?Q?gNLsGIqm648O7HhbAHs0KTmO8LlidcrsEjPMUvc8gvZSRzLM+fPKBSqkG/by?= =?us-ascii?Q?+NV8KOEKiicPC3Zx9/bmOTLCzSOdMH4KLlw7lVrZsTMMA+zQJt4htEMrr9Ui?= =?us-ascii?Q?Bf6qZlcemiC/o44yztUgCcprffn7OE4KenkIn1f+f8Tid4EZ9l8WBE57cYbO?= =?us-ascii?Q?qELTK5HGxpMSn6aFvg+b0+F2FFzec+QEUof6CLGgvRmPERySdOnEj9+4C9g+?= =?us-ascii?Q?/n3lkfOae3oPwL7DsNYgbq7cxaj0qAQZIurthdBrBJGe62Lv9sxazGVg8bRP?= =?us-ascii?Q?t9Dy3L9Ufy89QDeJi5XfKKfI45T/nCki9si9XHCYegP3bfSrXCUvDZshg6vg?= =?us-ascii?Q?uM7E+1E6+79cUqUiW3IrOWip8uoD100of8Cf61e51ABIImWlJsinSN8yaZRO?= =?us-ascii?Q?WPj5UD91nn14bg+yFfyp0OPZANN2ZXQJPCA96kOhqMGFtWqgJrq/4Ye1PMbp?= =?us-ascii?Q?ikgndsKsvTdvwOeHnRg4KjzFXAzkz1O5HIfISzQzuEzeDEekAezq2NWAU3EE?= =?us-ascii?Q?M5YIwsQ9+wYj7Ee9QSpHm0J9cQHZjqPUqjIPRmgKWBeNdFqzMVUT28YY1zMa?= =?us-ascii?Q?qsmNYC25voqx+3GO9aJtqs76jYVF0YCumFoY4HBYYB+Nhz1u2i2ZN/TnUzQq?= =?us-ascii?Q?2iOzOv/tI0bZrMsx0+LiL56O+JsV4s+MszqeapCe3MX78LXIEgXeyciiH7Sj?= =?us-ascii?Q?LkzI1O5lx445nJf/Odf8LzWCHo7Vly4mbIpX1/e+z9VdHdHAmL9XsLNUM9+C?= =?us-ascii?Q?6Se/NIVFgN4z4i+SbUsQ6tid6cOH8m6jt98ajfAGdcJx3/oiI8/JEItN3hrl?= =?us-ascii?Q?Y2wPLhQ/BTYeFZZ5Qf3W8EduwHEVwLa3s0uhpZYOClix3yiqVsaw0tXfx+e/?= =?us-ascii?Q?eqvA+LBWMPAEPRAjtGJZYx9RThDfBxkNYM4VIz2Mi66Dmde30qPXXgyHpit0?= =?us-ascii?Q?vdN5FzIvPTziyX7FttgrWDlVkk4lHv0FAWVF9fUSTNIC85jkSVUntyPpAeXY?= =?us-ascii?Q?fUmFQjdFdv6jO1pvhKB2MUFf3rk7hPnJkDWqIUc3qwSO99TpMMTOF1MhKYcL?= =?us-ascii?Q?b3tduBVufwtohcZJHdD8QfrElRKVpvrplC5RW9thI1BJez6ZAMdWApj9vqRa?= =?us-ascii?Q?3hc0SSDvdISFMaDivgpHwjqcUKSlKeMfGpdxj7NjCuXLCApwH5RKLpfQfin2?= =?us-ascii?Q?FALM1ZiCb4NrB4TsO42VQJsut3RrQMTnq+zlWa5PpJC25Xh1W+ZKYSIM5rPW?= =?us-ascii?Q?Rup4b4ix4zchkG9nMyurxnnQ7kdJ4Sni9gK/Ie5yTVcyAc9tNqgFInSP70+d?= =?us-ascii?Q?ijFFcWOmd58/0i3CASS85P2v2lthTxxJXPKcAsJDnvPVsYAUM9jaeVazLYq/?= =?us-ascii?Q?tqr6CqDALdTnFjRqwAxHpR+Q7ow27EpJl8lN0Px0IJMojItGxfUeAg7pA68Y?= =?us-ascii?Q?UTwntTzQXg=3D=3D?= X-Exchange-RoutingPolicyChecked: Jgap6+K9xdkXeCut4pQR89oS3kktkek6Arh+6iQp3VawKgCdVVyHMcf/GzveVF4ifewst1400eHuGlkXTvWA3v5qwO1Ch7trkGYcbuIgdeVXUBu0OT675915Q/t/kABMlCpgxzik7DBaSsnVTLswohSJHoB3n6EEedGCSlzHqgta3SOmBTKcW/nfiRIWIZABPB42Q5mzydH18uufiXqkP9aALVF9+uxKvp9C7n1rprbZV2xcHTuSxkgYhjglgSenaKNiFpmK+eJHXHXgxrTvbkyDyWLx3gflUPleGDU6Tkey414oDW1+yH04mOKCKI7oMDd/aiHREAiuJBy3LbrHAg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aleiRuDtxDhritaFgCi5sELA4G5kMgqGg+rnad5UpFdl7hfWra32VrPBaPama1nvtmJofpigFK72GCOGg/W8TlUsTc26fl8x4mBXn+5BqiymbQN2rKS9ElSb/hhc5QrpgdBPooBuJJKlsiV4x4HqruOlyY6iUHvbh7FeRQnFJAgd5p4IkskW9cAFEx9/z2+KJgVoeWYxK23ywke8YXA0JZGEMcN9ZXTjuFhPzFoLb1XXKUXeUjvwxh1nXLgrzvMMDC4mKhJQnUYM8egKLksAOmN8q10fqbztul8njc93KaXMhoB0GD1S2lJw0Uy4NmZ+AQ8s3zcZa10mCKuX/AhEFXiphrHZfyOvE4sZcHhfWn+I8V3Ogldiim74mTBGgjPeKmiMK5hwKcwNf1L5CARShD3DvV8uo6mT8oDvu6+fFBu5uBhFqt4Grb3azKjwPWyUVSQJk/sSvMxhqQnYKSMGcWZpd7Dn7ilYis3DrXHzOsxUY8M3H+KFamYep0villaw8DIaEuZNJM3Nqh7f0AbP2khyup55hMa+s9wXkc9GC+8n/VYkhjaQ21Wd+B4YZ31nJ/ew9BPDXG+W2D7dcS+4EGPzzYD5THeMgapUK6Ol3uE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7784f53b-e273-4fbd-eb7c-08de7e9b2317 X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 11:49:50.8318 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aFVQVFSV1ku9ZkbJRumM5CEu0OkbNeEYlfjVmkpTdMXsxSLAt1jNrK3hOOH15X35l/KpwrJr7fy4Dl/OLhOvTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5166 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603100102 X-Authority-Analysis: v=2.4 cv=IJQPywvG c=1 sm=1 tr=0 ts=69b00563 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=yPCof4ZbAAAA:8 a=0MBnn374Ymj33g5u8Y0A:9 cc=ntf awl=host:12272 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEwMiBTYWx0ZWRfX5ZGTdpUnuL+p VPfqBaNBMEiK8iFDHc5aoEcTSf9A/zbeXwIX/EeRnXkmNevNdnRWZOkvoIlYHod5h8mtR5AnXTS u71tWuQYnZvGfUEbdzSSI8hqD1BOsmFFlLNFrNfeUoqv0jrP7u4nVGfU9lgVRX3/w++J1mQu4Zs ebOFWik8rxUnAMoNPdmnIHVuRCRi6LnrCsz030rhFDSvl0vJ6/7WclRy8/LeV6/w6bh2R6KHDxH MEN9tg9g/uxHiBK3bhkz94lUgAvatL4cnLZ7cPOBUoGv8uXLvNmBIcRpvOskm9UuzRexwmbpumF K5Vd8WFM6sV6ohmbbOnrShiOeztPKMRmbv+SLXjcAKBaGlH5EM/nL6W6cKeWXiqjCP4vbh521/B jx16xWhsEy0WPkvK5JVwjcbUlJ1l9lXSUFTNUdEO4uRV62XQtdXx9T14sBA7JlclI4GwCFGDqlG OrsnXwsgEvBonpgpE49XHhl7Uq2zHo9HWwzTVVTM= X-Proofpoint-GUID: hil4FPYBFlfcYTW8AES7d6airb5TT97N X-Proofpoint-ORIG-GUID: hil4FPYBFlfcYTW8AES7d6airb5TT97N Content-Type: text/plain; charset="utf-8" Add an empty function scsi_multipath_dev_rescan() to handle sdev rescans. It should handle ALUA reconfiguration, and that will be possible when the core ALUA driver can handle that. Signed-off-by: John Garry --- drivers/scsi/scsi_multipath.c | 6 ++++++ drivers/scsi/scsi_scan.c | 2 ++ include/scsi/scsi_multipath.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/drivers/scsi/scsi_multipath.c b/drivers/scsi/scsi_multipath.c index 2b916c7af4bd7..97d835f1b6aaf 100644 --- a/drivers/scsi/scsi_multipath.c +++ b/drivers/scsi/scsi_multipath.c @@ -539,6 +539,12 @@ static int scsi_mpath_ua_thread(void *data) return 0; } =20 +void scsi_multipath_dev_rescan(struct scsi_device *sdev) +{ + /* Handle ALUA reconfig */ + dev_warn_once(&sdev->sdev_gendev, "mulitpath rescan not handled\n"); +} + static struct scsi_mpath_head *scsi_mpath_alloc_head(void) { struct scsi_mpath_head *scsi_mpath_head; diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index e22d3245d4b65..bf602daeac1db 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -1743,6 +1743,8 @@ int scsi_rescan_device(struct scsi_device *sdev) =20 if (sdev->handler && sdev->handler->rescan) sdev->handler->rescan(sdev); + else if (sdev->scsi_mpath_dev) + scsi_multipath_dev_rescan(sdev); =20 if (dev->driver && try_module_get(dev->driver->owner)) { struct scsi_driver *drv =3D to_scsi_driver(dev->driver); diff --git a/include/scsi/scsi_multipath.h b/include/scsi/scsi_multipath.h index d30f2c41e17de..9dc02a56e6342 100644 --- a/include/scsi/scsi_multipath.h +++ b/include/scsi/scsi_multipath.h @@ -78,6 +78,7 @@ void scsi_mpath_add_sysfs_link(struct scsi_device *sdev); void scsi_mpath_remove_sysfs_link(struct scsi_device *sdev); int scsi_mpath_get_head(struct scsi_mpath_head *); void scsi_mpath_put_head(struct scsi_mpath_head *); +void scsi_multipath_dev_rescan(struct scsi_device *sdev); =20 static inline void scsi_mpath_start_request(struct request *req) { @@ -156,5 +157,8 @@ static inline void scsi_mpath_add_sysfs_link(struct scs= i_device *sdev) static inline void scsi_mpath_remove_sysfs_link(struct scsi_device *sdev) { } +static inline void scsi_multipath_dev_rescan(struct scsi_device *sdev) +{ +} #endif /* CONFIG_SCSI_MULTIPATH */ #endif /* _SCSI_SCSI_MULTIPATH_H */ --=20 2.43.5