From: Dave Chinner <david@fromorbit.com>
To: Martin Papik <mp6058@gmail.com>
Cc: xfs@oss.sgi.com
Subject: Re: XFS filesystem claims to be mounted after a disconnect
Date: Sat, 3 May 2014 13:02:22 +1000 [thread overview]
Message-ID: <20140503030221.GJ26353@dastard> (raw)
In-Reply-To: <536432A0.6000405@gmail.com>
On Sat, May 03, 2014 at 03:04:48AM +0300, Martin Papik wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
>
> > It's called a lazy unmount: "umount -l". It disconnects the
> > filesystem from the namespace, but it still lives on in the kernel
> > until all references to the filesystem go away. Given that the
> > hot-unplug proceedure can call back into the filesystem to sync it
> > (once it's been disconnected!) the hot unplug can deadlock on
> > filesystem locks that can't be released until the hot-unplug errors
> > everything out.
> >
> > So you can end up with the system in an unrecoverable state when
> > USB unplugs.
>
> And the disconnect from the namespace is what removes it from
> /proc/mounts?
I believe so.
> By hot unplug, do you mean a user initiated "remove device" or a pull
> out of the USB cable? I'm sorry, I don't understand your example.
> Would you be kind enough to elaborate?
Anything that causes a hot-unplug to occur. There's no real
difference between echoing a value to the relevant sysfs file to
trigger the hot-unplug or simply pull the plug on the active device.
Or could even occur because something went wrong in the USB
subsystem (e.g. a hub stopped communicating) and so the end devices
disappeared, even though nothing is wrong with them.
> >>> If xfs encounters an insurmountable error, it will shut down,
> >>> and all operations will return EIO or EUCLEAN. You are right
> >>> that there is no errors=* mount option; the behavior is not
> >>> configurable on xfs.
> >>
> >> IMHO it should be, but since the last email I've glanced at some
> >> mailing lists and understand that there's some reluctance, in the
> >> name of not polluting the FS after an error. But at least a R/O
> >> remount should be possible, to prevent yanking libraries from
> >> under applications (root FS).
> >
> > What you see here has nothing to do with XFS's shutdown behaviour.
> > The filesystem is already unmounted, it just can't be destroyed
> > because there are still kernel internal references to it.
>
> How can I detect this situation? I mean I didn't see anything in
> /proc/mounts or references to the mount point from /proc/<pid>/*, so I
> only managed to correct it (chdir elsewhere) by chance on a hunch.
> Would it not be desirable to know that there's a phantom FS referenced
> by a number of processes?
lsof.
> Also, do you know if this affects other filesystems? I never saw this
> with ext3/4 or reiser, I don't have much practical experience with
> other filesystems. I ask because your explanation sounds like it's vfs
> rather than xfs, but as I said, I never saw this before.
Yes, it affects all filesystems - the same behaviour occurs
regardless of the filesystem that is active on the block device.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2014-05-03 3:02 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 13:47 XFS filesystem claims to be mounted after a disconnect Martin Papik
2014-05-02 15:04 ` Eric Sandeen
2014-05-02 15:07 ` Eric Sandeen
2014-05-02 15:44 ` Mark Tinguely
2014-05-02 16:26 ` Martin Papik
2014-05-02 16:44 ` Martin Papik
2014-05-02 16:53 ` Eric Sandeen
2014-05-02 17:54 ` Martin Papik
2014-05-02 18:39 ` Eric Sandeen
2014-05-02 19:07 ` Martin Papik
2014-05-02 19:16 ` Eric Sandeen
2014-05-02 19:29 ` Martin Papik
2014-05-02 23:38 ` Dave Chinner
2014-05-02 23:35 ` Dave Chinner
2014-05-03 0:04 ` Martin Papik
2014-05-03 3:02 ` Dave Chinner [this message]
2014-06-02 11:22 ` Martin Papik
2014-06-02 23:41 ` Dave Chinner
2014-06-03 9:23 ` Martin Papik
2014-06-03 9:55 ` Stefan Ring
2014-06-03 10:48 ` Martin Papik
2014-06-03 21:28 ` Dave Chinner
2014-06-03 22:37 ` Martin Papik
2014-06-05 0:55 ` Dave Chinner
2014-06-05 1:38 ` Martin Papik
2014-06-05 19:39 ` Martin Papik
2014-06-05 22:41 ` Dave Chinner
2014-06-06 0:47 ` Martin Papik
2014-06-03 22:58 ` Martin Papik
2014-06-05 0:08 ` Dave Chinner
2014-06-05 1:07 ` Martin Papik
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=20140503030221.GJ26353@dastard \
--to=david@fromorbit.com \
--cc=mp6058@gmail.com \
--cc=xfs@oss.sgi.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.