* [PATCH] kunit: fat: test cluster and directory i_pos layout helpers
@ 2026-04-05 1:19 Adi Nata
2026-04-05 5:18 ` OGAWA Hirofumi
0 siblings, 1 reply; 5+ messages in thread
From: Adi Nata @ 2026-04-05 1:19 UTC (permalink / raw)
To: hirofumi; +Cc: linux-kernel, Adi Nata
Add KUnit coverage for fat_clus_to_blknr() and fat_get_blknr_offset()
using stub msdos_sb_info values so cluster-to-sector and i_pos split
math stays correct.
Signed-off-by: Adi Nata <adinata.softwareengineer@gmail.com>
---
fs/fat/fat_test.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/fs/fat/fat_test.c b/fs/fat/fat_test.c
index 1f0062659067..add44178f28e 100644
--- a/fs/fat/fat_test.c
+++ b/fs/fat/fat_test.c
@@ -20,6 +20,37 @@ static void fat_checksum_test(struct kunit *test)
KUNIT_EXPECT_EQ(test, fat_checksum("ABCDEFGHA "), (u8)98);
}
+static void fat_clus_to_blknr_test(struct kunit *test)
+{
+ struct msdos_sb_info sbi = {
+ .sec_per_clus = 4,
+ .data_start = 100,
+ };
+
+ KUNIT_EXPECT_EQ(test, (sector_t)100,
+ fat_clus_to_blknr(&sbi, FAT_START_ENT));
+ KUNIT_EXPECT_EQ(test, (sector_t)112, fat_clus_to_blknr(&sbi, 5));
+}
+
+static void fat_get_blknr_offset_test(struct kunit *test)
+{
+ struct msdos_sb_info sbi = {
+ .dir_per_block = 16,
+ .dir_per_block_bits = 4,
+ };
+
+ sector_t blknr;
+ int offset;
+
+ fat_get_blknr_offset(&sbi, 0, &blknr, &offset);
+ KUNIT_EXPECT_EQ(test, (sector_t)0, blknr);
+ KUNIT_EXPECT_EQ(test, 0, offset);
+
+ fat_get_blknr_offset(&sbi, (10 << 4) | 7, &blknr, &offset);
+ KUNIT_EXPECT_EQ(test, (sector_t)10, blknr);
+ KUNIT_EXPECT_EQ(test, 7, offset);
+}
+
struct fat_timestamp_testcase {
const char *name;
struct timespec64 ts;
@@ -181,6 +212,8 @@ static void fat_time_unix2fat_test(struct kunit *test)
static struct kunit_case fat_test_cases[] = {
KUNIT_CASE(fat_checksum_test),
+ KUNIT_CASE(fat_clus_to_blknr_test),
+ KUNIT_CASE(fat_get_blknr_offset_test),
KUNIT_CASE_PARAM(fat_time_fat2unix_test, fat_time_gen_params),
KUNIT_CASE_PARAM(fat_time_unix2fat_test, fat_time_gen_params),
{},
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] kunit: fat: test cluster and directory i_pos layout helpers
2026-04-05 1:19 [PATCH] kunit: fat: test cluster and directory i_pos layout helpers Adi Nata
@ 2026-04-05 5:18 ` OGAWA Hirofumi
2026-04-13 3:06 ` OGAWA Hirofumi
0 siblings, 1 reply; 5+ messages in thread
From: OGAWA Hirofumi @ 2026-04-05 5:18 UTC (permalink / raw)
To: Christian Brauner; +Cc: Adi Nata, linux-kernel, linux-fsdevel
Adi Nata <adinata.softwareengineer@gmail.com> writes:
> Add KUnit coverage for fat_clus_to_blknr() and fat_get_blknr_offset()
> using stub msdos_sb_info values so cluster-to-sector and i_pos split
> math stays correct.
>
> Signed-off-by: Adi Nata <adinata.softwareengineer@gmail.com>
Looks good.
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Thanks.
> ---
> fs/fat/fat_test.c | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/fs/fat/fat_test.c b/fs/fat/fat_test.c
> index 1f0062659067..add44178f28e 100644
> --- a/fs/fat/fat_test.c
> +++ b/fs/fat/fat_test.c
> @@ -20,6 +20,37 @@ static void fat_checksum_test(struct kunit *test)
> KUNIT_EXPECT_EQ(test, fat_checksum("ABCDEFGHA "), (u8)98);
> }
>
> +static void fat_clus_to_blknr_test(struct kunit *test)
> +{
> + struct msdos_sb_info sbi = {
> + .sec_per_clus = 4,
> + .data_start = 100,
> + };
> +
> + KUNIT_EXPECT_EQ(test, (sector_t)100,
> + fat_clus_to_blknr(&sbi, FAT_START_ENT));
> + KUNIT_EXPECT_EQ(test, (sector_t)112, fat_clus_to_blknr(&sbi, 5));
> +}
> +
> +static void fat_get_blknr_offset_test(struct kunit *test)
> +{
> + struct msdos_sb_info sbi = {
> + .dir_per_block = 16,
> + .dir_per_block_bits = 4,
> + };
> +
> + sector_t blknr;
> + int offset;
> +
> + fat_get_blknr_offset(&sbi, 0, &blknr, &offset);
> + KUNIT_EXPECT_EQ(test, (sector_t)0, blknr);
> + KUNIT_EXPECT_EQ(test, 0, offset);
> +
> + fat_get_blknr_offset(&sbi, (10 << 4) | 7, &blknr, &offset);
> + KUNIT_EXPECT_EQ(test, (sector_t)10, blknr);
> + KUNIT_EXPECT_EQ(test, 7, offset);
> +}
> +
> struct fat_timestamp_testcase {
> const char *name;
> struct timespec64 ts;
> @@ -181,6 +212,8 @@ static void fat_time_unix2fat_test(struct kunit *test)
>
> static struct kunit_case fat_test_cases[] = {
> KUNIT_CASE(fat_checksum_test),
> + KUNIT_CASE(fat_clus_to_blknr_test),
> + KUNIT_CASE(fat_get_blknr_offset_test),
> KUNIT_CASE_PARAM(fat_time_fat2unix_test, fat_time_gen_params),
> KUNIT_CASE_PARAM(fat_time_unix2fat_test, fat_time_gen_params),
> {},
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] kunit: fat: test cluster and directory i_pos layout helpers
2026-04-05 5:18 ` OGAWA Hirofumi
@ 2026-04-13 3:06 ` OGAWA Hirofumi
2026-04-15 2:58 ` OGAWA Hirofumi
0 siblings, 1 reply; 5+ messages in thread
From: OGAWA Hirofumi @ 2026-04-13 3:06 UTC (permalink / raw)
To: Christian Brauner; +Cc: Adi Nata, linux-kernel, linux-fsdevel
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
Hi, Christian. ping?
> Adi Nata <adinata.softwareengineer@gmail.com> writes:
>
>> Add KUnit coverage for fat_clus_to_blknr() and fat_get_blknr_offset()
>> using stub msdos_sb_info values so cluster-to-sector and i_pos split
>> math stays correct.
>>
>> Signed-off-by: Adi Nata <adinata.softwareengineer@gmail.com>
>
> Looks good.
>
> Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>
> Thanks.
>
>> ---
>> fs/fat/fat_test.c | 33 +++++++++++++++++++++++++++++++++
>> 1 file changed, 33 insertions(+)
>>
>> diff --git a/fs/fat/fat_test.c b/fs/fat/fat_test.c
>> index 1f0062659067..add44178f28e 100644
>> --- a/fs/fat/fat_test.c
>> +++ b/fs/fat/fat_test.c
>> @@ -20,6 +20,37 @@ static void fat_checksum_test(struct kunit *test)
>> KUNIT_EXPECT_EQ(test, fat_checksum("ABCDEFGHA "), (u8)98);
>> }
>>
>> +static void fat_clus_to_blknr_test(struct kunit *test)
>> +{
>> + struct msdos_sb_info sbi = {
>> + .sec_per_clus = 4,
>> + .data_start = 100,
>> + };
>> +
>> + KUNIT_EXPECT_EQ(test, (sector_t)100,
>> + fat_clus_to_blknr(&sbi, FAT_START_ENT));
>> + KUNIT_EXPECT_EQ(test, (sector_t)112, fat_clus_to_blknr(&sbi, 5));
>> +}
>> +
>> +static void fat_get_blknr_offset_test(struct kunit *test)
>> +{
>> + struct msdos_sb_info sbi = {
>> + .dir_per_block = 16,
>> + .dir_per_block_bits = 4,
>> + };
>> +
>> + sector_t blknr;
>> + int offset;
>> +
>> + fat_get_blknr_offset(&sbi, 0, &blknr, &offset);
>> + KUNIT_EXPECT_EQ(test, (sector_t)0, blknr);
>> + KUNIT_EXPECT_EQ(test, 0, offset);
>> +
>> + fat_get_blknr_offset(&sbi, (10 << 4) | 7, &blknr, &offset);
>> + KUNIT_EXPECT_EQ(test, (sector_t)10, blknr);
>> + KUNIT_EXPECT_EQ(test, 7, offset);
>> +}
>> +
>> struct fat_timestamp_testcase {
>> const char *name;
>> struct timespec64 ts;
>> @@ -181,6 +212,8 @@ static void fat_time_unix2fat_test(struct kunit *test)
>>
>> static struct kunit_case fat_test_cases[] = {
>> KUNIT_CASE(fat_checksum_test),
>> + KUNIT_CASE(fat_clus_to_blknr_test),
>> + KUNIT_CASE(fat_get_blknr_offset_test),
>> KUNIT_CASE_PARAM(fat_time_fat2unix_test, fat_time_gen_params),
>> KUNIT_CASE_PARAM(fat_time_unix2fat_test, fat_time_gen_params),
>> {},
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] kunit: fat: test cluster and directory i_pos layout helpers
2026-04-13 3:06 ` OGAWA Hirofumi
@ 2026-04-15 2:58 ` OGAWA Hirofumi
2026-04-17 4:34 ` OGAWA Hirofumi
0 siblings, 1 reply; 5+ messages in thread
From: OGAWA Hirofumi @ 2026-04-15 2:58 UTC (permalink / raw)
To: Christian Brauner; +Cc: Adi Nata, linux-kernel, linux-fsdevel
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
ping?
> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
>
> Hi, Christian. ping?
>
>> Adi Nata <adinata.softwareengineer@gmail.com> writes:
>>
>>> Add KUnit coverage for fat_clus_to_blknr() and fat_get_blknr_offset()
>>> using stub msdos_sb_info values so cluster-to-sector and i_pos split
>>> math stays correct.
>>>
>>> Signed-off-by: Adi Nata <adinata.softwareengineer@gmail.com>
>>
>> Looks good.
>>
>> Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>>
>> Thanks.
>>
>>> ---
>>> fs/fat/fat_test.c | 33 +++++++++++++++++++++++++++++++++
>>> 1 file changed, 33 insertions(+)
>>>
>>> diff --git a/fs/fat/fat_test.c b/fs/fat/fat_test.c
>>> index 1f0062659067..add44178f28e 100644
>>> --- a/fs/fat/fat_test.c
>>> +++ b/fs/fat/fat_test.c
>>> @@ -20,6 +20,37 @@ static void fat_checksum_test(struct kunit *test)
>>> KUNIT_EXPECT_EQ(test, fat_checksum("ABCDEFGHA "), (u8)98);
>>> }
>>>
>>> +static void fat_clus_to_blknr_test(struct kunit *test)
>>> +{
>>> + struct msdos_sb_info sbi = {
>>> + .sec_per_clus = 4,
>>> + .data_start = 100,
>>> + };
>>> +
>>> + KUNIT_EXPECT_EQ(test, (sector_t)100,
>>> + fat_clus_to_blknr(&sbi, FAT_START_ENT));
>>> + KUNIT_EXPECT_EQ(test, (sector_t)112, fat_clus_to_blknr(&sbi, 5));
>>> +}
>>> +
>>> +static void fat_get_blknr_offset_test(struct kunit *test)
>>> +{
>>> + struct msdos_sb_info sbi = {
>>> + .dir_per_block = 16,
>>> + .dir_per_block_bits = 4,
>>> + };
>>> +
>>> + sector_t blknr;
>>> + int offset;
>>> +
>>> + fat_get_blknr_offset(&sbi, 0, &blknr, &offset);
>>> + KUNIT_EXPECT_EQ(test, (sector_t)0, blknr);
>>> + KUNIT_EXPECT_EQ(test, 0, offset);
>>> +
>>> + fat_get_blknr_offset(&sbi, (10 << 4) | 7, &blknr, &offset);
>>> + KUNIT_EXPECT_EQ(test, (sector_t)10, blknr);
>>> + KUNIT_EXPECT_EQ(test, 7, offset);
>>> +}
>>> +
>>> struct fat_timestamp_testcase {
>>> const char *name;
>>> struct timespec64 ts;
>>> @@ -181,6 +212,8 @@ static void fat_time_unix2fat_test(struct kunit *test)
>>>
>>> static struct kunit_case fat_test_cases[] = {
>>> KUNIT_CASE(fat_checksum_test),
>>> + KUNIT_CASE(fat_clus_to_blknr_test),
>>> + KUNIT_CASE(fat_get_blknr_offset_test),
>>> KUNIT_CASE_PARAM(fat_time_fat2unix_test, fat_time_gen_params),
>>> KUNIT_CASE_PARAM(fat_time_unix2fat_test, fat_time_gen_params),
>>> {},
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] kunit: fat: test cluster and directory i_pos layout helpers
2026-04-15 2:58 ` OGAWA Hirofumi
@ 2026-04-17 4:34 ` OGAWA Hirofumi
0 siblings, 0 replies; 5+ messages in thread
From: OGAWA Hirofumi @ 2026-04-17 4:34 UTC (permalink / raw)
To: Andrew Morton; +Cc: Christian Brauner, Adi Nata, linux-kernel, linux-fsdevel
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
Hi, Andrew
Could you pick fat patches again? Christian's path didn't work for fat
(no response for 10 days).
Thanks.
> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
>
> ping?
>
>> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
>>
>> Hi, Christian. ping?
>>
>>> Adi Nata <adinata.softwareengineer@gmail.com> writes:
>>>
>>>> Add KUnit coverage for fat_clus_to_blknr() and fat_get_blknr_offset()
>>>> using stub msdos_sb_info values so cluster-to-sector and i_pos split
>>>> math stays correct.
>>>>
>>>> Signed-off-by: Adi Nata <adinata.softwareengineer@gmail.com>
>>>
>>> Looks good.
>>>
>>> Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>>>
>>> Thanks.
>>>
>>>> ---
>>>> fs/fat/fat_test.c | 33 +++++++++++++++++++++++++++++++++
>>>> 1 file changed, 33 insertions(+)
>>>>
>>>> diff --git a/fs/fat/fat_test.c b/fs/fat/fat_test.c
>>>> index 1f0062659067..add44178f28e 100644
>>>> --- a/fs/fat/fat_test.c
>>>> +++ b/fs/fat/fat_test.c
>>>> @@ -20,6 +20,37 @@ static void fat_checksum_test(struct kunit *test)
>>>> KUNIT_EXPECT_EQ(test, fat_checksum("ABCDEFGHA "), (u8)98);
>>>> }
>>>>
>>>> +static void fat_clus_to_blknr_test(struct kunit *test)
>>>> +{
>>>> + struct msdos_sb_info sbi = {
>>>> + .sec_per_clus = 4,
>>>> + .data_start = 100,
>>>> + };
>>>> +
>>>> + KUNIT_EXPECT_EQ(test, (sector_t)100,
>>>> + fat_clus_to_blknr(&sbi, FAT_START_ENT));
>>>> + KUNIT_EXPECT_EQ(test, (sector_t)112, fat_clus_to_blknr(&sbi, 5));
>>>> +}
>>>> +
>>>> +static void fat_get_blknr_offset_test(struct kunit *test)
>>>> +{
>>>> + struct msdos_sb_info sbi = {
>>>> + .dir_per_block = 16,
>>>> + .dir_per_block_bits = 4,
>>>> + };
>>>> +
>>>> + sector_t blknr;
>>>> + int offset;
>>>> +
>>>> + fat_get_blknr_offset(&sbi, 0, &blknr, &offset);
>>>> + KUNIT_EXPECT_EQ(test, (sector_t)0, blknr);
>>>> + KUNIT_EXPECT_EQ(test, 0, offset);
>>>> +
>>>> + fat_get_blknr_offset(&sbi, (10 << 4) | 7, &blknr, &offset);
>>>> + KUNIT_EXPECT_EQ(test, (sector_t)10, blknr);
>>>> + KUNIT_EXPECT_EQ(test, 7, offset);
>>>> +}
>>>> +
>>>> struct fat_timestamp_testcase {
>>>> const char *name;
>>>> struct timespec64 ts;
>>>> @@ -181,6 +212,8 @@ static void fat_time_unix2fat_test(struct kunit *test)
>>>>
>>>> static struct kunit_case fat_test_cases[] = {
>>>> KUNIT_CASE(fat_checksum_test),
>>>> + KUNIT_CASE(fat_clus_to_blknr_test),
>>>> + KUNIT_CASE(fat_get_blknr_offset_test),
>>>> KUNIT_CASE_PARAM(fat_time_fat2unix_test, fat_time_gen_params),
>>>> KUNIT_CASE_PARAM(fat_time_unix2fat_test, fat_time_gen_params),
>>>> {},
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-17 4:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-05 1:19 [PATCH] kunit: fat: test cluster and directory i_pos layout helpers Adi Nata
2026-04-05 5:18 ` OGAWA Hirofumi
2026-04-13 3:06 ` OGAWA Hirofumi
2026-04-15 2:58 ` OGAWA Hirofumi
2026-04-17 4:34 ` OGAWA Hirofumi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox