[Bug 712892] Re: mount (silently) ignores options for bind mounts

AmenophisIII 712892 at bugs.launchpad.net
Sat Mar 19 00:47:53 UTC 2011


On Fri, 18 Mar 2011 20:05:19 -0000
Scott Moser <smoser at canonical.com> wrote:

> I think it would be probably best to post this upstream and see what
> their response is.  Upstream has mailing list info at [2].

i thought so too. this is what karel said: "I'm still not sure if
mount(8) is the right place to fix odd kernel behaviour. Anyway, your
patch seems like a usable workaround.

I'll try to apply the patch later (it will necessary to modify
libmount, because the library is not able to add a new entry to mtab
for MS_REMOUNT requests)."

http://marc.info/?l=util-linux-ng&m=129827998111793&w=2

maybe on could convince the kernel guys to think over the underlying
problem, but i don't have enough insights to do a good enough bug report
and argue with them. i skimmed through the kernel's mounting source, but
it's not as easy understandable as mount itself :)
maybe someone at canoncial could try?

-- 
lg, ameno

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.
https://bugs.launchpad.net/bugs/712892

Title:
  mount (silently) ignores options for bind mounts

Status in The Util-Linux-ng Set of Utilities:
  New
Status in “util-linux” package in Ubuntu:
  New

Bug description:
  Binary package hint: util-linux

  mount ignores any options given for bind mounts and adds an incorrect line to mtab.
  there is (at least) one exception: the option ro (== read-only). it warns that the bind mount is mounted read-write, if one tries to use that option together with bind.

  some examples of the current behavior (with comments):
  ~/bla# mkdir foo
  ~/bla# mkdir bar
  ~/bla# touch foo/test
  ~/bla# mount foo/ bar/ -obind,ro
  mount: warning: bar/ seems to be mounted read-write.
  # at least it says so
  ~/bla# rm bar/test 
  ~/bla# ls bar/test
  ls: cannot access bar/test: No such file or directory
  # expected after that warning
  ~/bla# touch foo/test
  ~/bla# mount foo/ bar/ -obind,somebogusoption1
  ~/bla# mount foo/ bar/ -obind,somebogusoption2
  ~/bla# mount foo/ bar/ -obind,somebogusoption3
  ~/bla# mount
  ...
  /root/bla/foo on /root/bla/bar type none (rw,bind)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption1)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption2)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption3)
  # mount adds bogus lines to mtab...
  ~/bla# ls bar/
  test
  # but at least it does mount
  umount bar
  mount
  ...
  /root/bla/foo on /root/bla/bar type none (rw,bind)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption1)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption2)
  # and umount only removes one (bogus) line per execution :)

  the behavior is kinda documented in the manpage (well the bogus lines are clearly a bug (two actually), but i don't care right now).
  a workaround is to first bind mount and then use the remount option for setting other options e.g.:
  ~/bla# mount foo/ bar/ -obind
  ~/bla# mount bar/ -oremount,ro
  ~/bla# rm bar/test 
  rm: cannot remove `bar/test': Read-only file system

  the problem is... this does not work with fstab:
  neither setting up one line with options bind,ro such as
  /root/bla/foo	/root/bla/bar	none	bind,ro
  (this gives the same warning as above)
  nor using two, one with the remount option:
  /root/bla/foo	/root/bla/bar	none	bind
  /root/bla/foo	/root/bla/bar	none	remount,ro
  (this even fails silently to remount read-only!)

  the warning was introduced by Karel Zak in november 2009. i read that debian had a patch for correcting at least some of the issues above, but i could not find anything.
  one workaround for certain situations could be to use pam_mount.

  this war reported/tested on ubuntu 10.10 with kernel 2.6.35-25 and
  mount 2.17.2-0ubuntu1.10.10.1.



More information about the Ubuntu-sponsors mailing list