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 88818C6FD18 for ; Wed, 29 Mar 2023 23:44:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1478A6B0078; Wed, 29 Mar 2023 19:44:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0F8496B007D; Wed, 29 Mar 2023 19:44:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDAA66B007E; Wed, 29 Mar 2023 19:44:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id DE7B26B0078 for ; Wed, 29 Mar 2023 19:44:58 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AFEAF40DDE for ; Wed, 29 Mar 2023 23:44:58 +0000 (UTC) X-FDA: 80623568676.13.2640A1A Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by imf13.hostedemail.com (Postfix) with ESMTP id F02542000E for ; Wed, 29 Mar 2023 23:44:55 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=wdc.com header.s=dkim.wdc.com header.b=G6Td+963; dkim=pass header.d=opensource.wdc.com header.s=dkim header.b=WJwHtYrK; spf=pass (imf13.hostedemail.com: domain of "prvs=44543d287=damien.lemoal@opensource.wdc.com" designates 216.71.153.141 as permitted sender) smtp.mailfrom="prvs=44543d287=damien.lemoal@opensource.wdc.com"; dmarc=pass (policy=quarantine) header.from=opensource.wdc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680133496; 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:dkim-signature; bh=H9Wnxri7/pl0aVVsp6O45Pp8b0Po4MrKz/j+WyI/G60=; b=1l9/zhYF7yNXBmATS/B6X1Z+zj3P4bu3S8XK++s3wgA3DfkyxPdkWJVVOV5VrmKLgSPu3t tIKj21LaXpp1n/kWF5MjPueRaoX3H8Ep6SjO8+RAIwZhrCq719sdwHwPUtTVh5t8VZgWko eg/czORMA1bcbESi5XX6QUYvO5Y2ISc= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=wdc.com header.s=dkim.wdc.com header.b=G6Td+963; dkim=pass header.d=opensource.wdc.com header.s=dkim header.b=WJwHtYrK; spf=pass (imf13.hostedemail.com: domain of "prvs=44543d287=damien.lemoal@opensource.wdc.com" designates 216.71.153.141 as permitted sender) smtp.mailfrom="prvs=44543d287=damien.lemoal@opensource.wdc.com"; dmarc=pass (policy=quarantine) header.from=opensource.wdc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680133496; a=rsa-sha256; cv=none; b=DDfjDu5DQ49cUi3Ktt8j1ZOd0hKrsDxr+IA5acMmOF4RZrDrx1+KVJKRrj+EhB+IrpiPD/ pY/XXO3ceqiVYJsShojNWzEp5ZUEfQC5kq//XB6dqJWruAbDbtr08Tx5lH9iwSpkZL5mPP WLhobTQ9aztIuSN85Ul/SWXIm1Be9qE= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1680133496; x=1711669496; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=u0GDcNaX/W8JMXWCJKoDWEVkmUM3b9b6zaDxlqDnkVw=; b=G6Td+963/JyehEu6hkbdK9WQj8vA4porxCkWc0lxjphYbF91Op+I05Te oR5B6jxRvsy56poSra/+q8GbDABMVqY+jkOW1CL17GmCm783BMY28oHrN ZMsHI3ebJGxtAlqa/ATBaIkTWh/WId9RydV/jfNkZ+VkZcodO8O4IZtaJ al70WO/R+8a+tJL2f5CnoVXmiSQxDdpsRF1DezDUy6XOpwLrH57X+iYPD qT9/sUgRBdiYfmdtXvOD+gVCQQOOo1EUUgWTCOH8il3fdSHiaEm7kcWuI XF+Cp5rlvvgm8IG0fYYZ5hCAAsJ/N288qKqpBDH7y6K0pZmplVrCaYRk4 A==; X-IronPort-AV: E=Sophos;i="5.98,301,1673884800"; d="scan'208";a="231809210" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 30 Mar 2023 07:44:54 +0800 IronPort-SDR: RK19SbDf1TNtOFrhOGCAdMqDc73/sDSR/j8aUe/k85i4956lsSiXjygC2RMJbZwzIof7Cd5dYI SnSv5YTfHTZqKIuM6rlTeAwz5YnK26G/O9ykwaH66yonBKS5aDJOv7BwcOywSnnjR6VjLSmGXU 7xrKIj5sgjfUD9FTy//Hm68Pzybdnbc6X3tsnNuRYfTD0IkMudqnL9OhNv1L0ORL9kkk3nRYDe OW3s5q6tn6TYVgamg4BxQigNR6tkLN3R+NitWk2DKrn8k0qu5iNdg+LZhv4p25cqmEYghzw/7S ysU= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 29 Mar 2023 16:01:03 -0700 IronPort-SDR: qIU7SCpz/j38AhWixpwBwCTsPcJw8UYD6PevIpOLR9euKqmEmbNc+JkbSdnEHBlR4KaBl0VB+U k/eUIcjFKBvvcfSfKdXuX7pvqyWWeBN8xKXPR6XN96yH/SuGzNc3eRvujyrkXlUw4WwpSzt51p EBP5Wg11vSnUCBrJcM2YLhBzuh8Dom2EWqDt4eEtwH3CXKMIPP02BuuqEWKCWGCuNhM3PKBIdN 2aP1GZhAJaNIEmbHY/qirAy/R08aN0wk0vluFO3bW543oEu/Y/jdkAD7C2ktFP86OMoIE/pOfL KB0= WDCIronportException: Internal Received: from usg-ed-osssrv.wdc.com ([10.3.10.180]) by uls-op-cesaip02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 29 Mar 2023 16:44:55 -0700 Received: from usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1]) by usg-ed-osssrv.wdc.com (Postfix) with ESMTP id 4Pn37V1w2vz1RtW0 for ; Wed, 29 Mar 2023 16:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= opensource.wdc.com; h=content-transfer-encoding:content-type :in-reply-to:organization:from:references:to:content-language :subject:user-agent:mime-version:date:message-id; s=dkim; t= 1680133493; x=1682725494; bh=u0GDcNaX/W8JMXWCJKoDWEVkmUM3b9b6zaD xlqDnkVw=; b=WJwHtYrK6cUOnM+VnT2jk5Mfr9s+niCpSB91nLIFGLw/LjRfqcW GRtXZX0oNrclBM2DNqkfcN1YnFfPWuu/3uuAiMyg6eEX9uS5WBiVLgV9C6Ke42ZK sNUd/Lk5FfOR9zoOwGw7vK+DMyEaf2Nh0lL3bn8kozM/PN+xGk5WNaeUFSQ495xC m3+jka4S3ZMzCjQe3PM51ILvGOxvEmWs3/fMbR5qgYcBILZP5srr/7uJBCJ/wroY l5et31OLQyU2xAAJhnAa2WINaElfod/eSSF/6/UGnt6ktk+ryZDvO9cNcRcPdUkr t/WELvtWnaTu/lmB1JoHwqRo2E4mbuCyI8g== X-Virus-Scanned: amavisd-new at usg-ed-osssrv.wdc.com Received: from usg-ed-osssrv.wdc.com ([127.0.0.1]) by usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id MpSA9otxzVRK for ; Wed, 29 Mar 2023 16:44:53 -0700 (PDT) Received: from [10.225.163.116] (unknown [10.225.163.116]) by usg-ed-osssrv.wdc.com (Postfix) with ESMTPSA id 4Pn37P0nXXz1RtVm; Wed, 29 Mar 2023 16:44:48 -0700 (PDT) Message-ID: <7441afa8-3e60-79cf-66c7-4ddb692c1bcd@opensource.wdc.com> Date: Thu, 30 Mar 2023 08:44:47 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH 17/19] md: raid1: check if adding pages to resync bio fails Content-Language: en-US To: Johannes Thumshirn , Jens Axboe Cc: Christoph Hellwig , Hannes Reinecke , Chaitanya Kulkarni , Ming Lei , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, dm-devel@redhat.com, Song Liu , linux-raid@vger.kernel.org, Mike Snitzer , Matthew Wilcox , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, cluster-devel@redhat.com, Bob Peterson , Andreas Gruenbacher , David Sterba , linux-btrfs@vger.kernel.org References: From: Damien Le Moal Organization: Western Digital Research In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: F02542000E X-Stat-Signature: zxqzonfm8yrfz6gemt6zcbbgx8hwwt64 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1680133495-753934 X-HE-Meta: U2FsdGVkX19naVO9btIKN3HOaDIGXSfTTOPMsJhZVAl1eavHHXQex3OPp1LBfHco9McV0Vl6c9oBU24yr0frdVFZAJkvq/wJbZ+yDaupkVW+4+z/AXM3OW++MwhmYCST/N7ijVGVs5FwSoShbA8ppP9GSY2KygTUB9lzJcuiwT9DoXAO7iVklprNOjpvuCjLLkExBbgAUXUEm8Ze9fi6t980LZUwehfjcMjma2catJ1l1JVPITYkgB0qKFD7Y4NNiu4fLrXKkhQUi/xEaHcFx4fihvfot7bFWYDmdRiBqSy5QjBq+YHh/twOGQuKNqSg2sb9sf3US755JYRY/SKm4RaCHNKMpBLFNakr/umLJM6Sp5SN9z5kJwuzNfpbGAcHksuuP1TmYDJSPhSpBdaTZwi/FAR7h06OgDqa0W54M2GdctlTc6H7mgvSzq55IfEsg60NqbssZpJNWhUKHpaxy60DELEOVPYBRyxqcJrBhGXqOgzLGMLjFj5iLl4MQNZGHHsfoTGrPB8eYtkhJo/DabqKEh17lRoA1amQMT+41/6yZn1ghCX2PfGrDL0va4Idhn3x2wvEev5FAi4ANjTVgz41tb26WB4EHlqTeCx9jlk59luq+mXrUQyFg94wOM0N8RkEJGOTiWYHvyeUBSr40pAjkboO8BI9t8pp3yFvFXebhJ1MQkSVdbVo+IDaiAHUA7ttyTNTdOyvqO4tSmaAZ/bYsTn8NYjD+690kEGigMIQhA/rIPjbmMxR5wGi9X6Y3tJacLM0ilrj2yP0uV+2KSYOl47/34ne2ZYHwawayqb4KLrSIuEZtNKn3hZ3MLmf9m+610byIKQpAVvt6g4wg9WCgIxOBaYQWmyUhEvRGCjwjHNLqM9UbTv0EPmFCPzKKlJiX83XkCZOZBYEelYzrid6Tjuuf3KJIcSHCPeYD3lq7URhtZuiufOMl0QtvCf/GviI3FgQyfllvIO691z xhzVSO0h WPAJQLzBfT3nhhpuZfNydtfaMPzW8DStUd3kskBZ2jAfD9pf+FNEqQBi3RBL7BAOsr981//Tyjm8jg7nr0xK6/xFOVWAPrqHWKmQqSfK0F9ye8WQEZWl6RfJwGmiJMpK8WK7fxJv5LL5ObFJ3YVaOUDbr5pOyEIVQLkUvZN2OLpcQWdtK3aZ83J8VAkGhewqJuS9ZUiJ7u7Ph4+znwQRkYSKVkU7vwwS0aCmGRXxdHIKHfp9O3dyZlVKtZRxlNsiB8wSTMOInFl/MhAlMksAxYE/Gxoykoet20LAoS/S0EJKW43T5vljSG3ULzE0vbffIdKmpZpxvy0g+zye4ZO7USS+ALiEnPsaelFhpA+8JsztL0MY+O351CpdqyiBc9lqGfB+0Zsx+i3riDPcUbGXYip9XtBnYLUtD09eb+vq4WDBIEAh8K7h82G9XTmrnqM9VBpZqxoO8fod0h1uGieSscdn76PaaxBW4BK31iw+X5LuHCEnYqNv6fnQ/pEhf/XK95sWEJfjZVrYvpB5bBDbHSRbD755HX/te2geSKep+KXkbeXvDb9s3L2bESudMjvnLjYFACvjxRXbvwvwVdUBni0AW1wseW2PgwdQMFpXL8oVrG8Bo6nGn1IvYTxWQ0tvnhNnAFJaCLKvkEBRJC0yYkjhfCuq5Zxw5cScL3Kp6YBZjHPI= 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 3/30/23 02:06, Johannes Thumshirn wrote: > Check if adding pages to resync bio fails and if bail out. > > As the comment above suggests this cannot happen, WARN if it actually > happens. > > This way we can mark bio_add_pages as __must_check. > > Signed-off-by: Johannes Thumshirn > --- > drivers/md/raid1-10.c | 7 ++++++- > drivers/md/raid10.c | 12 ++++++++++-- > 2 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/drivers/md/raid1-10.c b/drivers/md/raid1-10.c > index e61f6cad4e08..c21b6c168751 100644 > --- a/drivers/md/raid1-10.c > +++ b/drivers/md/raid1-10.c > @@ -105,7 +105,12 @@ static void md_bio_reset_resync_pages(struct bio *bio, struct resync_pages *rp, > * won't fail because the vec table is big > * enough to hold all these pages > */ > - bio_add_page(bio, page, len, 0); > + if (WARN_ON(!bio_add_page(bio, page, len, 0))) { Not sure we really need the WARN_ON here... Nevertheless, Reviewed-by: Damien Le Moal > + bio->bi_status = BLK_STS_RESOURCE; > + bio_endio(bio); > + return; > + } > + > size -= len; > } while (idx++ < RESYNC_PAGES && size > 0); > } > diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c > index 6c66357f92f5..5682dba52fd3 100644 > --- a/drivers/md/raid10.c > +++ b/drivers/md/raid10.c > @@ -3808,7 +3808,11 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, > * won't fail because the vec table is big enough > * to hold all these pages > */ > - bio_add_page(bio, page, len, 0); > + if (WARN_ON(!bio_add_page(bio, page, len, 0))) { > + bio->bi_status = BLK_STS_RESOURCE; > + bio_endio(bio); > + goto giveup; > + } > } > nr_sectors += len>>9; > sector_nr += len>>9; > @@ -4989,7 +4993,11 @@ static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr, > * won't fail because the vec table is big enough > * to hold all these pages > */ > - bio_add_page(bio, page, len, 0); > + if (WARN_ON(!bio_add_page(bio, page, len, 0))) { > + bio->bi_status = BLK_STS_RESOURCE; > + bio_endio(bio); > + return sectors_done; /* XXX: is this correct? */ > + } > } > sector_nr += len >> 9; > nr_sectors += len >> 9; -- Damien Le Moal Western Digital Research