mount: keep MS_MOVE as flag
The previous commit 4ebea84bb1
replaced
all operations by strings, but it does not work for MS_MOVE as this
operation is not supported in fstab by libmount.
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
8d6de22499
commit
6691d53797
|
@ -892,6 +892,9 @@ const char *mnt_context_get_fstype(struct libmnt_context *cxt)
|
|||
* @cxt: mount context
|
||||
* @optstr: comma delimited mount options
|
||||
*
|
||||
* Note that that MS_MOVE cannot be specified as "string". It's operation that
|
||||
* is no supported in fstab (etc.)
|
||||
*
|
||||
* Returns: 0 on success, negative number in case of error.
|
||||
*/
|
||||
int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr)
|
||||
|
@ -1377,7 +1380,7 @@ struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt)
|
|||
*
|
||||
* Be careful if you want to use MS_REC flag -- in this case the bit is applied
|
||||
* to all bind/slave/etc. options. If you want to mix more propadation flags
|
||||
* and/or bind, move operations than it's better to specify mount options by
|
||||
* and/or bind operations than it's better to specify mount options by
|
||||
* strings.
|
||||
*
|
||||
* Returns: 0 on success, negative number in case of error.
|
||||
|
|
|
@ -517,7 +517,7 @@ int main(int argc, char **argv)
|
|||
struct libmnt_table *fstab = NULL;
|
||||
char *srcbuf = NULL;
|
||||
char *types = NULL;
|
||||
int oper = 0;
|
||||
int oper = 0, is_move = 0;
|
||||
int propa = 0;
|
||||
int optmode = 0, optmode_mode = 0, optmode_src = 0;
|
||||
|
||||
|
@ -684,7 +684,7 @@ int main(int argc, char **argv)
|
|||
break;
|
||||
case 'M':
|
||||
oper = 1;
|
||||
append_option(cxt, "move");
|
||||
is_move = 1;
|
||||
break;
|
||||
case 'R':
|
||||
oper = 1;
|
||||
|
@ -870,6 +870,10 @@ int main(int argc, char **argv)
|
|||
if (mnt_context_is_restricted(cxt))
|
||||
sanitize_paths(cxt);
|
||||
|
||||
if (is_move)
|
||||
/* "move" as option string is not supported by libmount */
|
||||
mnt_context_set_mflags(cxt, MS_MOVE);
|
||||
|
||||
if ((oper && !has_remount_flag(cxt)) || propa)
|
||||
/* For --make-* or --bind is fstab/mtab unnecessary */
|
||||
mnt_context_set_optsmode(cxt, MNT_OMODE_NOTAB);
|
||||
|
|
Loading…
Reference in New Issue