Skip to content

Stray debug printf on FreeBSD #14286

Closed
@dfr

Description

@dfr

System information

Type Version/Name
Distribution Name FreeBSD
Distribution Version 13.1-RELEASE-p5
Kernel Version 13.1-RELEASE-p3
Architecture amd64
OpenZFS Version zfs-2.1.4-FreeBSD_g52bad4f23

Describe the problem you're observing

While working on porting podman and buildah to FreeBSD, I have noticed many messages logged on the console that look like this:

len 4 vecnum: 126 sizeof (zfs_cmd_t) 4528

After debugging this, I discovered that this happens when something tries to set non-blocking i/o on a /dev/zfs filedescriptor which translates to a FIONBIO ioctl.

The zfs storage layer in for buildah and podman tries to detect whether zfs is available by opening /dev/zfs. The golang runtime libraries unconditionally try to set the descriptor into non-blocking mode causing the error message.

I can work around this in containers/storage but it seems to me that the FreeBSD ZFS port should not print this message to console but instead return a suitable error. Currently it returns EINVAL after the printf which seems reasonable.

Describe how to reproduce the problem

On FreeBSD-13.1 or later, install the buildah package and run:

# buildah from quay.io/dougrabson/freebsd-minimal:13

On the system console, the len 4 vecnum... message quoted above appears.

Include any warning/errors/backtraces from the system logs

len 4 vecnum: 126 sizeof (zfs_cmd_t) 4528

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: DefectIncorrect behavior (e.g. crash, hang)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions