summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-10-09 20:16:06 +0000
committernjl <njl@FreeBSD.org>2004-10-09 20:16:06 +0000
commit8b9984e2181a28a73b5d9ab8e5cdd8ae11bf04f8 (patch)
tree41c0d6a6e70956e1ded0ff8d2e3faec5177845af /sys
parent379f33f67e63494274ecc8fbe38edfbb09fd113e (diff)
downloadFreeBSD-src-8b9984e2181a28a73b5d9ab8e5cdd8ae11bf04f8.zip
FreeBSD-src-8b9984e2181a28a73b5d9ab8e5cdd8ae11bf04f8.tar.gz
Fix fsbtodb() for UFS1. This fixes an overflow for file sizes >1 TB,
allowing for sizes up to 4 TB. This doesn't affect UFS2 since b is already a 64 bit type, coincidental with daddr_t. Submitted by: bde
Diffstat (limited to 'sys')
-rw-r--r--sys/ufs/ffs/fs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h
index c859e02..a2a5714 100644
--- a/sys/ufs/ffs/fs.h
+++ b/sys/ufs/ffs/fs.h
@@ -486,7 +486,7 @@ struct cg {
* Turn filesystem block numbers into disk block addresses.
* This maps filesystem blocks to device size blocks.
*/
-#define fsbtodb(fs, b) ((b) << (fs)->fs_fsbtodb)
+#define fsbtodb(fs, b) ((daddr_t)(b) << (fs)->fs_fsbtodb)
#define dbtofsb(fs, b) ((b) >> (fs)->fs_fsbtodb)
/*
OpenPOWER on IntegriCloud