[SCM] Samba Shared Repository - branch v4-4-test updated
Karolin Seeger
kseeger at samba.org
Mon Sep 19 11:45:05 UTC 2016
The branch, v4-4-test has been updated
via aa45e1a smbd: Reset O_NONBLOCK on open files
via 1324acb ctdb-recovery: Terminate if recovery fails without any banning credits
from e4e5018 ctdb-protocol: Fix marshalling for GET_DB_SEQNUM control request
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-4-test
- Log -----------------------------------------------------------------
commit aa45e1a88c0f3eee254f4445be95484bd7ef043e
Author: Volker Lendecke <vl at samba.org>
Date: Mon Aug 29 09:58:45 2016 +0200
smbd: Reset O_NONBLOCK on open files
See the comment inline :-)
Bug: https://bugzilla.samba.org/show_bug.cgi?id=12268
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Simo <simo at samba.org>
Autobuild-User(master): Volker Lendecke <vl at samba.org>
Autobuild-Date(master): Thu Sep 15 20:21:41 CEST 2016 on sn-devel-144
(cherry picked from commit e69b17d603e5f09ac1e7ee05fc1f5ad67288c484)
Autobuild-User(v4-4-test): Karolin Seeger <kseeger at samba.org>
Autobuild-Date(v4-4-test): Mon Sep 19 13:44:01 CEST 2016 on sn-devel-144
commit 1324acbe6de7cf3a98deeecd89975bf911fa6070
Author: Amitay Isaacs <amitay at gmail.com>
Date: Thu Jun 23 21:07:37 2016 +1000
ctdb-recovery: Terminate if recovery fails without any banning credits
In case of database recovery failure, if there are no banning credits
assigned, then the async computation is never terminated. The else
condition is missing in (max_credits >= NUM_RETRIES) check.
Signed-off-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Martin Schwenke <martin at meltin.net>
Autobuild-User(master): Martin Schwenke <martins at samba.org>
Autobuild-Date(master): Fri Jun 24 09:56:23 CEST 2016 on sn-devel-144
(cherry picked from commit 600cec4d44a01391230a81efeece5155a97c8298)
-----------------------------------------------------------------------
Summary of changes:
ctdb/server/ctdb_recovery_helper.c | 2 ++
source3/smbd/open.c | 19 +++++++++++++++++++
2 files changed, 21 insertions(+)
Changeset truncated at 500 lines:
diff --git a/ctdb/server/ctdb_recovery_helper.c b/ctdb/server/ctdb_recovery_helper.c
index 24aa42f..086dd16 100644
--- a/ctdb/server/ctdb_recovery_helper.c
+++ b/ctdb/server/ctdb_recovery_helper.c
@@ -2609,6 +2609,8 @@ static void recovery_db_recovery_done(struct tevent_req *subreq)
}
tevent_req_set_callback(subreq, recovery_failed_done,
req);
+ } else {
+ tevent_req_error(req, EIO);
}
return;
}
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 5935ff5..90155bd 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -883,6 +883,25 @@ static NTSTATUS open_file(files_struct *fsp,
return status;
}
+ if (local_flags & O_NONBLOCK) {
+ /*
+ * GPFS can return ETIMEDOUT for pread on
+ * nonblocking file descriptors when files
+ * migrated to tape need to be recalled. I
+ * could imagine this happens elsehwere
+ * too. With blocking file descriptors this
+ * does not happen.
+ */
+ ret = set_blocking(fsp->fh->fd, true);
+ if (ret == -1) {
+ status = map_nt_error_from_unix(errno);
+ DBG_WARNING("Could not set fd to blocking: "
+ "%s\n", strerror(errno));
+ fd_close(fsp);
+ return status;
+ }
+ }
+
ret = SMB_VFS_FSTAT(fsp, &smb_fname->st);
if (ret == -1) {
/* If we have an fd, this stat should succeed. */
--
Samba Shared Repository
More information about the samba-cvs
mailing list