#
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.
|