History log of /src/usr.sbin/makefs/zfs/objset.c (Results 1 – 21 of 21)
Revision Date Author Comments
# da125556 22-Jul-2025 Toomas Soome <tsoome@FreeBSD.org>

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitializ

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitialized. Warning is given because
we break the loop when nextdir == NULL and parent was not previously set.
(it should not happen, but compiler does not know that).

zap_add() and zap_fat_write_array_chunk() takes uint8_t *, use type
cast.

zap_fat_write_array_chunk() should check sz for 0 to avoid
use of uninitialized pointer.

unchecked function returns.

Reviewed by: markj
Differential revision: https://reviews.freebsd.org/D51592

show more ...


# ef067b57 23-Oct-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Update dd_used_breakdown after writing the MOS

Fixes: 96092bf9108c ("makefs/zfs: Fill out dd_used_breakdown fields in DSL directories")
Sponsored by: The FreeBSD Foundation


# 46402fd2 27-Sep-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sp

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

show more ...


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


# c6890399 18-Aug-2022 Jessica Clarke <jrtc27@FreeBSD.org>

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux)
and works around Linux's lack of st_birthtim.

This allows usr.sbin/makefs to be added to LOCAL_XTOOL_DIRS again on
macOS and Linux so that disk images can be cross-built.

Reviewed by: markj
Fixes: 240afd8c1fcc ("makefs: Add ZFS support")
Differential Revision: https://reviews.freebsd.org/D36135

show more ...


# 4f816f5b 16-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
count

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
counting bytes used for each directory. The DSL layer failed to update
the MOS DSL directory's parent, the root directory, accordingly, so the
root directory reported less space used than was used in reality. Be
careful to update the root directory after the MOS is finalized.

PR: 265849
Sponsored by: The FreeBSD Foundation

show more ...


# 240afd8c 05-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is useful for creating virtual
machine images without using the kernel to create a pool; "zpool create"
requires root privileges and currently is not permitted in jails.
makefs -t zfs also provides reproducible images by using a fixed seed
for pseudo-random number generation, used for generating GUIDs and hash
salts. makefs -t zfs requires relatively little by way of machine
resources.

The "zpool_reguid" rc.conf setting can be used to ask a FreeBSD guest to
generate a unique pool GUID upon first boot.

A small number of pool and dataset properties are supported. The pool
is backed by a single disk vdev. Data is always checksummed using
Fletcher-4, no redundant copies are made, and no compression is used.
The manual page documents supported pool and filesystem properties.

The implementation uses a few pieces of ZFS support from with the boot
loader, especially definitions for various on-disk structures, but is
otherwise standalone and in particular doesn't depend on OpenZFS.

This feature should be treated as experimental for now, i.e., important
data shouldn't be trusted to a makefs-created pool, and the command-line
interface is subject to change.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35248

show more ...


# da125556 22-Jul-2025 Toomas Soome <tsoome@FreeBSD.org>

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitializ

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitialized. Warning is given because
we break the loop when nextdir == NULL and parent was not previously set.
(it should not happen, but compiler does not know that).

zap_add() and zap_fat_write_array_chunk() takes uint8_t *, use type
cast.

zap_fat_write_array_chunk() should check sz for 0 to avoid
use of uninitialized pointer.

unchecked function returns.

Reviewed by: markj
Differential revision: https://reviews.freebsd.org/D51592

show more ...


# ef067b57 23-Oct-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Update dd_used_breakdown after writing the MOS

Fixes: 96092bf9108c ("makefs/zfs: Fill out dd_used_breakdown fields in DSL directories")
Sponsored by: The FreeBSD Foundation


# 46402fd2 27-Sep-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sp

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

show more ...


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


# c6890399 18-Aug-2022 Jessica Clarke <jrtc27@FreeBSD.org>

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux)
and works around Linux's lack of st_birthtim.

This allows usr.sbin/makefs to be added to LOCAL_XTOOL_DIRS again on
macOS and Linux so that disk images can be cross-built.

Reviewed by: markj
Fixes: 240afd8c1fcc ("makefs: Add ZFS support")
Differential Revision: https://reviews.freebsd.org/D36135

show more ...


# 4f816f5b 16-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
count

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
counting bytes used for each directory. The DSL layer failed to update
the MOS DSL directory's parent, the root directory, accordingly, so the
root directory reported less space used than was used in reality. Be
careful to update the root directory after the MOS is finalized.

PR: 265849
Sponsored by: The FreeBSD Foundation

show more ...


