From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 246DAC77B73 for ; Wed, 19 Apr 2023 15:49:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 96026900002; Wed, 19 Apr 2023 11:49:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 910446B0072; Wed, 19 Apr 2023 11:49:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7D764900002; Wed, 19 Apr 2023 11:49:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 6C99E6B0071 for ; Wed, 19 Apr 2023 11:49:34 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3435C1C6387 for ; Wed, 19 Apr 2023 15:49:34 +0000 (UTC) X-FDA: 80698575468.19.E51866D Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by imf14.hostedemail.com (Postfix) with ESMTP id 332FC100024 for ; Wed, 19 Apr 2023 15:49:31 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=none; spf=pass (imf14.hostedemail.com: domain of morbidrsa@gmail.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=morbidrsa@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681919372; a=rsa-sha256; cv=none; b=EhzOmMHz3oLIZqS4X88MoDq44InGKHb37oRpVG511t0npxQord6+PSvaTlzY1015jjOh+q 2m8lp3kFWWIw4THCACN5eSYcPDyqU2R9a/GOxDufElrnRRzlmpAN1BBwfC0f4H73CbXIFJ GqR20zvX8xsn2BjdocTdeUXQ7XWdRTk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none; spf=pass (imf14.hostedemail.com: domain of morbidrsa@gmail.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=morbidrsa@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681919372; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eOUql/Ro9WMFOAkCEiG4JHxRup0JACmg1t6/598D9Co=; b=bT6L6DsAbshM4ZA1bFQ03xMgWTGu54XdFHznttGqXbv9mOOfGl8fLe1jNjqNoY/H3YmXG4 kTl7xHqMR4EzQ3XKmyahPnSHgXNNdoTvPjJFPpDRODxaeNt6+LkuRJVY8DX/VS9fkJwTD5 +ku5O6NCHyBaRsaVYQw2OL9bJo1RbGg= Received: by mail-ej1-f54.google.com with SMTP id dm2so83036365ejc.8 for ; Wed, 19 Apr 2023 08:49:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681919371; x=1684511371; h=content-transfer-encoding:in-reply-to:subject:from:content-language :references:cc:to:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=eOUql/Ro9WMFOAkCEiG4JHxRup0JACmg1t6/598D9Co=; b=LEGgI4vKW/pFuXKsqBLuN1FFMNvJTdqZhk3nrTSqMSwQsrDnWHtLRwljL28QKUw4mA SLm00VUnOWNgRpgqwYHkWYJRQnswVaNuO9X1hYQkLxbdRdgZFP3SNaHTdhT7ReJtRj2w RPqKWinaOSBxN4L0L/TXoLPbCx7Dva+E3Uhk1kHAOsvHn55mSAPhWlao3qfHGSbXg+E/ IeOmQsJde9DcOK1F6U38m/FCpPKIF1q4Nz6QWSJHFlrVK6fDICsgsY3J56sLkJ5r07ly kDHtrhbY+t5EQHbzCFPnhd4LksBe1Ux/O07dBwxJuSPCskCJwTC8nu6C7jR0fMe2Pzpm /lrQ== X-Gm-Message-State: AAQBX9d9rnMyL/imNgHjjVumqNK9U1HB68HpfyyP8CzIyPAOXtnFVJ3R Yq0d8eq3wf8FadEWjRcbsrA= X-Google-Smtp-Source: AKy350aGL2zkmqe4oR+uMj3AvMO3DzPKJ+2nYfKvNg29gbfKfCGrXHIDbSOpWzqvwSwoi/4pOYVBdg== X-Received: by 2002:a17:907:98ef:b0:92c:8e4a:1a42 with SMTP id ke15-20020a17090798ef00b0092c8e4a1a42mr15999637ejc.32.1681919370719; Wed, 19 Apr 2023 08:49:30 -0700 (PDT) Received: from [192.168.32.129] (aftr-62-216-205-204.dynamic.mnet-online.de. [62.216.205.204]) by smtp.gmail.com with ESMTPSA id o26-20020a1709061d5a00b0094e44899367sm9373601ejh.101.2023.04.19.08.49.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Apr 2023 08:49:30 -0700 (PDT) Message-ID: <0388e267-6a5f-85b8-83eb-62ea5aae06e1@kernel.org> Date: Wed, 19 Apr 2023 17:49:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 To: Matthew Wilcox Cc: axboe@kernel.dk, johannes.thumshirn@wdc.com, agruenba@redhat.com, cluster-devel@redhat.com, damien.lemoal@wdc.com, dm-devel@redhat.com, dsterba@suse.com, hare@suse.de, hch@lst.de, jfs-discussion@lists.sourceforge.net, kch@nvidia.com, linux-block@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-raid@vger.kernel.org, ming.lei@redhat.com, rpeterso@redhat.com, shaggy@kernel.org, snitzer@kernel.org, song@kernel.org, Damien Le Moal References: <20230419140929.5924-1-jth@kernel.org> <20230419140929.5924-20-jth@kernel.org> Content-Language: en-US From: Johannes Thumshirn Subject: Re: [PATCH v3 19/19] block: mark bio_add_page as __must_check In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 332FC100024 X-Rspamd-Server: rspam01 X-Stat-Signature: 1ywjj4zh48gyz43hutfot8yeuzd5uy3h X-HE-Tag: 1681919371-963179 X-HE-Meta: U2FsdGVkX19nt0zWpisgnUrGf9m5v5daUEj5hI/6a/I3ZjOOg/uKwAn6uWxiTs05BPPnoeLBXCFgBBDCibANg/un0bcx1nKNF/4mnSy6IhgcOBbf1Ie91U4Jr9pEZPBICUxmfXDT5UjclNyYJrNfA9eLW4cRuZdwXUKa+hcnq2+ydj0y2gQpJSg/SQEk7LeCsLwKfkwC/6oPipooePdJTFEtC4eR4YP2RRvDIK7JM9TurseVFpgefQBQfjtxR2Ilt8+SwxvLXlv4qMaVAROzHIYz9jEVZDs9vzH+ezeCnYA0hQgXQhsUSARUR747kZoWXCkemc5RmWKIT2nG+2SCAcDTVP5dX2/A5qMnwYvHjkcAHmnEVuhviJTQZfnjkGlP3+pj3uoI9C43ypGBLwm+vovbt5I8uC/LhsNOQuNBSD7TzkI3ZdwH/8xTtJxp0N5D1mUKa/d8hWK+iWgAxE1ms95A679tfsgDlbMxByWDUJ7GYdok6edpYqiZyqAF894hUhU93YU0yO5Z2dlWZemyU1CPa8EV7bx+zg0yM+YA7bSCwqDT/u1h+LR4PT6u8Aj0/XLYllLOyOn9Vf9EPmZVQ6KvmJgi3ypXjaTx8DMAVwkoxjmvwsBHpJ2RATcnBUVifUPNOHYIVOCarUEfI6CmLT1ER8W4uC0NZyTLSCcoiO2fO+ll9ZSn0yqTC+8FctfHV6bu/UFDR15Lg+xOw0lR/ym9JElN/2x3zoXJp1OjzStMAhxML1mzRFyUG3DhT91s5+z/J0qlsOT7KBkzY3c3RNYDAcbHAKbZiXIr14+4+7yRbqxnAGQdZHZUCJImUKH1Nx8/Y5vwiveW+cYbh7gg3bZPZ9uwag/TY4Lz2huIehrgX4kknuIi1coRhKOOGbb5HZWRBx39FEmJ3U6JE+3cRU0bt7wY+E1G1vqfBfYfA3jRcxxMsrMeJUjLNr107j7nyj9VOs80fcU5dPulxZo V5sCDQoI SjmvjSUQB9afiUrWoATtefAHEjJt6Gu38garpW/fP8ZBukkJvuKOEkGR5Dt1Xfl8kVbrMI08XFG30U0GeM/4cMSMx42W5DWGu4iHTfLG92tJoOWMa3+oVic71u4THWlBUZjk5B6N/DvcDh5Yjgz1cw2BOtWPkKcYxiB5Wc+D0xhdFxqaoHlk3cdnUa2sI6Ag8mel1ZUFddd+FyccWZAI3+k7HIXeKw694j7eDVLsMR/L4uQQWiBsP65V58Cab62CHpkF5KTHtqff3Ap/3vH+uZrULc1AKXPiaXI77lhGOGPNGh+KtdxeeL4hhCyWfJNFcvRVmoJABABHhfZ3qMDMropE9mrjFnwywEZB8f9IqpzZwSPcsveOppm3OjCR3+k5XolOlMnX6I6ZjxHrMs4e57E/rMgTRHDBy3Ji0/2x2/fH80of0C5jVbyqoFKupsDV62ApsCBmZxcFGja7OJNP9sPZ+jWlgk8U7kVhmZofSQzaNRghJR2/e3eXdZ/r/tlsE5xrjRLRScBsLKbyCDcZTh5xMBw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 19/04/2023 16:19, Matthew Wilcox wrote: > On Wed, Apr 19, 2023 at 04:09:29PM +0200, Johannes Thumshirn wrote: >> Now that all users of bio_add_page check for the return value, mark >> bio_add_page as __must_check. > > Should probably add __must_check to bio_add_folio too? If this is > really the way you want to go ... means we also need a > __bio_add_folio(). I admit I haven't thought of folios, mea culpa. 3 of the callers of bio_add_folio() don't check the return value: $ git grep -E '\sbio_add_folio\b' fs/iomap/buffered-io.c: bio_add_folio(ctx->bio, folio, plen, poff); fs/iomap/buffered-io.c: bio_add_folio(&bio, folio, plen, poff); fs/iomap/buffered-io.c: bio_add_folio(wpc->ioend->io_bio, folio, len, poff); But from a quick look they look OK to me. Does that look reasonable to you: diff --git a/block/bio.c b/block/bio.c index fd11614bba4d..f3a3524b53e4 100644 --- a/block/bio.c +++ b/block/bio.c @@ -1138,6 +1138,14 @@ int bio_add_page(struct bio *bio, struct page *page, } EXPORT_SYMBOL(bio_add_page); +void __bio_add_folio(struct bio *bio, struct folio *folio, size_t len, + size_t off) +{ + WARN_ON_ONCE(len > UINT_MAX); + WARN_ON_ONCE(off > UINT_MAX); + __bio_add_page(bio, &folio->page, len, off); +} + /** * bio_add_folio - Attempt to add part of a folio to a bio. * @bio: BIO to add to. Byte, Johannes