Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Apr 2010 18:26:38 +0300
From:      Andriy Gapon <avg@freebsd.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r206097 - in head/sys: geom kern
Message-ID:  <4BB60CAE.4090000@freebsd.org>
In-Reply-To: <201004021512.o32FCVUM093282@svn.freebsd.org>
References:  <201004021512.o32FCVUM093282@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@levsha.me>
>   Tested by:	Mykola Dzham <i@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BB60CAE.4090000>