summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_cluster.c
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2002-03-15 18:49:47 +0000
committermckusick <mckusick@FreeBSD.org>2002-03-15 18:49:47 +0000
commite929f2e4f07e568333e15d0f9fd992f632858bb0 (patch)
tree51f556e616d556c2c643350a9ffc80fda73ab27c /sys/kern/vfs_cluster.c
parentfdd4d414b43758fe722809b27f610baa0b0607e1 (diff)
downloadFreeBSD-src-e929f2e4f07e568333e15d0f9fd992f632858bb0.zip
FreeBSD-src-e929f2e4f07e568333e15d0f9fd992f632858bb0.tar.gz
Introduce the new 64-bit size disk block, daddr64_t. Change
the bio and buffer structures to have daddr64_t bio_pblkno, b_blkno, and b_lblkno fields which allows access to disks larger than a Terabyte in size. This change also requires that the VOP_BMAP vnode operation accept and return daddr64_t blocks. This delta should not affect system operation in any way. It merely sets up the necessary interfaces to allow the development of disk drivers that work with these larger disk block addresses. It also allows for the development of UFS2 which will use 64-bit block addresses.
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r--sys/kern/vfs_cluster.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c
index 2c941fb..59b1f93 100644
--- a/sys/kern/vfs_cluster.c
+++ b/sys/kern/vfs_cluster.c
@@ -67,7 +67,7 @@ static struct cluster_save *
cluster_collectbufs __P((struct vnode *vp, struct buf *last_bp));
static struct buf *
cluster_rbuild __P((struct vnode *vp, u_quad_t filesize, daddr_t lbn,
- daddr_t blkno, long size, int run, struct buf *fbp));
+ daddr64_t blkno, long size, int run, struct buf *fbp));
static int write_behind = 1;
SYSCTL_INT(_vfs, OID_AUTO, write_behind, CTLFLAG_RW, &write_behind, 0,
@@ -103,7 +103,7 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp)
struct buf **bpp;
{
struct buf *bp, *rbp, *reqbp;
- daddr_t blkno, origblkno;
+ daddr64_t blkno, origblkno;
int error, num_ra;
int i;
int maxra, racluster;
@@ -319,7 +319,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp)
struct vnode *vp;
u_quad_t filesize;
daddr_t lbn;
- daddr_t blkno;
+ daddr64_t blkno;
long size;
int run;
struct buf *fbp;
OpenPOWER on IntegriCloud