PERFORCE change 212483 for review
John Baldwin
jhb at FreeBSD.org
Fri Jun 8 18:10:30 UTC 2012
http://p4web.freebsd.org/@@212483?ac=10
Change 212483 by jhb at jhb_jhbbsd on 2012/06/08 18:09:56
Revert this closer to stock and the simple implementation of
WILLNEED for FFS.
Affected files ...
.. //depot/projects/fadvise/sys/ufs/ffs/ffs_vnops.c#7 edit
Differences ...
==== //depot/projects/fadvise/sys/ufs/ffs/ffs_vnops.c#7 (text+ko) ====
@@ -422,6 +422,7 @@
int xfersize;
switch (ap->a_advice) {
+#if 0
case POSIX_FADV_DONTNEED:
/*
* Trim requests to only cover full blocks to avoid
@@ -472,6 +473,7 @@
}
VOP_UNLOCK(vp, 0);
return (0);
+#endif
case POSIX_FADV_WILLNEED:
vp = ap->a_vp;
start = ap->a_start;
@@ -492,10 +494,12 @@
resid = end - start + 1;
fs = ip->i_fs;
+#if 0
/* HACK: Prefetch indirect blocks for this range. */
endblkno = lblkno(fs, end);
for (lbn = NDADDR; lbn < endblkno; lbn += NINDIR(fs))
breada(vp, &lbn, &fs->fs_bsize, 1, NOCRED);
+#endif
while (resid > 0) {
/* Limit the number of read ahead buffers. */
@@ -504,12 +508,16 @@
lbn = lblkno(fs, start);
size = blksize(fs, ip, lbn);
blkoffset = blkoff(fs, start);
+#if 0
if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) {
resid += blkoffset;
start -= blkoffset;
xfersize = cluster_readahead(vp, ip->i_size,
lbn, size);
} else {
+#else
+ if (1) {
+#ebduf
xfersize = fs->fs_bsize - blkoffset;
if (resid < xfersize)
xfersize = resid;
More information about the p4-projects
mailing list