From: Nickolai Zeldovich <nickolai@csail.mit.edu>
To: linux-btrfs@vger.kernel.org
Subject: zero-length files in snapshots
Date: Thu, 11 Feb 2010 20:49:42 -0500 [thread overview]
Message-ID: <12b5f1ef1002111749u4f33b626jb6a901b29f05337f@mail.gmail.com> (raw)
I often get zero-length files in btrfs snapshots (when the original
files were not zero-length). The shell script below reproduces this
problem on two Ubuntu machines, with Ubuntu kernels 2.6.31-17.54 and
2.6.32-12.17. Is there some mistaken assumption I'm making here in
terms of how btrfsctl works?
Nickolai.
---
root@sahara:/# cat /tmp/btrbug.sh
#!/bin/sh -x
if id | grep -qv uid=0; then
echo "Must run setup as root"
exit 1
fi
if losetup -a | grep -q /dev/shm/fs.img; then
echo "Loopback FS mounted, unmounting.."
umount /mnt/x || exit 2
fi
rmmod btrfs
rmmod zlib_deflate
rmmod libcrc32c
modprobe btrfs
dd if=/dev/zero of=/dev/shm/fs.img bs=1024k count=256 || exit 2
mkfs -t btrfs /dev/shm/fs.img || exit 2
mkdir -p /mnt/x || exit 2
mount -o loop -t btrfs /dev/shm/fs.img /mnt/x || exit 2
mkdir /mnt/x/d || exit 2
echo x1 > /mnt/x/d/foo.txt || exit 2
btrfsctl -s /mnt/x/snap /mnt/x/d
wc -l /mnt/x/d/foo.txt
wc -l /mnt/x/snap/d/foo.txt
root@sahara:/# /tmp/btrbug.sh
+ id
+ grep -qv uid=0
+ losetup -a
+ grep -q /dev/shm/fs.img
+ echo Loopback FS mounted, unmounting..
Loopback FS mounted, unmounting..
+ umount /mnt/x
+ rmmod btrfs
+ rmmod zlib_deflate
+ rmmod libcrc32c
+ modprobe btrfs
+ dd if=/dev/zero of=/dev/shm/fs.img bs=1024k count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.231684 s, 1.2 GB/s
+ mkfs -t btrfs /dev/shm/fs.img
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label (null) on /dev/shm/fs.img
nodesize 4096 leafsize 4096 sectorsize 4096 size 256.00MB
Btrfs Btrfs v0.19
+ mkdir -p /mnt/x
+ mount -o loop -t btrfs /dev/shm/fs.img /mnt/x
+ mkdir /mnt/x/d
+ echo x1
+ btrfsctl -s /mnt/x/snap /mnt/x/d
operation complete
Btrfs Btrfs v0.19
+ wc -l /mnt/x/d/foo.txt
1 /mnt/x/d/foo.txt
+ wc -l /mnt/x/snap/d/foo.txt
0 /mnt/x/snap/d/foo.txt
root@sahara:/#
next reply other threads:[~2010-02-12 1:49 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-12 1:49 Nickolai Zeldovich [this message]
2010-02-12 3:11 ` zero-length files in snapshots Chris Ball
2010-02-12 4:50 ` Mike Fedyk
2010-02-12 15:19 ` Josef Bacik
2010-02-12 16:18 ` Mike Fedyk
2010-02-12 16:22 ` Josef Bacik
2010-02-12 16:27 ` Mike Fedyk
2010-02-12 16:32 ` Josef Bacik
2010-02-12 17:13 ` Mike Fedyk
2010-02-13 11:25 ` Sander
2010-02-13 19:26 ` Mike Fedyk
2010-02-19 22:22 ` Sage Weil
2010-02-25 18:57 ` Goffredo Baroncelli
2010-02-12 18:22 ` Ravi Pinjala
2010-02-12 18:45 ` Josef Bacik
2010-02-12 19:03 ` Chris Ball
2010-02-12 19:10 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=12b5f1ef1002111749u4f33b626jb6a901b29f05337f@mail.gmail.com \
--to=nickolai@csail.mit.edu \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).