Message ID | 20240124113841.31824-8-john.g.garry@oracle.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-36884-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2553:b0:103:945f:af90 with SMTP id p19csp928690dyi; Wed, 24 Jan 2024 03:41:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IEYCpT6fa9UfCa8z/mqCm78YmmdMkNpnts5VLvLb3CcLgTz7/Iw2FQv/JNezMvOIOVe80Yp X-Received: by 2002:ac8:58cd:0:b0:42a:5224:4ea3 with SMTP id u13-20020ac858cd000000b0042a52244ea3mr2585034qta.57.1706096495147; Wed, 24 Jan 2024 03:41:35 -0800 (PST) Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id m10-20020a05622a054a00b0042a505c81casi3147974qtx.432.2024.01.24.03.41.35 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jan 2024 03:41:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-36884-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-11-20 header.b=S1LvDIWw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YwvK8uN8; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-36884-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-36884-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4E0F81C25CC1 for <ouuuleilei@gmail.com>; Wed, 24 Jan 2024 11:41:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C77864F893; Wed, 24 Jan 2024 11:39:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="S1LvDIWw"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="YwvK8uN8" 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 9C1762BAF6; Wed, 24 Jan 2024 11:39:36 +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=1706096378; cv=fail; b=fI/z0bdSlYcFGy+y2T5j9a9mGNKRNC7XKTivojqELmevtOz9ihysPjs/c4dzT9QwcZILNLqukHayeOK3ExV9gv8yyTIqrGWGZ3RX0sFXCGXDaIu0OFm+Wso/Ad9xWzXGqe5kT0z5w7i6IF1znXsLCthgxyutRf1sQwPUiO6GHL4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706096378; c=relaxed/simple; bh=XNJfSX85fdmd2YsQQVatnuBVAzd7ZexIHNZEllkOQXI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ezf1wHWjaDp4YgX/TNTXsE3YkiaGC6hfZvN8agGLfcKqAuXx7qzMCEfQaxeS5HmlH3yYjZSDIOVxE2anqBGTXUHht7It3IZhs74697elsqha5MX9+v4oPVOV0ufY7ZZDY76g+Rpc0y+avgsLJLbi09XJtG+Re9Ov6rahTMGOZOQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none 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=S1LvDIWw; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=YwvK8uN8; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40OAwsNs009429; Wed, 24 Jan 2024 11:39:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=Qh/T1MFYYUkLwR5mFFWEjx15hZf9sYn1Kr7j+s9Ho6A=; b=S1LvDIWwvA2vzQD24LnRqqWLZsb7+BZaULHiBTpCDP7oFOkdiG4BsCDZOns0jZcRXwB2 m814/mdSxy0ifqKxPPKrEsf3EvvH7//+mZNjQ2DQSG01BlvDEbSldaBZK/NFs8O8ctz4 OuIoUExPEIO9PgKUHkMy/F+rcpJMxr2Opn12GWL/XErD+Ldv9ZOhdGrSkR+TKXZ+ipLS x5qz0SBKRIBoHxZpYyCDwfxjmu18knk0LioX14brN56yM35nHvjJzERd/WjODVmQUjXA q2jmZCogNEHct1Sg6xYwT73ZARDqU+hp3VJLup8PJAnPePz0jrpSmvTRxqvYNeZkAKFF 9A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vr7cy1tw7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Jan 2024 11:39:19 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40OBZPMd015042; Wed, 24 Jan 2024 11:39:18 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vs33un2su-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Jan 2024 11:39:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MygGfNm1ILIyJCJyBjhinuT7SAJMsP/zOeOoNR5Y3eld8gfDhdwbbICYpH+FY8lzblNmjg3PeLsXnPE8/LIL7N3VFg1R645nU4gmlPCrMFdO7AwVCVHoCpD7osfhA/h5W1wvvwqXZejKYuhmNp4CUCiEu+FBIQEfJxYw+RvOPP3GJrS4LcTCVEZcfrR4t/VNELWW4bhpor0ntjWYSX3IGGzRZAk/UwPmL1B/dWQVVgitrsC+zyqW/0oeBQo6QbltTalzP3PNH/oSjAG2wNrHiCk7gm9TF4XwkhefJ4ya7JK8dn6wAYYhvVAA4e7GevhRIfIkjHtYvY8nsjprJo3zMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Qh/T1MFYYUkLwR5mFFWEjx15hZf9sYn1Kr7j+s9Ho6A=; b=kOTb+2ye+l9obkjhN20OQ0RG8UUqkIx01QfwbCF0o26+NatujmB2O/hutN5yWFIo2ErvS//rOmbf2B6DALWH+CPUnzjRvct+t+6XnG2Ikwfl/duzcrYv8b9PoHtlWVyhtp0dB7jzNbVwppyQ+GxYXfuRPPFVy7gFqbo4QG3VYX9/drbnvRI2StN3l3Z7Df8qtR9fLgtaLTAFd5meRl5Bmtx185bIiGGnZ6BU+Ad+cicvbNesl2cY551X/YHwXIsZmyK8/PkSwXCMst4Kqth6dehi7/V5ysNSAtsiEcfkqEvIhke7bV0JxG0I2wzx+MsVVJgfEgW6FAI3KFwaLaRecQ== 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=Qh/T1MFYYUkLwR5mFFWEjx15hZf9sYn1Kr7j+s9Ho6A=; b=YwvK8uN8VDeyKR6B673nHYdYiVX3NjPxrxe2RR0SsqPwssu1gl9IXVYFEx+R5Bry9/kqrdqy3ClG8A/0bWrFhNm+4QqopbAghfQIH8k3TeElO47DOfmwbr/pbogctN7zQMgd+qcCt/+ZO8My4HDDinuyMGTcBQ0QV5iBUTqIoW8= Received: from DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) by SA3PR10MB7041.namprd10.prod.outlook.com (2603:10b6:806:320::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.22; Wed, 24 Jan 2024 11:39:16 +0000 Received: from DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::f11:7303:66e7:286c]) by DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::f11:7303:66e7:286c%5]) with mapi id 15.20.7228.022; Wed, 24 Jan 2024 11:39:16 +0000 From: John Garry <john.g.garry@oracle.com> To: axboe@kernel.dk, kbusch@kernel.org, hch@lst.de, sagi@grimberg.me, jejb@linux.ibm.com, martin.petersen@oracle.com, djwong@kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, dchinner@redhat.com, jack@suse.cz Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, tytso@mit.edu, jbongio@google.com, linux-scsi@vger.kernel.org, ming.lei@redhat.com, ojaswin@linux.ibm.com, bvanassche@acm.org, John Garry <john.g.garry@oracle.com> Subject: [PATCH v3 07/15] block: Limit atomic write IO size according to atomic_write_max_sectors Date: Wed, 24 Jan 2024 11:38:33 +0000 Message-Id: <20240124113841.31824-8-john.g.garry@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240124113841.31824-1-john.g.garry@oracle.com> References: <20240124113841.31824-1-john.g.garry@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MN2PR17CA0012.namprd17.prod.outlook.com (2603:10b6:208:15e::25) To DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR10MB4313:EE_|SA3PR10MB7041:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ecb720a-414c-4eea-32d6-08dc1cd1185a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qBa+bjSqn6QL/TGg5n74e4TM4F/6QotEf4HPIBcMSW9Hdh7uKApTLo9xzgJevnB79QDoTMYNUlJD0tEqTYpK6ep1dx8EvHUMxP6VjCM3JZoVfsklRupBtNZkmX6HBA9fsqBu0jHfhID9rqCjWNDkpOzoTVFXwcALU6ny1XG4adre/IbvZj0APA43aR8Fc9AmSOj/jQa94vE65PrrcTEP0VHb7Df9czT49GPgiuTdwY6EoCD0DtR3aRbkrICyYSAIo6LRXO1mMZElTH138h/QtZ0PKenrfQJztcVlAdudqGlbvCjPkenxo54ifVz9XSHbova80XqUwFR2GoAdRkT1mBD+M2kDSEr2oD/n9+UrZzkKR1OaBZHCI1l3aGPXoAVPdoLJZSWZsHkqDcD1KljAjAK/5P67o5zbF/3RnoL0Sz9fvuhgaXUy0h/4ZmW/KWo1bdmVGBDiaTzd4YKaGON1HkHwDWqzXWHXlxJRAZIapAK62P5s1ZCm78WNaeMsoaaL8StrI8ww9Ne0p+hjV6KmPzHC7ON2NoIQ6P+DJKCYFlotvslZ2Wvlk1R+SZC2U+fZ+e4zBsArOYHmq5UnubN11mJR3ekoT4Ek5i3sG0zOQFg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR10MB4313.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(39860400002)(366004)(396003)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(4326008)(8676002)(8936002)(66946007)(66556008)(316002)(66476007)(921011)(2906002)(103116003)(36756003)(5660300002)(41300700001)(86362001)(7416002)(38100700002)(6506007)(6512007)(6666004)(83380400001)(26005)(478600001)(6486002)(2616005)(107886003)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qBG4G761nKkuu250+h8+6YZKN0yOI4RhhO4t/qcnaQZaqyBQsUwfzJx2DJHdo6YHFxGDH0fWLfojYQY2cxPXaslXm13pTCj3Q1I3vdFYTeoA+lQ0EP4LTLiZSMuWj8c8nK/Rk9T3ZaEvrAgE7UMbABAM79LqhMI25D2WOxdK5ZA9jtFx7hWU0V6k3luh14gOfVr/cJ0QjWnIhtwqnOJED5iYn0x1P5CXpVAIHBZdsuUq+LEeAKw8DMAb2xipcdEhNiyDiOPdUYGihkzyTUHV9c3wOkLKB81slVjSgF4duYL70wZWRKHECd4hiP7qA/QM8uy+cTzUky2thUTMwB+51KPNF8ems6Q1pZv4fDn+UlV5QzFgvSgWHf51Jv/bPgrBP4AXnEYLAjzFbIEpy9ioQ0FAKiiEdGux6PCO+p8Fs160/ab63FmsOWBIO+M9hlu20VecXgiqgFaq/IoWBnx/SviUKZt1bXsjJuE0vysNrwmJZpgDixlw93JBju7NjDjKS9gmwUz5XMx9gQ1xANCHfMouOhcTTRIKf7Mab4JhXHp7wVnis0CeyPcxoca2KIQXmXsXUpcPlfJfQ/VLA9nCqVLjkgPI42qRptUdBbeeT6BouemZFrtbdCAfcOKRNHnUMLAtNtmn7lyg7dMocYqXAmJl/rV9sIXr4AIag5MSmVSfSvAqC2Zx17FV9ZVlr7rEzRaByfliA5ZSspLpJiFYZaW/r2JwLkPV3Mc7hYwpxNf0YwPEbLinWibHgeRXvWo2vZvq1A7EKw/Z1yHjl6LHgdH7FBPLPjil7EOh+KaAOn4dhG3752nzNRuC4wPBla/WCsTNUcyolESlm3V1lEFX5d0YK6wUrU9Hb3jyVtoxNNQU5lsdTzs2RLyUfW+av0fBA5k8VSh9lRZZcMRUoqNJLe8heVQzelVEl8KVNx74DrxRPqLWw9/vtx3es5yC1ud9MPb26ISMIqd/2yav/sKz480Pouxyhg2EI1DfhS/DIKhFGulX53ylxZK6ljX+2rqzZQHavb9dCwE51BpKr8fzPVfzdRerorMiMftSzmPLo+lplwgfwlt5X3zpxg9k7IrOk/BqYFJR1Z6xtDSvL259ewtI263OJPQSPtVBLwfjCYgGWPnBHn+djpCFXf8ViotTTBu7ukcm+6fG5J1dUX3ntNUgG+BjImd8Dmcky+YRk/OsSgSaonktH21EKvYLqmEA8gXk1SV11DwzUGF97oYCw0at07QksCVvRfyAV7yYRQxVRB14TiRr86k7HDex0gi7pubxlnLjSQIzqfFxEKgYZj4+0jNgJeBn5MOouC6+anYjKwXrSkj4vQE7M4lQY2xHw/oqOjJrJOkoSRNv80F0+OskqZRw1Z6ZziOvWdd5rZFF10fXlWMwXsDDWpVKQcz+VgBf+B2k5HbCWMTMpytoY9Fnsj55pNrYTn15036hBZ5Zb+NX0IRGRDZZLu1gSmtPrujidIq27XLxyCNIoCB5OmTFkRMmNt1Bdpc0zgHN/Ad8UI3RgOfNppYBUkqkaY329MvJFqMPp9nK30BU0M9L9nKjYD7h7kSXDytRJTPDKMkN7TuE9G0LwoZvYOqdkZ3hrkxxk3aO3yd6xZlQG8fiQw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /p3jgv6XJrzMroCzzl5I8OM9wBx0vDjPeCw972aLH28J5Dqmil0l1ncsN2v+M8J2JjtadzkDdky5VZYk75Qe8hHRIdcOd9yM6jxSEkHBT2gVnUfz+LQ2EpODtRoGfm7EyYFx9tW/geMP4MPRUBUhoMreRnMctPciyENph52NoBWj+Lrga0/vwi0cNDmt+JzQN+9EHpegP9jifrzd2od72T4DsTd7gFAd5eDw9/jNBqXL/dRLXR3WK3N6Si2HLmSIXVEyPnuV6YFp08bK3NA50by5fCHuwMW7iWA6iBn8w3JM1lDRJkjnu/kYJhkWNEUzMc1OPWO3ZZRncTNR5BLSN7NK1fkxYoY3xCRI9iw/0PRE83Y12WZzsPMYL7jrUfnWRgze4WwfZ4ie5SqEjEJrGUuQq5efaM9pe+8+ApW/wdPWL0sSd3f2m80cODYpjIPrDLb3f87i7mK6RCb1lRbtnIjxK7DszYC+SJVzBVf+dxsSJr2goym76+HTht0k6RVDM5AI2tq/dQa6C6WKeCwrBVrp+vuUN6Y6v6DOt6Go5WeZ0OFcMlbVXWNlNH3+0MHALctVFmCjpXtUA6OVioBT3f4C13LRvrRxDwC2+0Ai1rE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ecb720a-414c-4eea-32d6-08dc1cd1185a X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB4313.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2024 11:39:16.3109 (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: spDsIh70PpUyxLasiNJfzKwPNvTR48aygKz5jzZEPsk2pgJaKpfTShujl5um/Q0E2rshwlpsZ9/Kg02qsruhXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR10MB7041 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-24_06,2024-01-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401240083 X-Proofpoint-ORIG-GUID: bGYZ67zP7H4c9MJFATq6ujeDp06I_uBu X-Proofpoint-GUID: bGYZ67zP7H4c9MJFATq6ujeDp06I_uBu X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1788971838761024872 X-GMAIL-MSGID: 1788971838761024872 |
Series |
block atomic writes
|
|
Commit Message
John Garry
Jan. 24, 2024, 11:38 a.m. UTC
Currently an IO size is limited to the request_queue limits max_sectors.
Limit the size for an atomic write to queue limit atomic_write_max_sectors
value.
Signed-off-by: John Garry <john.g.garry@oracle.com>
---
block/blk-merge.c | 11 ++++++++++-
block/blk.h | 3 +++
2 files changed, 13 insertions(+), 1 deletion(-)
Comments
On Wed, Jan 24, 2024 at 11:38:33AM +0000, John Garry wrote: > Currently an IO size is limited to the request_queue limits max_sectors. > Limit the size for an atomic write to queue limit atomic_write_max_sectors > value. Same here. Please have one patch that actually adds useful atomic write support to the block layer. That doesn't include fs stuff like IOCB_ATOMIC or the block file operation support, but to have a reviewable chunk I'd really like to see the full block-layer support for the limits, enforcing them, the merge prevention in a single commit with an extensive commit log explaining the semantics. That allows a useful review without looking at the full tree, and also will help with people reading history in the future.
On 13/02/2024 06:26, Christoph Hellwig wrote: > On Wed, Jan 24, 2024 at 11:38:33AM +0000, John Garry wrote: >> Currently an IO size is limited to the request_queue limits max_sectors. >> Limit the size for an atomic write to queue limit atomic_write_max_sectors >> value. > > Same here. Please have one patch that actually adds useful atomic write > support to the block layer. That doesn't include fs stuff like > IOCB_ATOMIC or the block file operation support, but to have a reviewable > chunk I'd really like to see the full block-layer support for the limits, > enforcing them, the merge prevention in a single commit with an extensive > commit log explaining the semantics. That allows a useful review without > looking at the full tree, and also will help with people reading history > in the future. Fine, so essentially merge 1, 2, 5, 7, 8, 9 BTW, I was also going to add this function which ensures that partitions are properly aligned: bool bdev_can_atomic_write(struct block_device *bdev) { struct request_queue *bd_queue = bdev->bd_queue; struct queue_limits *limits = &bd_queue->limits; if(!limits->atomic_write_unit_min_sectors) return false; if (bdev_is_partition(bdev)) { unsigned int granularity = max(limits->atomic_write_unit_min_sectors, limits->atomic_write_hw_boundary_sectors); if (bdev->bd_start_sect % granularity) return false; } return true; } I'm note sure if that would be better in the fops.c patch (or not added) Thanks, John
On Tue, Feb 13, 2024 at 08:15:08AM +0000, John Garry wrote:
> I'm note sure if that would be better in the fops.c patch (or not added)
We'll need the partition check. If you want to get fancy you could
also add the atomic boundary offset thing there as a partitions would
make devices with that "feature" useful again, although I'd prefer to
only deal with that if the need actually arises.
The right place is in the core infrastructure, the bdev patch is just
a user of the block infrastructure. bdev really are just another
file system and a consumer of the block layer APIs.
On 14/02/2024 07:26, Christoph Hellwig wrote: > On Tue, Feb 13, 2024 at 08:15:08AM +0000, John Garry wrote: >> I'm note sure if that would be better in the fops.c patch (or not added) > > We'll need the partition check. If you want to get fancy you could > also add the atomic boundary offset thing there as a partitions would > make devices with that "feature" useful again, although I'd prefer to > only deal with that if the need actually arises. Yeah, that is my general philosophy about possible weird HW. > > The right place is in the core infrastructure, the bdev patch is just > a user of the block infrastructure. bdev really are just another > file system and a consumer of the block layer APIs. ok, I'll try to find a good place for it. Thanks, John
diff --git a/block/blk-merge.c b/block/blk-merge.c index 74e9e775f13d..6306a2c82354 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -167,7 +167,16 @@ static inline unsigned get_max_io_size(struct bio *bio, { unsigned pbs = lim->physical_block_size >> SECTOR_SHIFT; unsigned lbs = lim->logical_block_size >> SECTOR_SHIFT; - unsigned max_sectors = lim->max_sectors, start, end; + unsigned max_sectors, start, end; + + /* + * We ignore lim->max_sectors for atomic writes simply because + * it may less than the bio size, which we cannot tolerate. + */ + if (bio->bi_opf & REQ_ATOMIC) + max_sectors = lim->atomic_write_max_sectors; + else + max_sectors = lim->max_sectors; if (lim->chunk_sectors) { max_sectors = min(max_sectors, diff --git a/block/blk.h b/block/blk.h index 050696131329..6ba8333fcf26 100644 --- a/block/blk.h +++ b/block/blk.h @@ -178,6 +178,9 @@ static inline unsigned int blk_queue_get_max_sectors(struct request *rq) if (unlikely(op == REQ_OP_WRITE_ZEROES)) return q->limits.max_write_zeroes_sectors; + if (rq->cmd_flags & REQ_ATOMIC) + return q->limits.atomic_write_max_sectors; + return q->limits.max_sectors; }