[LTP] [PATCH v4 4/9] tst_supported_fs: Support skip list when query single fs

Martin Doucha mdoucha@suse.cz
Fri Sep 9 16:15:44 CEST 2022


On 09. 09. 22 13:33, Petr Vorel wrote:
>> Hi!
>>>>> +++ b/lib/tst_supported_fs_types.c
>>>>> @@ -134,6 +134,24 @@ enum tst_fs_impl tst_fs_is_supported(const char *fs_type)
>>>>>   	return TST_FS_UNSUPPORTED;
>>>>>   }
> 
>>>>> +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char
>>>>> +					      *const *skiplist)
>>>>> +{
>>>>> +	int ret;
>>>>> +
>>>>> +	ret = tst_fs_is_supported(fs_type);
>>>>> +
>>>>> +	if (!ret)
>>>>> +		return ret;
>>>>> +
>>>>> +	if (tst_fs_in_skiplist(fs_type, skiplist)) {
>>>>> +		tst_brk(TCONF, "%s is not supported by the test",
>>>>> +			fs_type);
> 
>>>> I would expect to return TST_FS_UNSUPPORTED here. It's a bit hacky
>>>> solution to exit a library call with tst_brk(TCONF, "");

I agree with that. Return a status code from 
tst_fs_is_supported_skiplist() and raise TCONF somewhere higher in the 
call chain.

>>> +++ b/include/tst_fs.h
>>> @@ -171,7 +171,8 @@ int tst_fill_file(const char *path, char pattern, size_t bs, size_t bcount);
>>>   int tst_prealloc_file(const char *path, size_t bs, size_t bcount);
> 
>>>   enum tst_fs_impl {
>>> -       TST_FS_UNSUPPORTED = 0,
>>> +       TST_FS_UNSUPPORTED = -2,
>>> +       TST_FS_SKIPPED_BY_TEST = -1,
> 
>> Maybe just TST_FS_SKIPPED
> 
>>>          TST_FS_KERNEL = 1,
>>>          TST_FS_FUSE = 2,
>>>   };
> 
>> I wonder though if we really care about the difference between
>> unsupported and skipped. Maybe just print TINFO message in case of the
>> skipped filesystem and return zero in both cases? And maybe rename
>> TST_FS_UNSUPPORTED to TST_FSNOT_USED.
> 
> I thought being precise why there is TCONF would help, but users will just read
> previous TINFO messages.
> 
> Having just single "error" enum constant, I'm OK to keep TST_FS_UNSUPPORTED
> (unless anybody really think renaming it to TST_FS_NOT_USED would be better).

I'd like to see why exactly a filesystem was skipped so I prefer two 
enum values. Though I'd name them TST_FS_UNAVAILABLE (missing mkfs or 
kernel support) and TST_FS_UNSUPPORTED (disabled by test skiplist).

-- 
Martin Doucha   mdoucha@suse.cz
QA Engineer for Software Maintenance
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic



More information about the ltp mailing list