Hello community, here is the log from the commit of package ntfs-3g checked in at Thu Feb 21 02:14:57 CET 2008. -------- --- ntfs-3g/ntfs-3g.changes 2007-09-26 14:23:04.000000000 +0200 +++ /mounts/work_src_done/STABLE/ntfs-3g/ntfs-3g.changes 2008-02-18 20:49:11.000000000 +0100 @@ -1,0 +2,11 @@ +Mon Feb 18 16:38:06 CET 2008 - bk@suse.de + +- Update to 1.2216: + - adds ntfs3-g.probe to check if filesystem is in mountable state + - fixes "Operation not supported" when deleting huge directories + - uses specialized integrated libfuse with fixes for suid usage +- Add a temporary workaround to prevent miscompilation with gcc-4.3 +- Add a simple functionality check using ntfs-3g.probe to %check +- Added -Wextra -Werror and fixed the resulting compiler errors + +------------------------------------------------------------------- Old: ---- ntfs-3g-1.913.tar.bz2 ntfs-3g-error_handling.diff ntfs-3g-try_rw.diff New: ---- ntfs-3g-1.2216.tar.bz2 ntfs-3g-warnings.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ntfs-3g.spec ++++++ --- /var/tmp/diff_new_pack.Fl8446/_old 2008-02-21 02:14:37.000000000 +0100 +++ /var/tmp/diff_new_pack.Fl8446/_new 2008-02-21 02:14:37.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package ntfs-3g (Version 1.913) +# spec file for package ntfs-3g (Version 1.2216) # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -9,26 +9,48 @@ # + Name: ntfs-3g -Summary: Linux NTFS-3G userspace filesystem driver using fuse -Version: 1.913 -Release: 5 +Summary: Linux NTFS-3G userspace filesystem with full write support +Version: 1.2216 +Release: 1 License: GPL v2 or later Group: System/Base -Source0: http://www.ntfs-3g.org/%{name}-%{version}.tar.bz2 -Patch1: ntfs-3g-try_rw.diff -Patch2: ntfs-3g-error_handling.diff +Source0: %{name}-%{version}.tar.bz2 +Patch0: ntfs-3g-warnings.patch Url: http://www.ntfs-3g.org +BuildRequires: ntfsprogs BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: fuse-devel pkgconfig +%if 0%{?suse_version} > 1010 Supplements: filesystem(ntfs-3g) +%endif %define _exec_prefix / %define _libdir /%_lib %description -This package supports full read/write access to Windows XP, Windows -Server 2003, Windows 2000 and Windows Vista file systems, including -file creation and deletion. +NTFS-3G allows for read/write access to NTFS partitions which can be +shared with Windows XP, Windows Server 2003, Windows 2000 and Windows +Vista. + +Limitations: + +* No support for journaling. As a result, if the journal is dirty, + NTFS-3g has to refuse read-write mounts. + +* No support for reading/writing compressed or encrypted files + +* Only static permissions, set at mount time + +Notes: + +* Implemented in user space though fuse. It is possible to balance + performance using normal processor and I/O priorities of the + ntfs-3g processes. + +* NTFS-3g can detect if the filesystem to be mounted has been in use + by Windows when it hibernated and refuses read-write mount to + prevent data corruption as a result of Windows resuming with a + changed filesystem underneath. Evaluating access permissions and file ownership is handled like in the Linux FAT and other free Linux NTFS drivers: The access rights for all @@ -36,13 +58,6 @@ and are the same for all files. Requests to change access rights are silently ignored. -The filesystem module is implemented in user space though fuse, but -performance is very fast. - -Caution: ntfs-3g is heavvily tested on x86 and x86_64 platforms but -virtually untested on other architectures, for example, it's known to -have servere issues on little-endian MIPS (mipsel) - Authors: @@ -51,15 +66,17 @@ %prep %setup -q -%patch1 -p1 -%patch2 -p1 +%patch %build -# disable-library obsoletes disable-static and disable-ldconfig and -# it turns libntfs-3g into an internal library, linked into ntfs-3g: -CFLAGS="${RPM_OPT_FLAGS}" \ -%configure --disable-library +CFLAGS="$RPM_OPT_FLAGS -W -Werror" \ +%configure --disable-static --disable-ldconfig make +# Workaround for bnc#354113: +%ifarch %{ix86} +touch libntfs-3g/attrib.c +make CFLAGS="$CFLAGS -O0" +%endif %install make DESTDIR=$RPM_BUILD_ROOT install @@ -73,18 +90,40 @@ %postun %run_ldconfig +%check +echo >test.fs +/sbin/mkfs.ntfs -q -F test.fs 3000 +src/ntfs-3g.probe --readonly test.fs +src/ntfs-3g.probe --readwrite test.fs +rm test.fs + %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog CREDITS NEWS README /sbin/mount.ntfs-3g +/bin/ntfs-3g.probe +/%_lib/libntfs-3g.so.* %{_bindir}/ntfs-3g %{_mandir}/man8/* +%exclude /%_lib/libntfs-3g.?? +%exclude /%_lib/pkgconfig +%exclude %_includedir +%exclude /usr/share/doc/ntfs-3g/README + %changelog -* Wed Sep 26 2007 - bk@suse.de +* Mon Feb 18 2008 bk@suse.de +- Update to 1.2216: + - adds ntfs3-g.probe to check if filesystem is in mountable state + - fixes "Operation not supported" when deleting huge directories + - uses specialized integrated libfuse with fixes for suid usage +- Add a temporary workaround to prevent miscompilation with gcc-4.3 +- Add a simple functionality check using ntfs-3g.probe to %%check +- Added -Wextra -Werror and fixed the resulting compiler errors +* Wed Sep 26 2007 bk@suse.de - When called as mount.ntfs-3g and rw mount is not possible because the volume is dirty or hibernated, fall back to read-only mounnt to allow installation and system boot to succeed (fixes #309074) -* Thu Sep 13 2007 - bk@suse.de +* Thu Sep 13 2007 bk@suse.de - Update to version 1.913 - Fix too rigid hibernation check which unneccesarily refused mount - Free disk space calculation was highly CPU intensive during writes. @@ -100,14 +139,14 @@ space defragmentation is highly adviced for the best possible speed. File level defragmentation is not enough. - improved concurrent write performance. -* Mon Aug 27 2007 - bk@suse.de +* Mon Aug 27 2007 bk@suse.de - Update to version 1.826: * fix: utime() also updated the timestamp of the parent directory * fix: ignore the "volume dirty" bit because its real meaning is "check the volume". The fact of the real dirtiness is stored in the NTFS logfile which is already checked for. * new: --disable-library option links libntfs-3g into ntfs-3g -* Fri Aug 10 2007 - bk@suse.de +* Fri Aug 10 2007 bk@suse.de - Update to version 1.810: fix: file rename changed the modification time of some files which prevented tools like rsync from preserving the timestamp @@ -122,9 +161,9 @@ was set to the default 000 value. change: manual update, added Windows filename compatibility section change: lots of logging improvements -* Thu Jul 26 2007 - coolo@suse.de +* Thu Jul 26 2007 coolo@suse.de - let yast install the package for ntfs-3g filesystems -* Fri Jul 13 2007 - bk@suse.de +* Fri Jul 13 2007 bk@suse.de - Update to version 1.710: change: more troubleshooting hints if a volume can't be mounted change: logging improvements @@ -134,7 +173,7 @@ Can coexist with ntfsmount and kernel ntfs module now, but you have to use "ntfs-3g" as filesystem type in fstab and mount -t, as done in the examples on http://www.ntfs-3g.org/index.html#usage -* Tue Jul 03 2007 - bk@suse.de +* Tue Jul 03 2007 bk@suse.de - Update to version 1.616: new: ensure mount works during boot: move binaries to the rootfs fix: any kind of file size change failure returned "Operation not permitted" @@ -143,5 +182,5 @@ fix: if the $MFT Bitmap wasn't up-to-date file creation always gave "Input/output error" fix: converting very long file names to Unicode may have failed fix: syslog messages didn't show the low level error detail -* Wed Jun 06 2007 - bk@suse.de +* Wed Jun 06 2007 bk@suse.de - Initial version 1.516, has Obsoletes: ntfsmount-fuse ++++++ ntfs-3g-1.913.tar.bz2 -> ntfs-3g-1.2216.tar.bz2 ++++++ ++++ 24631 lines of diff (skipped) ++++++ ntfs-3g-warnings.patch ++++++ fusermount.c: In function 'mount_fuse': fusermount.c:657: warning: ignoring return value of 'fchdir', declared with attribute warn_unused_result --- libfuse-lite/fusermount.c 2008/02/18 15:49:32 1.1 +++ libfuse-lite/fusermount.c 2008/02/18 16:34:13 @@ -654,7 +654,11 @@ &source, &mnt_opts); if (currdir_fd != -1) { - fchdir(currdir_fd); + if (fchdir(currdir_fd)) { + fprintf(stderr, "%s: chdir to current directory failed!\n", + progname); + goto err; + } close(currdir_fd); } if (mountpoint_fd != -1) # Unused: --- libfuse-lite/fuse_lowlevel.c 2008/02/18 15:57:00 1.1 +++ libfuse-lite/fuse_lowlevel.c 2008/02/18 15:58:54 @@ -1296,25 +1296,3 @@ out: return NULL; } - - -struct fuse_session *fuse_lowlevel_new(struct fuse_args *args, - const struct fuse_lowlevel_ops *op, - size_t op_size, void *userdata) -{ - return fuse_lowlevel_new_common(args, op, op_size, userdata); -} - - -struct fuse_ll_compat_conf { - unsigned max_read; - int set_max_read; -}; - -static const struct fuse_opt fuse_ll_opts_compat[] = { - { "max_read=", offsetof(struct fuse_ll_compat_conf, set_max_read), 1 }, - { "max_read=%u", offsetof(struct fuse_ll_compat_conf, max_read), 0 }, - FUSE_OPT_KEY("max_read=", FUSE_OPT_KEY_KEEP), - FUSE_OPT_END -}; - attrib.c:144: error: passing argument 1 of 'ntfs_log_redirect' discards qualifiers from pointer target type --- include/ntfs-3g/logging.h 2008/02/18 18:09:34 1.1 +++ include/ntfs-3g/logging.h 2008/02/18 18:10:21 @@ -88,21 +88,21 @@ /* Macros to simplify logging. One for each level defined above. * Note, ntfs_log_debug/trace have effect only if DEBUG is defined. */ -#define ntfs_log_critical(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_CRITICAL,NULL,FORMAT,##ARGS) -#define ntfs_log_error(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_ERROR,NULL,FORMAT,##ARGS) -#define ntfs_log_info(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_INFO,NULL,FORMAT,##ARGS) -#define ntfs_log_perror(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_PERROR,NULL,FORMAT,##ARGS) -#define ntfs_log_progress(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_PROGRESS,NULL,FORMAT,##ARGS) -#define ntfs_log_quiet(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_QUIET,NULL,FORMAT,##ARGS) -#define ntfs_log_verbose(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_VERBOSE,NULL,FORMAT,##ARGS) -#define ntfs_log_warning(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_WARNING,NULL,FORMAT,##ARGS) +#define ntfs_log_critical(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_CRITICAL,NULL,FORMAT,##ARGS) +#define ntfs_log_error(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_ERROR,NULL,FORMAT,##ARGS) +#define ntfs_log_info(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_INFO,NULL,FORMAT,##ARGS) +#define ntfs_log_perror(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_PERROR,NULL,FORMAT,##ARGS) +#define ntfs_log_progress(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_PROGRESS,NULL,FORMAT,##ARGS) +#define ntfs_log_quiet(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_QUIET,NULL,FORMAT,##ARGS) +#define ntfs_log_verbose(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_VERBOSE,NULL,FORMAT,##ARGS) +#define ntfs_log_warning(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_WARNING,NULL,FORMAT,##ARGS) /* By default debug and trace messages are compiled into the program, * but not displayed. */ #ifdef DEBUG -#define ntfs_log_debug(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_DEBUG,NULL,FORMAT,##ARGS) -#define ntfs_log_trace(FORMAT, ARGS...) ntfs_log_redirect(__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_TRACE,NULL,FORMAT,##ARGS) +#define ntfs_log_debug(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_DEBUG,NULL,FORMAT,##ARGS) +#define ntfs_log_trace(FORMAT, ARGS...) ntfs_log_redirect((const char *)__FUNCTION__,__FILE__,__LINE__,NTFS_LOG_LEVEL_TRACE,NULL,FORMAT,##ARGS) #else #define ntfs_log_debug(FORMAT, ARGS...)do {} while (0) #define ntfs_log_trace(FORMAT, ARGS...)do {} while (0) # unistr.c: In function 'ntfs_mbstoucs': # unistr.c:540: error: passing argument 2 of 'mbsrtowcs' from incompatible pointer type --- libntfs-3g/unistr.c 2008/02/18 18:26:20 1.1 +++ libntfs-3g/unistr.c 2008/02/18 18:26:32 @@ -537,7 +537,7 @@ s = ins; #if defined(HAVE_MBSINIT) memset(&mbstate, 0, sizeof(mbstate)); - ins_len = mbsrtowcs(NULL, (const char **)&s, 0, &mbstate); + ins_len = mbsrtowcs(NULL, (__const char **)&s, 0, &mbstate); #ifdef __CYGWIN32__ if (!ins_len && *ins) { /* Older Cygwin had broken mbsrtowcs() implementation. */ # ntfs-3g.c: In function ‘ntfs_fuse_getattr’: # ntfs-3g.c:408: error: comparison between signed and unsigned # ntfs-3g.c:409: error: comparison between signed and unsigned # ntfs-3g.c: In function ‘ntfs_fuse_readlink’: # ntfs-3g.c:499: error: comparison between signed and unsigned # ntfs-3g.c:504: error: comparison between signed and unsigned # ntfs-3g.c: In function ‘ntfs_fuse_read’: # ntfs-3g.c:669: error: comparison between signed and unsigned # ntfs-3g.c: In function ‘ntfs_fuse_getxattr’: # ntfs-3g.c:1470: error: comparison between signed and unsigned --- src/ntfs-3g.c +++ src/ntfs-3g.c @@ -404,8 +404,8 @@ * Check whether it's Interix symbolic link, block or * character device. */ - if (na->data_size <= sizeof(INTX_FILE_TYPES) + sizeof( - ntfschar) * MAX_PATH && na->data_size > + if ((u64)na->data_size <= sizeof(INTX_FILE_TYPES) + sizeof( + ntfschar) * MAX_PATH && (u64)na->data_size > sizeof(INTX_FILE_TYPES) && !stream_name_len) { INTX_FILE *intx_file; @@ -496,11 +496,11 @@ res = -errno; goto exit; } - if (na->data_size <= sizeof(INTX_FILE_TYPES)) { + if ((u64)na->data_size <= sizeof(INTX_FILE_TYPES)) { res = -EINVAL; goto exit; } - if (na->data_size > sizeof(INTX_FILE_TYPES) + + if ((u64)na->data_size > sizeof(INTX_FILE_TYPES) + sizeof(ntfschar) * MAX_PATH) { res = -ENAMETOOLONG; goto exit; @@ -666,7 +666,7 @@ res = -errno; goto exit; } - if (offset + size > na->data_size) { + if ((s64)(offset + size) > na->data_size) { if (na->data_size < offset) goto ok; size = na->data_size - offset; @@ -1467,7 +1467,7 @@ goto exit; } if (size) { - if (size >= na->data_size) { + if (size >= (u64)na->data_size) { res = ntfs_attr_pread(na, 0, na->data_size, value); if (res != na->data_size) res = -errno; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de