Go to file
Karel Zak 6498ece0e7 libmount: allow to use propagation flags in fstab
Linux kernel does not allow to change more than one propagation flag
by one mount(2) syscall. The flags also cannot be mixed with another
mount options. It means that the propagation flags cannot be stored in
/etc/fstab, manual "mount --make-* <mountpoint>" is always necessary
after successful mount. Painful...

This patch implements additional mount(2) after previous successful
mount(2) (or exec /sbin/mount.<type>).

For example:

  mount /dev/sda1 /A -o private,unbindable,ro

or fstab entry:

  /dev/sda1   /A  auto  ro,private,unbindable

is implemented by three mount(2) calls:

	- 1st mounts /dev/sda1 with MS_RDONLY
	- 2nd sets MS_PRIVATE flag
        - 3rd sets MS_UNBINDABLE flag.

It's the same as as to manually call:

  mount /dev/sda1 /A -o ro
  mount --make-private /A
  mount --make-unbindable /A

This solution is not atomic, and umount(2) is not called if
propagation flags are not successfully applied, only error is
returned.

This change does not affect libmount API, so one beautiful day when
mount(2) syscall will be improved we can drop this nasty patch.

Signed-off-by: Karel Zak <kzak@redhat.com>
2013-01-15 13:55:29 +01:00
Documentation mount: add support for x-mount.mkdir[=<mode>] option 2013-01-09 18:52:32 +01:00
config docs: remove unused config/texinfo.tex 2012-07-09 17:03:19 +02:00
disk-utils mkfs.minix: fix compiler warning [-Wformat] 2013-01-09 14:44:59 +01:00
fdisks build-sys: add files to distribution 2013-01-10 11:26:55 +01:00
include build-sys: add files to distribution 2013-01-10 11:26:55 +01:00
lib include: cleanup copyright headers 2013-01-08 15:10:17 +01:00
libblkid libblkid: make btrfs magics more readable 2013-01-10 11:40:21 +01:00
libmount libmount: allow to use propagation flags in fstab 2013-01-15 13:55:29 +01:00
libuuid build-sys: expand paths at make time 2012-08-15 02:06:53 +02:00
login-utils include/ttyutils: add default chardata 2013-01-08 15:42:12 +01:00
m4 build-sys: add -Werror to UL_WARN_ADD test 2012-07-16 17:42:09 +02:00
misc-utils kill: add note about threads to the man page 2013-01-15 11:18:28 +01:00
mount-deprecated mount: (deprecated) drop --guess-fstype 2012-11-26 11:57:26 +01:00
po build-sys: clean update-potfiles script 2012-10-10 14:10:30 +02:00
schedutils textual: fix typos in messages 2012-09-04 17:26:31 +02:00
sys-utils mount: add support for x-mount.mkdir[=<mode>] option 2013-01-09 18:52:32 +01:00
term-utils script: search shell from path, when necessary 2013-01-09 13:37:01 +01:00
tests hexdump: do not segfault when iterating over an empty format string 2013-01-10 11:08:51 +01:00
text-utils hexdump: do not segfault when iterating over an empty format string 2013-01-10 11:08:51 +01:00
tools build-sys: add devel-non-docs compile profile 2012-11-30 12:47:08 +01:00
.gitignore ddate: remove from util-linux 2012-10-15 16:41:49 +02:00
AUTHORS docs: fix typo 2012-12-14 16:12:47 +01:00
COPYING docs: corrections to FSF license files, and postal address 2012-02-24 14:13:35 +01:00
ChangeLog build-sys: use AUTOMAKE_OPTIONS = gnu 2011-05-26 15:04:01 +02:00
Makefile.am ddate: remove from util-linux 2012-10-15 16:41:49 +02:00
NEWS docs: AUTHORS, NEWS: UTF-8 fixes. 2012-09-20 11:30:59 +02:00
README docs: use correct translation project url 2012-01-30 12:32:27 +01:00
README.licensing rename util-linux-ng back to util-linux 2010-11-30 11:41:59 +01:00
autogen.sh build-sys: convert mount/ to module, rename to mount-deprecated/ 2012-06-26 20:48:22 +02:00
configure.ac build-sys: cleanup --enable-most-builds list 2013-01-10 11:28:13 +01:00

README

                                  util-linux

              util-linux is a random collection of Linux utilities

     Note that in years 2006-2010 this project used the name "util-linux-ng".

MAILING LIST:

      E-MAIL: util-linux@vger.kernel.org
      URL:    http://vger.kernel.org/vger-lists.html#util-linux


DOWNLOAD:

      ftp://ftp.kernel.org/pub/linux/utils/util-linux/


SOURCE CODE:

      Web interface:
          http://git.kernel.org/?p=utils/util-linux/util-linux.git
          https://github.com/karelzak/util-linux
      Checkout:
          git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git util-linux


NLS (PO TRANSLATIONS):

      PO files are maintained by:
          http://translationproject.org/domain/util-linux.html


VERSION SCHEMA:

      Standard releases:

          <major>.<minor>[.<maint>[.<bugfix>]]

             major = fatal and deep changes
             minor = typical release with new features
             maint = maintenance releases; bug fixes only
             bugfix = unplanned releases for critical/security bugs

      Development releases:

         <major>.<minor>-rc<N>