Skip to content

Commit 9c1d834

Browse files
authored
Merge pull request #7739 from jepler/restore-mkfs-fat32-mostly
re-enable mkfs for >4GB filesystems whenver FULL_BUILD
2 parents 22d7c0b + ca292f3 commit 9c1d834

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

ports/atmel-samd/mpconfigport.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@
6060
X(EISDIR) \
6161
X(EINVAL) \
6262

63-
#define MICROPY_FATFS_EXFAT 0
63+
#define MICROPY_FATFS_EXFAT (0)
64+
// FAT32 mkfs takes about 500 bytes.
65+
#define MICROPY_FF_MKFS_FAT32 (0)
6466

6567
// Only support simpler HID descriptors on SAMD21.
6668
#define CIRCUITPY_USB_HID_MAX_REPORT_IDS_PER_DESCRIPTOR (1)

py/circuitpy_mpconfig.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ typedef long mp_off_t;
255255
#define MICROPY_FATFS_EXFAT (CIRCUITPY_FULL_BUILD)
256256
#endif
257257

258+
#ifndef MICROPY_FF_MKFS_FAT32
259+
#define MICROPY_FF_MKFS_FAT32 (CIRCUITPY_FULL_BUILD)
260+
#endif
261+
258262
// LONGINT_IMPL_xxx are defined in the Makefile.
259263
//
260264
#ifdef LONGINT_IMPL_NONE

shared-bindings/storage/__init__.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,15 @@ STATIC const mp_rom_map_elem_t storage_module_globals_table[] = {
266266
//| This property cannot be changed, use `storage.remount` instead."""
267267
//| ...
268268
//|
269+
//| @staticmethod
269270
//| def mkfs(self) -> None:
270-
//| """Format the block device, deleting any data that may have been there"""
271+
//| """Format the block device, deleting any data that may have been there.
272+
//|
273+
//| **Limitations**: On SAMD21 builds, `mkfs()` will raise ``OSError(22)`` when
274+
//| attempting to format filesystems larger than 4GB. The extra code to format larger
275+
//| filesystems will not fit on these builds. You can still access
276+
//| larger filesystems, but you will need to format the filesystem on another device.
277+
//| """
271278
//| ...
272279
//| def open(self, path: str, mode: str) -> None:
273280
//| """Like builtin ``open()``"""

0 commit comments

Comments
 (0)