History log of /dragonfly/usr.sbin/makefs/walk.c (Results 1 – 6 of 6)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 917508cd 08-Jun-2023 Tomohiro Kusumi <tkusumi@netbsd.org>

usr.sbin/makefs: Add HAMMER2 offline destroy support

The offline destroy takes HAMMER2 specific "-o D" option.
`image-file` argument is a valid HAMMER2 image file or block device.
`directory` argume

usr.sbin/makefs: Add HAMMER2 offline destroy support

The offline destroy takes HAMMER2 specific "-o D" option.
`image-file` argument is a valid HAMMER2 image file or block device.
`directory` argument is unused, but needs to be a valid path or "--".

e.g.
$ makefs -t hammer2 -o D=/a.out /dev/adx --
$ makefs -t hammer2 -o D=1234 /path/to/hammer2.img --

The "-o D" option reuires file path or inode number argument.
- If it's a file path, optarg must start with '/'.
- If it's an inum, optarg must start with "0x" or '0'-'9'.
Note that destroy by inum seems broken not only in makefs, but also
in real HAMMER2 ioctl.

show more ...


# afa5234b 07-Jun-2023 Tomohiro Kusumi <tkusumi@netbsd.org>

usr.sbin/makefs: Add HAMMER2 offline growfs support

The offline growfs takes HAMMER2 specific "-o G" option.
`image-file` argument is a valid HAMMER2 image file or block device.
`directory` argument

usr.sbin/makefs: Add HAMMER2 offline growfs support

The offline growfs takes HAMMER2 specific "-o G" option.
`image-file` argument is a valid HAMMER2 image file or block device.
`directory` argument is unused, but needs to be a valid path or "--".

e.g.
$ makefs -t hammer2 -o G /dev/adx --
$ makefs -t hammer2 -o G /path/to/hammer2.img --

By default expands volume to image file or block device size.
If -s option is specified, use that size.
No shrink support in the same way hammer2(8) growfs doesn't.

show more ...


# a63188c8 03-Jun-2023 Tomohiro Kusumi <tkusumi@netbsd.org>

usr.sbin/makefs: Add HAMMER2 offline bulkfree support

Since makefs HAMMER2 implements the entire HAMMER2 logic in userspace
with selected vops using single threaded xops, it's actually trivial
to su

usr.sbin/makefs: Add HAMMER2 offline bulkfree support

Since makefs HAMMER2 implements the entire HAMMER2 logic in userspace
with selected vops using single threaded xops, it's actually trivial
to support other operations, e.g. HAMMER2 ioctls.

This commit adds bulkfree (free unreferenced blocks by scanning the
entire data chains from vchain) option to makefs. Unlike the existing
hammer2(8) "bulkfree" directive which requires live filesystem, this
option enables offline bulkfree against unmounted HAMMER2 image.

The offline bulkfree takes HAMMER2 specific "-o B" option. When this
option is specified, makefs runs offline bulkfree against `image-file`
argument instead of creating one, hence it must be a valid HAMMER2
image. `image-file` can be either a regular file or block device.
Unlike normal use case, `directory` argument is unused, but it's
still required. It can be any valid path or simply "--".

e.g.
$ makefs -t hammer2 -o B /dev/adx --
$ makefs -t hammer2 -o B /path/to/hammer2.img --

Technically, all HAMMER2 ioctls can be implemented in makefs as
offline version, but "bulkfree" and "growfs" are probably the only
hammer2(8) directives that make sense to exist as offline version.

Note that the limitation regarding OOM mentioned in 2d60b848f2 also
applies to bulkfree, i.e. makefs(8) could fail with partially written
`image-file` if it contains insane number of files or directories.

show more ...


Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# cc2bbe1f 24-May-2020 Sascha Wildner <saw@online.de>

Clean up a few things after moving fparseln() to libc.

* mount_msdos: libutil.h's inclusion can now be sorted.

* mailwrapper: libutil is no longer needed.

* mtree: libutil is no longer needed eith

Clean up a few things after moving fparseln() to libc.

* mount_msdos: libutil.h's inclusion can now be sorted.

* mailwrapper: libutil is no longer needed.

* mtree: libutil is no longer needed either but when mtree is built
as a bootstrap tool, we must make sure that the host's libc is
sufficiently recent.

* makefs: makefs was relying on mtree's extern.h (which it includes)
to bring in libutil.h. Add an explicit #include to makefs, now
that mtree no longer needs libutil.

show more ...


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# 811c2036 10-Feb-2019 Sascha Wildner <saw@online.de>

makefs(8): DragonFly porting.

Some notes:

* UFS2 support has been disabled for now. It would require more UFS2
related pieces in our UFS kernel headers. I might look at enabling
this in the fut

makefs(8): DragonFly porting.

Some notes:

* UFS2 support has been disabled for now. It would require more UFS2
related pieces in our UFS kernel headers. I might look at enabling
this in the future.

* Our CGSIZE() macro causes issues when used in makefs(8), which is
why I'm using FreeBSD's currently.

* makefs(8) uses a local daddr_t type which is 64 bits wide, since
ours is 32 bits.

* I added cg_blks() and cg_blktot() calls in a few places because
our fsck(8) checks them in pass 5. I'm not sure if the associated
fields are actually needed anymore.

show more ...


# 5978408c 10-Feb-2019 Sascha Wildner <saw@online.de>

Bring in most of makefs(8) from FreeBSD unchanged.

To create filesystem images without kernel involvement. We can use it
to create our initrd without needing vn(4).

Originally from NetBSD.