Package: unionfs-fuse
Version: 0.21-2
Followup-For: Bug #496794
Fix bugs in patch.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (400, 'unstable-i386')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.25-kvm-nofb (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
diff -u unionfs-fuse-0.21/debian/changelog unionfs-fuse-0.21/debian/changelog
--- unionfs-fuse-0.21/debian/changelog
+++ unionfs-fuse-0.21/debian/changelog
@@ -1,3 +1,10 @@
+unionfs-fuse (0.21-2a0.mrvn.1) unstable; urgency=low
+
+ [ Goswin von Brederlow ]
+ * utime() is deprecated, use utimens() instead.
+
+ -- Goswin von Brederlow <[EMAIL PROTECTED]> Wed, 27 Aug 2008 15:59:52 +0200
+
unionfs-fuse (0.21-2) unstable; urgency=high
* fix a critical bug: creating new files in directories existing only
only in patch2:
unchanged:
--- unionfs-fuse-0.21.orig/src/unionfs.c
+++ unionfs-fuse-0.21/src/unionfs.c
@@ -25,6 +25,8 @@
#include <dirent.h>
#include <errno.h>
#include <sys/statvfs.h>
+#define __USE_GNU
+#include <sys/time.h>
#ifdef HAVE_SETXATTR
#include <sys/xattr.h>
@@ -684,8 +686,11 @@
return 0;
}
-static int unionfs_utime(const char *path, struct utimbuf *buf) {
+static int unionfs_utimens(const char *path, const struct timespec *ts) {
DBG_IN();
+ struct timeval tv[2];
+ TIMESPEC_TO_TIMEVAL(&tv[0], &ts[0]);
+ TIMESPEC_TO_TIMEVAL(&tv[1], &ts[1]);
if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) return 0;
@@ -700,7 +705,7 @@
char p[PATHLEN_MAX];
snprintf(p, PATHLEN_MAX, "%s%s", uopt.branches[i].path, path);
- int res = utime(p, buf);
+ int res = utimes(p, tv);
to_root();
@@ -843,7 +848,7 @@
.symlink = unionfs_symlink,
.truncate = unionfs_truncate,
.unlink = unionfs_unlink,
- .utime = unionfs_utime,
+ .utimens = unionfs_utimens,
.write = unionfs_write,
#ifdef HAVE_SETXATTR
.getxattr = unionfs_getxattr,