From: Roman Borisov <ext-roman.borisov@nokia.com>
To: ext Andrew Morton <akpm@linux-foundation.org>
Cc: viro@zeniv.linux.org.uk, vda.linux@googlemail.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] fs: bound mount propagation fix
Date: Fri, 22 Apr 2011 13:02:04 +0400 [thread overview]
Message-ID: <4DB1440C.8080000@nokia.com> (raw)
In-Reply-To: <20110421130412.ea953cbc.akpm@linux-foundation.org>
On 04/22/2011 12:04 AM, ext Andrew Morton wrote:
> On Thu, 21 Apr 2011 16:37:28 +0400
> Roman Borisov<ext-roman.borisov@nokia.com> wrote:
>
>> MS_SILENT flag cleaning up added to flags_to_propagation_type function.
>> It was reported that bound mount propagation doesn't work in busybox as by
>> default busybox mount applet sets the MS_SILENT flag for any mount operation.
>> Moreover recently added flags_to_propagation_type function doesn't allow to
>> do such operations as --make-[r]private --make-[r]shared etc. when MS_SILENT
>> is on.
>> The idea to clean MS_SILENT flag belongs to Denys Vlasenko<vda.linux@googlemail.com>
>>
>
> This is not an adequate changelog, IMO. It has almost no description
> of the errant user-visible kernel behaviour and almost no description
> of what was wrong with the kernel code - ie, why the kernel was doing
> the wrong thing.
>
Hello,
I understand that description I've sent is not so clear for end-user.
But there are two issues:
1. This is busybox related issue; only in busybox MS_SILENT is on for
all mount operations; I don't know how to reproduce it in
util-linux->mount without hardcoding;
2. initial scenario didn't consider "VFS: Sanity check mount flags
passed to change_mnt_propagation()" patch (commit
7a2e8a8faab76386d8eaae9ded739ee5615be174);
> I've pieced together a fix for the first problem but then got lazy.
Previously we used such script:
# mkdir -p mount.dir mount.shared1 mount.shared2
# touch mount.dir/a mount.dir/b
# mount -vv --bind mount.shared1 mount.shared1
# mount -vv --make-rshared mount.shared1
# mount -vv --bind mount.shared2 mount.shared2
# mount -vv --make-rshared mount.shared2
# mount -vv --bind mount.shared2 mount.shared1
# mount -vv --bind mount.dir mount.shared2
# ls -R mount.dir mount.shared1 mount.shared2
mount.dir:
a b
mount.shared1:
mount.shared2:
a b
#
but expected result is:
# ls -R mount.dir mount.shared1 mount.shared2
mount.dir:
a b
mount.shared1:
a b
mount.shared2:
a b
#
My "[PATCH] fs: bound mount propagation fix" fixed this issue but as I
said I didn't consider Valerie's patch;
After I've applied the "VFS: Sanity check mount flags passed to
change_mnt_propagation()" patch I have *another wrong result*:
# mkdir -p mount.dir mount.shared1 mount.shared2
# touch mount.dir/a mount.dir/b
# mount -vv --bind mount.shared1 mount.shared1
# mount -vv --make-rshared mount.shared1
mount: mount.shared1: Invalid argument
#
> Please can someone provide an analysis of what was causing this bug?
>
Now the debugging shows that MS_SILENT came to
flags_to_propagation_type() and causes the error return after the
is_power_of_2 checking; clearing the MS_SILENT flag fixes this issue.
> And has this v3 patch been tested with Denys's reproducer?
>
Yes I've applied Valerie's and my patches and tested the scenario in
busybox environment; the verdict is passed;
I'll post [PATCH v4] with full description today.
--
Roman
next prev parent reply other threads:[~2011-04-22 9:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1303304011.git.ext-roman.borisov@nokia.com>
2011-04-20 14:11 ` [PATCH v2] fs: bound mount propagation fix Roman Borisov
2011-04-21 20:04 ` [PATCH v3] " Andrew Morton
2011-04-22 9:02 ` Roman Borisov [this message]
2011-04-22 11:05 ` [PATCH v4] fs: namespacec " Roman Borisov
2011-03-14 4:20 2.6.35-rc4: mount results with and without MS_SILENT differ Denys Vlasenko
2011-03-25 3:47 ` Chuck Ebbert
2011-03-26 21:43 ` Denys Vlasenko
2011-04-01 14:48 ` [PATCH] fs: bound mount propagation fix Roman Borisov
2011-04-12 10:28 ` Roman Borisov
2011-04-19 21:04 ` Andrew Morton
2011-04-20 11:51 ` Roman Borisov
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=4DB1440C.8080000@nokia.com \
--to=ext-roman.borisov@nokia.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vda.linux@googlemail.com \
--cc=viro@zeniv.linux.org.uk \
/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.