[ntfs-3g/f19] apply fixes from upstream for issue with 4K sector drives (bz951603) and truncated check for Interix
Tom Callaway
spot at fedoraproject.org
Mon May 6 21:29:33 UTC 2013
commit 37ff21edc5e135b506d498e1c2850492a042c167
Author: Tom Callaway <spot at fedoraproject.org>
Date: Mon May 6 17:28:59 2013 -0400
apply fixes from upstream for issue with 4K sector drives (bz951603) and truncated check for Interix types on a 32-bit CPU (bz958681)
ntfs-3g-truncated-check.patch | 28 ++++++++++++++++++++++++++++
ntfs-3g.spec | 12 +++++++++++-
ntfsck.c.4Ksectors.patch | 14 ++++++++++++++
3 files changed, 53 insertions(+), 1 deletions(-)
---
diff --git a/ntfs-3g-truncated-check.patch b/ntfs-3g-truncated-check.patch
new file mode 100644
index 0000000..4f35cf9
--- /dev/null
+++ b/ntfs-3g-truncated-check.patch
@@ -0,0 +1,28 @@
+--- src/lowntfs-3g.c.ref 2013-04-04 09:47:16.000000000 +0200
++++ src/lowntfs-3g.c 2013-05-05 15:08:39.000000000 +0200
+@@ -620,9 +620,9 @@
+ * Check whether it's Interix symbolic link, block or
+ * character device.
+ */
+- if ((size_t)na->data_size <= sizeof(INTX_FILE_TYPES)
++ if ((u64)na->data_size <= sizeof(INTX_FILE_TYPES)
+ + sizeof(ntfschar) * PATH_MAX
+- && (size_t)na->data_size >
++ && (u64)na->data_size >
+ sizeof(INTX_FILE_TYPES)) {
+ INTX_FILE *intx_file;
+
+--- src/ntfs-3g.c.ref 2013-04-04 09:47:16.000000000 +0200
++++ src/ntfs-3g.c 2013-05-05 15:09:13.000000000 +0200
+@@ -792,9 +792,9 @@
+ * Check whether it's Interix symbolic link, block or
+ * character device.
+ */
+- if ((size_t)na->data_size <= sizeof(INTX_FILE_TYPES)
++ if ((u64)na->data_size <= sizeof(INTX_FILE_TYPES)
+ + sizeof(ntfschar) * PATH_MAX
+- && (size_t)na->data_size >
++ && (u64)na->data_size >
+ sizeof(INTX_FILE_TYPES)
+ && !stream_name_len) {
+
diff --git a/ntfs-3g.spec b/ntfs-3g.spec
index f8017a2..14a78c6 100644
--- a/ntfs-3g.spec
+++ b/ntfs-3g.spec
@@ -8,7 +8,7 @@
Name: ntfs-3g
Summary: Linux NTFS userspace driver
Version: 2013.1.13
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://tuxera.com/opensource/%{name}_ntfsprogs-%{version}%{?subver}.tgz
@@ -25,6 +25,10 @@ Provides: ntfsprogs-fuse = %{epoch}:%{version}-%{release}
Obsoletes: ntfsprogs-fuse
Provides: fuse-ntfs-3g = %{epoch}:%{version}-%{release}
Patch0: ntfs-3g_ntfsprogs-2011.10.9-RC-ntfsck-unsupported-return-0.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=951603
+Patch1: ntfsck.c.4Ksectors.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=958681
+Patch2: ntfs-3g-truncated-check.patch
%description
NTFS-3G is a stable, open source, GPL licensed, POSIX, read/write NTFS
@@ -70,6 +74,8 @@ included utilities see man 8 ntfsprogs after installation).
%prep
%setup -q -n %{name}_ntfsprogs-%{version}%{?subver}
%patch0 -p1 -b .unsupported
+%patch1 -p0 -b .4k
+%patch2 -p0 -b .truncated
%build
CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
@@ -168,6 +174,10 @@ rm -rf %{buildroot}%{_defaultdocdir}/%{name}/README
%exclude %{_mandir}/man8/ntfs-3g*
%changelog
+* Mon May 6 2013 Tom Callaway <spot at fedoraproject.org> - 2:2013.1.13-4
+- apply fixes from upstream for issue with 4K sector drives (bz951603)
+ and truncated check for Interix types on a 32-bit CPU (bz958681)
+
* Thu Feb 7 2013 Tom Callaway <spot at fedoraproject.org> - 2:2013.1.13-3
- drop redundant manpages from ntfsprogs subpackage
diff --git a/ntfsck.c.4Ksectors.patch b/ntfsck.c.4Ksectors.patch
new file mode 100644
index 0000000..faac2bc
--- /dev/null
+++ b/ntfsck.c.4Ksectors.patch
@@ -0,0 +1,14 @@
+--- ntfsprogs/ntfsck.c.old 2013-01-13 07:46:35.000000000 +0100
++++ ntfsprogs/ntfsck.c 2013-04-13 12:04:06.000000000 +0200
+@@ -616,9 +616,9 @@
+
+ // Remove update seq & check it.
+ usa = *(u16*)(buffer+usa_ofs); // The value that should be at the end of every sector.
+- assert_u32_equal(usa_count-1, buflen/bytes_per_sector, "USA length");
++ assert_u32_equal(usa_count-1, buflen/NTFS_BLOCK_SIZE, "USA length");
+ for (i=1;i<usa_count;i++) {
+- u16 *fixup = (u16*)(buffer+bytes_per_sector*i-2); // the value at the end of the sector.
++ u16 *fixup = (u16*)(buffer+NTFS_BLOCK_SIZE*i-2); // the value at the end of the sector.
+ u16 saved_val = *(u16*)(buffer+usa_ofs+2*i); // the actual data value that was saved in the us array.
+
+ assert_u32_equal(*fixup, usa, "fixup");
More information about the scm-commits
mailing list