summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2018-05-02 16:56:33 -0700
committerRalph Boehme <slow@samba.org>2018-05-05 01:38:07 +0200
commit30e6b5999bf0be297de74dc991beeccfe4af6088 (patch)
tree50ed5af4a16aca9e52df4a82e3d1c8063327189c
parent98f03064f75466929295b8854182977c7162e360 (diff)
downloadsamba-30e6b5999bf0be297de74dc991beeccfe4af6088.tar.gz
s3: VFS: Remove SMB_VFS_WRITE() function and all implementations.
All code in Samba now uses SMB_VFS_PWRITE or SMB_VFS_PWRITE_SEND. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Sat May 5 01:38:07 CEST 2018 on sn-devel-144
-rw-r--r--examples/VFS/skel_opaque.c8
-rw-r--r--examples/VFS/skel_transparent.c7
-rw-r--r--source3/include/vfs.h6
-rw-r--r--source3/include/vfs_macros.h5
-rw-r--r--source3/modules/vfs_ceph.c17
-rw-r--r--source3/modules/vfs_commit.c19
-rw-r--r--source3/modules/vfs_default.c11
-rw-r--r--source3/modules/vfs_full_audit.c14
-rw-r--r--source3/modules/vfs_glusterfs.c7
-rw-r--r--source3/modules/vfs_time_audit.c21
-rw-r--r--source3/smbd/vfs.c8
11 files changed, 2 insertions, 121 deletions
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 3f0e6652c56..5529ec76aa1 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -243,13 +243,6 @@ static ssize_t skel_pread_recv(struct tevent_req *req,
return -1;
}
-static ssize_t skel_write(vfs_handle_struct *handle, files_struct *fsp,
- const void *data, size_t n)
-{
- errno = ENOSYS;
- return -1;
-}
-
static ssize_t skel_pwrite(vfs_handle_struct *handle, files_struct *fsp,
const void *data, size_t n, off_t offset)
{
@@ -945,7 +938,6 @@ struct vfs_fn_pointers skel_opaque_fns = {
.pread_fn = skel_pread,
.pread_send_fn = skel_pread_send,
.pread_recv_fn = skel_pread_recv,
- .write_fn = skel_write,
.pwrite_fn = skel_pwrite,
.pwrite_send_fn = skel_pwrite_send,
.pwrite_recv_fn = skel_pwrite_recv,
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index a56cda50027..fde24fbc4db 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -289,12 +289,6 @@ static ssize_t skel_pread_recv(struct tevent_req *req,
return state->ret;
}
-static ssize_t skel_write(vfs_handle_struct *handle, files_struct *fsp,
- const void *data, size_t n)
-{
- return SMB_VFS_NEXT_WRITE(handle, fsp, data, n);
-}
-
static ssize_t skel_pwrite(vfs_handle_struct *handle, files_struct *fsp,
const void *data, size_t n, off_t offset)
{
@@ -1120,7 +1114,6 @@ struct vfs_fn_pointers skel_transparent_fns = {
.pread_fn = skel_pread,
.pread_send_fn = skel_pread_send,
.pread_recv_fn = skel_pread_recv,
- .write_fn = skel_write,
.pwrite_fn = skel_pwrite,
.pwrite_send_fn = skel_pwrite_send,
.pwrite_recv_fn = skel_pwrite_recv,
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 74029a9edab..cc7948a115d 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -249,6 +249,8 @@
Only implement async versions. */
/* Version 39 - Remove SMB_VFS_READ
All users are now pread or async versions. */
+/* Version 39 - Remove SMB_VFS_WRITE
+ All users are now pwrite or async versions. */
#define SMB_VFS_INTERFACE_VERSION 39
@@ -695,7 +697,6 @@ struct vfs_fn_pointers {
void *data,
size_t n, off_t offset);
ssize_t (*pread_recv_fn)(struct tevent_req *req, struct vfs_aio_state *state);
- ssize_t (*write_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const void *data, size_t n);
ssize_t (*pwrite_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const void *data, size_t n, off_t offset);
struct tevent_req *(*pwrite_send_fn)(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
@@ -1182,9 +1183,6 @@ struct tevent_req *smb_vfs_call_pread_send(struct vfs_handle_struct *handle,
size_t n, off_t offset);
ssize_t SMB_VFS_PREAD_RECV(struct tevent_req *req, struct vfs_aio_state *state);
-ssize_t smb_vfs_call_write(struct vfs_handle_struct *handle,
- struct files_struct *fsp, const void *data,
- size_t n);
ssize_t smb_vfs_call_pwrite(struct vfs_handle_struct *handle,
struct files_struct *fsp, const void *data,
size_t n, off_t offset);
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index 5e30f0b484a..d4836134697 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -158,11 +158,6 @@
smb_vfs_call_pread_send((handle)->next, (mem_ctx), (ev), (fsp), \
(data), (n), (off))
-#define SMB_VFS_WRITE(fsp, data, n) \
- smb_vfs_call_write((fsp)->conn->vfs_handles, (fsp), (data), (n))
-#define SMB_VFS_NEXT_WRITE(handle, fsp, data, n) \
- smb_vfs_call_write((handle)->next, (fsp), (data), (n))
-
#define SMB_VFS_PWRITE(fsp, data, n, off) \
smb_vfs_call_pwrite((fsp)->conn->vfs_handles, (fsp), (data), (n), (off))
#define SMB_VFS_NEXT_PWRITE(handle, fsp, data, n, off) \
diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
index cfb887d4e3c..e49e7a6be00 100644
--- a/source3/modules/vfs_ceph.c
+++ b/source3/modules/vfs_ceph.c
@@ -471,22 +471,6 @@ static ssize_t cephwrap_pread(struct vfs_handle_struct *handle, files_struct *fs
}
-static ssize_t cephwrap_write(struct vfs_handle_struct *handle, files_struct *fsp, const void *data, size_t n)
-{
- ssize_t result;
-
- DBG_DEBUG("[CEPH] write(%p, %p, %p, %llu)\n", handle, fsp, data, llu(n));
-
- result = ceph_write(handle->data, fsp->fh->fd, data, n, -1);
-
- DBG_DEBUG("[CEPH] write(...) = %llu\n", llu(result));
- if (result < 0) {
- WRAP_RETURN(result);
- }
- fsp->fh->pos += result;
- return result;
-}
-
static ssize_t cephwrap_pwrite(struct vfs_handle_struct *handle, files_struct *fsp, const void *data,
size_t n, off_t offset)
{
@@ -1458,7 +1442,6 @@ static struct vfs_fn_pointers ceph_fns = {
.open_fn = cephwrap_open,
.close_fn = cephwrap_close,
.pread_fn = cephwrap_pread,
- .write_fn = cephwrap_write,
.pwrite_fn = cephwrap_pwrite,
.lseek_fn = cephwrap_lseek,
.sendfile_fn = cephwrap_sendfile,
diff --git a/source3/modules/vfs_commit.c b/source3/modules/vfs_commit.c
index aa9c87db74d..a11f9e2f131 100644
--- a/source3/modules/vfs_commit.c
+++ b/source3/modules/vfs_commit.c
@@ -248,24 +248,6 @@ static int commit_open(
return fd;
}
-static ssize_t commit_write(
- vfs_handle_struct * handle,
- files_struct * fsp,
- const void * data,
- size_t count)
-{
- ssize_t ret;
- ret = SMB_VFS_NEXT_WRITE(handle, fsp, data, count);
-
- if (ret > 0) {
- if (commit(handle, fsp, fsp->fh->pos, ret) == -1) {
- return -1;
- }
- }
-
- return ret;
-}
-
static ssize_t commit_pwrite(
vfs_handle_struct * handle,
files_struct * fsp,
@@ -395,7 +377,6 @@ static int commit_ftruncate(
static struct vfs_fn_pointers vfs_commit_fns = {
.open_fn = commit_open,
.close_fn = commit_close,
- .write_fn = commit_write,
.pwrite_fn = commit_pwrite,
.pwrite_send_fn = commit_pwrite_send,
.pwrite_recv_fn = commit_pwrite_recv,
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 0fa9b78b46e..e335e270650 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -638,16 +638,6 @@ static ssize_t vfswrap_pread(vfs_handle_struct *handle, files_struct *fsp, void
return result;
}
-static ssize_t vfswrap_write(vfs_handle_struct *handle, files_struct *fsp, const void *data, size_t n)
-{
- ssize_t result;
-
- START_PROFILE_BYTES(syscall_write, n);
- result = sys_write(fsp->fh->fd, data, n);
- END_PROFILE_BYTES(syscall_write);
- return result;
-}
-
static ssize_t vfswrap_pwrite(vfs_handle_struct *handle, files_struct *fsp, const void *data,
size_t n, off_t offset)
{
@@ -2967,7 +2957,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
.pread_fn = vfswrap_pread,
.pread_send_fn = vfswrap_pread_send,
.pread_recv_fn = vfswrap_pread_recv,
- .write_fn = vfswrap_write,
.pwrite_fn = vfswrap_pwrite,
.pwrite_send_fn = vfswrap_pwrite_send,
.pwrite_recv_fn = vfswrap_pwrite_recv,
diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
index 6e28a246652..ee8dbbcff2c 100644
--- a/source3/modules/vfs_full_audit.c
+++ b/source3/modules/vfs_full_audit.c
@@ -1116,19 +1116,6 @@ static ssize_t smb_full_audit_pread_recv(struct tevent_req *req,
return state->ret;
}
-static ssize_t smb_full_audit_write(vfs_handle_struct *handle, files_struct *fsp,
- const void *data, size_t n)
-{
- ssize_t result;
-
- result = SMB_VFS_NEXT_WRITE(handle, fsp, data, n);
-
- do_log(SMB_VFS_OP_WRITE, (result >= 0), handle, "%s",
- fsp_str_do_log(fsp));
-
- return result;
-}
-
static ssize_t smb_full_audit_pwrite(vfs_handle_struct *handle, files_struct *fsp,
const void *data, size_t n,
off_t offset)
@@ -2497,7 +2484,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
.pread_fn = smb_full_audit_pread,
.pread_send_fn = smb_full_audit_pread_send,
.pread_recv_fn = smb_full_audit_pread_recv,
- .write_fn = smb_full_audit_write,
.pwrite_fn = smb_full_audit_pwrite,
.pwrite_send_fn = smb_full_audit_pwrite_send,
.pwrite_recv_fn = smb_full_audit_pwrite_recv,
diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c
index 6555fd42545..b022e9869ff 100644
--- a/source3/modules/vfs_glusterfs.c
+++ b/source3/modules/vfs_glusterfs.c
@@ -881,12 +881,6 @@ static ssize_t vfs_gluster_recv(struct tevent_req *req,
return ret;
}
-static ssize_t vfs_gluster_write(struct vfs_handle_struct *handle,
- files_struct *fsp, const void *data, size_t n)
-{
- return glfs_write(*(glfs_fd_t **)VFS_FETCH_FSP_EXTENSION(handle, fsp), data, n, 0);
-}
-
static ssize_t vfs_gluster_pwrite(struct vfs_handle_struct *handle,
files_struct *fsp, const void *data,
size_t n, off_t offset)
@@ -1450,7 +1444,6 @@ static struct vfs_fn_pointers glusterfs_fns = {
.pread_fn = vfs_gluster_pread,
.pread_send_fn = vfs_gluster_pread_send,
.pread_recv_fn = vfs_gluster_recv,
- .write_fn = vfs_gluster_write,
.pwrite_fn = vfs_gluster_pwrite,
.pwrite_send_fn = vfs_gluster_pwrite_send,
.pwrite_recv_fn = vfs_gluster_recv,
diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c
index faa913180fe..084c209510d 100644
--- a/source3/modules/vfs_time_audit.c
+++ b/source3/modules/vfs_time_audit.c
@@ -732,26 +732,6 @@ static ssize_t smb_time_audit_pread_recv(struct tevent_req *req,
return state->ret;
}
-static ssize_t smb_time_audit_write(vfs_handle_struct *handle,
- files_struct *fsp,
- const void *data, size_t n)
-{
- ssize_t result;
- struct timespec ts1,ts2;
- double timediff;
-
- clock_gettime_mono(&ts1);
- result = SMB_VFS_NEXT_WRITE(handle, fsp, data, n);
- clock_gettime_mono(&ts2);
- timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
-
- if (timediff > audit_timeout) {
- smb_time_audit_log_fsp("write", timediff, fsp);
- }
-
- return result;
-}
-
static ssize_t smb_time_audit_pwrite(vfs_handle_struct *handle,
files_struct *fsp,
const void *data, size_t n,
@@ -2661,7 +2641,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
.pread_fn = smb_time_audit_pread,
.pread_send_fn = smb_time_audit_pread_send,
.pread_recv_fn = smb_time_audit_pread_recv,
- .write_fn = smb_time_audit_write,
.pwrite_fn = smb_time_audit_pwrite,
.pwrite_send_fn = smb_time_audit_pwrite_send,
.pwrite_recv_fn = smb_time_audit_pwrite_recv,
diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c
index aa01b1b07f0..386e955243f 100644
--- a/source3/smbd/vfs.c
+++ b/source3/smbd/vfs.c
@@ -1729,14 +1729,6 @@ ssize_t SMB_VFS_PREAD_RECV(struct tevent_req *req,
return state->retval;
}
-ssize_t smb_vfs_call_write(struct vfs_handle_struct *handle,
- struct files_struct *fsp, const void *data,
- size_t n)
-{
- VFS_FIND(write);
- return handle->fns->write_fn(handle, fsp, data, n);
-}
-
ssize_t smb_vfs_call_pwrite(struct vfs_handle_struct *handle,
struct files_struct *fsp, const void *data,
size_t n, off_t offset)