[Midnightbsd-cvs] src [9455] trunk/sys: Add currently unused flag argument to the cluster_read(),
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Mar 5 14:34:22 EST 2017
Revision: 9455
http://svnweb.midnightbsd.org/src/?rev=9455
Author: laffer1
Date: 2017-03-05 14:34:22 -0500 (Sun, 05 Mar 2017)
Log Message:
-----------
Add currently unused flag argument to the cluster_read(),
cluster_write() and cluster_wbuild() functions. The flags to be
allowed are a subset of the GB_* flags for getblk().
Modified Paths:
--------------
trunk/sys/fs/udf/udf_vnops.c
trunk/sys/kern/vfs_bio.c
trunk/sys/kern/vfs_cluster.c
trunk/sys/sys/buf.h
trunk/sys/ufs/ffs/ffs_vnops.c
Modified: trunk/sys/fs/udf/udf_vnops.c
===================================================================
--- trunk/sys/fs/udf/udf_vnops.c 2017-03-05 19:33:35 UTC (rev 9454)
+++ trunk/sys/fs/udf/udf_vnops.c 2017-03-05 19:34:22 UTC (rev 9455)
@@ -479,8 +479,9 @@
rablock = lbn + 1;
if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) {
if (lblktosize(udfmp, rablock) < fsize) {
- error = cluster_read(vp, fsize, lbn, size, NOCRED,
- uio->uio_resid, (ap->a_ioflag >> 16), &bp);
+ error = cluster_read(vp, fsize, lbn, size,
+ NOCRED, uio->uio_resid,
+ (ap->a_ioflag >> 16), &bp);
} else {
error = bread(vp, lbn, size, NOCRED, &bp);
}
Modified: trunk/sys/kern/vfs_bio.c
===================================================================
--- trunk/sys/kern/vfs_bio.c 2017-03-05 19:33:35 UTC (rev 9454)
+++ trunk/sys/kern/vfs_bio.c 2017-03-05 19:34:22 UTC (rev 9455)
@@ -1830,7 +1830,7 @@
if (ncl != 1) {
BUF_UNLOCK(bp);
nwritten = cluster_wbuild(vp, size, lblkno - j, ncl);
- return nwritten;
+ return (nwritten);
}
}
bremfree(bp);
Modified: trunk/sys/kern/vfs_cluster.c
===================================================================
--- trunk/sys/kern/vfs_cluster.c 2017-03-05 19:33:35 UTC (rev 9454)
+++ trunk/sys/kern/vfs_cluster.c 2017-03-05 19:34:22 UTC (rev 9455)
@@ -87,16 +87,19 @@
* cluster_read replaces bread.
*/
int
-cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp)
- struct vnode *vp;
- u_quad_t filesize;
- daddr_t lblkno;
- long size;
- struct ucred *cred;
- long totread;
- int seqcount;
- struct buf **bpp;
+cluster_read(struct vnode *vp, u_quad_t filesize, daddr_t lblkno, long size,
+ struct ucred *cred, long totread, int seqcount, struct buf **bpp)
{
+
+ return (cluster_read_gb(vp, filesize, lblkno, size, cred, totread,
+ seqcount, 0, bpp));
+}
+
+int
+cluster_read_gb(struct vnode *vp, u_quad_t filesize, daddr_t lblkno, long size,
+ struct ucred *cred, long totread, int seqcount, int gbflags,
+ struct buf **bpp)
+{
struct buf *bp, *rbp, *reqbp;
struct bufobj *bo;
daddr_t blkno, origblkno;
@@ -610,6 +613,14 @@
void
cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount)
{
+
+ cluster_write_gb(vp, bp, filesize, seqcount, 0);
+}
+
+void
+cluster_write_gb(struct vnode *vp, struct buf *bp, u_quad_t filesize,
+ int seqcount, int gbflags)
+{
daddr_t lbn;
int maxclen, cursize;
int lblocksize;
@@ -754,12 +765,16 @@
* the current block (if last_bp == NULL).
*/
int
-cluster_wbuild(vp, size, start_lbn, len)
- struct vnode *vp;
- long size;
- daddr_t start_lbn;
- int len;
+cluster_wbuild(struct vnode *vp, long size, daddr_t start_lbn, int len)
{
+
+ return (cluster_wbuild_gb(vp, size, start_lbn, len, 0));
+}
+
+int
+cluster_wbuild_gb(struct vnode *vp, long size, daddr_t start_lbn, int len,
+ int gbflags)
+{
struct buf *bp, *tbp;
struct bufobj *bo;
int i, j;
Modified: trunk/sys/sys/buf.h
===================================================================
--- trunk/sys/sys/buf.h 2017-03-05 19:33:35 UTC (rev 9454)
+++ trunk/sys/sys/buf.h 2017-03-05 19:34:22 UTC (rev 9455)
@@ -514,6 +514,10 @@
struct ucred *, long, int, struct buf **);
int cluster_wbuild(struct vnode *, long, daddr_t, int);
void cluster_write(struct vnode *, struct buf *, u_quad_t, int);
+int cluster_read_gb(struct vnode *, u_quad_t, daddr_t, long,
+ struct ucred *, long, int, int, struct buf **);
+int cluster_wbuild_gb(struct vnode *, long, daddr_t, int, int);
+void cluster_write_gb(struct vnode *, struct buf *, u_quad_t, int, int);
void vfs_bio_set_valid(struct buf *, int base, int size);
void vfs_bio_clrbuf(struct buf *);
void vfs_busy_pages(struct buf *, int clear_modify);
Modified: trunk/sys/ufs/ffs/ffs_vnops.c
===================================================================
--- trunk/sys/ufs/ffs/ffs_vnops.c 2017-03-05 19:33:35 UTC (rev 9454)
+++ trunk/sys/ufs/ffs/ffs_vnops.c 2017-03-05 19:34:22 UTC (rev 9455)
@@ -518,7 +518,8 @@
* doing sequential access.
*/
error = cluster_read(vp, ip->i_size, lbn,
- size, NOCRED, blkoffset + uio->uio_resid, seqcount, &bp);
+ size, NOCRED, blkoffset + uio->uio_resid,
+ seqcount, &bp);
} else if (seqcount > 1) {
/*
* If we are NOT allowed to cluster, then
More information about the Midnightbsd-cvs
mailing list