summaryrefslogtreecommitdiff
path: root/sbin/fsck_ffs/extern.h
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2014-09-06 04:05:41 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2014-09-06 04:05:41 +0000
commit1856cb461815dc29ef425f762867e7d638c94235 (patch)
treec6b3190a4b8c1d9b89e204808492ad4c89e9e14d /sbin/fsck_ffs/extern.h
parent97a11c5a525f97b0af66d80badd224a9c6271fd2 (diff)
inodesc.id_entryno holds a file size, so upgrade it from int to u_int64_t;
this fixes handling of very large files on FFS2. Correct a copy-n-pasto that rendered useless the check for allocated fragmented that are marked free in the bitmap. allocdir() returns an inode number, so return an ino_t. sizeof()*N should be printed with %zu, while direct and indirect block numbers should be cast to (long long) use %lld inodesc.id_entryno fix based on a diff from David Vasek <vasek@fido.cz> ok krw@ otto@
Diffstat (limited to 'sbin/fsck_ffs/extern.h')
-rw-r--r--sbin/fsck_ffs/extern.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sbin/fsck_ffs/extern.h b/sbin/fsck_ffs/extern.h
index f03a7aeb77f..ba92e804097 100644
--- a/sbin/fsck_ffs/extern.h
+++ b/sbin/fsck_ffs/extern.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: extern.h,v 1.12 2013/06/11 16:42:04 deraadt Exp $ */
+/* $OpenBSD: extern.h,v 1.13 2014/09/06 04:05:40 guenther Exp $ */
/* $NetBSD: extern.h,v 1.6 1996/09/27 22:45:12 christos Exp $ */
/*
@@ -26,8 +26,8 @@
*/
void adjust(struct inodesc *, short);
-int allocblk(long);
-int allocdir(ino_t, ino_t, int);
+daddr_t allocblk(int);
+ino_t allocdir(ino_t, ino_t, int);
void blkerror(ino_t, char *, daddr_t);
int bread(int, char *, daddr_t, long);
void bufinit(void);
@@ -47,7 +47,7 @@ void fileerror(ino_t, ino_t, char *);
int findino(struct inodesc *);
int findname(struct inodesc *);
void flush(int, struct bufarea *);
-void freeblk(daddr_t, long);
+void freeblk(daddr_t, int);
void freeino(ino_t);
void freeinodebuf(void);
int ftypeok(union dinode *);