From: Vivek Goyal <vgoyal@redhat.com>
To: Mike Snitzer <snitzer@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>,
dm-devel@redhat.com, linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@lst.de>
Subject: Re: [dm-devel] WARNING: at fs/block_dev.c:5 when removing LV on removed device
Date: Thu, 18 Jun 2015 15:08:15 -0400 [thread overview]
Message-ID: <20150618190815.GA6390@redhat.com> (raw)
In-Reply-To: <20150618181619.GE2321@redhat.com>
On Thu, Jun 18, 2015 at 02:16:19PM -0400, Mike Snitzer wrote:
> On Thu, Jun 18 2015 at 2:08pm -0400,
> Andi Kleen <andi@firstfloor.org> wrote:
>
> > > Hmm, so you have a filesystem active on it too?
> >
> > I unmounted it before.
> >
> > >
> > > > Also the VG removal did not work of course.
> > >
> > > Once you resolve the filesystem piece, from vgremove man page:
> > >
> > > "vgremove allows you to remove one or more volume groups. If one or
> > > more physical volumes in the volume group are lost, consider vgreduce
> > > --removemissing to make the volume group metadata consistent again."
> >
> > Well in any case there should not be WARN()s.
>
> Yes well I don't even know what WARN_ON you're hitting. You're running
> a 4.0.4 fedora kernel. Which WARN_ON() is triggering? The
> WARN_ON_ONCE() in bdev_write_inode()? -- likely since the only caller of
> bdev_write_inode is __blkdev_put...
>
> /**
> * write_inode_now - write an inode to disk
> * @inode: inode to write to disk
> * @sync: whether the write should be synchronous or not
> *
> * This function commits an inode to disk immediately if it is dirty. This is
> * primarily needed by knfsd.
> *
> * The caller must either have a ref on the inode or must have set I_WILL_FREE.
> */
>
> So I have no idea why bdev_write_inode() is using WARN_ON_ONCE.. makes
> since that write_inode_now() will fail if the disk no longer exists. SO
> the WARN_ON_ONCE seems misplaced.
>
> Git blame shows its all hch's fault:
>
> 564f00f6c (Christoph Hellwig 2015-01-14 10:42:33 +0100 57) WARN_ON_ONCE(write_inode_now(inode, true));
>
> 564f00f6c block_dev: only write bdev inode on close
I can reproduce it too in a Fedora 22 virtual machine. I just have to do
"umount <mnt>" after hot unplugging the virtIO disk.
But it does not happen without lvm. If I create ext4 fs directly on
/dev/vda1, then when disk goes way, fs automatically gets unmounted.
But same does not happen when /dev/vda1 is added to a volume group and
I carve out a logical volume and create and mount fs.
In that case if I do umount after device has gone away, I can see above
WARN(). And it does seem to be coming from.
WARN_ON_ONCE(write_inode_now(inode, true))
If we failed to write back inode, then warning about it sounds right?
What's wrong with that? Should it be just a kernel log of level KERN_WARN
instead?
Thanks
Vivek
next prev parent reply other threads:[~2015-06-18 19:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-18 16:57 WARNING: at fs/block_dev.c:5 when removing LV on removed device Andi Kleen
2015-06-18 18:04 ` Mike Snitzer
2015-06-18 18:08 ` Andi Kleen
2015-06-18 18:16 ` Mike Snitzer
2015-06-18 19:08 ` Vivek Goyal [this message]
2015-06-18 19:28 ` Mike Snitzer
2015-06-19 6:47 ` Christoph Hellwig
2015-06-22 17:46 ` Vivek Goyal
2015-06-22 17:46 ` Vivek Goyal
2015-06-22 17:52 ` Tejun Heo
2015-06-22 17:52 ` Tejun Heo
2015-06-22 17:55 ` Vivek Goyal
2015-06-22 17:55 ` Vivek Goyal
2015-06-23 10:08 ` Christoph Hellwig
2015-06-18 19:53 ` [dm-devel] " Andi Kleen
2015-06-18 21:01 ` Vivek Goyal
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=20150618190815.GA6390@redhat.com \
--to=vgoyal@redhat.com \
--cc=andi@firstfloor.org \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=snitzer@redhat.com \
/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.