diff -up util-linux-2.20.1/libmount/src/context_mount.c.kzak util-linux-2.20.1/libmount/src/context_mount.c --- util-linux-2.20.1/libmount/src/context_mount.c.kzak 2011-10-18 14:22:27.000000000 +0200 +++ util-linux-2.20.1/libmount/src/context_mount.c 2012-04-17 15:25:14.273287922 +0200 @@ -46,9 +46,10 @@ static int fix_optstr(struct libmnt_cont fs = cxt->fs; - /* The propagation flags should not be used together with any other flags */ + /* The propagation flags should not be used together with any other + * flags (except MS_REC and MS_SILENT) */ if (cxt->mountflags & MS_PROPAGATION) - cxt->mountflags &= MS_PROPAGATION; + cxt->mountflags &= (MS_PROPAGATION | MS_REC | MS_SILENT); if (!mnt_optstr_get_option(fs->user_optstr, "user", &val, &valsz)) { if (val) { diff -up util-linux-2.20.1/mount/mount.c.kzak util-linux-2.20.1/mount/mount.c --- util-linux-2.20.1/mount/mount.c.kzak 2012-04-17 15:24:52.817199995 +0200 +++ util-linux-2.20.1/mount/mount.c 2012-04-17 15:25:14.274287916 +0200 @@ -586,9 +586,10 @@ parse_opts (const char *options, int *fl *flags |= mounttype; - /* The propagation flags should not be used together with any other flags */ + /* The propagation flags should not be used together with any + * other flags (except MS_REC and MS_SILENT) */ if (*flags & MS_PROPAGATION) - *flags &= MS_PROPAGATION; + *flags &= (MS_PROPAGATION | MS_REC | MS_SILENT); } /* Try to build a canonical options string. */