mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
Change fd_close_posix() to return int instead of NTSTATUS.
The errno is handed up through the VFS layer to the callers. Michael
This commit is contained in:
parent
df264bf3e0
commit
d928e6648d
@ -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;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user