Emmanuel Dreyfus | 25 Oct 06:39 2014
Picon

[PATCH] PUFFS backend allocation (round 3)

Summary: when writing to a PUFFS filesystem through page cache, we do
not know if backend storage is really available. If it is not, cache
flush may get EDQUOT or ENOSPC and the process cannot terminate (it gets
stuck in DE state).

Proposed solution: detect that a write may not have backend storage, and
if it is the case, try to allocate the backend storage.

Detecting is done on two conditions:
- if allocated blocks is shorter than size, the file is sparse and we
never know if we are writing in a hole or not: in that case, always
write-once
- if writing beyond EOF

Allocating the backend storage is done
- through newly introduced PUFFS fallocate operation (unlikely to work
on NetBSD as the system call exists but FFS does not support it)
- otherwise by reading from the file and rewriting the readen data

The latest patch doing this:
http://ftp.espci.fr/shadow/manu/puffs-alloc2.patch

Opinions?

--

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu <at> netbsd.org

(Continue reading)

Emmanuel Dreyfus | 24 Oct 09:42 2014
X-Face
Picon

Enable FFS extended attributes in GENERIC?

Hello

Is there any opposition to enable FFS extended attributes in 
GENERIC? 

I have been using them for a while and it seems stable, The
relevant code is only involved if the filesystem is explicitely 
mounted with -o extattr, which means a bug will not affect people
that do not use the feature.

The only issues are:
- storage in sparse file (like ancient quota) means fsck do not
know about it and cannot repair it.
- dump/restore/pax ignore extended attributes (cp and mv preserve them)

It means FFS extended attributes in NetBSD are fragile and that one
should be ready to loose them, but that leaves some reasonable usages.

--

-- 
Emmanuel Dreyfus
manu <at> netbsd.org

Emmanuel Dreyfus | 24 Oct 09:19 2014
X-Face
Picon

is a vnode page in memory?

Hi
oAnother question related to PUFFS page cache write once: how can I 
check if a given page for a vnode is already in memory?

--

-- 
Emmanuel Dreyfus
manu <at> netbsd.org

Emmanuel Dreyfus | 24 Oct 06:27 2014
Picon

ubc_uiomove returns EINVAL

Hi

I am working on PUFFS page cache write-once: before entering data in the
page cache, we must make sure the backend storage is available,
otherwise we will not be able to flush the cache later. Flush may fail
because of EDQUOT or ENOSPC, which lets processes stuck in DE state
(exiting, disk I/O in progress).

The idea is that when file grows, or if file is known to be sparse
(because its allocated block size is lower than its size), then before
entering data in cache, we first read from the file and rewrite to make
sure backend is allocated. I do it using ubc_uiomove, but it always
returns me EINVAL. What did I do wrong?

