generic: add testcase to test fallocate & f{data,}sync
f2fs can skip isize updating in fsync(), since during mount, f2fs
tries to recovery isize according to valid block address or
preallocated flag in last fsynced dnode block.
However, fallocate() breaks our rule with setting
FALLOC_FL_KEEP_SIZE flag, since it can preallocated block cross EOF,
once the file is fsynced, in POR, we will recover isize incorrectly
based on these fallocated blocks.
This patch adds a new testcase to test fallocate, in order to verify
whether filesystem will do correct recovery on isize.