From: Thomas Weißschuh Date: Sun, 11 Jun 2023 09:49:54 +0000 (+0200) Subject: libmount: (optlist) correctly detect ro status X-Git-Tag: v2.40-rc1~396^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=69e98d12a904c1abfde943f3358b0395b5859e79;p=thirdparty%2Futil-linux.git libmount: (optlist) correctly detect ro status Fixes #2305 Signed-off-by: Thomas Weißschuh --- diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c index f74e759287..1e962ec6d8 100644 --- a/libmount/src/optlist.c +++ b/libmount/src/optlist.c @@ -463,7 +463,7 @@ static struct libmnt_opt *optlist_new_opt(struct libmnt_optlist *ls, else if (opt->ent->id == MS_BIND) ls->is_bind = 1; else if (opt->ent->id == MS_RDONLY) - ls->is_rdonly = 1; + ls->is_rdonly = opt->ent->mask & MNT_INVERT ? 0 : 1; else if (opt->ent->id == MS_MOVE) ls->is_move = 1; else if (opt->ent->id == MS_SILENT) diff --git a/tests/expected/libmount/loop-explicit-rw b/tests/expected/libmount/loop-explicit-rw new file mode 100644 index 0000000000..e7787c0590 --- /dev/null +++ b/tests/expected/libmount/loop-explicit-rw @@ -0,0 +1,2 @@ +rw +Success diff --git a/tests/ts/libmount/loop b/tests/ts/libmount/loop index e45336cbd3..db807bd44a 100755 --- a/tests/ts/libmount/loop +++ b/tests/ts/libmount/loop @@ -139,5 +139,14 @@ udevadm settle ts_log "Success" ts_finalize_subtest +ts_init_subtest "explicit-rw" +[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT +$TS_CMD_MOUNT -o rw "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG +$TS_CMD_FINDMNT -no FS-OPTIONS --mountpoint "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG +$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG +udevadm settle +ts_log "Success" +ts_finalize_subtest + ts_log "Success" ts_finalize