From patchwork Thu Feb 20 14:19:22 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kara X-Patchwork-Id: 3687171 Return-Path: X-Original-To: patchwork-ocfs2-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 09EBCBF13A for ; Thu, 20 Feb 2014 14:20:29 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id EA86520158 for ; Thu, 20 Feb 2014 14:20:27 +0000 (UTC) Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 894BD2010F for ; Thu, 20 Feb 2014 14:20:26 +0000 (UTC) Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s1KEJpmK027589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 20 Feb 2014 14:19:51 GMT Received: from oss.oracle.com (oss-external.oracle.com [137.254.96.51]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1KEJmhs016487 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 20 Feb 2014 14:19:49 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1WGUTc-0007Yg-09; Thu, 20 Feb 2014 06:19:48 -0800 Received: from acsinet22.oracle.com ([141.146.126.238]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1WGUTM-0007YI-3r for ocfs2-devel@oss.oracle.com; Thu, 20 Feb 2014 06:19:32 -0800 Received: from userp1020.oracle.com (userp1020.oracle.com [156.151.31.79]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1KEJV56004720 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 20 Feb 2014 14:19:31 GMT Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by userp1020.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s1KEJTEF002163 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Thu, 20 Feb 2014 14:19:30 GMT Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id BA79DAC91 for ; Thu, 20 Feb 2014 14:19:28 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 192AF80D20; Thu, 20 Feb 2014 15:19:28 +0100 (CET) From: Jan Kara To: ocfs2-devel@oss.oracle.com Date: Thu, 20 Feb 2014 15:19:22 +0100 Message-Id: <1392905962-2469-1-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 X-Flow-Control-Info: class=Pass-to-MM reputation=ipRisk-All ip=195.135.220.15 ct-class=T2 ct-vol1=0 ct-vol2=4 ct-vol3=3 ct-risk=59 ct-spam1=75 ct-spam2=44 ct-bulk=37 rcpts=1 size=1144 X-SPF-Info: NONE::cantor2.suse.de X-Sendmail-CM-Score: 0.00% X-Sendmail-CM-Analysis: v=2.1 cv=d9vMl3TE c=1 sm=1 tr=0 a=uEuDQZVrWKuLCe7byFjfVg==:117 a=uEuDQZVrWKuLCe7byFjfVg==:17 a=b1Q52qrbO4AA:10 a=N5fklIZoSwkA:10 a=fIiGT2B2nen9NRcnlTIA:9 X-Sendmail-CT-Classification: not spam X-Sendmail-CT-RefID: str=0001.0A090202.53060EF3.0029:SCFSTAT18040053, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 Cc: Jan Kara Subject: [Ocfs2-devel] [PATCH] fsck.ocfs2: Do not complain about oversized quota files X-BeenThere: ocfs2-devel@oss.oracle.com X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ocfs2-devel-bounces@oss.oracle.com Errors-To: ocfs2-devel-bounces@oss.oracle.com X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Quota files can have blocks beyond i_size. This is correct because quota code reserves these blocks to allow for extension of quota files without the need for allocation. So make fsck.ocfs2 not complain about them. Signed-off-by: Jan Kara --- fsck.ocfs2/pass1.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fsck.ocfs2/pass1.c b/fsck.ocfs2/pass1.c index 22dafdf50647..5118e6c630c4 100644 --- a/fsck.ocfs2/pass1.c +++ b/fsck.ocfs2/pass1.c @@ -832,6 +832,12 @@ out: return ret; } +static int is_quota_file(uint64_t ino) +{ + return ino == USER_QUOTA_SYSTEM_INODE || + ino == GROUP_QUOTA_SYSTEM_INODE; +} + /* * this verifies i_size and i_clusters for inodes that use i_list to * reference extents of data. @@ -1002,6 +1008,7 @@ size_cluster_check: * i_clusters, even on a sparsed filesystem */ if (!S_ISLNK(di->i_mode) && !S_ISDIR(di->i_mode) && + !is_quota_file(di->i_blkno) && di->i_size <= unexpected && prompt(ost, PY, PR_INODE_SPARSE_SIZE, "Inode %"PRIu64 " has a size of %"PRIu64" but has %"PRIu64