Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Oct 2016 13:14:15 -0400
From:      Anton Yuzhaninov <citrin@citrin.ru>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>
Subject:   Re: UFS: unaligned read from GELI with 8k sectorsize
Message-ID:  <b4a71a1b-d3c0-68a5-6999-e6e851f796c2@citrin.ru>
In-Reply-To: <20161002191349.GH38409@kib.kiev.ua>
References:  <f84b069b-aeee-ff3c-d4f9-e2fe3caaddb1@citrin.ru> <20161001114536.GX38409@kib.kiev.ua> <20161001115439.GY38409@kib.kiev.ua> <68a8ed6d-e302-799c-3d2c-1d85c48d07bf@citrin.ru> <20161001211025.GD38409@kib.kiev.ua> <999638f9-3fee-82e3-d67f-cffef53b74e8@citrin.ru> <20161002191349.GH38409@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-10-02 15:13, Konstantin Belousov wrote:
> I see.  I was able to reproduce it with gnop -S 8k over swap-backed md.
> The following patch worked for me.
>
> diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
> index 2af5383..c9cd4dc 100644
> --- a/sys/ufs/ffs/ffs_vnops.c
> +++ b/sys/ufs/ffs/ffs_vnops.c
> @@ -118,14 +118,14 @@ static vop_listextattr_t	ffs_listextattr;
>  static vop_openextattr_t	ffs_openextattr;
>  static vop_setextattr_t	ffs_setextattr;
>  static vop_vptofh_t	ffs_vptofh;
> -
> +static vop_getpages_t	ffs_getpages;
>
>  /* Global vfs data structures for ufs. */
>  struct vop_vector ffs_vnodeops1 = {
>  	.vop_default =		&ufs_vnodeops,
>  	.vop_fsync =		ffs_fsync,
>  	.vop_fdatasync =	ffs_fdatasync,
> -	.vop_getpages =		vnode_pager_local_getpages,
> +	.vop_getpages =		ffs_getpages,

With this patch I can exec various binaries from 8k geli when I boot 
from a USB stick, but can't boot with root on this geli. Boot process 
stops after init exec.

DDB bt for init:
https://imgur.com/a/FXuzw
ps in DDB shows init in running state (CPU2).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b4a71a1b-d3c0-68a5-6999-e6e851f796c2>