UFS: unaligned read from GELI with 8k sectorsize
Anton Yuzhaninov
citrin at citrin.ru
Mon Oct 3 17:14:36 UTC 2016
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).
More information about the freebsd-fs
mailing list