Subject: CVS commit: src/sys/fs/efs
To: None <source-changes@NetBSD.org>
From: Stephen M. Rumble <rumble@netbsd.org>
List: source-changes
Date: 07/04/2007 19:24:09
Module Name: src
Committed By: rumble
Date: Wed Jul 4 19:24:09 UTC 2007
Modified Files:
src/sys/fs/efs: efs_extent.h efs_subr.c efs_subr.h efs_vfsops.c
efs_vnops.c
Log Message:
Additional fixes/enhancements:
1) Comply with the way buffercache(9) is intended to be used. Now we
read in single blocks of EFS_BB_SIZE, never taking in variable
length extents with a single bread() call.
2) Handle symlinks with more than one extent. There's no reason for
this to ever happen, but it's handled now.
3) Finally, add a hint to our iteration initialiser so we can start
from the desired offset, rather than naively looping through from
the beginning each time. Since we can binary search the correct
location quickly, this improves large sequential reads by about
40% with 128MB files. Improvement should increase with file size.
To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 src/sys/fs/efs/efs_extent.h src/sys/fs/efs/efs_vfsops.c \
src/sys/fs/efs/efs_vnops.c
cvs rdiff -r1.1 -r1.2 src/sys/fs/efs/efs_subr.c src/sys/fs/efs/efs_subr.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.