patch-2.3.99-pre3 linux/fs/nfsd/vfs.c
Next file: linux/fs/ntfs/fs.c
Previous file: linux/fs/nfsd/stats.c
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Tue Mar 21 11:10:48 2000
- Orig file:
v2.3.99-pre2/linux/fs/nfsd/vfs.c
- Orig date:
Sun Mar 19 18:35:31 2000
diff -u --recursive --new-file v2.3.99-pre2/linux/fs/nfsd/vfs.c linux/fs/nfsd/vfs.c
@@ -539,13 +539,16 @@
nfsd_get_raparms(dev_t dev, ino_t ino)
{
struct raparms *ra, **rap, **frap = NULL;
-
+ int depth = 0;
+
for (rap = &raparm_cache; (ra = *rap); rap = &ra->p_next) {
if (ra->p_ino == ino && ra->p_dev == dev)
goto found;
+ depth++;
if (ra->p_count == 0)
frap = rap;
}
+ depth = nfsdstats.ra_size*11/10;
if (!frap)
return NULL;
rap = frap;
@@ -560,6 +563,7 @@
raparm_cache = ra;
}
ra->p_count++;
+ nfsdstats.ra_depth[depth*10/nfsdstats.ra_size]++;
return ra;
}
@@ -598,6 +602,7 @@
oldfs = get_fs(); set_fs(KERNEL_DS);
err = file.f_op->read(&file, buf, *count, &file.f_pos);
set_fs(oldfs);
+ nfsdstats.io_read += *count;
/* Write back readahead params */
if (ra != NULL) {
@@ -691,6 +696,7 @@
#else
err = file.f_op->write(&file, buf, cnt, &file.f_pos);
#endif
+ nfsdstats.io_write += cnt;
set_fs(oldfs);
/* clear setuid/setgid flag after write */
@@ -1559,5 +1565,6 @@
"nfsd: Could not allocate memory read-ahead cache.\n");
return -ENOMEM;
}
+ nfsdstats.ra_size = cache_size;
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)