dprepresize

Prepare a Power-Safe (fs-qnx6.so) filesystem for resizing

Syntax:

dprepresize [options] device

Runs on:

QNX Neutrino

Options:

-b num
Relocate allocations that are beyond this boundary to a lower allocation. The units are in logical blocks.
-d
A test mode that relocates all allocations to the lowest available allocation.
-t
A test mode that doesn't make changes to the media that would cause chkqnx6fs to fail.
-v level
Set the level of verbosity:
  • 0: quiet mode (the default)
  • 1: normal mode
  • 2: debug output
device
The name of the file or device to operate against.

Description:

The dprepresize utility prepares a Power-Safe (fs-qnx6.so) filesystem for resizing later with dresize to fit potentially smaller media than was specified at creation time.

These tools let you use a large disk when you create the starting image and then load the image onto a smaller disk. When you load the image on a smaller device, the allocation tables will be too large, so you can then use the resizing tool to shrink the size of the bitmap and accompanying metadata, and update the superblocks with information that's valid for the smaller disk.

The dprepresize tool takes a command-line argument referred to as a boundary. Any allocated blocks that are above that boundary are relocated to something below it. This ensures that an image can fit on the smallest targeted device.

The first time you boot the system, you can run dresize. If the signature in the superblock indicates that the disk needs to be resized, the resizing operation starts. Once the size of the disk is known, the bitmap is resized, and the metadata is updated to reflect the new bitmap size. Both superblocks are then updated with the correct total blocks, free blocks, allocation groups, etc. Finally, a new header block is written with the correct superblock locations.

Examples:

Prepare a filesystem for resizing:

dprepresize -b811056 /dev/hd0t178

View the phases the tool is performing:

dprepresize -v1 -b811056 /dev/hd0t178

Should pass chkqnx6fs after running:

dprepresize -t -v1 -b811056 /dev/hd0t178

Test relocating all allocations:

dprepresize -d -t -v1 -b811056 /dev/hd0t178