From patchwork Mon Apr 1 17:10:09 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: 10880459 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 C6E45922 for ; Mon, 1 Apr 2019 18:08:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0C5B286A2 for ; Mon, 1 Apr 2019 18:08:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A59482881E; Mon, 1 Apr 2019 18:08:37 +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 52119286A2 for ; Mon, 1 Apr 2019 18:08:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728908AbfDARKR (ORCPT ); Mon, 1 Apr 2019 13:10:17 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:45676 "EHLO aserp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729343AbfDARKN (ORCPT ); Mon, 1 Apr 2019 13:10:13 -0400 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 x31H9px0134674 for ; Mon, 1 Apr 2019 17:10:12 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=K7jV9SQi9RkpNSOykZERDURQCSsA35d9nn4hWI6WKag=; b=eeuzcAw4mAdQQiQaFo8C4n452Fdxj7v6vkpCR8b74EZxqsqnkZ5kUvt2ss5bYY+snv6N Q4OAWnn3vEkbXnCQ84L2HoeGisYjeDp4IFo5IRZeVS3Q2WBIEXXfsYrV9MbVAVp1erm6 sJ4VUhwXk2NL/vHHXVnwZ8qYubMqc/78Vf5rhLnqK6GYLu4q3irDzkeEyvKuBz8+CjzN 38kDPnblnOVIrzyTtyZ4s+rXo56TaP41SbP/JYYroCynac0zG8mdohh3sXu16IlUAwQQ X0pBc/c3f8iupLvJS9YWFx9rsEWKvq8UE6JYgrBCFaE4VXfPf0YWGyR+Yp8xpLgg73fh rw== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2130.oracle.com with ESMTP id 2rhwyd0ggv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 01 Apr 2019 17:10:12 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id x31HABcC003580 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 1 Apr 2019 17:10:11 GMT Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x31HAArQ016587 for ; Mon, 1 Apr 2019 17:10:11 GMT Received: from localhost (/10.159.239.211) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 01 Apr 2019 10:10:10 -0700 Subject: [PATCH 00/10] xfs: online health tracking support From: "Darrick J. Wong" To: darrick.wong@oracle.com Cc: linux-xfs@vger.kernel.org Date: Mon, 01 Apr 2019 10:10:09 -0700 Message-ID: <155413860964.4966.6087725033542837255.stgit@magnolia> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9214 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 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-1904010112 Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi all, This series adds online health tracking capabilities to XFS, which enables userspace to discover if any metadata corruptions have been found (and not fixed) within a given class of metadata. The reporting of metadata health problems is triggered only by the online scrub code, though in principle a metadata read encountering corruption could also set a sick flag. Online repair will clear the appropriate sick flags when metadata passes its inspection after a repair attempt. Reporting to userspace is handled by three ioctl modifications: enhancements of the existing fs geometry ioctl to include a health field; enhancement of the existing bulkstat ioctl to report health, and a totally new ioctl to report allocation group geometry and status. On the userspace side of things, xfs_scrub is adapted to give a clean bill of health to the kernel when it is warranted, and xfs_spaceman can now perform live health reporting. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=health-tracking xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=health-tracking