summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/clifile.c10
-rw-r--r--source3/libsmb/proto.h5
-rw-r--r--source3/torture/locktest.c16
3 files changed, 15 insertions, 16 deletions
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 948d10499d..a5be74803c 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -2721,9 +2721,9 @@ NTSTATUS cli_unlock(struct cli_state *cli,
Lock a file with 64 bit offsets.
****************************************************************************/
-bool cli_lock64(struct cli_state *cli, uint16_t fnum,
- uint64_t offset, uint64_t len, int timeout,
- enum brl_type lock_type)
+NTSTATUS cli_lock64(struct cli_state *cli, uint16_t fnum,
+ uint64_t offset, uint64_t len, int timeout,
+ enum brl_type lock_type)
{
uint16_t vwv[8];
uint8_t bytes[20];
@@ -2732,7 +2732,7 @@ bool cli_lock64(struct cli_state *cli, uint16_t fnum,
NTSTATUS status;
if (! (cli->capabilities & CAP_LARGE_FILES)) {
- return cli_lock(cli, fnum, offset, len, timeout, lock_type);
+ return cli_lock32(cli, fnum, offset, len, timeout, lock_type);
}
ltype = (lock_type == READ_LOCK? 1 : 0);
@@ -2764,7 +2764,7 @@ bool cli_lock64(struct cli_state *cli, uint16_t fnum,
cli->timeout = saved_timeout;
- return NT_STATUS_IS_OK(status);
+ return status;
}
/****************************************************************************
diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h
index 906852e94f..151df40436 100644
--- a/source3/libsmb/proto.h
+++ b/source3/libsmb/proto.h
@@ -400,8 +400,9 @@ struct tevent_req *cli_unlock_send(TALLOC_CTX *mem_ctx,
uint64_t len);
NTSTATUS cli_unlock_recv(struct tevent_req *req);
NTSTATUS cli_unlock(struct cli_state *cli, uint16_t fnum, uint32_t offset, uint32_t len);
-bool cli_lock64(struct cli_state *cli, uint16_t fnum,
- uint64_t offset, uint64_t len, int timeout, enum brl_type lock_type);
+NTSTATUS cli_lock64(struct cli_state *cli, uint16_t fnum,
+ uint64_t offset, uint64_t len, int timeout,
+ enum brl_type lock_type);
struct tevent_req *cli_unlock64_send(TALLOC_CTX *mem_ctx,
struct event_context *ev,
struct cli_state *cli,
diff --git a/source3/torture/locktest.c b/source3/torture/locktest.c
index d27eb5fa54..a5ccf24c33 100644
--- a/source3/torture/locktest.c
+++ b/source3/torture/locktest.c
@@ -289,17 +289,16 @@ static bool test_one(struct cli_state *cli[NSERVERS][NCONNECTIONS],
uint64_t len = rec->len;
enum brl_type op = rec->lock_type;
int server;
- bool ret[NSERVERS];
NTSTATUS status[NSERVERS];
switch (rec->lock_op) {
case OP_LOCK:
/* set a lock */
for (server=0;server<NSERVERS;server++) {
- ret[server] = cli_lock64(cli[server][conn],
- fnum[server][conn][f],
- start, len, LOCK_TIMEOUT, op);
- status[server] = cli_nt_error(cli[server][conn]);
+ status[server] = cli_lock64(cli[server][conn],
+ fnum[server][conn][f],
+ start, len, LOCK_TIMEOUT,
+ op);
if (!exact_error_codes &&
NT_STATUS_EQUAL(status[server],
NT_STATUS_FILE_LOCK_CONFLICT)) {
@@ -320,10 +319,9 @@ static bool test_one(struct cli_state *cli[NSERVERS][NCONNECTIONS],
case OP_UNLOCK:
/* unset a lock */
for (server=0;server<NSERVERS;server++) {
- ret[server] = NT_STATUS_IS_OK(cli_unlock64(cli[server][conn],
- fnum[server][conn][f],
- start, len));
- status[server] = cli_nt_error(cli[server][conn]);
+ status[server] = cli_unlock64(cli[server][conn],
+ fnum[server][conn][f],
+ start, len);
}
if (showall ||
(!hide_unlock_fails && !NT_STATUS_EQUAL(status[0],status[1]))) {