[lkml]   [2010]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: fs: Inode cache scalability V3
    On Wed, Oct 13, 2010 at 05:46:09PM -0400, Christoph Hellwig wrote:
    > On Wed, Oct 13, 2010 at 11:58:45AM -0400, Christoph Hellwig wrote:
    > >
    > > It's 100% reproducible on my kvm VM. The bug is the assert_spin_locked
    > > in redirty_tail. I really can't find a way how we reach it without
    > > d_lock so this really confuses me.
    > We are for some reason getting a block device inode that is on the
    > dirty list of a bdi that it doesn't point to. Still trying to figure
    > out how exactly that happens.

    It's because __blkdev_put reset the bdi on the mapping, and bdev inodes
    are still special cased to not use s_bdi unlike everybody else. So
    we keep switch between different bdis that get locked.

    I wonder what's a good workaround for that. Just flushing out all
    dirty state of a block device inode on last close would fix, but we'd
    still have all the dragons hidden underneath until we finally sort
    out the bdi reference mess.

     \ /
      Last update: 2010-10-14 01:39    [W:0.020 / U:44.704 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site