git: HAMMER VFS - More cluster_read() fixes

看板DFBSD_commit作者時間15年前 (2010/08/22 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit b7de8aa5d2a719f4270304c8e45d7b24e169ffe0 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Aug 21 21:20:04 2010 -0700 HAMMER VFS - More cluster_read() fixes * The recent cluster limiting code was improperly using raw block device offsets to calculate the largeblock mask used to prevent clustered I/Os from crossing a large-block boundary. raw block device offsets are not necessarily largeblock aligned, so this calculation failed to properly limit cluster_read()s and the result was an occassional clustered read would cross-over into an incompatible largeblock and later cause an overlapping buffer panic. * Calculate the proper limit in the hammer_ondisk.c module and refactor hammer_io_read(). Reported-by: swildner Summary of changes: sys/vfs/hammer/hammer.h | 3 +- sys/vfs/hammer/hammer_io.c | 65 +++++---------------------------------- sys/vfs/hammer/hammer_ondisk.c | 23 +++++++++++++- 3 files changed, 31 insertions(+), 60 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b7de8aa5d2a719f4270304c8e45d7b24e169ffe0 -- DragonFly BSD source repository
文章代碼(AID): #1CSAyItN (DFBSD_commit)