Abstract-out the constants for the sequential heuristic.
No operational changes. MFC after: 1 day
This commit is contained in:
parent
06d66a71a1
commit
45587e2514
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=108356
@ -340,9 +340,9 @@ sequential_heuristic(struct uio *uio, struct file *fp)
|
||||
* are.
|
||||
*/
|
||||
fp->f_seqcount += (uio->uio_resid + BKVASIZE - 1) / BKVASIZE;
|
||||
if (fp->f_seqcount >= 127)
|
||||
fp->f_seqcount = 127;
|
||||
return(fp->f_seqcount << 16);
|
||||
if (fp->f_seqcount > IO_SEQMAX)
|
||||
fp->f_seqcount = IO_SEQMAX;
|
||||
return(fp->f_seqcount << IO_SEQSHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -861,8 +861,8 @@ nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
|
||||
*/
|
||||
|
||||
if ((off == 0 && nh->nh_seqcount > 0) || off == nh->nh_nextr) {
|
||||
if (++nh->nh_seqcount > 127)
|
||||
nh->nh_seqcount = 127;
|
||||
if (++nh->nh_seqcount > IO_SEQMAX)
|
||||
nh->nh_seqcount = IO_SEQMAX;
|
||||
} else if (nh->nh_seqcount > 1) {
|
||||
nh->nh_seqcount = 1;
|
||||
} else {
|
||||
@ -871,7 +871,7 @@ nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
|
||||
nh->nh_use += NHUSE_INC;
|
||||
if (nh->nh_use > NHUSE_MAX)
|
||||
nh->nh_use = NHUSE_MAX;
|
||||
ioflag |= nh->nh_seqcount << 16;
|
||||
ioflag |= nh->nh_seqcount << IO_SEQSHIFT;
|
||||
}
|
||||
|
||||
nfsm_reply(NFSX_POSTOPORFATTR(v3) + 3 * NFSX_UNSIGNED+nfsm_rndup(cnt));
|
||||
|
@ -281,6 +281,9 @@ struct vattr {
|
||||
#define IO_NORMAL 0x0800 /* operate on regular data */
|
||||
#define IO_NOMACCHECK 0x1000 /* MAC checks unnecessary */
|
||||
|
||||
#define IO_SEQMAX 0x7F /* seq heuristic max value */
|
||||
#define IO_SEQSHIFT 16 /* seq heuristic in upper 16 bits */
|
||||
|
||||
/*
|
||||
* Modes. Some values same as Ixxx entries from inode.h for now.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user