summaryrefslogtreecommitdiff
path: root/sys/isofs/udf/udf_vfsops.c
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2013-05-30 17:35:02 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2013-05-30 17:35:02 +0000
commit296a80d1ada7fc32000122b7bcbdcacf115d8c9f (patch)
tree1e40bb57a2c9f15cadada6f5ee64e421474c19ee /sys/isofs/udf/udf_vfsops.c
parent0edbe965a3d0f38e2719da8037b9e26a8f92b500 (diff)
CD filesystems don't do inode numbers >2^32, so use a smaller type internally,
only using ino_t in the VFS layer APIs: vget, readdir, getattr. ok matthew@
Diffstat (limited to 'sys/isofs/udf/udf_vfsops.c')
-rw-r--r--sys/isofs/udf/udf_vfsops.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/isofs/udf/udf_vfsops.c b/sys/isofs/udf/udf_vfsops.c
index c35b80f54ec..68842c81a63 100644
--- a/sys/isofs/udf/udf_vfsops.c
+++ b/sys/isofs/udf/udf_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udf_vfsops.c,v 1.40 2013/04/15 15:32:19 jsing Exp $ */
+/* $OpenBSD: udf_vfsops.c,v 1.41 2013/05/30 17:35:01 guenther Exp $ */
/*
* Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
@@ -503,7 +503,7 @@ udf_root(struct mount *mp, struct vnode **vpp)
{
struct umount *ump;
struct vnode *vp;
- ino_t id;
+ udfino_t id;
int error;
ump = VFSTOUDFFS(mp);
@@ -562,7 +562,11 @@ udf_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
struct unode *up;
struct extfile_entry *xfe;
struct file_entry *fe;
- int error, sector, size;
+ uint32_t sector;
+ int error, size;
+
+ if (ino > (udfino_t)-1)
+ panic("udf_vget: alien ino_t %llu", (unsigned long long)ino);
p = curproc;
bp = NULL;