[LTP] [PATCH] commands/mkswap01: Update wait_for_file function
Shuang Qiu
shuang.qiu@oracle.com
Wed Mar 2 07:20:47 CET 2016
Hi Stanislav,
Thanks for review.
I agree your comments and will submit another patch.
Thanks
Shuang
On 02/26/2016 09:42 PM, Stanislav Kholmanskikh wrote:
> Hi!
>
> Sorry for my spam in [1], [2]. My brain barely functioned on
> yesterday's evening. Now I understand that calling blkid is the right
> choice to check whether a block device exists. :-[
>
> Both blkid, mkswap, swapon use libblkd (and take into account settings
> in blkid.conf), so if blkid finds the device, then mkswap, swapon will
> find it as well.
>
>
> On 01/29/2016 06:56 PM, shuang.qiu@oracle.com wrote:
>> From: Shuang Qiu <shuang.qiu@oracle.com>
>>
>> In commit a76b72ad31fa7bb22a09f323dadd5db7c00c7f56,it depends on the
>> files
>> under /dev/disk/by-* in wait_for_file function.But sometimes udev
>> does not
>> refresh automatically during runtime and the symbolic links will not
>> appear.
>> Update the function to use blkid instead.
>
> checkpatch.pl warns about the style of the commit reference.
>
> Maybe add here that blkid (since it uses libblkid as mkswap, swapon
> does) is sufficient to check the availability of block devices,
> whereas explicit checking of /dev/disk/by-* should be avoided where
> possible (man 8 blkid) ?
>
> Plus one more comment below.
>
>>
>> Signed-off-by: Shuang Qiu <shuang.qiu@oracle.com>
>> ---
>> testcases/commands/mkswap/mkswap01.sh | 25 +++++++++++++------------
>> 1 file changed, 13 insertions(+), 12 deletions(-)
>>
>> diff --git a/testcases/commands/mkswap/mkswap01.sh
>> b/testcases/commands/mkswap/mkswap01.sh
>> index ae4c98a..fdfc712 100755
>> --- a/testcases/commands/mkswap/mkswap01.sh
>> +++ b/testcases/commands/mkswap/mkswap01.sh
>> @@ -46,25 +46,26 @@ cleanup()
>> tst_rmdir
>> }
>>
>> -wait_for_file()
>> +wait_for_device()
>> {
>> - local path="$1"
>> + local token="$1"
>> local retries=10
>>
>> - if [ -z "$path" ]; then
>> + if [ -z "$token" ]; then
>> return
>> fi
>>
>> while [ $retries -gt 0 ]; do
>> - if [ -e "$path" ]; then
>> + blkid -t "$token" $TST_DEVICE >/dev/null
>> + if [ $? -eq 0 ]; then
>> return
>> fi
>> - tst_resm TINFO "Waiting for $path to appear"
>> + tst_resm TINFO "Waiting for device $token prepared"
>> retries=$((retries - 1))
>> tst_sleep 10ms
>> done
>>
>> - tst_resm TWARN "The file $path haven't appeared"
>> + tst_resm TWARN "The device $token haven't prepared"
>
> Since we rely on blkid for device availability checking, maybe change
> TWARN to TBROK here?
>
>
>> }
>>
>> mkswap_verify()
>> @@ -72,7 +73,7 @@ mkswap_verify()
>> local mkswap_op="$1"
>> local op_arg="$2"
>> local swapfile="$3"
>> - local dev_file="$5"
>> + local token="$5"
>>
>> local before=`awk '/SwapTotal/ {print $2}' /proc/meminfo`
>>
>> @@ -84,7 +85,7 @@ mkswap_verify()
>> local pagesize=$PAGE_SIZE
>> fi
>>
>> - wait_for_file "$dev_file"
>> + wait_for_device "$token"
>>
>> swapon $swapfile 2>/dev/null
>>
>> @@ -138,7 +139,7 @@ mkswap_test()
>> local op_arg="$2"
>> local device="$3"
>> local size="$4"
>> - local dev_file="$5"
>> + local token="$5"
>>
>> local mkswap_cmd="mkswap $mkswap_op $op_arg $TST_DEVICE $size"
>>
>> @@ -156,7 +157,7 @@ mkswap_test()
>> fi
>>
>> if [ -n "$device" ]; then
>> - mkswap_verify "$mkswap_op" "$op_arg" "$device" "$size"
>> "$dev_file"
>> + mkswap_verify "$mkswap_op" "$op_arg" "$device" "$size" "$token"
>> if [ $? -ne 0 ]; then
>> tst_resm TFAIL "'${mkswap_cmd}' failed, not expected."
>> return
>> @@ -173,9 +174,9 @@ mkswap_test "" "" "$TST_DEVICE"
>> "$((DEVICE_SIZE-10000))"
>> mkswap_test "-f" "" "$TST_DEVICE" "$((DEVICE_SIZE+10000))"
>> mkswap_test "-c" "" "$TST_DEVICE"
>> mkswap_test "-p" "2048" "$TST_DEVICE"
>> -mkswap_test "-L" "ltp_testswap" "-L ltp_testswap" ""
>> "/dev/disk/by-label/ltp_testswap"
>> +mkswap_test "-L" "ltp_testswap" "-L ltp_testswap" ""
>> "LABEL=ltp_testswap"
>> mkswap_test "-v1" "" "$TST_DEVICE"
>> -mkswap_test "-U" "$UUID" "-U $UUID" "" "/dev/disk/by-uuid/$UUID"
>> +mkswap_test "-U" "$UUID" "-U $UUID" "" "UUID=$UUID"
>> mkswap_test "-V"
>> mkswap_test "-h"
>>
>>
More information about the ltp
mailing list