misc/186193: mount_udf always return "Invalid argument".
Arnot Bělohlávek
belzebubc at gmail.com
Tue Jan 28 12:20:00 UTC 2014
>Number: 186193
>Category: misc
>Synopsis: mount_udf always return "Invalid argument".
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Jan 28 12:20:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Arnot Bělohlávek
>Release: Freebsd 10.0-STABLE
>Organization:
FJFI ČVUT Prague, Czech Republic
>Environment:
FreeBSD Helmut2.2a 10.0-STABLE FreeBSD 10.0-STABLE #0: Wed Jan 22 18:19:17 CET 2014 belzebub at Helmut2.2a:/usr/obj/usr/src/sys/H2CORE amd64
>Description:
"mount_udf special node" always return "Invalid argument", also if the special does not exist or is true udf fs. Finally, no udf dvd or image can be mounted.
>How-To-Repeat:
mount_udf /dev/anything /cdrom
>Fix:
Problem is caused by little programming error in src/sbin/mount_udf/mount_udf.c.
Sending patch for this file...
Patch attached with submission follows:
--- mount_udf.c.orig 2014-01-28 12:52:33.000000000 +0100
+++ mount_udf.c 2014-01-28 12:53:44.000000000 +0100
@@ -77,9 +77,9 @@
char fstype[] = "udf";
struct iovec *iov;
char *cs_disk, *cs_local, *dev, *dir;
- int ch, i, iovlen, mntflags, udf_flags, verbose;
+ int ch, iovlen, mntflags, udf_flags, verbose;
- i = iovlen = mntflags = udf_flags = verbose = 0;
+ iovlen = mntflags = udf_flags = verbose = 0;
cs_disk = cs_local = NULL;
iov = NULL;
while ((ch = getopt(argc, argv, "o:vC:")) != -1)
@@ -129,7 +129,7 @@
build_iovec(&iov, &iovlen, "cs_disk", cs_disk, (size_t)-1);
build_iovec(&iov, &iovlen, "cs_local", cs_local, (size_t)-1);
}
- if (nmount(iov, i, mntflags) < 0)
+ if (nmount(iov, iovlen, mntflags) < 0)
err(1, "%s", dev);
exit(0);
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list