From patchwork Wed Sep 25 21:36:07 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: 11161497 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 25143912 for ; Wed, 25 Sep 2019 21:36:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 02EDB20872 for ; Wed, 25 Sep 2019 21:36:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="UtcDvOAn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727796AbfIYVgN (ORCPT ); Wed, 25 Sep 2019 17:36:13 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:44842 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727789AbfIYVgN (ORCPT ); Wed, 25 Sep 2019 17:36:13 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x8PLYWWc010234; Wed, 25 Sep 2019 21:36:11 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-2019-08-05; bh=xPMoN+ucKwebLiojth5UT154j/N56bXH0auyPyup7po=; b=UtcDvOAnI6oo5nz2NM52AJa67ZXI+f0Jltmy4mog4zQ2UWYa2pLaxkheC6eONz6yza6e odtFglzTfwKVAHBYZSqMLEYernzwFmWKl+HhS1V8JKjChT1bh4ntDKExIWK/+n1q0AwH zG6SADEivadWFoE4su5lezPcXp3fZMUmaLgo3MiO9173nWAtyBHdyQXRYNTd5XqkEvJd /aDGrDM3vvCXdrPBH2zspzEqFovYrK/9gDWhso9Q7/PZv/aFNDlCcX36ByRnadgFPzPQ Wozj/kt3J6KNiVADnd2194yigW5AiqXWVjGrBeMogJ86LmIL9oPy+gZruO/o06jylc6p qg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 2v5btq7hvj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Sep 2019 21:36:11 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x8PLYRSO011432; Wed, 25 Sep 2019 21:36:10 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 2v829w51d2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Sep 2019 21:36:10 +0000 Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x8PLa9Td015799; Wed, 25 Sep 2019 21:36:09 GMT Received: from localhost (/10.145.178.55) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 25 Sep 2019 14:36:09 -0700 Subject: [PATCH 00/11] xfs_scrub: fix IO error reporting From: "Darrick J. Wong" To: sandeen@sandeen.net, darrick.wong@oracle.com Cc: linux-xfs@vger.kernel.org Date: Wed, 25 Sep 2019 14:36:07 -0700 Message-ID: <156944736739.300131.5717633994765951730.stgit@magnolia> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9391 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1909250174 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9391 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-1908290000 definitions=main-1909250174 Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org Hi all, The scrub media error reporting could use some improvements -- first, scrub can calculate the exact offset of media errors in file mappings, so we should report more precise offsets. Second, we only need to scan the rmap once after assembling the io error bitmap to look for destroyed metadata (instead of once per error!). Third, we can filter out unwritten and attr/cow fork extents from what we report since sector remapping takes care of unwritten/cow extents and attr media errors should be detected by phase 3. Finally, we introduce a new category of errors that are unfixable by scrub, and assign to this class all the media errors since there's nothing XFS can do. 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 xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=scrub-media-error-reporting fstests git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=scrub-media-error-reporting