From: Robert Hancock <hancockrwd@gmail.com>
To: Francis Moreau <francis.moro@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: sys_umount() returns EBUSY when doing: sh -c "mount /dev/sdc1 /mnt; umount /mnt"
Date: Sun, 14 Mar 2010 10:21:50 -0600 [thread overview]
Message-ID: <4B9D0D1E.3010404@gmail.com> (raw)
In-Reply-To: <38b2ab8a1003130056u4b025839i556a797ccad894de@mail.gmail.com>
On 03/13/2010 02:56 AM, Francis Moreau wrote:
> Hello
>
> I've some shell scripts which try to find out the filesystem hosted by
> a block device.
>
> They basically do this:
>
> mount /dev/sdc1 /mnt
> fs=$(stat -f -c %T $mount_point)
> umount /mnt
>
> It happens to work but since an unknown upgrade (kernel, libs or tools
> upgrade), umount(8) returns -EBUSY.
>
> I found that it's actually the sys_umount() which return -EBUSY.
>
> So the question, is this expected or is this a regression ?
>
> If it's expected then which operation should I add between the
> mount(8) and umount(8) to make the mount operation completely finish
> (inside the kernel) so the next umount won't return -EBUSY ?
If no other process were involved I would say it's likely a bug.
However, my guess is that some other process (HAL, something in GNOME,
etc.) detects the mount and decides to start accessing the drive. Then
when you immediately try to unmount, it fails because it's busy. I
suspect if you try this in single-user mode with no unnecessary
processes running you won't see this.
>
> Oh I'm currently using the kernel shipped with F12: 2.6.32.9-67.fc12.x86_64
>
> Thanks
next prev parent reply other threads:[~2010-03-14 16:22 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-13 8:56 sys_umount() returns EBUSY when doing: sh -c "mount /dev/sdc1 /mnt; umount /mnt" Francis Moreau
2010-03-14 16:21 ` Robert Hancock [this message]
2010-03-15 12:09 ` Francis Moreau
2010-03-16 11:06 ` Petr Uzel
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=4B9D0D1E.3010404@gmail.com \
--to=hancockrwd@gmail.com \
--cc=francis.moro@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox