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;