Module Name:    src
Committed By:   martin
Date:           Tue May 13 17:05:26 UTC 2014

Modified Files:
        src/sys/fs/cd9660: cd9660_vfsops.c

Log Message:
PR kern/48799: make filehandles properly use 64bit inodes on CD9660 file
systems. Patch from Thomas Schmitt, with slight modifications.


To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.85 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.84 src/sys/fs/cd9660/cd9660_vfsops.c:1.85
--- src/sys/fs/cd9660/cd9660_vfsops.c:1.84	Wed Apr 16 18:55:18 2014
+++ src/sys/fs/cd9660/cd9660_vfsops.c	Tue May 13 17:05:26 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd9660_vfsops.c,v 1.84 2014/04/16 18:55:18 maxv Exp $	*/
+/*	$NetBSD: cd9660_vfsops.c,v 1.85 2014/05/13 17:05:26 martin Exp $	*/
 
 /*-
  * Copyright (c) 1994
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.84 2014/04/16 18:55:18 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.85 2014/05/13 17:05:26 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -641,8 +641,10 @@ cd9660_sync(struct mount *mp, int waitfo
 struct ifid {
 	ushort	ifid_len;
 	ushort	ifid_pad;
-	int	ifid_ino;
-	long	ifid_start;
+	ino_t	ifid_ino;
+#ifdef	ISOFS_DBG
+	u_long	ifid_start;
+#endif
 };
 
 /* ARGSUSED */
@@ -659,7 +661,7 @@ cd9660_fhtovp(struct mount *mp, struct f
 
 	memcpy(&ifh, fhp, sizeof(ifh));
 #ifdef	ISOFS_DBG
-	printf("fhtovp: ino %d, start %ld\n",
+	printf("fhtovp: ino %"PRIu64", start %lu\n",
 	    ifh.ifid_ino, ifh.ifid_start);
 #endif
 
@@ -914,11 +916,13 @@ cd9660_vptofh(struct vnode *vp, struct f
 	memset(&ifh, 0, sizeof(ifh));
 	ifh.ifid_len = sizeof(struct ifid);
 	ifh.ifid_ino = ip->i_number;
+#ifdef	ISOFS_DBG
 	ifh.ifid_start = ip->iso_start;
+#endif
 	memcpy(fhp, &ifh, sizeof(ifh));
 
 #ifdef	ISOFS_DBG
-	printf("vptofh: ino %d, start %ld\n",
+	printf("vptofh: ino %"PRIu64", start %lu\n",
 	    ifh.ifid_ino,ifh.ifid_start);
 #endif
 	return 0;

Reply via email to