/* sample value: off = 0xa0000, len = 0x20000 */

        zbuf = kmem_alloc(len, KM_SLEEP);

        iov.iov_base = zbuf;
        iov.iov_len = len;

        UIO_SETUP_SYSSPACE(&uio);
        uio.uio_iov = &iov;
        uio.uio_iovcnt = 1;
        uio.uio_offset = off;
        uio.uio_resid = len;
        uio.uio_rw = UIO_READ;

        error = ubc_uiomove(&vp->v_uobj, &uio, len,
                            UVM_ADV_SEQUENTIAL,
(Continue reading)

Maxime Villard | 20 Oct 15:38 2014
Picon

FFS: wrong superblock check ~> crash

Probably with the conviction I would find some bugs I opened ffs/ffs_vfsops.c
and something immediately stroke me:

918		error = bread(devvp, sblock_try[i] / DEV_BSIZE, SBLOCKSIZE, cred,
919			      0, &bp);

SBLOCKSIZE (=8192) bytes are read on the disk and put into bp->b_data
(allocated).

924		fs = (struct fs*)bp->b_data;
...
939			sbsize = fs->fs_sbsize;

'sbsize' is set to a value that was read on the disk.

976		/* Validate size of superblock */
977		if (sbsize > MAXBSIZE || sbsize < sizeof(struct fs))
978			continue;

Basic sanity checks. MAXBSIZE = 64 * 1024.

991	fs = kmem_alloc((u_long)sbsize, KM_SLEEP);
992	memcpy(fs, bp->b_data, sbsize);

And then comes this memcpy. The problem here is that the size of b_data is
8192, but the values of sbsize are located in [1376; 65536].

With a broken superblock the kernel will read far beyond the allocated
area, which mostly means it will crash.

(Continue reading)

Maxime Villard | 18 Oct 13:06 2014
Picon

Unreleased vnode in linux_sys_uselib()

Hi,
there seems to be a vnode issue in compat/linux/common/linux_uselib.c:

115	if (LINUX_N_MACHTYPE(&hdr) != LINUX_MID_MACHINE)
116		return ENOEXEC;

Here 'vp' is not released. Patch:

Index: linux_uselib.c
===================================================================
RCS file: /cvsroot/src/sys/compat/linux/common/linux_uselib.c,v
retrieving revision 1.30
diff -u -r1.30 linux_uselib.c
--- linux_uselib.c	28 Aug 2009 01:39:03 -0000	1.30
+++ linux_uselib.c	18 Oct 2014 10:48:53 -0000
 <at>  <at>  -103,17 +103,18  <at>  <at> 
 	if ((error = vn_rdwr(UIO_READ, vp, (void *) &hdr, LINUX_AOUT_HDR_SIZE,
 			     0, UIO_SYSSPACE, IO_NODELOCKED, l->l_cred,
 			     &rem, NULL))) {
-		vrele(vp);
-		return error;
+		goto out;
 	}

 	if (rem != 0) {
-		vrele(vp);
-		return ENOEXEC;
+		error = ENOEXEC;
+		goto out;
 	}
(Continue reading)

Emmanuel Dreyfus | 14 Oct 19:05 2014
X-Face
Picon

[PATCH] GOP_ALLOC and fallocate for puffs (round 2)

Hi

Here is the latest iteration of my patch to ensure we avoid sending data
to the page cache we cannot flush later.
http://ftp.espci.fr/shadow/manu/puffs-alloc.patch

- When writing, we make sure backend storage is allocated in two cases:
  1) the file is sparse, hence we never know if backend storage is here.
  2) the file grows: we know we need to allocated for the new area.
- sparse file detection is done at when updating metadata cache: if
  size is bigger than allocated blocks, it is sparse.
- I add fallocate FUSE operation (userland support is in another patch)
  for efficient backend storage allocation.
- If fallocate is unavailable, I fallback to explicit zero-filling. 
- puffs_vnop_write() is split into two functions, puffs_vnop_write_cache()
  that writes in cache, puffs_vnop_write_fs that writes to the FS

The change lets NetBSD pass GlusterFS quota test. Without it, process
writing over quota hang in DE state (exitting, disk I/O ongoing: it cannot
flush cached data overquota and therefore cannot exit).

Opinions?

One possible improvement: if PUFFS fallocate returne EOPNOTSUP / ENOSYS, 
we remove it from the operation array? This is dirty, but since we have 
a fallocate systemcalls that has no implementation for FFS, we are very
likely to encounter that case.

--

-- 
Emmanuel Dreyfus
(Continue reading)

Ilia Zykov | 13 Oct 12:57 2014
Picon

Ptyfs correction.

Hello!
This patch corrects some wrong comments and
little memory leaks inside "ptyfs" and "ptm" driver.
Can be applied on "netbsd-7" and "current".
Thank you.
Ilia.

 fs/ptyfs/ptyfs_subr.c        |    47
++++++++++++++++++++++++++++++++++++-----------
 fs/ptyfs/ptyfs_vfsops.c    |    1 +
 kern/tty_ptm.c                  |    18 ++----------------

 3 files changed, 39 insertions(+), 27 deletions(-)

Kamil Rytarowski | 11 Oct 22:52 2014
Picon

Tru64 AdvFS porting to NetBSD - 2. status 2014-10-11

