Thread (2 messages) 2 messages, 1 author, 2010-07-28

Re: md versus partition scanning (bd_invalidated)

From: Dan Williams <hidden>
Date: 2010-07-28 19:23:14
Also in: lkml

On Wed, Jul 21, 2010 at 12:52 PM, Dan Williams [off-list ref] wrote:
Hi,

We (Intel software raid devs) are seeing a problem with the detection of
partitions on md devices.  The trace below shows that the block device
inode is dropped in-between when the array comes up and when it is first
opened (timestamp 655.498875).  When this happens bdev->bd_invalidated
is cleared by bdget() and we never detect partitions.  (Seen on a 2.6.32
based kernel, but I presume it is still present)
The kernel in question was missing commit f3b99be1 "Restore partition
detection of newly created md arrays" [1].  With that in place the
problem goes away.  I haven't fully convinced myself that there isn't
a small race that could be triggered by changing the array size via
sysfs, to get the the gendisk size updated and then dropping all inode
references prior to the first open... but I'll put that investigation
on the back burner.

--
Dan

[1]: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f3b99be1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help