[SCM] Samba Shared Repository - branch v3-5-test updated
Karolin Seeger
kseeger at samba.org
Sat Feb 5 10:47:09 MST 2011
The branch, v3-5-test has been updated
via a50a0f4 s3: Fix bug 7940 -- fall back for utimes calls
from f2a19b8 s3: Fix connecting to port-139 only servers
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit a50a0f438a928db9c2f25c779186611e40b2a960
Author: Volker Lendecke <vl at samba.org>
Date: Sat Jan 29 10:59:14 2011 +0100
s3: Fix bug 7940 -- fall back for utimes calls
There are systems where ./configure has detected advanced utimes calls which
are then not available on other kernels. We should do a proper fallback.
-----------------------------------------------------------------------
Summary of changes:
source3/modules/vfs_default.c | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 691fd7c..60b85d9 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -898,7 +898,11 @@ static int vfswrap_ntimes(vfs_handle_struct *handle,
} else {
result = utimensat(AT_FDCWD, smb_fname->base_name, NULL, 0);
}
-#elif defined(HAVE_UTIMES)
+ if (!((result == -1) && (errno == ENOSYS))) {
+ goto out;
+ }
+#endif
+#if defined(HAVE_UTIMES)
if (ft != NULL) {
struct timeval tv[2];
tv[0] = convert_timespec_to_timeval(ft->atime);
@@ -907,7 +911,11 @@ static int vfswrap_ntimes(vfs_handle_struct *handle,
} else {
result = utimes(smb_fname->base_name, NULL);
}
-#elif defined(HAVE_UTIME)
+ if (!((result == -1) && (errno == ENOSYS))) {
+ goto out;
+ }
+#endif
+#if defined(HAVE_UTIME)
if (ft != NULL) {
struct utimbuf times;
times.actime = convert_timespec_to_time_t(ft->atime);
@@ -916,10 +924,12 @@ static int vfswrap_ntimes(vfs_handle_struct *handle,
} else {
result = utime(smb_fname->base_name, NULL);
}
-#else
+ if (!((result == -1) && (errno == ENOSYS))) {
+ goto out;
+ }
+#endif
errno = ENOSYS;
result = -1;
-#endif
out:
END_PROFILE(syscall_ntimes);
--
Samba Shared Repository
More information about the samba-cvs
mailing list