The filesystem implementation uses libe2fs for accessing filesystem, so it should work well on all filesystems.
You can specify a lot of parameters for export. You need not to worry about import parameters, because almost all of them are autodetected. The only exception is codepage for imported and exported file names.
number 1024|2048|4096, import, export. Specifies the filesystem block-size. Every non-empty file will be at least block_size bytes long. If you want to force this parameter for exported filesystem, set the value here and set force_block_size parameter, else surprise is allowed choose the best value. The next 2 parameters can be forced by simmilar way.
number, import, export. Specifies the maximal count of inodes that could be created in filesystem. This parameter is redundant because of bytes_per_inode. You can look at booth of them and force any of them.
number 1024..256*1024, import, export. Specifies the inode `density'. Usuall value is about 4096/8192.
number 256..8*block_size, import, export. You can force this value by setting it to nonzero value, but I advise you not to do so.
number 0..50, import, export. Specifies the amount of space of partition reserved for root to not allow users waste the free space. Usuall value is 5 percent.
number, import, export. Specifies how often
e2fsck. After max_mount_count mounts the filesystem
will be checked.
time in seconds, import, export. Almost the same as max_mount_count, but the time after the fsck is performed is specified.
continue|read-only|panic, import, export. What should operation system do in init scripts when it discovers the filesystem is corrupted.
string up to 16 characters long, import, export. Here you can describe your volume.
string, import (must be forced), export. Specifies the codepage used for filenames. You must set it to proper value, at example iso-8859-2,... Unfortunately ext2 doesn't support UniCode file names at the default. It is possible to set the codepage to UTF-8, but very few utilities support it. The default value is ISO-8859-1.
boolean, export. If you set this parameter, the block_size value is forced to created filesystem. If surprise is unable to create such filesystem, it will print an error. If you unset this, surprise will try to use the given value at first and try to other possible value then.
none|inodes_count|bytes_per_inode, export. Here you set how to force maximal count of inodes of created filesystem.
Parameters reserved_percent, max_mount_count, check_interval, error_handling, volume_name can be modified without rebuilding the whole filesystem. If surprise detects only these parameters (plus service parameters force_*) are changed, it will just modify the superblock.
Don't forget to set the codepage parameter to correct value else your file names containing national characters become corrupted.