# 240afd8c 05-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is useful for creating virtual
machine images without using the kernel to create a pool; "zpool create"
requires root privileges and currently is not permitted in jails.
makefs -t zfs also provides reproducible images by using a fixed seed
for pseudo-random number generation, used for generating GUIDs and hash
salts. makefs -t zfs requires relatively little by way of machine
resources.

The "zpool_reguid" rc.conf setting can be used to ask a FreeBSD guest to
generate a unique pool GUID upon first boot.

A small number of pool and dataset properties are supported. The pool
is backed by a single disk vdev. Data is always checksummed using
Fletcher-4, no redundant copies are made, and no compression is used.
The manual page documents supported pool and filesystem properties.

The implementation uses a few pieces of ZFS support from with the boot
loader, especially definitions for various on-disk structures, but is
otherwise standalone and in particular doesn't depend on OpenZFS.

This feature should be treated as experimental for now, i.e., important
data shouldn't be trusted to a makefs-created pool, and the command-line
interface is subject to change.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35248

show more ...


# da125556 22-Jul-2025 Toomas Soome <tsoome@FreeBSD.org>

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitializ

makefs: clean up warnings

zfs/fs.c:
zfs/objset.c:
zfs/vdev.c:
zfs/zap.c:
Add include sys/param.h

dsl_dir_alloc() needs to set parent = NULL to silence warning
about 'parent' may be used uninitialized. Warning is given because
we break the loop when nextdir == NULL and parent was not previously set.
(it should not happen, but compiler does not know that).

zap_add() and zap_fat_write_array_chunk() takes uint8_t *, use type
cast.

zap_fat_write_array_chunk() should check sz for 0 to avoid
use of uninitialized pointer.

unchecked function returns.

Reviewed by: markj
Differential revision: https://reviews.freebsd.org/D51592

show more ...


# ef067b57 23-Oct-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Update dd_used_breakdown after writing the MOS

Fixes: 96092bf9108c ("makefs/zfs: Fill out dd_used_breakdown fields in DSL directories")
Sponsored by: The FreeBSD Foundation


# 46402fd2 27-Sep-2023 Mark Johnston <markj@FreeBSD.org>

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sp

makefs/zfs: Set the objset block pointer fill field correctly

It is supposed to contain the number of objects allocated from the set,
excluding the meta dnode.

Reported by: mav
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

show more ...


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


# c6890399 18-Aug-2022 Jessica Clarke <jrtc27@FreeBSD.org>

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux

makefs: Fix issues building as a cross-tool on non-FreeBSD

This adds missing includes, uses the standard dirent.h rather than the
BSD-specific sys/dirent.h subset (which works on macOS but not Linux)
and works around Linux's lack of st_birthtim.

This allows usr.sbin/makefs to be added to LOCAL_XTOOL_DIRS again on
macOS and Linux so that disk images can be cross-built.

Reviewed by: markj
Fixes: 240afd8c1fcc ("makefs: Add ZFS support")
Differential Revision: https://reviews.freebsd.org/D36135

show more ...


# 4f816f5b 16-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
count

makefs: Fix space accounting for the root DSL directory

Space used by the MOS is summed after all on-disk data structures are
finalized, so the MOS DSL directory represents a special case when
counting bytes used for each directory. The DSL layer failed to update
the MOS DSL directory's parent, the root directory, accordingly, so the
root directory reported less space used than was used in reality. Be
careful to update the root directory after the MOS is finalized.

PR: 265849
Sponsored by: The FreeBSD Foundation

show more ...


# 240afd8c 05-Aug-2022 Mark Johnston <markj@FreeBSD.org>

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is

makefs: Add ZFS support

This allows one to take a staged directory tree and create a file
consisting of a ZFS pool with one or more datasets that contain the
contents of the directory tree. This is useful for creating virtual
machine images without using the kernel to create a pool; "zpool create"
requires root privileges and currently is not permitted in jails.
makefs -t zfs also provides reproducible images by using a fixed seed
for pseudo-random number generation, used for generating GUIDs and hash
salts. makefs -t zfs requires relatively little by way of machine
resources.

The "zpool_reguid" rc.conf setting can be used to ask a FreeBSD guest to
generate a unique pool GUID upon first boot.

A small number of pool and dataset properties are supported. The pool
is backed by a single disk vdev. Data is always checksummed using
Fletcher-4, no redundant copies are made, and no compression is used.
The manual page documents supported pool and filesystem properties.

The implementation uses a few pieces of ZFS support from with the boot
loader, especially definitions for various on-disk structures, but is
otherwise standalone and in particular doesn't depend on OpenZFS.

This feature should be treated as experimental for now, i.e., important
data shouldn't be trusted to a makefs-created pool, and the command-line
interface is subject to change.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35248

show more ...