1
0

Accepting request 176460 from filesystems

Update to ntfs-3g_ntfsprogs-2013.1.13

OBS-URL: https://build.opensuse.org/request/show/176460
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ntfs-3g_ntfsprogs?expand=0&rev=13
This commit is contained in:
Stephan Kulow 2013-05-27 07:54:52 +00:00 committed by Git OBS Bridge
commit 568134ca99
5 changed files with 37 additions and 151 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f1611c5000de7ca99141a9b853cba2c8dbd86c8e36d5efbe7ba918af773fb25
size 1149907

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b383f0074a3ab7683339d1f18222b107aaeb4983db119292c43c2b275cefb27
size 1176304

View File

@ -1,138 +0,0 @@
From 4d0b9163c9ef1f0cdbbf533317b291220c7fd1c7 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Jean-Pierre=20Andr=C3=A9?= <jpandre@users.sourceforge.net>
Date: Wed, 12 Sep 2012 09:42:24 +0200
Subject: [PATCH] Accepted processing restart pages v 2.0 with no warning (used by Windows 8)
In the $LogFile, Windows 8 defines restart pages with version 2.0.
The checks designed for version 1.1 appear to apply, so accept v 2.0
and apply the usual checks.
---
libntfs-3g/logfile.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
Index: ntfs-3g_ntfsprogs-2012.1.15/libntfs-3g/logfile.c
===================================================================
--- ntfs-3g_ntfsprogs-2012.1.15.orig/libntfs-3g/logfile.c
+++ ntfs-3g_ntfsprogs-2012.1.15/libntfs-3g/logfile.c
@@ -84,13 +84,21 @@ static BOOL ntfs_check_restart_page_head
"position in $LogFile.\n");
return FALSE;
}
- /* We only know how to handle version 1.1. */
- if (sle16_to_cpu(rp->major_ver) != 1 ||
- sle16_to_cpu(rp->minor_ver) != 1) {
+ /*
+ * We only know how to handle version 1.1 and 2.0, though
+ * version 2.0 is probably related to cached metadata in
+ * Windows 8, and we will refuse to mount.
+ * Nevertheless, do all the relevant checks before rejecting.
+ */
+ if (((rp->major_ver != const_cpu_to_le16(1))
+ || (rp->minor_ver != const_cpu_to_le16(1)))
+ && ((rp->major_ver != const_cpu_to_le16(2))
+ || (rp->minor_ver != const_cpu_to_le16(0)))) {
ntfs_log_error("$LogFile version %i.%i is not "
- "supported. (This driver supports version "
- "1.1 only.)\n", (int)sle16_to_cpu(rp->major_ver),
- (int)sle16_to_cpu(rp->minor_ver));
+ "supported.\n (This driver supports version "
+ "1.1 and 2.0 only.)\n",
+ (int)sle16_to_cpu(rp->major_ver),
+ (int)sle16_to_cpu(rp->minor_ver));
return FALSE;
}
/*
Index: ntfs-3g_ntfsprogs-2012.1.15/libntfs-3g/volume.c
===================================================================
--- ntfs-3g_ntfsprogs-2012.1.15.orig/libntfs-3g/volume.c
+++ ntfs-3g_ntfsprogs-2012.1.15/libntfs-3g/volume.c
@@ -89,13 +89,9 @@ static const char *corrupt_volume_msg =
"for more details.\n";
static const char *hibernated_volume_msg =
-"The NTFS partition is hibernated. Please resume and shutdown Windows\n"
-"properly, or mount the volume read-only with the 'ro' mount option, or\n"
-"mount the volume read-write with the 'remove_hiberfile' mount option.\n"
-"For example type on the command line:\n"
-"\n"
-" mount -t ntfs-3g -o remove_hiberfile %s %s\n"
-"\n";
+"The NTFS partition is in an unsafe state. Please resume and shutdown\n"
+"Windows fully (no hibernation or fast restarting), or mount the volume\n"
+"read-only with the 'ro' mount option.\n";
static const char *unclean_journal_msg =
"Write access is denied because the disk wasn't safely powered\n"
@@ -649,6 +645,24 @@ static int ntfs_volume_check_logfile(ntf
if (!ntfs_check_logfile(na, &rp) || !ntfs_is_logfile_clean(na, rp))
err = EOPNOTSUPP;
+ /*
+ * If the latest restart page was identified as version
+ * 2.0, then Windows may have kept a cached copy of
+ * metadata for fast restarting, and we should not mount.
+ * Hibernation will be seen the same way on a non
+ * Windows-system partition, so we have to use the same
+ * error code (EPERM).
+ * The restart page may also be identified as version 2.0
+ * when access to the file system is terminated abruptly
+ * by unplugging or power cut, so mounting is also rejected
+ * after such an event.
+ */
+ if (rp
+ && (rp->major_ver == const_cpu_to_le16(2))
+ && (rp->minor_ver == const_cpu_to_le16(0))) {
+ ntfs_log_error("Metadata kept in Windows cache, refused to mount.\n");
+ err = EPERM;
+ }
free(rp);
ntfs_attr_close(na);
out:
@@ -1200,7 +1214,8 @@ ntfs_volume *ntfs_device_mount(struct nt
ntfs_volume_check_hiberfile(vol, 1) < 0)
goto error_exit;
if (ntfs_volume_check_logfile(vol) < 0) {
- if (!(flags & MS_RECOVER))
+ /* Always reject cached metadata for now */
+ if (!(flags & MS_RECOVER) || (errno == EPERM))
goto error_exit;
ntfs_log_info("The file system wasn't safely "
"closed on Windows. Fixing.\n");
@@ -1642,6 +1657,10 @@ int ntfs_volume_error(int err)
ret = NTFS_VOLUME_CORRUPT;
break;
case EPERM:
+ /*
+ * Hibernation and fast restarting are seen the
+ * same way on a non Windows-system partition.
+ */
ret = NTFS_VOLUME_HIBERNATED;
break;
case EOPNOTSUPP:
Index: ntfs-3g_ntfsprogs-2012.1.15/src/ntfs-3g.8.in
===================================================================
--- ntfs-3g_ntfsprogs-2012.1.15.orig/src/ntfs-3g.8.in
+++ ntfs-3g_ntfsprogs-2012.1.15/src/ntfs-3g.8.in
@@ -36,6 +36,22 @@ a few differences mentioned below in rel
.PP
The \fIvolume\fR to be mounted can be either a block device or
an image file.
+.SS Windows hibernation and fast restarting
+On computers which can be dual-booted into Windows or Linux, Windows has
+to be fully shut down before booting into Linux, otherwise the NTFS file
+systems on internal disks may be left in an inconsistent state and changes
+made by Linux may be ignored by Windows.
+.P
+So, Windows may not be left in hibernation when starting Linux, in order
+to avoid inconsistencies. Moreover, the fast restart feature available on
+recent Windows systems has to be disabled. This can be achieved by issuing
+as an Administrator the Windows command which disables both
+hibernation and fast restarting :
+.RS
+.sp
+powercfg /h off
+.sp
+.RE
.SS Access Handling and Security
By default, files and directories are owned by the effective
user and group of the mounting process, and everybody has

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Mon May 20 02:40:34 UTC 2013 - Greg.Freemyer@gmail.com
- Upgrade to STABLE Version 2013.1.13 (January 14, 2013)
ntfs-3g: fixed returned files types in readdir()
ntfs-3g: force option ro when mounting a read-only device
ntfs-3g: keep the name of a deleted file in place for easier undeletion
ntfs-3g: accept multiple read-only mounts
ntfs-3g: improved Windows-type ACL inheritance, as needed by Windows 8
ntfs-3g: avoid unnecessary runlist update when appending data to a file
ntfs-3g: added inheritance of the set-group-id flag
ntfs-3g: deny mounting when fast restart mode of Windows 8 is detected
ntfs-3g: reject getting/setting DOS names on hard linked files
ntfsclone: fixed wiping user data when creating metadata images
ntfsclone: implemented a new option to set a new serial number
ntfsfix: implemented fixing the backup boot sector
ntfsfix: fixed clearing the bad cluster list
ntfsinfo: added allocation data to the volume parameters summary
ntfsinfo: output the numbers of runs and fragments for the selected file
ntfslabel: implemented a new option to set a new serial number
ntfswipe: added optional wiping of file tails and undelete data
mkntfs: insert an $Info stream in $UpCase to comply with Windows 8
openindianas: merged OpenIndiana requirements into the driver and fuse-lite
- remove ntfs-3g_ntfsprogs-use-caution-with-fastboot.patch, now in upstream
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Apr 15 13:32:48 UTC 2013 - idonmez@suse.com Mon Apr 15 13:32:48 UTC 2013 - idonmez@suse.com

View File

@ -16,17 +16,17 @@
# #
%define soname 84
Name: ntfs-3g_ntfsprogs Name: ntfs-3g_ntfsprogs
Summary: NTFS Support in Userspace Summary: NTFS Support in Userspace
License: GPL-2.0+ License: GPL-2.0+
Group: System/Filesystems Group: System/Filesystems
Version: 2012.1.15 Version: 2013.1.13
Release: 0 Release: 0
Source: http://tuxera.com/opensource/%{name}-%{version}.tgz Source: http://tuxera.com/opensource/%{name}-%{version}.tgz
Source1: buildall.sh Source1: buildall.sh
Source2: 21-storage-ntfs-3g.fdi Source2: 21-storage-ntfs-3g.fdi
# PATCH-FIX-UPSTREAM ntfs-3g_ntfsprogs-use-caution-with-fastboot.patch rh#859373 badshah400@gmail.com -- Prevent partitions with metadata cached in Windows from being mounted; patch taken from upstream git
Patch0: ntfs-3g_ntfsprogs-use-caution-with-fastboot.patch
Url: http://www.tuxera.com/community/ntfs-3g-download/ Url: http://www.tuxera.com/community/ntfs-3g-download/
%if 0%{?sles_version} %if 0%{?sles_version}
BuildRequires: fuse-devel >= 2.6.0 BuildRequires: fuse-devel >= 2.6.0
@ -63,12 +63,12 @@ NTFS-3G allows for read/write access to NTFS partitions which can be
shared with Windows XP, Windows Server 2003, Windows 2000, Windows shared with Windows XP, Windows Server 2003, Windows 2000, Windows
Vista and Windows Seven. Vista and Windows Seven.
%package -n libntfs-3g83 %package -n libntfs-3g%soname
Summary: NTFS Support in Userspace -- Library Summary: NTFS Support in Userspace -- Library
License: LGPL-2.1+ License: LGPL-2.1+
Group: System/Filesystems Group: System/Filesystems
%description -n libntfs-3g83 %description -n libntfs-3g%soname
NTFS-3G allows for read/write access to NTFS partitions which can be NTFS-3G allows for read/write access to NTFS partitions which can be
shared with Windows XP, Windows Server 2003, Windows 2000, Windows shared with Windows XP, Windows Server 2003, Windows 2000, Windows
Vista and Windows Seven. Vista and Windows Seven.
@ -78,7 +78,7 @@ Summary: NTFS Support in Userspace -- Development Files
License: LGPL-2.1+ License: LGPL-2.1+
Group: System/Filesystems Group: System/Filesystems
Requires: glibc-devel Requires: glibc-devel
Requires: libntfs-3g83 = %{version} Requires: libntfs-3g%soname = %{version}
Provides: ntfs-3g-devel = %{version} Provides: ntfs-3g-devel = %{version}
Obsoletes: ntfs-3g-devel < %{version} Obsoletes: ntfs-3g-devel < %{version}
@ -99,7 +99,6 @@ options to display the version number and usage syntax.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
# #
@ -146,9 +145,9 @@ if [ ! -f /sbin/mount.ntfs -a -f /sbin/mount.ntfs-3g ]; then
update-alternatives --install /sbin/mount.ntfs mount.ntfs /sbin/mount.ntfs-3g 10 --slave /usr/share/man/man8/mount.ntfs.8.gz mount.ntfs.8.gz /usr/share/man/man8/mount.ntfs-3g.8.gz update-alternatives --install /sbin/mount.ntfs mount.ntfs /sbin/mount.ntfs-3g 10 --slave /usr/share/man/man8/mount.ntfs.8.gz mount.ntfs.8.gz /usr/share/man/man8/mount.ntfs-3g.8.gz
fi fi
%post -n libntfs-3g83 -p /sbin/ldconfig %post -n libntfs-3g%soname -p /sbin/ldconfig
%postun -n libntfs-3g83 -p /sbin/ldconfig %postun -n libntfs-3g%soname -p /sbin/ldconfig
%files -n ntfs-3g %files -n ntfs-3g
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -176,7 +175,7 @@ fi
# We already have this, so no need to package it again. # We already have this, so no need to package it again.
%exclude /usr/share/doc/ntfs-3g/README %exclude /usr/share/doc/ntfs-3g/README
%files -n libntfs-3g83 %files -n libntfs-3g%soname
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYING.LIB %doc COPYING.LIB
%{_libdir}/libntfs-3g.so.* %{_libdir}/libntfs-3g.so.*