Change to vfs API. POSIX states fsync should return an int, not a void.
authorJeremy Allison <jra@samba.org>
Tue, 4 Apr 2000 18:44:04 +0000 (18:44 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 4 Apr 2000 18:44:04 +0000 (18:44 +0000)
Jeremy.
(This used to be commit 6c442d68afae4140e28b770343a900b5ce510b4a)

source3/include/proto.h
source3/include/vfs.h
source3/rpc_server/srv_netlog.c
source3/smbd/fileio.c
source3/smbd/vfs-wrap.c

index 7f40ac8fcdefbc3fe6c18cb9b564c8af8e3838ef..c74d775329f753dcf5b91d9ba754fd55e7c76a1a 100644 (file)
@@ -3265,7 +3265,7 @@ ssize_t vfswrap_read(int fd, char *data, size_t n);
 ssize_t vfswrap_write(int fd, char *data, size_t n);
 SMB_OFF_T vfswrap_lseek(int filedes, SMB_OFF_T offset, int whence);
 int vfswrap_rename(char *old, char *new);
-void vfswrap_fsync(int fd);
+int vfswrap_fsync(int fd);
 int vfswrap_stat(char *fname, SMB_STRUCT_STAT *sbuf);
 int vfswrap_fstat(int fd, SMB_STRUCT_STAT *sbuf);
 int vfswrap_lstat(char *path, 
index 885e7d486b20dec4df8786861ee393011f699d55..fca9f7da84ac0861d853c4af97164d03aabefa99 100644 (file)
@@ -129,7 +129,7 @@ struct vfs_ops {
     ssize_t (*write)(int fd, char *data, size_t n);
     SMB_OFF_T (*lseek)(int filedes, SMB_OFF_T offset, int whence);
     int (*rename)(char *old, char *new);
-    void (*fsync)(int fd);
+    int (*fsync)(int fd);
     int (*stat)(char *fname, SMB_STRUCT_STAT *sbuf);
     int (*fstat)(int fd, SMB_STRUCT_STAT *sbuf);
     int (*lstat)(char *path, SMB_STRUCT_STAT *sbuf);
index db1a4a9c6baa23dc0b1e13ab95f0d73159af6f31..7f893e2633fbf671e2ac0a7689dabe16e4497c7c 100644 (file)
@@ -851,7 +851,6 @@ static BOOL api_net_sam_logon(prs_struct *data, prs_struct *rdata)
 
 static BOOL api_net_trust_dom_list(prs_struct *data, prs_struct *rdata)
 {
-        uint16 vuid = current_user.vuid;
        NET_Q_TRUST_DOM_LIST q_t;
 
        char *trusted_domain = "test_domain";
@@ -886,7 +885,6 @@ static BOOL api_net_trust_dom_list(prs_struct *data, prs_struct *rdata)
 
 static BOOL api_net_logon_ctrl2(prs_struct *data, prs_struct *rdata)
 {
-        uint16 vuid = current_user.vuid;
        NET_Q_LOGON_CTRL2 q_l;
 
        /* lkclXXXX - guess what - absolutely no idea what these are! */
index 348486d430093bf13c194d47b5c3adc502de7d62..00a515d16dc1889af0a9a4e6127c493ec5bf1d76 100644 (file)
@@ -651,10 +651,8 @@ sync a file
 
 void sys_fsync_file(connection_struct *conn, files_struct *fsp)
 {
-#ifdef HAVE_FSYNC
     if(lp_strict_sync(SNUM(conn)) && fsp->fd_ptr != NULL) {
       flush_write_cache(fsp, SYNC_FLUSH);
       conn->vfs_ops.fsync(fsp->fd_ptr->fd);
     }
-#endif
 }
index 24e45a6d24a3f18f51a01473764cf3e4daf03d6d..b9c22ef1f9843db364eccfc1bb1f505bd3bc5682 100644 (file)
@@ -204,9 +204,13 @@ int vfswrap_rename(char *old, char *new)
     return result;
 }
 
-void vfswrap_fsync(int fd)
+int vfswrap_fsync(int fd)
 {
-    fsync(fd);
+#ifdef HAVE_FSYNC
+    return fsync(fd);
+#else
+       return 0;
+#endif
 }
 
 int vfswrap_stat(char *fname, SMB_STRUCT_STAT *sbuf)