Hello,

This is the second status [1] of porting AdvFS to NetBSD.

Thank you for your motivation support, including mails from outside the NetBSD world.

1. What is done
- Moved AdvFS files from src/sys/fs/msfs to src/sys/external/gpl2/msfs and updated the build machinery
- Picked missing dyn_hashtable functionality from the HP/UX port of AdvFS
- Designed new debugging & tracing system, with changeable levels (none, fatal asserts, debug asserts,
extensive checks) it's intended to replace the existing fine-grained debugging that is placed in the
original work almost everywhere and it's impractically difficult to port 1:1, as it's utilizing
Tru64-specific features -- the HP/UX port went with similar path; most debugging code (most notably
related to locking) will be gone
- Stopped using indent(1) as it introduces a lot of harm because of extensive usage of macros (missing
semicolons etc..)
- Overall: cleaned and squashed 377 proof-of-concept (aka throw-away) commits [2] into 115 cleaned
revisions (aka throw-away later) [3]
2. What is in progress
- Adapting locking code, with verification of the right path with the HP/UX port
- Adapting debugging for new design, removing unneeded code-complication and Tru64-specific debug solutions
- Converting macros, used as in-lined functions with side-effects, to functions
- Removing alternative compilation paths (exception for _KERNEL in general and MSFS_DEBUG in msfs/ms_assert.h)
- Other compatibility patches for a modern compiler and NetBSD
3. Issues
- Missing subsystems' details from Tru64, still no idea about definitions of functions from overlap.h,
missing quota's code (but not looked at it closely)
4. Next steps
- Virtual Memory porting
5. Pushed to NetBSD
(Continue reading)

Kamil Rytarowski | 9 Oct 00:38 2014
Picon

Re: Unification of common date/time macros

Hello,

For your interest there are already patches against current:
http://mail-index.netbsd.org/netbsd-bugs/2014/10/08/msg038523.html

Best regards,

Vinaykumar Bhat | 4 Oct 04:20 2014
Picon

Cross compiling NetBSD current

Hi All,

