[arch-commits] Commit in ntfs-3g/trunk (PKGBUILD mftmirr.patch)
Gaëtan Bisson
bisson at archlinux.org
Thu Sep 27 09:15:24 UTC 2018
Date: Thursday, September 27, 2018 @ 09:15:24
Author: bisson
Revision: 335464
fix FS#60182
Added:
ntfs-3g/trunk/mftmirr.patch
Modified:
ntfs-3g/trunk/PKGBUILD
---------------+
PKGBUILD | 9 ++++++---
mftmirr.patch | 47 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-09-27 09:03:54 UTC (rev 335463)
+++ PKGBUILD 2018-09-27 09:15:24 UTC (rev 335464)
@@ -6,14 +6,16 @@
pkgname=ntfs-3g
_pkgname=ntfs-3g_ntfsprogs
pkgver=2017.3.23
-pkgrel=2
+pkgrel=3
pkgdesc='NTFS filesystem driver and utilities'
url='https://www.tuxera.com/community/open-source-ntfs-3g/'
arch=('x86_64')
license=('GPL2')
depends=('util-linux' 'fuse2')
-source=("https://tuxera.com/opensource/${_pkgname}-${pkgver}.tgz")
-sha256sums=('3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5')
+source=("https://tuxera.com/opensource/${_pkgname}-${pkgver}.tgz"
+ 'mftmirr.patch')
+sha256sums=('3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5'
+ '4166ff3021921d7a7ffac8f5de64b5735b1d5e365a024744bebc7260cf1ce726')
conflicts=('ntfsprogs')
provides=('ntfsprogs')
@@ -22,6 +24,7 @@
prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
sed 's|$(DESTDIR)/sbin|$(DESTDIR)/usr/bin|' -i {ntfsprogs,src}/Makefile.in
+ patch -p1 -i ../mftmirr.patch
}
build() {
Added: mftmirr.patch
===================================================================
--- mftmirr.patch (rev 0)
+++ mftmirr.patch 2018-09-27 09:15:24 UTC (rev 335464)
@@ -0,0 +1,47 @@
+From 85e208176ffd16ce9a51a9f534b194f0ebbde6e3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= <jpandre at users.sourceforge.net>
+Date: Fri, 22 Dec 2017 11:29:00 +0100
+Subject: [PATCH] Stopped checking matches of MFTMirr against MFT at record 16
+
+Since its 2017 edition, Windows 10 has stopped mirroring $MFT to the
+full size of $MFTMirr leading to mounts of partitions with big clusters
+to be rejected because of mismatches. With this patch, only 16 records
+are checked, though mirroring is still done for all records in $MFTMirr.
+---
+ libntfs-3g/volume.c | 3 ++-
+ ntfsprogs/ntfsfix.c | 5 +++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/libntfs-3g/volume.c b/libntfs-3g/volume.c
+index 68b8ee1d..d36c7d55 100644
+--- a/libntfs-3g/volume.c
++++ b/libntfs-3g/volume.c
+@@ -959,7 +959,8 @@ ntfs_volume *ntfs_device_mount(struct ntfs_device *dev, ntfs_mount_flags flags)
+ vol->mftmirr_size = l;
+ }
+ ntfs_log_debug("Comparing $MFTMirr to $MFT...\n");
+- for (i = 0; i < vol->mftmirr_size; ++i) {
++ /* Windows 10 does not update the full $MFTMirr any more */
++ for (i = 0; (i < vol->mftmirr_size) && (i < FILE_first_user); ++i) {
+ MFT_RECORD *mrec, *mrec2;
+ const char *ESTR[12] = { "$MFT", "$MFTMirr", "$LogFile",
+ "$Volume", "$AttrDef", "root directory", "$Bitmap",
+diff --git a/ntfsprogs/ntfsfix.c b/ntfsprogs/ntfsfix.c
+index 2a624023..6801e70e 100644
+--- a/ntfsprogs/ntfsfix.c
++++ b/ntfsprogs/ntfsfix.c
+@@ -506,6 +506,11 @@ static int fix_mftmirr(ntfs_volume *vol)
+
+ ntfs_log_info("Comparing $MFTMirr to $MFT... ");
+ done = FALSE;
++ /*
++ * Since 2017, Windows 10 does not mirror to full $MFTMirr when
++ * using big clusters, and some records may be found different.
++ * Nevertheless chkdsk.exe mirrors it fully, so we do similarly.
++ */
+ for (i = 0; i < vol->mftmirr_size; ++i) {
+ MFT_RECORD *mrec, *mrec2;
+ const char *ESTR[12] = { "$MFT", "$MFTMirr", "$LogFile",
+--
+2.19.0
+
More information about the arch-commits
mailing list