diff options
author | Michael Adam <obnox@samba.org> | 2008-01-11 13:28:28 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-04-21 00:21:24 +0200 |
commit | 2f8dde9ec8110557c23df6ea66913a7d39425415 (patch) | |
tree | fd8df180eb0b0051c34fef2fd5c0616bc040ea38 | |
parent | 96e9e83ee021db69179fe924144e6ba3dea1b73d (diff) | |
download | samba-2f8dde9ec8110557c23df6ea66913a7d39425415.tar.gz samba-2f8dde9ec8110557c23df6ea66913a7d39425415.tar.bz2 samba-2f8dde9ec8110557c23df6ea66913a7d39425415.zip |
Change fd_close_posix() to return int instead of NTSTATUS.
The errno is handed up through the VFS layer to the callers.
Michael
(This used to be commit d928e6648d61cf2d3c1b77db440efb835b729a84)
-rw-r--r-- | source3/locking/posix.c | 16 | ||||
-rw-r--r-- | source3/modules/vfs_default.c | 5 |
2 files changed, 6 insertions, 15 deletions
diff --git a/source3/locking/posix.c b/source3/locking/posix.c index 844a86e863..aedc12dede 100644 --- a/source3/locking/posix.c +++ b/source3/locking/posix.c @@ -607,7 +607,7 @@ static size_t get_posix_pending_close_entries(TALLOC_CTX *mem_ctx, to delete all locks on this fsp before this function is called. ****************************************************************************/ -NTSTATUS fd_close_posix(struct files_struct *fsp) +int fd_close_posix(struct files_struct *fsp) { int saved_errno = 0; int ret; @@ -620,11 +620,7 @@ NTSTATUS fd_close_posix(struct files_struct *fsp) * which will lose all locks on all fd's open on this dev/inode, * just close. */ - ret = close(fsp->fh->fd); - if (ret == -1) { - return map_nt_error_from_unix(errno); - } - return NT_STATUS_OK; + return close(fsp->fh->fd); } if (get_windows_lock_ref_count(fsp)) { @@ -635,7 +631,7 @@ NTSTATUS fd_close_posix(struct files_struct *fsp) */ add_fd_to_close_entry(fsp); - return NT_STATUS_OK; + return 0; } /* @@ -678,11 +674,7 @@ NTSTATUS fd_close_posix(struct files_struct *fsp) ret = -1; } - if (ret == -1) { - return map_nt_error_from_unix(errno); - } - - return NT_STATUS_OK; + return ret; } /**************************************************************************** diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 9887b309f9..a03f4dcef9 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -210,13 +210,12 @@ static int vfswrap_open(vfs_handle_struct *handle, const char *fname, static int vfswrap_close(vfs_handle_struct *handle, files_struct *fsp, int fd) { - NTSTATUS result; + int result; START_PROFILE(syscall_close); result = fd_close_posix(fsp); END_PROFILE(syscall_close); - - return NT_STATUS_IS_OK(result) ? 0 : -1; + return result; } static ssize_t vfswrap_read(vfs_handle_struct *handle, files_struct *fsp, void *data, size_t n) |