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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,PDS_BAD_THREAD_QP_64,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CEF5C433ED for ; Wed, 31 Mar 2021 19:48:51 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E16C961059 for ; Wed, 31 Mar 2021 19:48:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E16C961059 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=fb.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 31BD46B007E; Wed, 31 Mar 2021 15:48:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2F21C6B0080; Wed, 31 Mar 2021 15:48:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 11F496B0081; Wed, 31 Mar 2021 15:48:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0210.hostedemail.com [216.40.44.210]) by kanga.kvack.org (Postfix) with ESMTP id E61E46B007E for ; Wed, 31 Mar 2021 15:48:49 -0400 (EDT) Received: from smtpin34.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 98D206C3A for ; Wed, 31 Mar 2021 19:48:49 +0000 (UTC) X-FDA: 77981207178.34.A15EA8B Received: from mx0b-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by imf30.hostedemail.com (Postfix) with ESMTP id 9AC22E0011F3 for ; Wed, 31 Mar 2021 19:48:47 +0000 (UTC) Received: from pps.filterd (m0109332.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12VJibIA012688; Wed, 31 Mar 2021 12:48:47 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=fMsB6nPODR8QT4ezUcsR2D+FIffMv5lk3i6nC8aLphQ=; b=LUtKwLErnx57XkEeKPhPm+qv9KQSCAXqtPQ4GGO/g2KCo70VJpWgTda+ViyQnbRHLcdD U1ILDUEDNKpG5UZyxglBC81hyhxKyMX2KG4nDJyIn6WRWmSENEnZUHc+FXMDsRdIbeKe 3QAC7yGNTKZHWerUApUA2VEgV9tWHaiYALA= Received: from mail.thefacebook.com ([163.114.132.120]) by mx0a-00082601.pphosted.com with ESMTP id 37mydvg1sr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 31 Mar 2021 12:48:46 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (100.104.98.9) by o365-in.thefacebook.com (100.104.94.230) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 31 Mar 2021 12:48:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mOkmROJ5qTD/giOCN3Pm0FlFVkk9sjJ/pTtU7Vp9ewuMbGwJhTjTnIeErPy7UWAyYvKa6GcvtAZjF4/VhRfQOpda31WgXza8iIBqGxEBcdM+f83R1VpbbCE/plRAXscqMfhFINTxDnE7yrs9Uz8CcshFBtuUn0B9cbaGZwQKT2ZVloOtCrDciK0ZuNUqDbsfDUFEUCq2/2QohfUZtIW3D7giUlOt98tcGr1izCQO/22o9tW52abNfo+mKhCejIFQBePTsrhPHbxILmpJeqOsveEe1s2bvELGOyGJ2ulU5zvUYWdi6cys3W14k2oi0NUXXBD+n3dJV0ResarLCqIdMw== 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-SenderADCheck; bh=fMsB6nPODR8QT4ezUcsR2D+FIffMv5lk3i6nC8aLphQ=; b=ZTa8bPXnxcLvKIB/ZH5r9QqgRo48/mNdb0W3WJlPtx/kcIeq3jTruZMz+NggrO2YsYU30r7IeTJRIvokKdOTbn3OtbEExysgRw3Jeq0S5Pm1ZF22W0mObJ03aNVp3KgIfbm6r7JIVwEuhTwa88bRN3B/URx6/tCakVOo7IIvG0KYwPweLq6Ddrk4dPSou8iEWZ0XGH2aF92cdEA4ZtqDJr5suSBfYUNpqA9AFIUVHsIwDdRozQGrDkxnk/Je/BCDmA27WnmtvK+Po1L5ZyZ2PdyVJ1BI4h/J0L5xuh7CMtzkSWoX9V6H0JytIEpsnaFkbLPKZ+J5pG+BbaNPftWuFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from BYAPR15MB2999.namprd15.prod.outlook.com (2603:10b6:a03:fa::12) by SJ0PR15MB4389.namprd15.prod.outlook.com (2603:10b6:a03:35a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.27; Wed, 31 Mar 2021 19:48:44 +0000 Received: from BYAPR15MB2999.namprd15.prod.outlook.com ([fe80::1ce0:8b27:f740:6b60]) by BYAPR15MB2999.namprd15.prod.outlook.com ([fe80::1ce0:8b27:f740:6b60%4]) with mapi id 15.20.3933.039; Wed, 31 Mar 2021 19:48:44 +0000 From: Song Liu To: kernel test robot CC: Xiao Ni , "kbuild-all@lists.01.org" , Linux Memory Management List Subject: Re: [linux-next:master 6117/8451] drivers/md/raid10.c:1707:39: warning: Uninitialized variable: first_r10bio [uninitvar] Thread-Topic: [linux-next:master 6117/8451] drivers/md/raid10.c:1707:39: warning: Uninitialized variable: first_r10bio [uninitvar] Thread-Index: AQHXJdGiq5EZ81TSZUCbU/k0/LONRKqeghKA Date: Wed, 31 Mar 2021 19:48:44 +0000 Message-ID: <54844352-740A-42CD-8B51-EFB2260F9FB2@fb.com> References: <202103310918.z9GIqcIY-lkp@intel.com> In-Reply-To: <202103310918.z9GIqcIY-lkp@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.60.0.2.21) authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=fb.com; x-originating-ip: [2620:10d:c090:400::5:64e2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2d821e86-5efb-4ee6-84f2-08d8f47dfe3b x-ms-traffictypediagnostic: SJ0PR15MB4389: x-microsoft-antispam-prvs: x-fb-source: Internal x-ms-oob-tlc-oobclassifiers: OLM:4303; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: haEw+9icpMy9oPFgjDV8pBlntGyNe0S5S9kL3BF/tCx13qRBc6ldstXS7FXOQRYSQKZcYOXvpUwspNgtBUbTuSDUEVLmq9Bfl4VEgdMpPCFU32HhCi8D/gYF448KkQWDHv1ZgYDSRze9tczb7PDqHStqHIJnJ0vFq+gjJteztexSdPDJdwXdvsREzDjGlSkSYe1JtdnIixMPmsylxZ69xnyTtgyRHjeYhRcRDSs+uSkOlpD/wfN2RSgDGpcTbSO+xvS6vmRPFo4ZXJYfQ4X1DHW4eHd4HnszzwCGiPAt6QmjEh0qWCIWBZk2hm3Wf9TBjFf6lPl5Iuso5AiXbEsGTxP87h0EB39jN9fmZomU26jHqVqiRMwPuJ26SUvkxZjT+otUPJItaN/X5p2mH0zKUN/qSscp3HNsniaNYScHrWm8850VDgvNvdzljKEz+Xx8AqFT1w6YEwj0iQGmYsAnJoQp5F8Q6k5islkfN/HBVb7u0Xp1lfkuKXsMWiSZUWX+pnOiHesBGTIABtAVjoewGabo678O9Zswzz8CmTOevWEKXCKrb0zwkFyJnXyJx5sLIUntK8BN7Oq+fu7wqgbAsJMFSczOF6nQQCd6bcsWEJ6tJXp+mYZsp41JDC9dnh3/TJ04/xM/6AgqtTfSgVuhT6yMNShy5avvGgjmFPd2Z7P+j+5Z8ExLnm25bPECQ3kLGrM5iqHbQs8pPG8gU6YQXoZLVWVaQgqBcmOZei71KFVACabPC9VlIUKx/czRCTVKclOtGjINjDThumlIovqoEA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR15MB2999.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(376002)(396003)(136003)(39860400002)(36756003)(316002)(2906002)(38100700001)(6916009)(4326008)(54906003)(966005)(64756008)(478600001)(71200400001)(66946007)(8936002)(66556008)(186003)(66476007)(8676002)(33656002)(86362001)(6506007)(83380400001)(5660300002)(6486002)(53546011)(91956017)(66446008)(76116006)(2616005)(6512007)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?d8ZQCSOI5JSjZRkn2exH3FHvphciOWynQkVzdMl+D/5dqx4ACRmrgvcVbXQ0?= =?us-ascii?Q?fIl4pyYmg1yJCnfGln5wTQhwm+Q6xJrFGw3e8cRxYHKmtpW7W8t1QTtEEYL0?= =?us-ascii?Q?zL3+Vns4sKqlNQ6WB1oejB0OZ6KlAMA7TLr0lklf0erEyUQK7DnLqKQsV17w?= =?us-ascii?Q?+KOBU/85xxoU/fNB7mSZqgMRrIC/L4wj7c/vuXMEpN/I6byD8TYAuka8zMU9?= =?us-ascii?Q?5oPOAZmgOox25gJbTxboeOXbrqwjIOayBdWqMynuCC1qZekS8pwZPJIdNLSM?= =?us-ascii?Q?Re6sisjJH9b4yeFIY3RZ5SMu5eefb750e4WDR8HQ13Oafo+tSPJNL8gamzkN?= =?us-ascii?Q?0uUqndKENvFJJXPJp5OMUffvqX9AWGXK3tQEC+aJGb5L2ZwC6H6ZHPJJ9y+a?= =?us-ascii?Q?Uh3hnFmSTZVWWUO1XfL7MrmCnEZachk28rIPpFYbOaSDvYXyAjTdjkC5uhQg?= =?us-ascii?Q?F0wPSWV7CyD2L6NNpm6IwzBzivheb0Bjye5ODmsZKof56StAzIv95+yq0cUA?= =?us-ascii?Q?qJBAwIJYyejMPm7eqg52EKqghmtiB+Gqo1lioK++Pc7fjhHTT7ve/B3d/Oh6?= =?us-ascii?Q?3pmoz4zAlYNtcEPJbfoBDwIbD+LAefRrcByJQwtGigOyOnSIKrkTyAjye8mn?= =?us-ascii?Q?tbdN9t5+FzIZU4pdaaz5gB11gGiO90t9JCrq8NLe4bGUlz4Usbu/KK4VUZxo?= =?us-ascii?Q?ILR0F6xLuodhtX2EfB6MgGpROmccnhheUaH3SU1+GXXufYLCnSOxF7BidNFV?= =?us-ascii?Q?O2vW0/In0HJJWBtR4j0zUJXmNSTGdmYudje0LnHbDsCHUzuGefe3NmCbNXiM?= =?us-ascii?Q?sIWbTjwKwgvDpFBkO6AX7RJa1b957B8DKdISkJrE3Uf0TbsWRmXMgS99prF9?= =?us-ascii?Q?yG+CXbd6kTcpb3rp3CZ36CZxk0eIvhr7hr0vqFks2oDd9SA8sfL/tXIzHHdb?= =?us-ascii?Q?WljjZUFyyUWwW3nqD9pPtWxywe7/6o/MNXhToQwRv/3q0aF9/ahO5BFBO8YQ?= =?us-ascii?Q?FUBxLBO9q2QOtuhQccO2IbaxubnTZqH+gdvcP2FcARwXO0ZFv85IIeUieBbf?= =?us-ascii?Q?Pe3k16UcnRne6fRB3g1/G6Jtu3iKvjIJXM/VW0utL7Zx1UwGgdYnjan7iuZ8?= =?us-ascii?Q?DFa9BMytIx27olruCgdeN5nXvIgv/36LP89DYJmHxKWktYGsz9pQ0GDa2cw1?= =?us-ascii?Q?wbjVjFQ2OrfxhagP1hVJX6ZSL1G8gQliQPXSnI321QVVeXz/wcg+Di5rl71+?= =?us-ascii?Q?g1JyDFvtlNTsMe5J0Pa+bEOlLo69uwcgIvuqui4v2/yE2Yh7mVBENj4u4o0h?= =?us-ascii?Q?wScpUnKODt5coKnK3qw+egPawos38q/QjtiHIXlu+O541X8cIfSuuJBv2TLT?= =?us-ascii?Q?YySK5t8=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-ID: <4774613CF6462946B331FA883DD05E8C@namprd15.prod.outlook.com> X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR15MB2999.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d821e86-5efb-4ee6-84f2-08d8f47dfe3b X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 19:48:44.4429 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4a2aoawaPi/+nUVqj0FCZcaoY4qU/lzEEoKNBzka17fAKFH8CixHirYztvJm/31J7LrFIvXw9WcSoCkZAdxH1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR15MB4389 X-OriginatorOrg: fb.com X-Proofpoint-GUID: cI57mf_yK9j3qx4CYSgrDERvGs6iw3_q X-Proofpoint-ORIG-GUID: cI57mf_yK9j3qx4CYSgrDERvGs6iw3_q Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.761 definitions=2021-03-31_10:2021-03-31,2021-03-31 signatures=0 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 mlxscore=0 phishscore=0 priorityscore=1501 mlxlogscore=999 suspectscore=0 spamscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2103300000 definitions=main-2103310136 X-FB-Internal: deliver X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 9AC22E0011F3 X-Stat-Signature: pgp9dxgm3epzti5z6t1z5p4utytan6mf Received-SPF: none (fb.com>: No applicable sender policy available) receiver=imf30; identity=mailfrom; envelope-from=""; helo=mx0b-00082601.pphosted.com; client-ip=67.231.153.30 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1617220127-875060 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 Mar 30, 2021, at 6:59 PM, kernel test robot wrote: >=20 > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.g= it master > head: 4143e05b7b171902f4938614c2a68821e1af46bc > commit: 254c271da0712ea8914f187588e0f81f7678ee2f [6117/8451] md/raid10: i= mprove discard request for far layout > compiler: aarch64-linux-gcc (GCC) 9.3.0 >=20 > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot >=20 >=20 > cppcheck warnings: (new ones prefixed by >>) > In file included from drivers/md/raid10.c: >>> drivers/md/raid10.c:1707:39: warning: Uninitialized variable: first_r10= bio [uninitvar] > r10_bio->master_bio =3D (struct bio *)first_r10bio; > ^ >=20 > vim +1707 drivers/md/raid10.c >=20 > 1573=09 > 1574 /* > 1575 * There are some limitations to handle discard bio > 1576 * 1st, the discard size is bigger than stripe_size*2. > 1577 * 2st, if the discard bio spans reshape progress, we use the old w= ay to > 1578 * handle discard bio > 1579 */ > 1580 static int raid10_handle_discard(struct mddev *mddev, struct bio *b= io) > 1581 { > 1582 struct r10conf *conf =3D mddev->private; > 1583 struct geom *geo =3D &conf->geo; > 1584 int far_copies =3D geo->far_copies; > 1585 bool first_copy =3D true; > 1586 struct r10bio *r10_bio, *first_r10bio; > 1587 struct bio *split; > 1588 int disk; > 1589 sector_t chunk; > 1590 unsigned int stripe_size; > 1591 unsigned int stripe_data_disks; > 1592 sector_t split_size; > 1593 sector_t bio_start, bio_end; > 1594 sector_t first_stripe_index, last_stripe_index; > 1595 sector_t start_disk_offset; > 1596 unsigned int start_disk_index; > 1597 sector_t end_disk_offset; > 1598 unsigned int end_disk_index; > 1599 unsigned int remainder; > 1600=09 > 1601 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) > 1602 return -EAGAIN; > 1603=09 > 1604 wait_barrier(conf); > 1605=09 > 1606 /* > 1607 * Check reshape again to avoid reshape happens after checking > 1608 * MD_RECOVERY_RESHAPE and before wait_barrier > 1609 */ > 1610 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) > 1611 goto out; > 1612=09 > 1613 if (geo->near_copies) > 1614 stripe_data_disks =3D geo->raid_disks / geo->near_copies + > 1615 geo->raid_disks % geo->near_copies; > 1616 else > 1617 stripe_data_disks =3D geo->raid_disks; > 1618=09 > 1619 stripe_size =3D stripe_data_disks << geo->chunk_shift; > 1620=09 > 1621 bio_start =3D bio->bi_iter.bi_sector; > 1622 bio_end =3D bio_end_sector(bio); > 1623=09 > 1624 /* > 1625 * Maybe one discard bio is smaller than strip size or across one > 1626 * stripe and discard region is larger than one stripe size. For f= ar > 1627 * offset layout, if the discard region is not aligned with stripe > 1628 * size, there is hole when we submit discard bio to member disk. > 1629 * For simplicity, we only handle discard bio which discard region > 1630 * is bigger than stripe_size * 2 > 1631 */ > 1632 if (bio_sectors(bio) < stripe_size*2) > 1633 goto out; > 1634=09 > 1635 /* > 1636 * Keep bio aligned with strip size. > 1637 */ > 1638 div_u64_rem(bio_start, stripe_size, &remainder); > 1639 if (remainder) { > 1640 split_size =3D stripe_size - remainder; > 1641 split =3D bio_split(bio, split_size, GFP_NOIO, &conf->bio_split); > 1642 bio_chain(split, bio); > 1643 allow_barrier(conf); > 1644 /* Resend the fist split part */ > 1645 submit_bio_noacct(split); > 1646 wait_barrier(conf); > 1647 } > 1648 div_u64_rem(bio_end, stripe_size, &remainder); > 1649 if (remainder) { > 1650 split_size =3D bio_sectors(bio) - remainder; > 1651 split =3D bio_split(bio, split_size, GFP_NOIO, &conf->bio_split); > 1652 bio_chain(split, bio); > 1653 allow_barrier(conf); > 1654 /* Resend the second split part */ > 1655 submit_bio_noacct(bio); > 1656 bio =3D split; > 1657 wait_barrier(conf); > 1658 } > 1659=09 > 1660 bio_start =3D bio->bi_iter.bi_sector; > 1661 bio_end =3D bio_end_sector(bio); > 1662=09 > 1663 /* > 1664 * Raid10 uses chunk as the unit to store data. It's similar like = raid0. > 1665 * One stripe contains the chunks from all member disk (one chunk = from > 1666 * one disk at the same HBA address). For layout detail, see 'man = md 4' > 1667 */ > 1668 chunk =3D bio_start >> geo->chunk_shift; > 1669 chunk *=3D geo->near_copies; > 1670 first_stripe_index =3D chunk; > 1671 start_disk_index =3D sector_div(first_stripe_index, geo->raid_disk= s); > 1672 if (geo->far_offset) > 1673 first_stripe_index *=3D geo->far_copies; > 1674 start_disk_offset =3D (bio_start & geo->chunk_mask) + > 1675 (first_stripe_index << geo->chunk_shift); > 1676=09 > 1677 chunk =3D bio_end >> geo->chunk_shift; > 1678 chunk *=3D geo->near_copies; > 1679 last_stripe_index =3D chunk; > 1680 end_disk_index =3D sector_div(last_stripe_index, geo->raid_disks); > 1681 if (geo->far_offset) > 1682 last_stripe_index *=3D geo->far_copies; > 1683 end_disk_offset =3D (bio_end & geo->chunk_mask) + > 1684 (last_stripe_index << geo->chunk_shift); > 1685=09 > 1686 retry_discard: > 1687 r10_bio =3D mempool_alloc(&conf->r10bio_pool, GFP_NOIO); > 1688 r10_bio->mddev =3D mddev; > 1689 r10_bio->state =3D 0; > 1690 r10_bio->sectors =3D 0; > 1691 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * geo->raid_disk= s); > 1692 wait_blocked_dev(mddev, r10_bio); > 1693=09 > 1694 /* > 1695 * For far layout it needs more than one r10bio to cover all regio= ns. > 1696 * Inspired by raid10_sync_request, we can use the first r10bio->m= aster_bio > 1697 * to record the discard bio. Other r10bio->master_bio record the = first > 1698 * r10bio. The first r10bio only release after all other r10bios f= inish. > 1699 * The discard bio returns only first r10bio finishes > 1700 */ > 1701 if (first_copy) { > 1702 r10_bio->master_bio =3D bio; > 1703 set_bit(R10BIO_Discard, &r10_bio->state); > 1704 first_copy =3D false; > 1705 first_r10bio =3D r10_bio; > 1706 } else >> 1707 r10_bio->master_bio =3D (struct bio *)first_r10bio; This is a false alert. The function starts with first_copy =3D true. When w= e=20 hit else clause, first_r10bio is already initialized.=20 Thanks, Song [...]