From patchwork Tue Feb 26 02:35:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 10829347 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A4E4B17EF for ; Tue, 26 Feb 2019 02:35:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 911372C2C7 for ; Tue, 26 Feb 2019 02:35:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 859A42C2CC; Tue, 26 Feb 2019 02:35:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2130C2C2C7 for ; Tue, 26 Feb 2019 02:35:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726082AbfBZCfj (ORCPT ); Mon, 25 Feb 2019 21:35:39 -0500 Received: from aserp2130.oracle.com ([141.146.126.79]:51314 "EHLO aserp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726031AbfBZCfj (ORCPT ); Mon, 25 Feb 2019 21:35:39 -0500 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x1Q2ZAPv149439; Tue, 26 Feb 2019 02:35:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : from : to : cc : date : message-id : mime-version : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=hKnQmLwqdABW0jfIom66bSzcXIOwfktLfGE9rK6tzik=; b=jLEaqiQES6rO8c3vVvJx6LwQENH0Z+MwvCxg/ry5LX/TrDEPIHe44IC0d3T1/pQO7B5Q vq30VeF5H/Pi2Uvk1zTvfnp3QDCGKrCPJYD46BRnwdwPSk7xUOV4ogtFFU/U55tMzCVp BdUFmmV4cSFzwW3vVp0PyLXigbXJu1ZzYUo20+NN/eZDxp9lIiAbxr0t8dVjohZK2Z1x tnCZ+ku8TWjjIGzH65M27y5RmK/C/FcWm+t+WiHCRdW9/RGI2aygOCG1vPAPDut2d5Q6 t+tb2wP+4mkRtdVMks3i3U/GffTVoxy6lMyE8f7q2+UK7YTmLdWBb5evfHDX3PWF1Y+0 yQ== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2130.oracle.com with ESMTP id 2qtupe24ux-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 02:35:36 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id x1Q2ZUBl029247 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 02:35:31 GMT Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x1Q2ZUOl017535; Tue, 26 Feb 2019 02:35:30 GMT Received: from localhost (/67.169.218.210) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 25 Feb 2019 18:35:30 -0800 Subject: [PATCH 1/2] misc: don't oom the box opening tmpfiles From: "Darrick J. Wong" To: guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org Date: Mon, 25 Feb 2019 18:35:29 -0800 Message-ID: <155114852926.9683.4048206997940455508.stgit@magnolia> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9178 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1902260017 Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Darrick J. Wong For the t_open_tmpfiles tests, limit ourselves to half of file-max so that we don't OOM the test machine. Signed-off-by: Darrick J. Wong Reviewed-by: Allison Henderson --- tests/generic/530 | 2 +- tests/generic/531 | 2 +- tests/xfs/501 | 2 +- tests/xfs/502 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/generic/530 b/tests/generic/530 index a2968d25..2bc4a992 100755 --- a/tests/generic/530 +++ b/tests/generic/530 @@ -42,7 +42,7 @@ _scratch_mount # Set ULIMIT_NOFILE to min(file-max, 50000 files per LOAD_FACTOR) # so that this test doesn't take forever or OOM the box max_files=$((50000 * LOAD_FACTOR)) -max_allowable_files=$(( $(cat /proc/sys/fs/file-max) )) +max_allowable_files=$(( $(cat /proc/sys/fs/file-max) / 2 )) test $max_allowable_files -gt 0 && test $max_files -gt $max_allowable_files && \ max_files=$max_allowable_files ulimit -n $max_files diff --git a/tests/generic/531 b/tests/generic/531 index f3eb5cde..5d60e4b6 100755 --- a/tests/generic/531 +++ b/tests/generic/531 @@ -44,7 +44,7 @@ nr_cpus=$(( $(getconf _NPROCESSORS_ONLN) * 2 )) # Set ULIMIT_NOFILE to min(file-max, 50000 files per LOAD_FACTOR) # so that this test doesn't take forever or OOM the box max_files=$((50000 * LOAD_FACTOR)) -max_allowable_files=$(( $(cat /proc/sys/fs/file-max) )) +max_allowable_files=$(( $(cat /proc/sys/fs/file-max) / 2 )) test $max_allowable_files -gt 0 && test $max_files -gt $max_allowable_files && \ max_files=$max_allowable_files ulimit -n $max_files diff --git a/tests/xfs/501 b/tests/xfs/501 index 51cdb020..d689145f 100755 --- a/tests/xfs/501 +++ b/tests/xfs/501 @@ -47,7 +47,7 @@ _scratch_mount # Set ULIMIT_NOFILE to min(file-max, 30000 files per LOAD_FACTOR) # so that this test doesn't take forever or OOM the box max_files=$((30000 * LOAD_FACTOR)) -max_allowable_files=$(( $(cat /proc/sys/fs/file-max) )) +max_allowable_files=$(( $(cat /proc/sys/fs/file-max) / 2 )) test $max_allowable_files -gt 0 && test $max_files -gt $max_allowable_files && \ max_files=$max_allowable_files ulimit -n $max_files diff --git a/tests/xfs/502 b/tests/xfs/502 index bfb063f4..5ad10316 100755 --- a/tests/xfs/502 +++ b/tests/xfs/502 @@ -46,7 +46,7 @@ nr_cpus=$(( $(getconf _NPROCESSORS_ONLN) * 2 )) # Set ULIMIT_NOFILE to min(file-max, 30000 files per cpu per LOAD_FACTOR) # so that this test doesn't take forever or OOM the box max_files=$((30000 * LOAD_FACTOR)) -max_allowable_files=$(( $(cat /proc/sys/fs/file-max) )) +max_allowable_files=$(( $(cat /proc/sys/fs/file-max) / 2 )) test $max_allowable_files -gt 0 && test $max_files -gt $max_allowable_files && \ max_files=$max_allowable_files ulimit -n $max_files From patchwork Tue Feb 26 02:35:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 10829351 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AE87713B5 for ; Tue, 26 Feb 2019 02:35:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 96D3D2C2C7 for ; Tue, 26 Feb 2019 02:35:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8AB632C2CC; Tue, 26 Feb 2019 02:35:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 222E42C2C7 for ; Tue, 26 Feb 2019 02:35:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726031AbfBZCfk (ORCPT ); Mon, 25 Feb 2019 21:35:40 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:37168 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726037AbfBZCfk (ORCPT ); Mon, 25 Feb 2019 21:35:40 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x1Q2YrBG151652; Tue, 26 Feb 2019 02:35:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : from : to : cc : date : message-id : in-reply-to : references : mime-version : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=eciF3cx3FaGzDJjF+zhivE7A4kll/hR6gdmh5j87BJ4=; b=MP/9Px/oIIbHT7/gAXAjw1+xv/w4i+8vQRkpa4GYwsXpJyxAu/91+OMJiotebr+fEVSp nfV3ZiSaliSnNHYnYznmZCCg0PdyC7284u2/rN02Cs+bwo31/lwFsQRbIIks7WjMpT3N Yejx9jxRREGu8nxWwFWJ3+XZu/1K84pJoKoQ5U2OdAgWwIT3ycXZkrXDOV+80uZSkX/e 9dnkVl4fQZUIGeNRE3bqEYNDR6QUgFgGrturHQKqFT90PmYus+7U9DePcQxUIG9iCgXe V4WPFNBgVzn6taN6ribTQvt+j3WfigmX0di6WMyUTLRg6MfcB0xlLrb0/uHZw4CgZGW+ tQ== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2120.oracle.com with ESMTP id 2qtxtrhumf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 02:35:37 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id x1Q2ZaWH018482 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 02:35:37 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x1Q2ZaDT017566; Tue, 26 Feb 2019 02:35:36 GMT Received: from localhost (/67.169.218.210) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 25 Feb 2019 18:35:36 -0800 Subject: [PATCH 2/2] t_attr_corruption: fix this yet again From: "Darrick J. Wong" To: guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org Date: Mon, 25 Feb 2019 18:35:35 -0800 Message-ID: <155114853550.9683.11298191063436471344.stgit@magnolia> In-Reply-To: <155114852926.9683.4048206997940455508.stgit@magnolia> References: <155114852926.9683.4048206997940455508.stgit@magnolia> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9178 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1902260017 Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Darrick J. Wong Jeff Moyer pointed out that 'security.evm' actually has an expected value format, which breaks the test if EVM is enabled. It turns out that the 'security.evm' setxattr call in the original syzkaller report was a total red herring, as this bug can be reproduced without it. Fix the test case to do the minimum amount of work needed to reproduce the corruption. Signed-off-by: Darrick J. Wong Reviewed-by: Allison Henderson --- src/t_attr_corruption.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/t_attr_corruption.c b/src/t_attr_corruption.c index f26611f9..9101024e 100644 --- a/src/t_attr_corruption.c +++ b/src/t_attr_corruption.c @@ -3,17 +3,21 @@ * Copyright (C) 2019 Oracle. All Rights Reserved. * Author: Darrick J. Wong * - * Test program to tickle a use-after-free bug in xfs. + * XFS had a memory corruption bug in its handling of the POSIX ACL attribute + * names during a listxattr call. * - * XFS had a use-after-free bug when xfs_xattr_put_listent runs out of - * listxattr buffer space while trying to store the name - * "system.posix_acl_access" and then corrupts memory by not checking the - * seen_enough state and then trying to shove "trusted.SGI_ACL_FILE" into the - * buffer as well. + * On IRIX, file ACLs were stored under the name "trusted.SGI_ACL_FILE", + * whereas on Linux the name is "system.posix_acl_access". In order to + * maintain compatibility with old filesystems, XFS internally continues to + * use the old SGI_ACL_FILE name on disk and remap the new name whenever it + * sees it. * - * In order to tickle the bug in a user visible way we must have already put a - * name in the buffer, so we take advantage of the fact that "security.evm" - * sorts before "system.posix_acl_access" to make sure this happens. + * In order to make this magic happen, XFS' listxattr implementation will emit + * first the Linux name and then the on-disk name. Unfortunately, it doesn't + * correctly check the buffer length, so if the buffer is large enough to fit + * the on-disk name but not large enough to fit the Linux name, we screw up + * the buffer position accounting while trying to emit the Linux name and then + * corrupt memory when we try to emit the on-disk name. * * If we trigger the bug, the program will print the garbled string * "rusted.SGI_ACL_FILE". If the bug is fixed, the flistxattr call returns @@ -76,11 +80,7 @@ int main(int argc, char *argv[]) if (ret) die("set posix acl"); - ret = fsetxattr(fd, "security.evm", buf, 1, 1); - if (ret) - die("set evm"); - - sz = flistxattr(fd, buf, 30); + sz = flistxattr(fd, buf, 20); if (sz < 0) die("list attr"); From patchwork Tue Feb 26 03:46:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 10829373 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 982921399 for ; Tue, 26 Feb 2019 03:46:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84F7F2C181 for ; Tue, 26 Feb 2019 03:46:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 799AF2C192; Tue, 26 Feb 2019 03:46:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4C4BC2C15E for ; Tue, 26 Feb 2019 03:46:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726291AbfBZDqi (ORCPT ); Mon, 25 Feb 2019 22:46:38 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:43898 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726116AbfBZDqi (ORCPT ); Mon, 25 Feb 2019 22:46:38 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x1Q3hLfT193545; Tue, 26 Feb 2019 03:46:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=corp-2018-07-02; bh=xF0cio7BK4ArUVk2cGL1WtDDWAynMa11Pu3WKm811Ok=; b=Mle+x5q8+kpKeWwaimh1NCkn9hnq2QOvJ5cwMyKsLunnVKZSqjaIJI0Ez9o2JkHuIekc 2m+NxMktM6ubU3vYVEA5oR1vMGsP+WI30iLENMbHLaSFnU1nXhSA4MoM/jghnoB7t94K YejRPM42TL3bYmAW2cPMBkgX519kdbYW6iejG4hAkg9REbdH9WzY6aDcRU3ybr+hUL/g UiQc7trr35nEICHxMsgKLuNbHczLVQUna5XhREEsRVyd3DcWKw/HQNDoFJLCnh9iwuA5 2JpWldcaWi90nSGeYm9JjDxM0yFF8nd3bx0CvlSpnFZ63oDV9+bJII5gExu9cDJm94gQ kw== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2qtwku259b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 03:46:36 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id x1Q3kTOH001947 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Feb 2019 03:46:30 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x1Q3kTGr018304; Tue, 26 Feb 2019 03:46:29 GMT Received: from localhost (/10.159.244.120) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 25 Feb 2019 19:46:29 -0800 Date: Mon, 25 Feb 2019 19:46:28 -0800 From: "Darrick J. Wong" To: guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org Subject: [PATCH 3/2] xfs/010: use correct type for finobt corrupting Message-ID: <20190226034628.GB7159@magnolia> References: <155114852926.9683.4048206997940455508.stgit@magnolia> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <155114852926.9683.4048206997940455508.stgit@magnolia> User-Agent: Mutt/1.9.4 (2018-02-28) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9178 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=986 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1902260026 Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Darrick J. Wong Use 'type finobt' for corrupting the finobt. Signed-off-by: Darrick J. Wong Reviewed-by: Allison Henderson --- tests/xfs/010 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/xfs/010 b/tests/xfs/010 index ee1595c8..e220a651 100755 --- a/tests/xfs/010 +++ b/tests/xfs/010 @@ -63,14 +63,14 @@ _corrupt_finobt_records() _filter_dbval` # Corrupt a freecount value. This should never exceed 64. - $XFS_DB_PROG -x -c "fsb $free_root" -c "type inobt" \ + $XFS_DB_PROG -x -c "fsb $free_root" -c "type finobt" \ -c "write recs[1].freecount 70" $dev # Create a corrupted non-free record, which should never appear in the # finobt. - $XFS_DB_PROG -x -c "fsb $free_root" -c "type inobt" \ + $XFS_DB_PROG -x -c "fsb $free_root" -c "type finobt" \ -c "write recs[2].freecount 0" $dev - $XFS_DB_PROG -x -c "fsb $free_root" -c "type inobt" \ + $XFS_DB_PROG -x -c "fsb $free_root" -c "type finobt" \ -c "write recs[2].free 0" $dev }