From fae59c9b4248e5511d1ea469624aa9842fc289e1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 6 Sep 2017 10:12:06 +0200 Subject: dosfs: Support a cluster size of 64KiB Close #3003. --- testsuites/fstests/fsdosfsformat01/init.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'testsuites/fstests') diff --git a/testsuites/fstests/fsdosfsformat01/init.c b/testsuites/fstests/fsdosfsformat01/init.c index f11ef056c3..b7df74883a 100644 --- a/testsuites/fstests/fsdosfsformat01/init.c +++ b/testsuites/fstests/fsdosfsformat01/init.c @@ -469,6 +469,34 @@ static void test( void ) rv = unlink( dev_name ); rtems_test_assert( rv == 0 ); + + /* FAT32 with cluster size of 64KiB */ + + sc = rtems_sparse_disk_create_and_register( + dev_name, + SECTOR_SIZE, + 1024, + 16777216, /* 8GiB */ + 0 + ); + rtems_test_assert( sc == RTEMS_SUCCESSFUL ); + + memset( &rqdata, 0, sizeof( rqdata ) ); + rqdata.sectors_per_cluster = 128; + rqdata.quick_format = true; + rv = msdos_format( dev_name, &rqdata ); + rtems_test_assert( rv == 0 ); + + test_disk_params( + dev_name, + mount_dir, + SECTOR_SIZE, + SECTOR_SIZE * rqdata.sectors_per_cluster, + rqdata.sectors_per_cluster + ); + + rv = unlink( dev_name ); + rtems_test_assert( rv == 0 ); } static void Init( rtems_task_argument arg ) -- cgit v1.2.3