devb-cnd
Condensed media image block device driver (QNX OS)
Syntax:
devb-cnd [blk option[,option]...]
[cnd option[,option]...] &
Runs on:
(QNX OS)
Options:
- blk options
- The blk options control io-blk.so. If specified, they must follow the blk keyword.
- cnd options
- blksz=size
- Override the device blocksize. The default is 512 bytes.
- dll=dll
- The key provider dll used for decryption.
- fd=filename
- The name of the condensed file.
- ncc=num
- The number of cluster-cache entries. The default is 16.
- nio=num
- The number of async I/O threads. The default is 1.
- pass=passwd
- The password used for decryption.
- pfx=prefix
- The device name prefix. The default is cnd .
Description:
The devb-cnd driver is the driver for the condensed media image block device.
The uncondensed content in a condensed image is presented as a raw block device using the devb-cnd driver. The block device can be mounted like an ordinary filesystem partition. The device will always be read-only because the underlying condensed file must not be altered.
To read a given block from the block device, devb-cnd looks up the block's location in the extents table. If no extent in the file covers any part of the requested block, it returns a block of zeroes. If there are one or more extents that cover the requested area, the data is read into the appropriate areas of the returned block. The driver looks at the cluster information recorded in each extent descriptor. Using this information, it gets the positions and sizes of the required clusters in the file. The necessary clusters are then read, decrypted, verified, and uncompressed. Finally, the requested portions from the raw clusters are copied to the returned block.
If you want to mount a condensed filesystem, the optimal cluster size is most likely equal to or smaller than your average read size. Reading even a single byte from one cluster will require processing the entire cluster.