overlay: Enable character device to be the base fs partition
authorZhihao Cheng <chengzhihao1@huawei.com>
Wed, 25 Sep 2019 06:35:33 +0000 (14:35 +0800)
committerEryu Guan <guaneryu@gmail.com>
Wed, 25 Sep 2019 09:29:39 +0000 (17:29 +0800)
commit4cec72bb1691e446750d09824d3f478f510c0144
tree329633fa05a0d780dc684ed07932a7670fb1327d
parent0fd43f3f4bd7b6800e876fafdd26a3d9dd82ff47
overlay: Enable character device to be the base fs partition

When running overlay tests using character devices as base fs partitions,
all overlay usecase results become 'notrun'. Function
'_overay_config_override' (common/config) detects that the current base
fs partition is not a block device and will set FSTYP to base fs. The
overlay usecase will check the current FSTYP, and if it is not 'overlay'
or 'generic', it will skip the execution.

For example, using UBIFS as base fs skips all overlay usecases:

  FSTYP         -- ubifs       # FSTYP should be overridden as 'overlay'
  MKFS_OPTIONS  -- /dev/ubi0_1 # Character device
  MOUNT_OPTIONS -- -t ubifs /dev/ubi0_1 /tmp/scratch

  overlay/001 [not run] not suitable for this filesystem type: ubifs
  overlay/002 [not run] not suitable for this filesystem type: ubifs
  overlay/003 [not run] not suitable for this filesystem type: ubifs

When checking that the base fs partition is a block/character device,
FSTYP is overwritten as 'overlay'. This patch allows the base fs
partition to be a character device that can also execute overlay
usecases (such as ubifs).

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/config
common/rc