Bug 591068

Summary: btrfs doesn't update ctime after link/mkfifo/truncate
Product: Red Hat Enterprise Linux 6 Reporter: Eryu Guan <eguan>
Component: kernelAssignee: Josef Bacik <jbacik>
Status: CLOSED DUPLICATE QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: esandeen, meyering, rwheeler
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-12 21:37:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 584197    

Description Eryu Guan 2010-05-11 11:20:30 UTC
Description of problem:
When testing btrfs with posix-test-suite, three tests related to ctime failed.
job link: http://rhts.redhat.com/cgi-bin/rhts/jobs.cgi?id=155834

Dig into this problem shows the real cause is btrfs doesn't update ctime after link/mkfifo/truncate operations (as link count/size changed).

Version-Release number of selected component (if applicable):
kernel: 2.6.32-23.el6.x86_64
btrfs-progs: 2.6.32-23.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
schedule /kernel/filesystems/posix-test-suite against to RHEL6
single_package.py \
        -u USERNAME             \
        -S rhts.redhat.com              \
        -a x86_64                    \
        -w "posix test on btrfs"             \
        -t /kernel/filesystems/posix-test-suite \
        --test-params="FSTYP=btrfs" \
        -d RHEL6.0-Snapshot-2 \
        -v Server \
        -i xfsprogs-devel \
        -i e2fsprogs-devel \
        -i libacl-devel \
        -i libattr-devel \
        -i libuuid-devel \
        -i libaio-devel \
        -i perl-Test-Harness \
        -i btrfs-progs
Failed tests are link:56,63 truncate:15

Or you can reproduce this manually
modprobe btrfs
yum install btrfs-progs
wget http://porkchop.devel.redhat.com/qa/rhts/lookaside/pjd-fstest-20080816.tgz
tar xzf pjd-fstest-20080816.tgz
make -C pjd-fstest-20080816
cp pjd-fstest-20080816/fstest /usr/local/bin  # just for convenience

dd if=/dev/null of=/home/img bs=1G seek=5
losetup /dev/loop0 /home/img
mkfs.btrfs /dev/loop0
mkdir -p /mnt/btrfs
mount /dev/loop0 /mnt/btrfs
cd /mnt/btrfs
/path/to/pjd-fstest-20080816/tests/link/00.t
/path/to/pjd-fstest-20080816/tests/truncate/00.t

Or more verbose
fstest create testfile 0644
fstest stat testfile ctime
# a timestamp outputed ctime1
sleep 1
fstest link testfile testfile.link
fstest stat testfile ctime
# another timestamp outputed ctime2

truncate/mkfifo tests are similar
  
Actual results:
ctime1 = ctime2

Expected results:
ctime1 < ctime2

Additional info:

Comment 2 RHEL Program Management 2010-05-11 13:12:21 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 Eryu Guan 2010-05-18 05:58:50 UTC
Hi Josef,

How about this bug now?

Comment 4 Josef Bacik 2010-05-18 14:57:42 UTC
I'll get to it, I promise, I'm in the middle of getting DIO/AIO working right, and I have to get it done before the merge window closes, so thats a bit higher on the list atm.

Comment 6 Eryu Guan 2010-05-20 08:23:59 UTC
FYI. Seem that a patch is already sent out.

http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg04992.html

Comment 7 RHEL Program Management 2010-07-15 15:09:00 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 10 RHEL Program Management 2011-01-07 04:44:39 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 11 Suzanne Logcher 2011-01-07 16:08:49 UTC
This request was erroneously denied for the current release of Red Hat
Enterprise Linux.  The error has been fixed and this request has been
re-proposed for the current release.

Comment 12 Josef Bacik 2011-01-12 21:37:54 UTC

*** This bug has been marked as a duplicate of bug 663749 ***