[LTP] [PATCH v4 2/4] zram/zram_lib.sh: adapt the situation that zram device is being used

xuyang2018.jy@fujitsu.com xuyang2018.jy@fujitsu.com
Fri Dec 17 10:34:57 CET 2021


Hi Petr
> Hi Xu,
>
>> If zram-generator package is installed and works, then we can not remove zram module
>> because zram swap is being used. This case needs a clean zram environment, change this
>> test by using hot_add/hot_remove interface[1]. So even zram device is being used, we
>> still can add zram device and remove them in cleanup.
>
> BTW this was added in v4.2-rc1 (6 years ago, 6566d1a32bf7 ("zram: add dynamic
> device add/remove functionality")). Hopefully anybody still supporting older
> kernels is using old LTP for it.
Oh, I don't realize it before. I tested it on centos7 then I think this 
control interface maybe introduced long time ago.

To be honst, I don't want to make this case more complex. How about 
adding  /sys/class/zram-control check after load zram module. If not, 
just report  case needs to use hot_add/hot_remove interface .

Old kernel can use old ltp since it is 4.2 not like 4.4 4.19(they are 
long stable branch, we should consider them).

>
>> Also, zram01,02 case are adjuested to adapt the situation that CONFIG_ZRAM=y.
> Very nice, thanks!
>
> Reviewed-by: Petr Vorel<pvorel@suse.cz>
>
>> 1]https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html#add-remove-zram-devices
> nit: [1] https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html#add-remove-zram-devices
>
> ...
>> -	modprobe zram num_devices=$dev_num || \
>> -		tst_brk TBROK "failed to insert zram module"
>> +	if [ ! -d "/sys/class/zram-control" ]; then
>> +		modprobe zram num_devices=$dev_num
>> +		module_load=1
>> +		dev_start=0
>> +		dev_end=$(($dev_num - 1))
>> +		tst_res TPASS "all zram devices(/dev/zram0~$dev_end) successfully created"
> nit: please all zram devices (/dev/zram0~$dev_end) ... (add space after devices)
OK
>> +		return
>> +	fi
>
>> -	dev_num_created=$(ls /dev/zram* | wc -w)
>> +	dev_start=$(ls /dev/zram* | wc -w)
>> +	dev_end=$(($dev_start + $dev_num - 1))
>
>> -	if [ "$dev_num_created" -ne "$dev_num" ]; then
>> -		tst_brk TFAIL "unexpected num of devices: $dev_num_created"
>> -	fi
>> +	for i in $(seq  $dev_start $dev_end); do
>> +		cat /sys/class/zram-control/hot_add>  /dev/null
>> +	done
>
>> -	tst_res TPASS "all zram devices successfully created"
>> +	tst_res TPASS "all zram devices(/dev/zram$dev_start~$dev_end) successfully created"
> and here.
OK

Best Regards
Yang Xu
>
> Kind regards,
> Petr


More information about the ltp mailing list