From patchwork Mon May 24 06:37:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shi Weihua X-Patchwork-Id: 101817 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4O6b5tS017929 for ; Mon, 24 May 2010 06:37:05 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754523Ab0EXGhD (ORCPT ); Mon, 24 May 2010 02:37:03 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:53620 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1754392Ab0EXGhD (ORCPT ); Mon, 24 May 2010 02:37:03 -0400 Received: from tang.cn.fujitsu.com (tang.cn.fujitsu.com [10.167.250.3]) by song.cn.fujitsu.com (Postfix) with ESMTP id 15D9717003F; Mon, 24 May 2010 14:37:00 +0800 (CST) Received: from fnst.cn.fujitsu.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id o4O6Yskv018106; Mon, 24 May 2010 14:34:54 +0800 Received: from [10.167.141.106] (unknown [10.167.141.106]) by fnst.cn.fujitsu.com (Postfix) with ESMTPA id 3B6AC10C0A6; Mon, 24 May 2010 14:40:40 +0800 (CST) Message-ID: <4BFA1E90.5050805@cn.fujitsu.com> Date: Mon, 24 May 2010 14:37:04 +0800 From: Shi Weihua User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 MIME-Version: 1.0 To: Christoph Hellwig CC: Miao Xie , Chris Mason , Linux Btrfs , xfs@oss.sgi.com Subject: Re: [PATCH 07/10] btrfs: fix wrong ctime when adding link References: <4BF4E336.40603@cn.fujitsu.com> <20100520083300.GB11920@infradead.org> In-Reply-To: <20100520083300.GB11920@infradead.org> Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 24 May 2010 06:37:05 +0000 (UTC) diff -urpN xfstests.orig/229 xfstests/229 --- xfstests.orig/229 1970-01-01 08:00:00.000000000 +0800 +++ xfstests/229 2010-05-28 11:27:14.000000000 +0800 @@ -0,0 +1,73 @@ +#! /bin/bash +# FS QA Test No. 229 +# +# Check ctime updated or not if file linked +# See also http://marc.info/?l=linux-btrfs&m=127434439020230&w=2 +# +#----------------------------------------------------------------------- +# Copyright (c) 2010 FUJITSU LIMITED. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# +# creator +owner=shiwh@cn.fujitsu.com + +seq=`basename $0` +echo "QA output created by $seq" + +_cleanup() +{ + if [ -a $TEST_DIR/ouch2 ]; then + rm -f $TEST_DIR/ouch2 + fi + if [ -a $TEST_DIR/ouch ]; then + rm -f $TEST_DIR/ouch + fi +} + +here=`pwd` + +# get standard environment, filters and checks +. ./common.rc + +# real QA test starts here +_supported_fs generic +# only Linux supports fallocate +_supported_os Linux + +# create a file and get its ctime +touch $TEST_DIR/ouch +ctime=`stat -c %Z $TEST_DIR/ouch` +sleep 1 + +# create a link to a file and get existing file's ctime +link $TEST_DIR/ouch $TEST_DIR/ouch2 +ctime2=`stat -c %Z $TEST_DIR/ouch` + +# check ctime updated +if [ $ctime2 -le $ctime ]; then + echo "ctime: $ctime -> $ctime2 " + echo "Fatal error: ctime not updated after link" + _cleanup + exit 1 +fi + +_cleanup + +echo "Test over." +# success, all done +status=0 +exit diff -urpN xfstests.orig/229.out xfstests/229.out --- xfstests.orig/229.out 1970-01-01 08:00:00.000000000 +0800 +++ xfstests/229.out 2010-05-28 11:27:14.000000000 +0800 @@ -0,0 +1,2 @@ +QA output created by 229 +Test over. diff -urpN xfstests.orig/group xfstests/group --- xfstests.orig/group 2010-05-07 23:32:13.000000000 +0800 +++ xfstests/group 2010-05-28 11:27:02.000000000 +0800 @@ -342,3 +342,4 @@ deprecated 226 auto enospc 227 auto fsr 228 rw auto prealloc quick +229 auto