From patchwork Thu Oct 10 07:55:19 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zheng Liu X-Patchwork-Id: 282144 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 27E442C008A for ; Thu, 10 Oct 2013 18:53:37 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751996Ab3JJHxf (ORCPT ); Thu, 10 Oct 2013 03:53:35 -0400 Received: from mail-pa0-f43.google.com ([209.85.220.43]:32968 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750799Ab3JJHxe (ORCPT ); Thu, 10 Oct 2013 03:53:34 -0400 Received: by mail-pa0-f43.google.com with SMTP id hz1so2305855pad.30 for ; Thu, 10 Oct 2013 00:53:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=DhGFzAld+4NMtnaBO/3gw4e3The0XjTdsaWl3KiJNs8=; b=sPE8w2/mLLf5hGajmFbibKHEI2haBgo5FSXJEMEzecAa+Uzh9Zk8wevXRkSVzF/K+7 UjRkRuzJ3ncfTh587iAZzShZSjpMcBkT0hTShj+rYKE8KvZ4zR6gtozy7gXsHbrEnPHr U2Wi0QrCapr05ynqsySN85KE5bXJ2eB4i7+YXSHYT7X35NjSYnaiXdXor9QZU5SE9UYu HzoYN+HUqcPHBiyRTE8tMByq0kAkLABhvfQAihB0iSKlTF6sPqYJOFPo4jFPwp7D0Av6 ZNg5KRhXgTFhPrVIABPqiY2qwPeNUOOKFrPVQZwbvf3TdTuJ6kaown2iqmfGK4NrfOsC 2SPw== X-Received: by 10.66.67.6 with SMTP id j6mr7764630pat.165.1381391614047; Thu, 10 Oct 2013 00:53:34 -0700 (PDT) Received: from alpha.taobao.ali.com ([182.92.247.2]) by mx.google.com with ESMTPSA id dk3sm51337433pbc.32.1969.12.31.16.00.00 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 10 Oct 2013 00:53:33 -0700 (PDT) From: Zheng Liu To: linux-ext4@vger.kernel.org Cc: Theodore Ts'o , Andreas Dilger , Eric Sandeen , Zheng Liu Subject: [RFC][PATCH] e2fsck: fix corrupted orphan list in preen mode Date: Thu, 10 Oct 2013 15:55:19 +0800 Message-Id: <1381391719-29461-1-git-send-email-wenqing.lz@taobao.com> X-Mailer: git-send-email 1.7.9.7 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Zheng Liu Currently we don't try to fix the corrupted orphan list in preen mode. When we meet this problem fsck will ask administrator to handle it. But when application uses aio dio to manipulate the file and the server gets a power failure or cold reset it is easy to trigger this problem. If there is only one server, it is OK. However, when a large number of servers are reset, it is a disaster. This commit makes e2fsck fix corrupted orphan list in preen mode, and might make our lives better. Cc: Theodore Ts'o Cc: Andreas Dilger Cc: Eric Sandeen Signed-off-by: Zheng Liu --- e2fsck/problem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/e2fsck/problem.c b/e2fsck/problem.c index b0a6e19..29a6b5d 100644 --- a/e2fsck/problem.c +++ b/e2fsck/problem.c @@ -722,13 +722,13 @@ static struct e2fsck_problem problem_table[] = { /* Deal with inodes that were part of orphan linked list */ { PR_1_LOW_DTIME, N_("@i %i was part of the @o @i list. "), - PROMPT_FIX, PR_LATCH_LOW_DTIME, 0 }, + PROMPT_FIX, PR_LATCH_LOW_DTIME | PR_PREEN_OK, 0 }, /* Deal with inodes that were part of corrupted orphan linked list (latch question) */ { PR_1_ORPHAN_LIST_REFUGEES, N_("@is that were part of a corrupted orphan linked list found. "), - PROMPT_FIX, 0 }, + PROMPT_FIX, PR_PREEN_OK }, /* Error allocating refcount structure */ { PR_1_ALLOCATE_REFCOUNT,