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=-12.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_AGENT_SANE_1 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 34977C11F66 for ; Tue, 29 Jun 2021 07:05:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1356961D54 for ; Tue, 29 Jun 2021 07:05:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232138AbhF2HID (ORCPT ); Tue, 29 Jun 2021 03:08:03 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:13512 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232097AbhF2HHo (ORCPT ); Tue, 29 Jun 2021 03:07:44 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15T72CLK012173; Tue, 29 Jun 2021 07:05:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : mime-version : content-type : in-reply-to; s=corp-2020-01-29; bh=k+jq6WRxQUmqj6a90s5ebmg9ko9D0XZa+yG3hySV8gQ=; b=rNiXPTgAR4L2Lu2avLPB8mtKZonc6UIaxgsl4gmSd92xSXm3uhpg85LqQrOuCxf64i3U 4Aza/nB3UhqFPgL7yyUuuweXV0uqkd+BiDJ3qGML2n04QkKVPjrw3K9iYC+kVklJ94BL 4tiHs8q+AOO7JZFmJzLiHCniRjx+LtzcKwEa4GGYyNq8YGxAdRTJJeuBHnaSAH8kqEnG AOyuQ927B9mU3fHgtOXW/RzkbwEzYDgsI9Y+pxwYUDci3HnlKprp7HGW4BSuJ7nzxmM7 Azx0xp0snNlFiG3FauC8mWe0mMuTgyXgyQll7YdAOFjhsnPOzaVbs1F2TBWfikusB5hv Yw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 39f7uu2nun-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Jun 2021 07:05:07 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15T6xqEx161956; Tue, 29 Jun 2021 07:05:06 GMT Received: from pps.reinject (localhost [127.0.0.1]) by userp3020.oracle.com with ESMTP id 39ee0u4mbn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Jun 2021 07:05:06 +0000 Received: from userp3020.oracle.com (userp3020.oracle.com [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 15T755MR182154; Tue, 29 Jun 2021 07:05:06 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3020.oracle.com with ESMTP id 39ee0u4m6u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Jun 2021 07:05:05 +0000 Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 15T752XU029409; Tue, 29 Jun 2021 07:05:02 GMT Received: from kadam (/102.222.70.252) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 29 Jun 2021 07:05:02 +0000 Date: Tue, 29 Jun 2021 10:04:55 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Qu Wenruo , linux-btrfs@vger.kernel.org Cc: lkp@intel.com, kbuild-all@lists.01.org Subject: [kbuild] Re: [PATCH 3/3] btrfs: allow BTRFS_IOC_SNAP_DESTROY_V2 to remove ghost subvolume Message-ID: <202106290158.0Vwb1dj2-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210628101637.349718-4-wqu@suse.com> Message-ID-Hash: T2BMZ2MI2AJNNDSBBXBIKNNAN5W3CR6X User-Agent: Mutt/1.9.4 (2018-02-28) X-Proofpoint-ORIG-GUID: KU47Surjv0C_nqIfN3vI3pBk3o_P2iU2 X-Proofpoint-GUID: KU47Surjv0C_nqIfN3vI3pBk3o_P2iU2 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Hi Qu, url: https://github.com/0day-ci/linux/commits/Qu-Wenruo/btrfs-allow-BTRFS_IOC_SNAP_DESTROY_V2-to-remove-ghost-subvolume/20210628-181747 base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next config: i386-randconfig-m021-20210628 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: fs/btrfs/ioctl.c:2967 remove_ghost_subvol() error: uninitialized symbol 'ret'. Old smatch warnings: fs/btrfs/ioctl.c:808 create_snapshot() warn: '&pending_snapshot->list' not removed from list fs/btrfs/ioctl.c:1568 btrfs_defrag_file() warn: should 'ret << 12' be a 64 bit type? vim +/ret +2967 fs/btrfs/ioctl.c 391ab0041fef57 Qu Wenruo 2021-06-28 2904 static int __cold remove_ghost_subvol(struct btrfs_fs_info *fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2905 u64 rootid) 391ab0041fef57 Qu Wenruo 2021-06-28 2906 { 391ab0041fef57 Qu Wenruo 2021-06-28 2907 struct btrfs_trans_handle *trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2908 struct btrfs_root *root; 391ab0041fef57 Qu Wenruo 2021-06-28 2909 struct btrfs_path *path; 391ab0041fef57 Qu Wenruo 2021-06-28 2910 struct btrfs_key key; 391ab0041fef57 Qu Wenruo 2021-06-28 2911 int ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2912 391ab0041fef57 Qu Wenruo 2021-06-28 2913 root = btrfs_get_fs_root(fs_info, rootid, false); 391ab0041fef57 Qu Wenruo 2021-06-28 2914 if (IS_ERR(root)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2915 ret = PTR_ERR(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2916 return ret; return PTR_ERR(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2917 } 391ab0041fef57 Qu Wenruo 2021-06-28 2918 391ab0041fef57 Qu Wenruo 2021-06-28 2919 /* A ghost subvolume is already a problem, better to output a warning */ 391ab0041fef57 Qu Wenruo 2021-06-28 2920 btrfs_warn(fs_info, "root %llu has no refs nor orphan item", rootid); 391ab0041fef57 Qu Wenruo 2021-06-28 2921 if (btrfs_root_refs(&root->root_item) != 0) { 391ab0041fef57 Qu Wenruo 2021-06-28 2922 /* We get some strange root */ 391ab0041fef57 Qu Wenruo 2021-06-28 2923 btrfs_warn(fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2924 "root %llu has %u refs, but no proper root backref", 391ab0041fef57 Qu Wenruo 2021-06-28 2925 rootid, btrfs_root_refs(&root->root_item)); 391ab0041fef57 Qu Wenruo 2021-06-28 2926 ret = -EUCLEAN; 391ab0041fef57 Qu Wenruo 2021-06-28 2927 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2928 } 391ab0041fef57 Qu Wenruo 2021-06-28 2929 391ab0041fef57 Qu Wenruo 2021-06-28 2930 /* Already has orphan inserted */ 391ab0041fef57 Qu Wenruo 2021-06-28 2931 if (test_bit(BTRFS_ROOT_ORPHAN_ITEM_INSERTED, &root->state)) 391ab0041fef57 Qu Wenruo 2021-06-28 2932 goto out; ret not intialized on this path. 391ab0041fef57 Qu Wenruo 2021-06-28 2933 391ab0041fef57 Qu Wenruo 2021-06-28 2934 path = btrfs_alloc_path(); 391ab0041fef57 Qu Wenruo 2021-06-28 2935 if (!path) { 391ab0041fef57 Qu Wenruo 2021-06-28 2936 ret = -ENOMEM; 391ab0041fef57 Qu Wenruo 2021-06-28 2937 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2938 } 391ab0041fef57 Qu Wenruo 2021-06-28 2939 key.objectid = BTRFS_ORPHAN_OBJECTID; 391ab0041fef57 Qu Wenruo 2021-06-28 2940 key.type = BTRFS_ORPHAN_ITEM_KEY; 391ab0041fef57 Qu Wenruo 2021-06-28 2941 key.offset = rootid; 391ab0041fef57 Qu Wenruo 2021-06-28 2942 391ab0041fef57 Qu Wenruo 2021-06-28 2943 ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); 391ab0041fef57 Qu Wenruo 2021-06-28 2944 btrfs_free_path(path); 391ab0041fef57 Qu Wenruo 2021-06-28 2945 /* Either error or there is already an orphan item */ 391ab0041fef57 Qu Wenruo 2021-06-28 2946 if (ret <= 0) 391ab0041fef57 Qu Wenruo 2021-06-28 2947 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2948 391ab0041fef57 Qu Wenruo 2021-06-28 2949 trans = btrfs_start_transaction(fs_info->tree_root, 1); 391ab0041fef57 Qu Wenruo 2021-06-28 2950 if (IS_ERR(trans)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2951 ret = PTR_ERR(trans); 391ab0041fef57 Qu Wenruo 2021-06-28 2952 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2953 } 391ab0041fef57 Qu Wenruo 2021-06-28 2954 391ab0041fef57 Qu Wenruo 2021-06-28 2955 ret = btrfs_insert_orphan_item(trans, fs_info->tree_root, rootid); 391ab0041fef57 Qu Wenruo 2021-06-28 2956 if (ret < 0 && ret != -EEXIST) { 391ab0041fef57 Qu Wenruo 2021-06-28 2957 btrfs_abort_transaction(trans, ret); 391ab0041fef57 Qu Wenruo 2021-06-28 2958 goto end_trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2959 } 391ab0041fef57 Qu Wenruo 2021-06-28 2960 ret = 0; 391ab0041fef57 Qu Wenruo 2021-06-28 2961 btrfs_add_dead_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2962 391ab0041fef57 Qu Wenruo 2021-06-28 2963 end_trans: 391ab0041fef57 Qu Wenruo 2021-06-28 2964 btrfs_end_transaction(trans); 391ab0041fef57 Qu Wenruo 2021-06-28 2965 out: 391ab0041fef57 Qu Wenruo 2021-06-28 2966 btrfs_put_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 @2967 return ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2968 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-leave@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1523745153574946677==" MIME-Version: 1.0 From: kernel test robot Subject: Re: [PATCH 3/3] btrfs: allow BTRFS_IOC_SNAP_DESTROY_V2 to remove ghost subvolume Date: Tue, 29 Jun 2021 01:18:52 +0800 Message-ID: <202106290158.0Vwb1dj2-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============1523745153574946677== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org In-Reply-To: <20210628101637.349718-4-wqu@suse.com> References: <20210628101637.349718-4-wqu@suse.com> TO: Qu Wenruo TO: linux-btrfs(a)vger.kernel.org Hi Qu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kdave/for-next] [also build test WARNING on v5.13 next-20210628] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Qu-Wenruo/btrfs-allow-BTRF= S_IOC_SNAP_DESTROY_V2-to-remove-ghost-subvolume/20210628-181747 base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for= -next :::::: branch date: 7 hours ago :::::: commit date: 7 hours ago config: i386-randconfig-m021-20210628 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: fs/btrfs/ioctl.c:2967 remove_ghost_subvol() error: uninitialized symbol 're= t'. Old smatch warnings: fs/btrfs/ioctl.c:808 create_snapshot() warn: '&pending_snapshot->list' not = removed from list fs/btrfs/ioctl.c:1568 btrfs_defrag_file() warn: should 'ret << 12' be a 64 = bit type? vim +/ret +2967 fs/btrfs/ioctl.c 42e4b520c812da Tomohiro Misono 2018-05-21 2894 = 391ab0041fef57 Qu Wenruo 2021-06-28 2895 /* 391ab0041fef57 Qu Wenruo 2021-06-28 2896 * Special case that some = subvolume has missing ORPHAN_ITEM, but its refs is 391ab0041fef57 Qu Wenruo 2021-06-28 2897 * already 0 (without any = ROOT_REF/BACKREF). 391ab0041fef57 Qu Wenruo 2021-06-28 2898 * In that case such subvo= lume is only taking space while unable to be deleted. 391ab0041fef57 Qu Wenruo 2021-06-28 2899 * 391ab0041fef57 Qu Wenruo 2021-06-28 2900 * No reproducer to reprod= uce such corruption, but it won't hurt to cleanup them 391ab0041fef57 Qu Wenruo 2021-06-28 2901 * as we can reuse existin= g code since we only need to insert an orphan item and 391ab0041fef57 Qu Wenruo 2021-06-28 2902 * queue them to be delete= d. 391ab0041fef57 Qu Wenruo 2021-06-28 2903 */ 391ab0041fef57 Qu Wenruo 2021-06-28 2904 static int __cold remove_g= host_subvol(struct btrfs_fs_info *fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2905 u64 rootid) 391ab0041fef57 Qu Wenruo 2021-06-28 2906 { 391ab0041fef57 Qu Wenruo 2021-06-28 2907 struct btrfs_trans_handle= *trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2908 struct btrfs_root *root; 391ab0041fef57 Qu Wenruo 2021-06-28 2909 struct btrfs_path *path; 391ab0041fef57 Qu Wenruo 2021-06-28 2910 struct btrfs_key key; 391ab0041fef57 Qu Wenruo 2021-06-28 2911 int ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2912 = 391ab0041fef57 Qu Wenruo 2021-06-28 2913 root =3D btrfs_get_fs_roo= t(fs_info, rootid, false); 391ab0041fef57 Qu Wenruo 2021-06-28 2914 if (IS_ERR(root)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2915 ret =3D PTR_ERR(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2916 return ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2917 } 391ab0041fef57 Qu Wenruo 2021-06-28 2918 = 391ab0041fef57 Qu Wenruo 2021-06-28 2919 /* A ghost subvolume is a= lready a problem, better to output a warning */ 391ab0041fef57 Qu Wenruo 2021-06-28 2920 btrfs_warn(fs_info, "root= %llu has no refs nor orphan item", rootid); = 391ab0041fef57 Qu Wenruo 2021-06-28 2921 if (btrfs_root_refs(&root= ->root_item) !=3D 0) { 391ab0041fef57 Qu Wenruo 2021-06-28 2922 /* We get some strange r= oot */ 391ab0041fef57 Qu Wenruo 2021-06-28 2923 btrfs_warn(fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2924 "root %llu has %u refs,= but no proper root backref", 391ab0041fef57 Qu Wenruo 2021-06-28 2925 rootid, btrfs_root_refs= (&root->root_item)); 391ab0041fef57 Qu Wenruo 2021-06-28 2926 ret =3D -EUCLEAN; 391ab0041fef57 Qu Wenruo 2021-06-28 2927 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2928 } 391ab0041fef57 Qu Wenruo 2021-06-28 2929 = 391ab0041fef57 Qu Wenruo 2021-06-28 2930 /* Already has orphan ins= erted */ 391ab0041fef57 Qu Wenruo 2021-06-28 2931 if (test_bit(BTRFS_ROOT_O= RPHAN_ITEM_INSERTED, &root->state)) 391ab0041fef57 Qu Wenruo 2021-06-28 2932 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2933 = 391ab0041fef57 Qu Wenruo 2021-06-28 2934 path =3D btrfs_alloc_path= (); 391ab0041fef57 Qu Wenruo 2021-06-28 2935 if (!path) { 391ab0041fef57 Qu Wenruo 2021-06-28 2936 ret =3D -ENOMEM; 391ab0041fef57 Qu Wenruo 2021-06-28 2937 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2938 } 391ab0041fef57 Qu Wenruo 2021-06-28 2939 key.objectid =3D BTRFS_OR= PHAN_OBJECTID; 391ab0041fef57 Qu Wenruo 2021-06-28 2940 key.type =3D BTRFS_ORPHAN= _ITEM_KEY; 391ab0041fef57 Qu Wenruo 2021-06-28 2941 key.offset =3D rootid; 391ab0041fef57 Qu Wenruo 2021-06-28 2942 = 391ab0041fef57 Qu Wenruo 2021-06-28 2943 ret =3D btrfs_search_slot= (NULL, fs_info->tree_root, &key, path, 0, 0); 391ab0041fef57 Qu Wenruo 2021-06-28 2944 btrfs_free_path(path); 391ab0041fef57 Qu Wenruo 2021-06-28 2945 /* Either error or there = is already an orphan item */ 391ab0041fef57 Qu Wenruo 2021-06-28 2946 if (ret <=3D 0) 391ab0041fef57 Qu Wenruo 2021-06-28 2947 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2948 = 391ab0041fef57 Qu Wenruo 2021-06-28 2949 trans =3D btrfs_start_tra= nsaction(fs_info->tree_root, 1); 391ab0041fef57 Qu Wenruo 2021-06-28 2950 if (IS_ERR(trans)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2951 ret =3D PTR_ERR(trans); 391ab0041fef57 Qu Wenruo 2021-06-28 2952 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2953 } 391ab0041fef57 Qu Wenruo 2021-06-28 2954 = 391ab0041fef57 Qu Wenruo 2021-06-28 2955 ret =3D btrfs_insert_orph= an_item(trans, fs_info->tree_root, rootid); 391ab0041fef57 Qu Wenruo 2021-06-28 2956 if (ret < 0 && ret !=3D -= EEXIST) { 391ab0041fef57 Qu Wenruo 2021-06-28 2957 btrfs_abort_transaction(= trans, ret); 391ab0041fef57 Qu Wenruo 2021-06-28 2958 goto end_trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2959 } 391ab0041fef57 Qu Wenruo 2021-06-28 2960 ret =3D 0; 391ab0041fef57 Qu Wenruo 2021-06-28 2961 btrfs_add_dead_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2962 = 391ab0041fef57 Qu Wenruo 2021-06-28 2963 end_trans: 391ab0041fef57 Qu Wenruo 2021-06-28 2964 btrfs_end_transaction(tra= ns); 391ab0041fef57 Qu Wenruo 2021-06-28 2965 out: 391ab0041fef57 Qu Wenruo 2021-06-28 2966 btrfs_put_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 @2967 return ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2968 } 391ab0041fef57 Qu Wenruo 2021-06-28 2969 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --===============1523745153574946677== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 M6jTAZ2g5DEaW99GG+4vS2KeB8w/nwW4CD6OAgA= --===============1523745153574946677==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4000213057513727619==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [kbuild] Re: [PATCH 3/3] btrfs: allow BTRFS_IOC_SNAP_DESTROY_V2 to remove ghost subvolume Date: Tue, 29 Jun 2021 10:04:55 +0300 Message-ID: <202106290158.0Vwb1dj2-lkp@intel.com> In-Reply-To: <20210628101637.349718-4-wqu@suse.com> List-Id: --===============4000213057513727619== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Qu, url: https://github.com/0day-ci/linux/commits/Qu-Wenruo/btrfs-allow-BTRF= S_IOC_SNAP_DESTROY_V2-to-remove-ghost-subvolume/20210628-181747 = base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git fo= r-next config: i386-randconfig-m021-20210628 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: fs/btrfs/ioctl.c:2967 remove_ghost_subvol() error: uninitialized symbol 're= t'. Old smatch warnings: fs/btrfs/ioctl.c:808 create_snapshot() warn: '&pending_snapshot->list' not = removed from list fs/btrfs/ioctl.c:1568 btrfs_defrag_file() warn: should 'ret << 12' be a 64 = bit type? vim +/ret +2967 fs/btrfs/ioctl.c 391ab0041fef57 Qu Wenruo 2021-06-28 2904 static int __cold remove_g= host_subvol(struct btrfs_fs_info *fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2905 u64 rootid) 391ab0041fef57 Qu Wenruo 2021-06-28 2906 { 391ab0041fef57 Qu Wenruo 2021-06-28 2907 struct btrfs_trans_handle= *trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2908 struct btrfs_root *root; 391ab0041fef57 Qu Wenruo 2021-06-28 2909 struct btrfs_path *path; 391ab0041fef57 Qu Wenruo 2021-06-28 2910 struct btrfs_key key; 391ab0041fef57 Qu Wenruo 2021-06-28 2911 int ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2912 = 391ab0041fef57 Qu Wenruo 2021-06-28 2913 root =3D btrfs_get_fs_roo= t(fs_info, rootid, false); 391ab0041fef57 Qu Wenruo 2021-06-28 2914 if (IS_ERR(root)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2915 ret =3D PTR_ERR(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2916 return ret; return PTR_ERR(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2917 } 391ab0041fef57 Qu Wenruo 2021-06-28 2918 = 391ab0041fef57 Qu Wenruo 2021-06-28 2919 /* A ghost subvolume is a= lready a problem, better to output a warning */ 391ab0041fef57 Qu Wenruo 2021-06-28 2920 btrfs_warn(fs_info, "root= %llu has no refs nor orphan item", rootid); = 391ab0041fef57 Qu Wenruo 2021-06-28 2921 if (btrfs_root_refs(&root= ->root_item) !=3D 0) { 391ab0041fef57 Qu Wenruo 2021-06-28 2922 /* We get some strange r= oot */ 391ab0041fef57 Qu Wenruo 2021-06-28 2923 btrfs_warn(fs_info, 391ab0041fef57 Qu Wenruo 2021-06-28 2924 "root %llu has %u refs,= but no proper root backref", 391ab0041fef57 Qu Wenruo 2021-06-28 2925 rootid, btrfs_root_refs= (&root->root_item)); 391ab0041fef57 Qu Wenruo 2021-06-28 2926 ret =3D -EUCLEAN; 391ab0041fef57 Qu Wenruo 2021-06-28 2927 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2928 } 391ab0041fef57 Qu Wenruo 2021-06-28 2929 = 391ab0041fef57 Qu Wenruo 2021-06-28 2930 /* Already has orphan ins= erted */ 391ab0041fef57 Qu Wenruo 2021-06-28 2931 if (test_bit(BTRFS_ROOT_O= RPHAN_ITEM_INSERTED, &root->state)) 391ab0041fef57 Qu Wenruo 2021-06-28 2932 goto out; ret not intialized on this path. 391ab0041fef57 Qu Wenruo 2021-06-28 2933 = 391ab0041fef57 Qu Wenruo 2021-06-28 2934 path =3D btrfs_alloc_path= (); 391ab0041fef57 Qu Wenruo 2021-06-28 2935 if (!path) { 391ab0041fef57 Qu Wenruo 2021-06-28 2936 ret =3D -ENOMEM; 391ab0041fef57 Qu Wenruo 2021-06-28 2937 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2938 } 391ab0041fef57 Qu Wenruo 2021-06-28 2939 key.objectid =3D BTRFS_OR= PHAN_OBJECTID; 391ab0041fef57 Qu Wenruo 2021-06-28 2940 key.type =3D BTRFS_ORPHAN= _ITEM_KEY; 391ab0041fef57 Qu Wenruo 2021-06-28 2941 key.offset =3D rootid; 391ab0041fef57 Qu Wenruo 2021-06-28 2942 = 391ab0041fef57 Qu Wenruo 2021-06-28 2943 ret =3D btrfs_search_slot= (NULL, fs_info->tree_root, &key, path, 0, 0); 391ab0041fef57 Qu Wenruo 2021-06-28 2944 btrfs_free_path(path); 391ab0041fef57 Qu Wenruo 2021-06-28 2945 /* Either error or there = is already an orphan item */ 391ab0041fef57 Qu Wenruo 2021-06-28 2946 if (ret <=3D 0) 391ab0041fef57 Qu Wenruo 2021-06-28 2947 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2948 = 391ab0041fef57 Qu Wenruo 2021-06-28 2949 trans =3D btrfs_start_tra= nsaction(fs_info->tree_root, 1); 391ab0041fef57 Qu Wenruo 2021-06-28 2950 if (IS_ERR(trans)) { 391ab0041fef57 Qu Wenruo 2021-06-28 2951 ret =3D PTR_ERR(trans); 391ab0041fef57 Qu Wenruo 2021-06-28 2952 goto out; 391ab0041fef57 Qu Wenruo 2021-06-28 2953 } 391ab0041fef57 Qu Wenruo 2021-06-28 2954 = 391ab0041fef57 Qu Wenruo 2021-06-28 2955 ret =3D btrfs_insert_orph= an_item(trans, fs_info->tree_root, rootid); 391ab0041fef57 Qu Wenruo 2021-06-28 2956 if (ret < 0 && ret !=3D -= EEXIST) { 391ab0041fef57 Qu Wenruo 2021-06-28 2957 btrfs_abort_transaction(= trans, ret); 391ab0041fef57 Qu Wenruo 2021-06-28 2958 goto end_trans; 391ab0041fef57 Qu Wenruo 2021-06-28 2959 } 391ab0041fef57 Qu Wenruo 2021-06-28 2960 ret =3D 0; 391ab0041fef57 Qu Wenruo 2021-06-28 2961 btrfs_add_dead_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 2962 = 391ab0041fef57 Qu Wenruo 2021-06-28 2963 end_trans: 391ab0041fef57 Qu Wenruo 2021-06-28 2964 btrfs_end_transaction(tra= ns); 391ab0041fef57 Qu Wenruo 2021-06-28 2965 out: 391ab0041fef57 Qu Wenruo 2021-06-28 2966 btrfs_put_root(root); 391ab0041fef57 Qu Wenruo 2021-06-28 @2967 return ret; 391ab0041fef57 Qu Wenruo 2021-06-28 2968 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org = _______________________________________________ kbuild mailing list -- kbuild(a)lists.01.org To unsubscribe send an email to kbuild-leave@lists.01.org --===============4000213057513727619==--