Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:exfatprogs
User: [email protected]
Usertags: pu

[ Reason ]
With exfatprogs 1.2.6 mkfs.exfat was changed to handle
devices with 4KB sector size but a 512Byte sector size
emulation as a 4KB sector size device for performance
reasons.
https://github.com/exfatprogs/exfatprogs/commit/f47362d4d62422be0b3823f1e50f0b4cd62b265
That turned out to be incompatible with Windows and was
reverted in
https://github.com/exfatprogs/exfatprogs/commit/d4f77ae41ce178c04b8e3326178554182ca94bd5
and released as part of
exfatprogs 1.3.0. That issue was brought to my attention
via https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120932
that the default "mkfs.exfat" invocation on Debian/trixie
formats such a device in a way that is incompatible with Windows.

[ Impact ]
Devices with a physical 4KB sector size exposing an emulated
512Byte sector size get by default formated in a way that is
unusable for Windows.

[ Tests ]
Since this household no longer has any Windows operated devices
I've a hard time replicating the issue and testing the
remediation.

[ Risks ]
Since upstream decided to revert that change and the bug reporter
suggested that this change fixes his issue, I think it's ok.
Users will likely see a performance degradation on those
devices meeting the criteria leading to the original bug report.

[ Changes ]

  * Add trixie branch information to gbp.conf and Vcs-Git.
  * Add debian/patches/windows-compat-use-512-sector-size.patch
    for Windows compatibility. Windows fails to access devices
    with a 4KB sector size which use a 512Byte sector emulation.
    Cherry-Pick the revert from exfatprogs 1.3.0 to use a 512Byte
    sector size for those devices, despite the performance penalty.
    If a user would like to omit the Windows compatability
    "mkfs.exfat -s 4096" can still be used to override the sector size.
diff -Nru exfatprogs-1.2.9/debian/changelog exfatprogs-1.2.9/debian/changelog
--- exfatprogs-1.2.9/debian/changelog	2025-05-13 14:30:45.000000000 +0200
+++ exfatprogs-1.2.9/debian/changelog	2025-11-18 20:57:33.000000000 +0100
@@ -1,3 +1,17 @@
+exfatprogs (1.2.9-1+deb13u1) trixie; urgency=medium
+
+  * Add trixie branch information to gbp.conf and Vcs-Git.
+  * Add debian/patches/windows-compat-use-512-sector-size.patch
+    for Windows compatibility. Windows fails to access devices
+    with a 4KB sector size which use a 512Byte sector emulation.
+    Cherry-Pick the revert from exfatprogs 1.3.0 to use a 512Byte
+    sector size for those devices, despite the performance penalty.
+    If a user would like to omit the Windows compatability
+    "mkfs.exfat -s 4096" can still be used to override the sector size.
+    (Closes: #1120932)
+
+ -- Sven Hoexter <[email protected]>  Tue, 18 Nov 2025 20:57:33 +0100
+
 exfatprogs (1.2.9-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru exfatprogs-1.2.9/debian/control exfatprogs-1.2.9/debian/control
--- exfatprogs-1.2.9/debian/control	2025-03-04 16:12:23.000000000 +0100
+++ exfatprogs-1.2.9/debian/control	2025-11-18 14:27:15.000000000 +0100
@@ -6,7 +6,7 @@
 Standards-Version: 4.7.2
 Rules-Requires-Root: no
 Homepage: https://github.com/exfatprogs/exfatprogs
-Vcs-Git: https://salsa.debian.org/debian/exfatprogs.git
+Vcs-Git: https://salsa.debian.org/debian/exfatprogs.git -b trixie
 Vcs-Browser: https://salsa.debian.org/debian/exfatprogs
 
 Package: exfatprogs
diff -Nru exfatprogs-1.2.9/debian/gbp.conf exfatprogs-1.2.9/debian/gbp.conf
--- exfatprogs-1.2.9/debian/gbp.conf	2025-03-04 15:59:07.000000000 +0100
+++ exfatprogs-1.2.9/debian/gbp.conf	2025-11-18 14:26:43.000000000 +0100
@@ -1,2 +1,3 @@
 [DEFAULT]
 pristine-tar = True
+debian-branch = trixie
diff -Nru exfatprogs-1.2.9/debian/patches/series exfatprogs-1.2.9/debian/patches/series
--- exfatprogs-1.2.9/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ exfatprogs-1.2.9/debian/patches/series	2025-11-18 14:40:03.000000000 +0100
@@ -0,0 +1 @@
+windows-compat-use-512-sector-size.patch
diff -Nru exfatprogs-1.2.9/debian/patches/windows-compat-use-512-sector-size.patch exfatprogs-1.2.9/debian/patches/windows-compat-use-512-sector-size.patch
--- exfatprogs-1.2.9/debian/patches/windows-compat-use-512-sector-size.patch	1970-01-01 01:00:00.000000000 +0100
+++ exfatprogs-1.2.9/debian/patches/windows-compat-use-512-sector-size.patch	2025-11-18 20:53:43.000000000 +0100
@@ -0,0 +1,21 @@
+Origin: https://github.com/exfatprogs/exfatprogs/commit/d4f77ae41ce178c04b8e3326178554182ca94bd5
+Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120932
+Description: Windows seems to be unable to deal with a 4KB
+sector size for devices with a 512Byte sector size emulation.
+The behaviour was changed in
+https://github.com/exfatprogs/exfatprogs/commit/f47362d4d62422be0b3823f1e50f0b4cd62b265
+which was first released in exfatprogs 1.2.6. The revert was
+released with version 1.3.0.
+Index: exfatprogs/lib/libexfat.c
+===================================================================
+--- exfatprogs.orig/lib/libexfat.c
++++ exfatprogs/lib/libexfat.c
+@@ -189,8 +189,6 @@ int exfat_get_blk_dev_info(struct exfat_
+ 
+ 	if (ui->sector_size)
+ 		bd->sector_size = ui->sector_size;
+-	else if (ioctl(fd, BLKPBSZGET, &bd->sector_size) >= 0)
+-		;
+ 	else if (ioctl(fd, BLKSSZGET, &bd->sector_size) < 0)
+ 		bd->sector_size = DEFAULT_SECTOR_SIZE;
+ 	bd->sector_size_bits = sector_size_bits(bd->sector_size);

Reply via email to