From patchwork Mon Aug 26 21:28:18 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: 11115627 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 E72D314DE for ; Mon, 26 Aug 2019 21:28:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C509821872 for ; Mon, 26 Aug 2019 21:28:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="UJOMJJN1" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728436AbfHZV2X (ORCPT ); Mon, 26 Aug 2019 17:28:23 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:49778 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728431AbfHZV2X (ORCPT ); Mon, 26 Aug 2019 17:28:23 -0400 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 x7QLRBaK003499; Mon, 26 Aug 2019 21:28:21 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=C6p1fSJZi6SNjHkFQPtqCuHY8mweUIo2ZZQdXB/fFmo=; b=UJOMJJN1/K4hSH5V84qr2FpHLI6DMjaSo57YS34+62zaxUW1UUR6oe0TdFw53wB5w5Nq DvNUyUu2BozzKPPZKcx9WDRRf2BS1NLOgLEgQ1d0g/+nKYX5bpDXubI7EhPGqJRhTSgq F6/zn4CeC1Fe88Cb63vvp2okTzV2JG3WskopmYLyQT6z0zu43L+USNkPqa6giVQ7lxR+ /HukGdjRtAbPiD+qSi4oaE4ff6YFg3TJI7tv6zuwewgsOz7Eyfqb4RYY3MVUmZ5CDYP+ EiKoVgwIdJJbznR48RFoTbLLNJu8RdAWzUpooWveAnFL+pTjJWmg0ESfV+5wfOJJaeB3 bA== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 2umqbe8075-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Aug 2019 21:28:21 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x7QLItY9185017; Mon, 26 Aug 2019 21:28:20 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3020.oracle.com with ESMTP id 2umj2xvw64-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Aug 2019 21:28:20 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x7QLSJ03028143; Mon, 26 Aug 2019 21:28:19 GMT Received: from localhost (/10.159.144.227) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 26 Aug 2019 14:28:19 -0700 Subject: [PATCH 00/13] libfrog/xfs_scrub: fix error handling From: "Darrick J. Wong" To: sandeen@sandeen.net, darrick.wong@oracle.com Cc: linux-xfs@vger.kernel.org Date: Mon, 26 Aug 2019 14:28:18 -0700 Message-ID: <156685489821.2841546.10616502094098044568.stgit@magnolia> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9361 signatures=668684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=934 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1908260198 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9361 signatures=668684 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-1906280000 definitions=main-1908260198 Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org Hi all, The new code introduced by xfs_scrub do not deal with error returns in a consistent fashion. Some places we return -1 and set errno, some places just do whatever libc does, others return positive error codes, and the worst offenders do a combination of that. Worse yet, sometimes we also fail to check for error returns at all. This series replaces all that with a single error handling strategy -- return positive error codes and always check the return codes from other library functions. 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=libfrog-error-handling