svn commit: r206097 - in head/sys: geom kern

Andriy Gapon avg at freebsd.org
Fri Apr 2 15:26:41 UTC 2010


on 02/04/2010 18:12 Andriy Gapon said the following:
> Author: avg
> Date: Fri Apr  2 15:12:31 2010
> New Revision: 206097
> URL: http://svn.freebsd.org/changeset/base/206097
> 
> Log:
>   bo_bsize: revert r205860 and take an alternative approch in getblk
>   
>   In r205860 I missed the fact that there is code that strongly assumes
>   that devvp bo_bsize is equal to underlying provider's sectorsize.
>   In those places it is hard to obtain the sectorsize in an alternative
>   way if devvp bo_bsize is set to something else.
>   So, I am reverting bo_bsize assigment in g_vfs_open.
>   Instead, in getblk I use DEV_BSIZE block size for b_offset calculation
>   if vp is a disk vp as reported by vn_isdisk.  This should coinside with
>   vp being a devvp.
>   
>   Reported by:	Mykola Dzham <i at levsha.me>
>   Tested by:	Mykola Dzham <i at levsha.me>
>   Pointyhat to:	avg
>   MFC after:	2 weeks
>   X-ToDo:		convert bread(devvp) in all fs to use bo_bsize-d blocks


I should have added that the issue was a panic like the following:
panic: wrong length 512 for sectorsize 4096

Interesting part of stack trace:
...
#9  0xffffffff8020642b in panic
#10 0xffffffff801b4700 in g_io_request
#11 0xffffffff803c33ae in vnode_pager_generic_getpages
...

-- 
Andriy Gapon


More information about the svn-src-all mailing list