Module Name:    src
Committed By:   pooka
Date:           Fri Jul 31 14:56:11 UTC 2009

Modified Files:
        src/sbin/mount_fdesc: mount_fdesc.c

Log Message:
Shortcircuit -o getargs in userspace.  We know the kernel driver
will not return any data and mount(2) fails with EINVAL if data_len
is 0.  This caused lame-o output in mount -vv:
mount_fdesc: fdesc on /failsystem: Invalid argument


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sbin/mount_fdesc/mount_fdesc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/mount_fdesc/mount_fdesc.c
diff -u src/sbin/mount_fdesc/mount_fdesc.c:1.22 src/sbin/mount_fdesc/mount_fdesc.c:1.23
--- src/sbin/mount_fdesc/mount_fdesc.c:1.22	Sun Jul 20 01:20:22 2008
+++ src/sbin/mount_fdesc/mount_fdesc.c	Fri Jul 31 14:56:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mount_fdesc.c,v 1.22 2008/07/20 01:20:22 lukem Exp $	*/
+/*	$NetBSD: mount_fdesc.c,v 1.23 2009/07/31 14:56:11 pooka Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993, 1994
@@ -77,7 +77,7 @@
 #if 0
 static char sccsid[] = "@(#)mount_fdesc.c	8.3 (Berkeley) 4/26/95";
 #else
-__RCSID("$NetBSD: mount_fdesc.c,v 1.22 2008/07/20 01:20:22 lukem Exp $");
+__RCSID("$NetBSD: mount_fdesc.c,v 1.23 2009/07/31 14:56:11 pooka Exp $");
 #endif
 #endif /* not lint */
 
@@ -135,6 +135,10 @@
 	if (argc != 2)
 		usage();
 
+	/* getargs is a NULL op and kernel would return EINVAL */
+	if (mntflags & MNT_GETARGS)
+		exit(0);
+
 	if (realpath(argv[1], canon_dir) == NULL)    /* Check mounton path */
 		err(1, "realpath %s", argv[1]);
 	if (strncmp(argv[1], canon_dir, MAXPATHLEN)) {

Reply via email to