History log of /openbsd-current/usr.sbin/makefs/ffs.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.39 09-Jan-2024 guenther

Delete support for FFS filesystems before the in-inode symlink
optimization. As observed by ali_farzanrad(at)riseup.net, support
for these was broken in the 5.5 release in early 2014 by the time_t
changes. No one noticed before now, so clearly this isn't something
we need to continue to support; rejecting in ffs_validate() is an
improvement.

Also: simplify DIRSIZ(), drop OLDDIRFMT and NEWDIRFMT, tests of
fs_maxsymlinklen against zero, #ifdef tests of FS_44INODEFMT, and
remove support for newfs -O0, last used in 2016.

ok miod@


Revision tags: OPENBSD_7_4_BASE
# 1.38 08-Aug-2023 guenther

Replace use of the old BSD st_*timensec members in struct stat with
the POSIX-standard st_*tim.tv_nsec members.

ok millert@


# 1.37 25-Apr-2023 krw

Add option 'rdroot' to simplify creation of rdroot filesystems for the install
media.

No functional change to existing behaviour.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.36 11-Jan-2022 jsg

spelling


# 1.35 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.38 08-Aug-2023 guenther

Replace use of the old BSD st_*timensec members in struct stat with
the POSIX-standard st_*tim.tv_nsec members.

ok millert@


# 1.37 25-Apr-2023 krw

Add option 'rdroot' to simplify creation of rdroot filesystems for the install
media.

No functional change to existing behaviour.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.36 11-Jan-2022 jsg

spelling


# 1.35 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.37 25-Apr-2023 krw

Add option 'rdroot' to simplify creation of rdroot filesystems for the install
media.

No functional change to existing behaviour.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.36 11-Jan-2022 jsg

spelling


# 1.35 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.36 11-Jan-2022 jsg

spelling


# 1.35 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.35 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.34 06-Oct-2021 deraadt

annotate all required sys/param.h uses with what they bring into scope,
and delete all others. use PATH_MAX and other standardized symbols instead
of prehistoric kernel-only names, create local MINIMUM/MAXIMUM macros where
required, and directly include standard userland .h files as required.


Revision tags: OPENBSD_7_0_BASE
# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.33 01-Sep-2021 deraadt

remove sys/param.h use (few small repairs)


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


# 1.32 09-Apr-2020 krw

No need to check for NULL before free().

From Geoff Hill.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.31 21-Jan-2017 natano

Use MD disklabel position.


# 1.30 17-Dec-2016 krw

While here nuke some more annoying whitespace nits.


# 1.29 17-Dec-2016 krw

Nuke unused variable and some extra whitespace.

ok natano@


# 1.28 14-Nov-2016 natano

disklabel -w doesn't set bstart/bend, so makefs shouldn't do that either.


# 1.27 13-Nov-2016 natano

Pick up the FS image size, the sector size and the bsize and fsize
parameters from the disklabel.

discussed with deraadt


# 1.26 11-Nov-2016 natano

Clean up FFS option handling somewhat; no functional change.


# 1.25 11-Nov-2016 natano

Optimize for space by default.
ok deraadt


# 1.24 10-Nov-2016 natano

Sync bsize and fsize defaults with newfs.


# 1.23 10-Nov-2016 natano

Remove the unused cpg field from ffs_opt_t.


# 1.22 08-Nov-2016 natano

Respect -Ooffset for the disklabel location.


# 1.21 08-Nov-2016 natano

Add a disklabel option that creates a disklabel with the info provided
by disktab. This is one piece of the puzzle that will allow use to build
install media without vnd.

ok deraadt


# 1.20 06-Nov-2016 natano

Remove unused fields from ffs_opt_t.


# 1.19 26-Oct-2016 natano

s/EXIT_FAILURE/1/


# 1.18 26-Oct-2016 natano

Remove FS-specific option descriptions from the source code. We have a
manual for that. While there document the isolevel option and remove
some dysfunctional cd9660 options.


# 1.17 23-Oct-2016 natano

Remove short option names for -o.


# 1.16 22-Oct-2016 natano

Get rid of remaining FFS byteswap function stubs.


# 1.15 22-Oct-2016 natano

Clean up timestamp handling code to be less confusing.


# 1.14 22-Oct-2016 natano

Remove huge amounts of debug code, that make the code nearly unreadable.


# 1.13 22-Oct-2016 natano

s/panic/errx/ This is userland.


# 1.12 22-Oct-2016 natano

Include our own <ufs/ufs/dinode.h>, <ufs/ufs/dir.h> and <ufs/ffs/fs.h>
header files instead of relying on copies of NetBSD's headers. This
required some changes in the .c files, due to renamed fields, functions
and preprocessor macros. Also pull in our own ffs_tables.c. As a bonus
this diff gets rid of layout compatibility issues in the superblock
(position of the fs_flags field).


# 1.11 22-Oct-2016 natano

Use deterministic pseudo-random numbers when the -T flag is used; for
repeatable builds.


# 1.10 18-Oct-2016 natano

Merge ufs/{ufs,ffs}/ into ffs/.


# 1.9 17-Oct-2016 natano

Remove "feature" defines. This code won't try to be portable when we are
done hacking it.


# 1.8 17-Oct-2016 tedu

mechanical rename of vnode to mkfsvnode and buf to mkfsbuf to avoid
collisions with the kernel structures of the same name.
caught one bug where the wrong header was being included.


# 1.7 16-Oct-2016 tedu

remove swapping add macros


# 1.6 16-Oct-2016 tedu

remove some byte swapping code from the top end


# 1.5 16-Oct-2016 tedu

/* XXX bounds checking! */
very crudely fix a few strcpy and sprintf warnings.
leave the quality warnings.


# 1.4 16-Oct-2016 natano

Remove the -Z (spare ffs image) option.


# 1.3 16-Oct-2016 natano

Add OpenBSD RCS tags; reminded by tb


# 1.2 16-Oct-2016 natano

Unused includes, as reported by include-what-you-use from ports.


# 1.1 16-Oct-2016 natano

Import makefs - a tool to create filesystem images from a directory.

This is a rough port of the NetBSD tool with some features removed we
don't need. It compiles, but I don't promise anything more. Importing
now, so we can hack on it in tree.

The supported filesystem types are: cd9660, ffs and msdosfs.

ok deraadt