From 0db7aba8af80a01150d1061a4192ab814e4234b7 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 11 Jan 2008 14:19:28 +0100 Subject: Remove redundant parameter fd from SMB_VFS_CLOSE(). Now all those redundant fd's have vanished from the VFS API. Michael (This used to be commit 14294535512a7f191c5008e622b6708e417854ae) --- examples/VFS/skel_opaque.c | 4 ++-- examples/VFS/skel_transparent.c | 4 ++-- source3/include/vfs.h | 3 ++- source3/include/vfs_macros.h | 6 +++--- source3/modules/vfs_audit.c | 8 ++++---- source3/modules/vfs_commit.c | 5 ++--- source3/modules/vfs_default.c | 2 +- source3/modules/vfs_extd_audit.c | 10 +++++----- source3/modules/vfs_full_audit.c | 6 +++--- source3/modules/vfs_streams_xattr.c | 2 +- source3/modules/vfs_syncops.c | 6 +++--- source3/smbd/open.c | 2 +- source3/torture/cmd_vfs.c | 2 +- 13 files changed, 30 insertions(+), 30 deletions(-) diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c index 4a6e6be42f..eb49f35c04 100644 --- a/examples/VFS/skel_opaque.c +++ b/examples/VFS/skel_opaque.c @@ -125,9 +125,9 @@ static int skel_open(vfs_handle_struct *handle, const char *fname, files_struct return vfswrap_open(NULL, fname, flags, mode); } -static int skel_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int skel_close(vfs_handle_struct *handle, files_struct *fsp) { - return vfswrap_close(NULL, fsp, fd); + return vfswrap_close(NULL, fsp); } static ssize_t skel_read(vfs_handle_struct *handle, files_struct *fsp, void *data, size_t n) diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c index f4cb9b15ba..7102d4d4db 100644 --- a/examples/VFS/skel_transparent.c +++ b/examples/VFS/skel_transparent.c @@ -119,9 +119,9 @@ static int skel_open(vfs_handle_struct *handle, const char *fname, files_struct return SMB_VFS_NEXT_OPEN(handle, fname, fsp, flags, mode); } -static int skel_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int skel_close(vfs_handle_struct *handle, files_struct *fsp) { - return SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + return SMB_VFS_NEXT_CLOSE(handle, fsp); } static ssize_t skel_read(vfs_handle_struct *handle, files_struct *fsp, void *data, size_t n) diff --git a/source3/include/vfs.h b/source3/include/vfs.h index ca176aabb2..c8397164bc 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -105,6 +105,7 @@ /* Leave at 22 - not yet released. Remove parameter fromfd from recvfile. - obnox */ /* Leave at 22 - not yet released. Additional change: add operations for offline files -- ab */ /* Leave at 22 - not yet released. Add the streaminfo call. -- jpeach, vl */ +/* Leave at 22 - not yet released. Remove parameter fd from close_fn. - obnox */ #define SMB_VFS_INTERFACE_VERSION 22 @@ -301,7 +302,7 @@ struct vfs_ops { /* File operations */ int (*open)(struct vfs_handle_struct *handle, const char *fname, files_struct *fsp, int flags, mode_t mode); - int (*close_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd); + int (*close_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp); ssize_t (*read)(struct vfs_handle_struct *handle, struct files_struct *fsp, void *data, size_t n); ssize_t (*pread)(struct vfs_handle_struct *handle, struct files_struct *fsp, void *data, size_t n, SMB_OFF_T offset); ssize_t (*write)(struct vfs_handle_struct *handle, struct files_struct *fsp, const void *data, size_t n); diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index 1e64bd5ac3..f0a9809ecc 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -48,7 +48,7 @@ /* File operations */ #define SMB_VFS_OPEN(conn, fname, fsp, flags, mode) (((conn)->vfs.ops.open)((conn)->vfs.handles.open, (fname), (fsp), (flags), (mode))) -#define SMB_VFS_CLOSE(fsp, fd) ((fsp)->conn->vfs.ops.close_fn((fsp)->conn->vfs.handles.close_hnd, (fsp), (fd))) +#define SMB_VFS_CLOSE(fsp) ((fsp)->conn->vfs.ops.close_fn((fsp)->conn->vfs.handles.close_hnd, (fsp))) #define SMB_VFS_READ(fsp, data, n) ((fsp)->conn->vfs.ops.read((fsp)->conn->vfs.handles.read, (fsp), (data), (n))) #define SMB_VFS_PREAD(fsp, data, n, off) ((fsp)->conn->vfs.ops.pread((fsp)->conn->vfs.handles.pread, (fsp), (data), (n), (off))) #define SMB_VFS_WRITE(fsp, data, n) ((fsp)->conn->vfs.ops.write((fsp)->conn->vfs.handles.write, (fsp), (data), (n))) @@ -174,7 +174,7 @@ /* File operations */ #define SMB_VFS_OPAQUE_OPEN(conn, fname, fsp, flags, mode) (((conn)->vfs_opaque.ops.open)((conn)->vfs_opaque.handles.open, (fname), (fsp), (flags), (mode))) -#define SMB_VFS_OPAQUE_CLOSE(fsp, fd) ((fsp)->conn->vfs_opaque.ops.close_fn((fsp)->conn->vfs_opaque.handles.close_hnd, (fsp), (fd))) +#define SMB_VFS_OPAQUE_CLOSE(fsp) ((fsp)->conn->vfs_opaque.ops.close_fn((fsp)->conn->vfs_opaque.handles.close_hnd, (fsp))) #define SMB_VFS_OPAQUE_READ(fsp, data, n) ((fsp)->conn->vfs_opaque.ops.read((fsp)->conn->vfs_opaque.handles.read, (fsp), (data), (n))) #define SMB_VFS_OPAQUE_PREAD(fsp, data, n, off) ((fsp)->conn->vfs_opaque.ops.pread((fsp)->conn->vfs_opaque.handles.pread, (fsp), (data), (n), (off))) #define SMB_VFS_OPAQUE_WRITE(fsp, data, n) ((fsp)->conn->vfs_opaque.ops.write((fsp)->conn->vfs_opaque.handles.write, (fsp), (data), (n))) @@ -301,7 +301,7 @@ /* File operations */ #define SMB_VFS_NEXT_OPEN(handle, fname, fsp, flags, mode) (((handle)->vfs_next.ops.open)((handle)->vfs_next.handles.open, (fname), (fsp), (flags), (mode))) -#define SMB_VFS_NEXT_CLOSE(handle, fsp, fd) ((handle)->vfs_next.ops.close_fn((handle)->vfs_next.handles.close_hnd, (fsp), (fd))) +#define SMB_VFS_NEXT_CLOSE(handle, fsp) ((handle)->vfs_next.ops.close_fn((handle)->vfs_next.handles.close_hnd, (fsp))) #define SMB_VFS_NEXT_READ(handle, fsp, data, n) ((handle)->vfs_next.ops.read((handle)->vfs_next.handles.read, (fsp), (data), (n))) #define SMB_VFS_NEXT_PREAD(handle, fsp, data, n, off) ((handle)->vfs_next.ops.pread((handle)->vfs_next.handles.pread, (fsp), (data), (n), (off))) #define SMB_VFS_NEXT_WRITE(handle, fsp, data, n) ((handle)->vfs_next.ops.write((handle)->vfs_next.handles.write, (fsp), (data), (n))) diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c index cfb4ddf590..4000580c42 100644 --- a/source3/modules/vfs_audit.c +++ b/source3/modules/vfs_audit.c @@ -34,7 +34,7 @@ static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, const char *fnam static int audit_mkdir(vfs_handle_struct *handle, const char *path, mode_t mode); static int audit_rmdir(vfs_handle_struct *handle, const char *path); static int audit_open(vfs_handle_struct *handle, const char *fname, files_struct *fsp, int flags, mode_t mode); -static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd); +static int audit_close(vfs_handle_struct *handle, files_struct *fsp); static int audit_rename(vfs_handle_struct *handle, const char *oldname, const char *newname); static int audit_unlink(vfs_handle_struct *handle, const char *path); static int audit_chmod(vfs_handle_struct *handle, const char *path, mode_t mode); @@ -202,14 +202,14 @@ static int audit_open(vfs_handle_struct *handle, const char *fname, files_struct return result; } -static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int audit_close(vfs_handle_struct *handle, files_struct *fsp) { int result; - result = SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + result = SMB_VFS_NEXT_CLOSE(handle, fsp); syslog(audit_syslog_priority(handle), "close fd %d %s%s\n", - fd, + fsp->fh->fd, (result < 0) ? "failed: " : "", (result < 0) ? strerror(errno) : ""); diff --git a/source3/modules/vfs_commit.c b/source3/modules/vfs_commit.c index ac391cf007..1cef6d0243 100644 --- a/source3/modules/vfs_commit.c +++ b/source3/modules/vfs_commit.c @@ -265,12 +265,11 @@ static ssize_t commit_pwrite( static int commit_close( vfs_handle_struct * handle, - files_struct * fsp, - int fd) + files_struct * fsp) { /* Commit errors not checked, close() will find them again */ commit_all(handle, fsp); - return SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + return SMB_VFS_NEXT_CLOSE(handle, fsp); } static int commit_ftruncate( diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index a03f4dcef9..de801a2041 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -208,7 +208,7 @@ static int vfswrap_open(vfs_handle_struct *handle, const char *fname, return result; } -static int vfswrap_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int vfswrap_close(vfs_handle_struct *handle, files_struct *fsp) { int result; diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c index 926ec36259..7516cba1d3 100644 --- a/source3/modules/vfs_extd_audit.c +++ b/source3/modules/vfs_extd_audit.c @@ -37,7 +37,7 @@ static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, const char *fnam static int audit_mkdir(vfs_handle_struct *handle, const char *path, mode_t mode); static int audit_rmdir(vfs_handle_struct *handle, const char *path); static int audit_open(vfs_handle_struct *handle, const char *fname, files_struct *fsp, int flags, mode_t mode); -static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd); +static int audit_close(vfs_handle_struct *handle, files_struct *fsp); static int audit_rename(vfs_handle_struct *handle, const char *oldname, const char *newname); static int audit_unlink(vfs_handle_struct *handle, const char *path); static int audit_chmod(vfs_handle_struct *handle, const char *path, mode_t mode); @@ -224,18 +224,18 @@ static int audit_open(vfs_handle_struct *handle, const char *fname, files_struct return result; } -static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int audit_close(vfs_handle_struct *handle, files_struct *fsp) { int result; - result = SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + result = SMB_VFS_NEXT_CLOSE(handle, fsp); syslog(audit_syslog_priority(handle), "close fd %d %s%s\n", - fd, + fsp->fh->fd, (result < 0) ? "failed: " : "", (result < 0) ? strerror(errno) : ""); DEBUG(2, ("vfs_extd_audit: close fd %d %s %s\n", - fd, + fsp->fh->fd, (result < 0) ? "failed: " : "", (result < 0) ? strerror(errno) : "")); diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 19218cc47d..2f8098de9b 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -111,7 +111,7 @@ static int smb_full_audit_closedir(vfs_handle_struct *handle, SMB_STRUCT_DIR *dirp); static int smb_full_audit_open(vfs_handle_struct *handle, const char *fname, files_struct *fsp, int flags, mode_t mode); -static int smb_full_audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd); +static int smb_full_audit_close(vfs_handle_struct *handle, files_struct *fsp); static ssize_t smb_full_audit_read(vfs_handle_struct *handle, files_struct *fsp, void *data, size_t n); static ssize_t smb_full_audit_pread(vfs_handle_struct *handle, files_struct *fsp, @@ -1083,11 +1083,11 @@ static int smb_full_audit_open(vfs_handle_struct *handle, return result; } -static int smb_full_audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int smb_full_audit_close(vfs_handle_struct *handle, files_struct *fsp) { int result; - result = SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + result = SMB_VFS_NEXT_CLOSE(handle, fsp); do_log(SMB_VFS_OP_CLOSE, (result >= 0), handle, "%s", fsp->fsp_name); diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c index 766e7d10ab..b74c4f7902 100644 --- a/source3/modules/vfs_streams_xattr.c +++ b/source3/modules/vfs_streams_xattr.c @@ -345,7 +345,7 @@ static int streams_xattr_open(vfs_handle_struct *handle, const char *fname, * BUGBUGBUG -- we would need to call fd_close_posix here, but * we don't have a full fsp yet */ - SMB_VFS_CLOSE(fsp, hostfd); + SMB_VFS_CLOSE(fsp); } TALLOC_FREE(frame); diff --git a/source3/modules/vfs_syncops.c b/source3/modules/vfs_syncops.c index 3aa89b40a6..d3f7868400 100644 --- a/source3/modules/vfs_syncops.c +++ b/source3/modules/vfs_syncops.c @@ -165,14 +165,14 @@ static int syncops_rmdir(vfs_handle_struct *handle, const char *fname) } /* close needs to be handled specially */ -static int syncops_close(vfs_handle_struct *handle, files_struct *fsp, int fd) +static int syncops_close(vfs_handle_struct *handle, files_struct *fsp) { if (fsp->can_write && sync_onclose) { /* ideally we'd only do this if we have written some data, but there is no flag for that in fsp yet. */ - fsync(fd); + fsync(fsp->fh->fd); } - return SMB_VFS_NEXT_CLOSE(handle, fsp, fd); + return SMB_VFS_NEXT_CLOSE(handle, fsp); } diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 7a13b3ae38..0d1dd31cd6 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -81,7 +81,7 @@ NTSTATUS fd_close(files_struct *fsp) return NT_STATUS_OK; /* Shared handle. Only close last reference. */ } - ret = SMB_VFS_CLOSE(fsp, fsp->fh->fd); + ret = SMB_VFS_CLOSE(fsp); fsp->fh->fd = -1; if (ret == -1) { return map_nt_error_from_unix(errno); diff --git a/source3/torture/cmd_vfs.c b/source3/torture/cmd_vfs.c index 9359b58599..28400887ef 100644 --- a/source3/torture/cmd_vfs.c +++ b/source3/torture/cmd_vfs.c @@ -355,7 +355,7 @@ static NTSTATUS cmd_close(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, return NT_STATUS_OK; } - ret = SMB_VFS_CLOSE(vfs->files[fd], fd); + ret = SMB_VFS_CLOSE(vfs->files[fd]); if (ret == -1 ) printf("close: error=%d (%s)\n", errno, strerror(errno)); else -- cgit