From: Fyodor Ustinov <ufm@ufm.su>
To: Sage Weil <sage@newdream.net>
Cc: Ted Ts'o <tytso@mit.edu>, ceph-devel@vger.kernel.org
Subject: Re: Kernel 3.0.0 + ext4 + ceph == ...
Date: Sun, 31 Jul 2011 14:33:50 +0300 [thread overview]
Message-ID: <4E353D9E.5080802@ufm.su> (raw)
In-Reply-To: <Pine.LNX.4.64.1107302149430.23447@cobra.newdream.net>
On 07/31/2011 07:54 AM, Sage Weil wrote:
> On Sat, 30 Jul 2011, Ted Ts'o wrote:
>> On Sat, Jul 30, 2011 at 10:21:13AM -0700, Sage Weil wrote:
>>> We do use xattrs extensively, though; that was the last extN bug we
>>> uncovered. That's where my money is.
>> Hmm, yes. That could very well be. How big are the xattrs, and are
>> there cases where you:
>>
>> a) start with a small xattr (where the total size is less than 128
>> bytes, so it can be stored in the inode table), and then increase it
>> something where it needs to be stored in an external block?
>>
>> b) start with enough xattrs so it's large, and then delete all or most
>> of them?
>>
>> I could easily believe we might have some bugs as we transition from
>> in-inode to external block storage, or vice versa. I'll take a look
>> at the code and try to create some reproduction cases, but if you
>> could give me a handle on workload patterns of ceph around xattrs,
>> that would be interesting.
> I would guess a, but it could also be a+b.
>
> Fyodor, can you take some of the corrupt inos that fsck complained about
> and see what files/directories they are? find /osd.0 -inum NNN. (I'm
> guessing the largest xattrs are on the collection directories, like
> /osd.0/current/something_head/.) Then grep that filename out of the log
> to see exactly which operations took place. The setattr log normally
> includes xattr size.
/etc/init.d/ceph stop
umount /mnt/osd.0
mke2fs -t ext4 -I 128 /dev/sdc1
tune2fs -o journal_data_writeback /dev/sdc1
mount -a
mon getmap -o /tmp/monmap
cosd --mkfs -i 0 --monmap /tmp/monmap
/etc/init.d/ceph start
sleep 300
/etc/init.d/ceph stop
umount /osd.0
fsck.ext4 -f /dev/sdc1
Inode 99356878, i_blocks is 8208, should be 8200.
mount -a
root@osd0:~# find /osd.0 -inum 99356878
/osd.0/current/0.2a4_head/10000000468.0000007e_head
root@osd0:~# grep "10000000468\.0000007e" /var/log/ceph/osd.0.log
2011-07-31 09:57:20.859834 7f624c82a700 filestore(/osd.0) remove
temp/10000000468.0000007e/head = -1
2011-07-31 09:57:20.861166 7f624c82a700 filestore(/osd.0) write
temp/10000000468.0000007e/head 0~1048576 = 1048576
2011-07-31 09:57:20.990464 7f624c029700 filestore(/osd.0) write
temp/10000000468.0000007e/head 1048576~1048576 = 1048576
2011-07-31 09:57:21.121648 7f624c029700 filestore(/osd.0) write
temp/10000000468.0000007e/head 2097152~1048576 = 1048576
2011-07-31 09:57:21.265879 7f624c029700 filestore(/osd.0) write
temp/10000000468.0000007e/head 3145728~1048576 = 1048576
2011-07-31 09:57:21.265952 7f624c029700 filestore(/osd.0) remove
0.2a4_head/10000000468.0000007e/head = -1
2011-07-31 09:57:21.265995 7f624c029700 filestore(/osd.0) collection_add
0.2a4_head/10000000468.0000007e/head temp/10000000468.0000007e/head = 0
2011-07-31 09:57:21.266025 7f624c029700 filestore(/osd.0)
collection_remove temp/10000000468.0000007e/head = 0
2011-07-31 09:57:21.266134 7f624c029700 filestore(/osd.0) setattrs
0.2a4_head/10000000468.0000007e/head = 26
WBR,
Fyodor.
next prev parent reply other threads:[~2011-07-31 11:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-30 9:38 Kernel 3.0.0 + ext4 + ceph == Fyodor Ustinov
2011-07-30 14:37 ` Christian Brunner
2011-07-30 14:53 ` Fwd: " Christian Brunner
2011-11-15 15:46 ` Eric Sandeen
2011-07-30 15:34 ` Theodore Tso
2011-07-30 16:36 ` Fyodor Ustinov
2011-07-30 16:50 ` Ted Ts'o
2011-07-30 17:16 ` Fyodor Ustinov
2011-07-30 17:21 ` Sage Weil
2011-07-30 17:27 ` Fyodor Ustinov
2011-07-30 17:54 ` Fyodor Ustinov
2011-07-30 22:19 ` Ted Ts'o
2011-07-31 4:54 ` Sage Weil
2011-07-31 11:33 ` Fyodor Ustinov [this message]
2011-07-31 17:04 ` Sage Weil
2011-07-31 17:32 ` Fyodor Ustinov
2011-07-31 20:16 ` Fyodor Ustinov
2011-07-31 20:42 ` Sage Weil
2011-08-01 10:53 ` Theodore Tso
2011-08-01 16:20 ` Sage Weil
2011-08-03 14:16 ` Christian Brunner
2011-08-03 15:41 ` Yehuda Sadeh Weinraub
2011-08-08 20:07 ` Christian Brunner
2011-08-18 9:19 ` Christian Brunner
2011-07-30 18:33 ` Christian Brunner
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=4E353D9E.5080802@ufm.su \
--to=ufm@ufm.su \
--cc=ceph-devel@vger.kernel.org \
--cc=sage@newdream.net \
--cc=tytso@mit.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.