Module Name: src Committed By: msaitoh Date: Thu Jun 13 06:49:08 UTC 2013
Modified Files: src/sys/fs/nilfs [netbsd-6]: nilfs_vnops.c Log Message: Pull up following revision(s) (requested by reinoud in ticket #894): sys/fs/nilfs/nilfs_vnops.c: revision 1.22-1.23 Fix serious file read problem due to not-so-clear VOP_BMAP description. Should fix PR 45605. To generate a diff of this commit: cvs rdiff -u -r1.16.6.1 -r1.16.6.2 src/sys/fs/nilfs/nilfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/fs/nilfs/nilfs_vnops.c diff -u src/sys/fs/nilfs/nilfs_vnops.c:1.16.6.1 src/sys/fs/nilfs/nilfs_vnops.c:1.16.6.2 --- src/sys/fs/nilfs/nilfs_vnops.c:1.16.6.1 Sun Aug 12 12:59:47 2012 +++ src/sys/fs/nilfs/nilfs_vnops.c Thu Jun 13 06:49:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: nilfs_vnops.c,v 1.16.6.1 2012/08/12 12:59:47 martin Exp $ */ +/* $NetBSD: nilfs_vnops.c,v 1.16.6.2 2013/06/13 06:49:08 msaitoh Exp $ */ /* * Copyright (c) 2008, 2009 Reinoud Zandijk @@ -28,7 +28,7 @@ #include <sys/cdefs.h> #ifndef lint -__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.16.6.1 2012/08/12 12:59:47 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.16.6.2 2013/06/13 06:49:08 msaitoh Exp $"); #endif /* not lint */ @@ -315,6 +315,11 @@ return EIO; /* * bmap functionality that translates logical block numbers to the virtual * block numbers to be stored on the vnode itself. + * + * Important alert! + * + * If runp is not NULL, the number of contiguous blocks __starting from the + * next block after the queried block__ will be returned in runp. */ int @@ -364,7 +369,8 @@ nilfs_trivial_bmap(void *v) run = 1; while ((run < blks) && (l2vmap[run] == *bnp + run)) run++; - + run--; /* see comment at start of function */ + /* set runlength */ if (runp) *runp = run;