[hackers] [ubase][PATCH v2] mount: fix mount -a -t noXX

From: Arusekk <floss_AT_arusekk.pl>
Date: Fri, 6 Feb 2026 11:20:23 +0100

In order to be mounted, a filesystem needed to both match against
noXX and not match against XX.
Use the ternary operator, which also makes the intention clearer.
---
Hi!
W piÄ…tek, 6 lutego 2026 10:26:47 CET Roberto E. Vargas Caballero pisze:
> First, sorry for the delay answering the mail, but I was busy with some
> other stuff. I think the patch is right, but it does not apply over the
> current master. Can you rebase it and adapt it?
No worries.
I based my patch on Michael Forney's fork and I thought mount.c was in
sync. Sorry for not checking.
Also, now that I compare the forks, he has quite a few patches that might
be worth taking a look at:
https://github.com/michaelforney/ubase/compare/e3dacbb...master
I will probably try to upstream some particularly useful ones in the
coming weeks.
There are more problems with mount.c I would like to address, including
not skipping swap, leaking file descriptors and doing extra work due to
suboptimal condition ordering.  For the start I wanted to just fix this
one serious documentation misalignment.
Kind regards,
Arusekk
 mount.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mount.c b/mount.c
index e3d00b8..ebd52bc 100644
--- a/mount.c
+++ b/mount.c
_AT_@ -307,12 +307,12 @@ mountall:
 		}
 		parseopts(fsopts, &flags, data, sizeof(data));
 		/* if -t types specified:
-		 * if non-match, skip
+		 * if non-match and not prefixed with "no", skip
 		 * if match and prefixed with "no", skip */
 		if (types &&
-		    ((types[0] == 'n' && types[1] == 'o' &&
-		     findtype(types + 2, me->mnt_type)) ||
-		     (!findtype(types, me->mnt_type))))
+		    (types[0] == 'n' && types[1] == 'o' ?
+		     findtype(types + 2, me->mnt_type) != NULL :
+		     findtype(types, me->mnt_type) == NULL))
 			continue;
 
 		r = mounthelper(me->mnt_fsname, me->mnt_dir, me->mnt_type);
-- 
2.52.0
Received on Fri Feb 06 2026 - 11:20:23 CET

This archive was generated by hypermail 2.3.0 : Fri Feb 06 2026 - 11:36:33 CET