Module Name: src Committed By: bouyer Date: Tue Oct 27 21:58:34 UTC 2009
Modified Files: src/sys/fs/cd9660 [netbsd-5]: cd9660_vfsops.c Log Message: Pull up following revision(s) (requested by tsutsui in ticket #1115): sys/fs/cd9660/cd9660_vfsops.c: revision 1.68 Apply a similar fix for mount function from ffs_vfsops.c rev 1.186: Change cd9660_mount, in MNT_UPDATE case, to check dev_t's for equality instead of just vnode pointers. Fixes erroneous "Invalid argument" errors from mount(8) with -u against cd9660 root in the presence of mfs or tmpfs /dev prepared after initial mountroot. Tested on QEMU running cobalt Restore CD. To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.63.6.1 src/sys/fs/cd9660/cd9660_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/fs/cd9660/cd9660_vfsops.c diff -u src/sys/fs/cd9660/cd9660_vfsops.c:1.63 src/sys/fs/cd9660/cd9660_vfsops.c:1.63.6.1 --- src/sys/fs/cd9660/cd9660_vfsops.c:1.63 Sat Jun 28 01:34:05 2008 +++ src/sys/fs/cd9660/cd9660_vfsops.c Tue Oct 27 21:58:34 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: cd9660_vfsops.c,v 1.63 2008/06/28 01:34:05 rumble Exp $ */ +/* $NetBSD: cd9660_vfsops.c,v 1.63.6.1 2009/10/27 21:58:34 bouyer Exp $ */ /*- * Copyright (c) 1994 @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.63 2008/06/28 01:34:05 rumble Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.63.6.1 2009/10/27 21:58:34 bouyer Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -286,7 +286,8 @@ } } else { vrele(devvp); - if (devvp != imp->im_devvp) + if (devvp != imp->im_devvp && + devvp->v_rdev != imp->im_devvp->v_rdev) return (EINVAL); /* needs translation */ } return set_statvfs_info(path, UIO_USERSPACE, args->fspec, UIO_USERSPACE,