Emulator Dump
edidump is a emulator-level tool that pretty-prints the data structure that maintains the state of all the bands on the shingled disk. It prints the usage of the bands in terms of number of blocks and hence also implicitly indicates the position of the cursor of the corresponding band (i.e. the point in the band beyond which the future writes will take place).
edidump can be run in the following ways:
- In case you are running a standard version of SMRfs (i.e. NOT on a RAW device), then the way to run it is - edidump <Path to image file created by the emulator>
- In case you are running on a RAW device, since the metadata is separately maintained, the way to edidump is - edidump <Path to metadata file created by emulator> <Path to the raw device node used as the shingled disk>
Aging of a file system is very crucial, especially when it has to benchmarked. We have built an aging tool that makes a series of file creates / deletes according to a distribution. It gets built along with SMRfs and resides in the directory
- smr-disks/src/test/aging. It has a wrapper script
age.sh that runs the actual utility which is called
agedisk. By default 100,000 operations (a combination of creates and deletes in a ratio of 4:1) are performed. The number of operations can be changed via a command line to the script while the ratio of creates:deletes can be changed via the aging.h. There are 2 files in the same directory,
create.txt and
delete.txt. These files contain the weights for the creates and deletes to be performed (essentially to characterize the distribution). These files can be changed to modify the distribution characteristics. The format of these files is specified in these files itself. Default invocation of the aging tool can be performed by running the script
age.sh. Please ensure that the mount point of the shingled partition and that the names of the create and delete files are correclty set in the script before running the script.