I am working on Compressed Cache project for NetBSD (https://wiki.netbsd.org/projects/project/compressed-cache/) . I am trying to set up the cross compilation environment for NetBSD current. Copying tech-kern in this email since my emails to current-users seems to be not getting delivered).

Host machine (where I am compiling): Ubuntu(64-bit) running on x86_64
Target architecture (where I intend to boot NetBSD): amd64

I am trying to compile tools using build.sh.
Command used: /build.sh -U -m amd64 tools

I see a bunch of compiler errors saying compilation terminated since a file was not found (#include <sys/disk.h> fails with file not found). Eventually the build fails with message "ERROR: Failed to make build_install in "tools"".

Attaching the last few lines of the build log. I was able to cross compile 6-1-4 release branch. hence I am guessing that I have all the necessary tools installed properly. Any help will be helpful and greatly appreciated.

Thanks,
Vinay


####################################################################################################################################
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f biosboot.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/biosboot.c &&  mv biosboot.d.tmp biosboot.d
/usr/NetBSD_Current/tools/gpt/../../sbin/gpt/biosboot.c:46:22: fatal error: sys/disk.h: No such file or directory
 #include <sys/disk.h>
                      ^
compilation terminated.
#    create  gpt/create.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f create.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/create.c &&  mv create.d.tmp create.d
#    create  gpt/dehumanize_number.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f dehumanize_number.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../lib/libc/gen/dehumanize_number.c &&  mv dehumanize_number.d.tmp dehumanize_number.d
#    create  gpt/destroy.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f destroy.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/destroy.c &&  mv destroy.d.tmp destroy.d
#    create  gpt/gpt.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f gpt.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/gpt.c &&  mv gpt.d.tmp gpt.d
/usr/NetBSD_Current/tools/gpt/../../sbin/gpt/gpt.c:43:22: fatal error: sys/disk.h: No such file or directory
 #include <sys/disk.h>
                      ^
compilation terminated.
#    create  gpt/gpt_uuid.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f gpt_uuid.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/gpt_uuid.c &&  mv gpt_uuid.d.tmp gpt_uuid.d
#    create  gpt/label.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f label.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/label.c &&  mv label.d.tmp label.d
#    create  gpt/map.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f map.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/map.c &&  mv map.d.tmp map.d
#    create  gpt/migrate.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f migrate.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/migrate.c &&  mv migrate.d.tmp migrate.d
#    create  gpt/opendisk.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f opendisk.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../lib/libutil/opendisk.c &&  mv opendisk.d.tmp opendisk.d
#    create  gpt/recover.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f recover.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/recover.c &&  mv recover.d.tmp recover.d
#    create  gpt/remove.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f remove.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/remove.c &&  mv remove.d.tmp remove.d
#    create  gpt/resize.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f resize.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/resize.c &&  mv resize.d.tmp resize.d
#    create  gpt/resizedisk.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f resizedisk.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/resizedisk.c &&  mv resizedisk.d.tmp resizedisk.d
#    create  gpt/set.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f set.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/set.c &&  mv set.d.tmp set.d
#    create  gpt/show.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f show.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/show.c &&  mv show.d.tmp show.d
#    create  gpt/type.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f type.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/type.c &&  mv type.d.tmp type.d
#    create  gpt/unset.d
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -f unset.d.tmp  --      -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64     /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/unset.c &&  mv unset.d.tmp unset.d
#    create  gpt/.depend
rm -f .depend
/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbhost-mkdep -s .lo\ .ln -d -f .depend add.d biosboot.d create.d dehumanize_number.d destroy.d gpt.d gpt_uuid.d label.d map.d migrate.d opendisk.d recover.d remove.d resize.d resizedisk.d set.d show.d type.d unset.d
#   compile  gpt/add.lo
cc -O -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -c -o add.lo.o    /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/add.c
mv add.lo.o add.lo
#   compile  gpt/biosboot.lo
cc -O -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -c -o biosboot.lo.o    /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/biosboot.c
/usr/NetBSD_Current/tools/gpt/../../sbin/gpt/biosboot.c:46:22: fatal error: sys/disk.h: No such file or directory
 #include <sys/disk.h>
                      ^
compilation terminated.

*** Failed target:  biosboot.lo
*** Failed command: cc -O -I/usr/NetBSD_Current/tools/gpt -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/nbinclude -I/usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/include/compat -I/usr/NetBSD_Current/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -c -o biosboot.lo.o /usr/NetBSD_Current/tools/gpt/../../sbin/gpt/biosboot.c
*** Error code 1

Stop.
nbmake[3]: stopped in /usr/NetBSD_Current/tools/gpt

*** Failed target:  dependall
*** Failed command: cd "/usr/NetBSD_Current/tools/gpt"; /usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbmake realall
*** Error code 1

Stop.
nbmake[2]: stopped in /usr/NetBSD_Current/tools/gpt

*** Failed target:  dependall-gpt
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/usr/NetBSD_Current/tools" ;; *) this="${dir}/"; real="/usr/NetBSD_Current/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $ <at> )}"; cd "${real}" && /usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbmake _THISDIR_="${this}" "$ <at> " ${target}; }; _makedirtarget gpt dependall
*** Error code 1

Stop.
nbmake[1]: stopped in /usr/NetBSD_Current/tools

*** Failed target:  build_install
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/usr/NetBSD_Current/tools" ;; *) this="${dir}/"; real="/usr/NetBSD_Current/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $ <at> )}"; cd "${real}" && /usr/NetBSD_Current/obj/tooldir.Linux-3.11.0-12-generic-x86_64/bin/nbmake _THISDIR_="${this}" "$ <at> " ${target}; }; _makedirtarget . dependall-disklabel dependall-gpt
*** Error code 1

Stop.
nbmake: stopped in /usr/NetBSD_Current/tools

ERROR: Failed to make build_install in "tools"
*** BUILD ABORTED ***

####################################################################################################################################



Gmane