diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index f945c1a..1768063 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,10 +19,11 @@ jobs: - uses: actions/checkout@v4 - name: before test run: | - sudo apt-get install linux-headers-$(uname -r) xz-utils \ - gcc-mips-linux-gnu qemu-system-mips \ - qemu-user - git clone https://github.com/namjaejeon/linux-exfat-oot + sudo apt-get --update --quiet --yes install \ + linux-headers-$(uname -r) xz-utils \ + gcc-mips-linux-gnu qemu-system-mips \ + qemu-user + sudo apt-get install -y linux-modules-extra-$(uname -r) export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH export PATH=/usr/local/lib:$PATH - name: build test & install exfatprogs @@ -45,12 +46,8 @@ jobs: sudo -E ./test_fsck.sh - name: create file/director test run: | - cd linux-exfat-oot - make > /dev/null - sudo make install > /dev/null sudo modprobe exfat sudo mkdir -p /mnt/test - cd .. truncate -s 10G test.img sudo losetup /dev/loop22 test.img sudo mkfs.exfat /dev/loop22 diff --git a/BUILD.gn b/BUILD.gn index adab55b..29fa5a2 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. +# Copyright (c) 2026 Huawei Device Co., Ltd. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -30,7 +30,7 @@ config("exfat-defaults") { "-Wno-error", "-D_FILE_OFFSET_BITS=64", "-DPACKAGE=\"exfatprogs\"", - "-DVERSION=\"1.2.5\"", + "-DVERSION=\"1.3.2\"", ] include_dirs = [ "dump", @@ -88,6 +88,7 @@ ohos_executable("fsck.exfat") { sources = [ "fsck/fsck.c", "fsck/repair.c", + "lib/utils.c", ] include_dirs = [ diff --git a/NEWS b/NEWS index ffbbdc1..c15eddb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,113 @@ +exfatprogs 1.3.2 - release 2026-03-09 +=================================== + +NEW FEATURES : + * fsck.exfat: add an option to show a progress bar + while checking a filesystem. + +CHANGES : + * mkfs.exfat: discard blocks prior to write outs by + default. + * mkfs.exfat: add a read-after-write verification for + the volume boot record. + * exfatprogs: adjust utility exit codes and add log + messages for malloc() failures. + +BUG FIXES : + * dump.exfat: handle paths including '.', '..', and + repeated '/'. + * fsck.exfat: convert 0x80 entries into deleted file + entries to avoid bogus dentry errors. + * fsck.exfat: fix an uninitialized variable warning. + +exfatprogs 1.3.1 - released 2025-12-15 +===================================== + +NEW FEATURES : + * fsck.exfat: support repairing the allocation bitmap size. + +CHANGES : + * exfatprogs: temporarily disable building defrag.exfat due to reported + data loss. + +BUG FIXES : + * libexfat: fix a NULL pointer dereference in read_file_dentry_set(). + +exfatprogs 1.3.0 - released 2025-10-15 +====================================== + +NEW FEATURES : + * defrag.exfat: add a tool to defragment an exFAT + filesystem or assess its fragmentation status. + See a man page. + +CHANGES : + * mkfs.exfat: minimize zero-out initialization work + in quick format mode to reduce I/O time. + * fsck.exfat: set the entry after an unused entry as unused. + +BUG FIXES : + * mkfs.exfat: fix incorrect FAT byte length calculation. + * mkfs.exfat: avoid setting physical sector size into sector_size field. + * fsck.exfat: fix a memory leaks in an error path. + +exfatprogs 1.2.9 - released 2025-05-12 +====================================== + +NEW FEATURES : + * dump.exfat: support dumping directory entry sets, + which prints all fields of directory entries and + cluster chains. See a man page. + +CHANGES : + * exfatprogs: update the Github action for build test + with Debain + clang + lld. + +exfatprogs 1.2.8 - released 2025-03-04 +====================================== + +BUG FIXES : + * dump.exfat: fix an incorrect output of an entry + position in 32-bit system. + * mkfs.exfat: fill an oem sector with zero instead + of one. + * exfatprogs: fix compilation on musl based systems + due to loff_t type. And update the Github action + to validate builds on the system. + +exfatprogs 1.2.7 - released 2025-02-03 +====================================== + +NEW FEATURES : + * fsck.exfat: support repairing the upcase table. + +CHANGES : + * exfatprogs: make sure to load the tbl preprocessor + for man pages. + +BUG FIXES : + * exfatprogs: fix a double free memory error. + * dump.exfat: fix a constraint that volume label, bitmap, + upcase table must be located at the beginning of a root + directory. + +exfatprogs 1.2.6 - released 2024-11-20 +====================================== + +CHANGES : + * exfatprogs: replace obsolete autoconf and libtool + macros. + * mkfs.exfat: prefer the physical block size over + the logical block size for the exFAT sector size. + * mkfs.exfat: add notes about the format of the volume + GUID to the man page. + * mkfs.exfat: fix an incorrect calculation of the number + of used clusters. + +BUG FIXES : + * exfatlabel: fix an user input error when setting + a volume serial or label. + exfatprogs 1.2.5 - released 2024-08-06 ====================================== diff --git a/OAT.xml b/OAT.xml index bec7084..d888c9b 100644 --- a/OAT.xml +++ b/OAT.xml @@ -1,5 +1,5 @@ -