Extending zfsboot.c to allow selecting filesystem from boot.config

Andriy Gapon avg at FreeBSD.org
Mon Nov 21 10:53:55 UTC 2011


on 20/11/2011 20:10 Florian Wagner said the following:
> On Sun, 20 Nov 2011 17:22:30 +0200
> Andriy Gapon <avg at FreeBSD.org> wrote:
> 
>> I think that the most straightforward way would be to checkout
>> tools/tools/zfsboottest from head, copy it into a same named
>> directory under stable/8, make it and run it.
> 
> I did just that:
> 
> # make MACHINE_CPUARCH=amd64

Why did you have to specify MACHINE_CPUARCH?
Is your OS amd64 or i386?

> Warning: Object directory not changed from original /usr/src/stable-8/tools/tools/zfsboottest


BTW, proper build procedure is make obj depend all, so that the source tree is
not polluted.

> cc -O1 -I/usr/src/stable-8/tools/tools/zfsboottest/../../../sys/boot/zfs  -I/usr/src/stable-8/tools/tools/zfsboottest/../../../sys/cddl/boot/zfs  -I.  -fdiagnostics-show-option  -W -Wextra -Wno-sign-compare -Wno-unused-parameter  -Werror -std=gnu99 -fstack-protector  -c zfsboottest.c In file included from /usr/include/sys/param.h:70,
>                  from zfsboottest.c:30:
> /usr/include/sys/types.h:146: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cpumask_t'
> In file included from ./machine/param.h:36,
>                  from /usr/include/sys/param.h:116,
>                  from zfsboottest.c:30:
> ./machine/_align.h:6:24: error: x86/_align.h: No such file or directory
> cc1: warnings being treated as errors
> zfsboottest.c: In function 'main':
> zfsboottest.c:141: warning: implicit declaration of function 'zfs_mount_pool'
> zfsboottest.c:148: warning: passing argument 1 of 'zfs_lookup' from incompatible pointer type
> zfsboottest.c:154: warning: passing argument 1 of 'zfs_dnode_stat' from incompatible pointer type
> 
> 
> After look around a bit I found _types.h and param.h in the machine
> subdirectory of zfsboottest. They get included from headers
> in /usr/include because of the "-I.".

This is intentional and used to work perfectly for me on head.

> After renaming them only the errors about zfs_mount_pool and the
> incompatible pointer types are left. Which make sense to me as this is
> stuff changed in your patches.

Here is the latest version from my tree:
https://gitorious.org/~avg/freebsd/avgbsd/trees/devel-20110921/tools/tools/zfsboottest

Unfortunately I haven't rebased to head for a long time, so it's a quite out of
sync with the latest changes there, but it should give you an idea on how to
adapt zfsboottest.c to the patches.

-- 
Andriy Gapon


More information about the freebsd-fs mailing list