bool is_sparse : 1;
bool backup_intent : 1;
bool use_ofd_locks : 1;
+ bool closing : 1;
} fsp_flags;
struct tevent_timer *update_write_time_event;
*/
unsigned num_aio_requests;
struct tevent_req **aio_requests;
- bool closing;
/*
* Requests waiting for smb1 byte range locks. They are
return NT_STATUS_ACCESS_DENIED;
}
- if (src_fsp->closing) {
+ if (src_fsp->fsp_flags.closing) {
DBG_INFO("copy chunk src handle with closing in progress.\n");
return NT_STATUS_ACCESS_DENIED;
}
- if (dst_fsp->closing) {
+ if (dst_fsp->fsp_flags.closing) {
DBG_INFO("copy chunk dst handle with closing in progress.\n");
return NT_STATUS_ACCESS_DENIED;
}
* done on it. Not strictly needed, but
* doesn't hurt to flag it as closing.
*/
- fsp->closing = true;
+ fsp->fsp_flags.closing = true;
if (fsp->num_aio_requests > 0) {
/*
}
if (req->chain_fsp != NULL) {
- if (req->chain_fsp->closing) {
+ if (req->chain_fsp->fsp_flags.closing) {
return NULL;
}
return req->chain_fsp;
return NULL;
}
- if (fsp->closing) {
+ if (fsp->fsp_flags.closing) {
return NULL;
}
return NULL;
}
- if (fsp->closing) {
+ if (fsp->fsp_flags.closing) {
return NULL;
}
struct files_struct *fsp;
if (smb2req->compat_chain_fsp != NULL) {
- if (smb2req->compat_chain_fsp->closing) {
+ if (smb2req->compat_chain_fsp->fsp_flags.closing) {
return NULL;
}
return smb2req->compat_chain_fsp;
* This will prevent any more IO being
* done on it.
*/
- fsp->closing = true;
+ fsp->fsp_flags.closing = true;
if (fsp->num_aio_requests > 0) {
/*
* This will prevent any more IO being
* done on it.
*/
- fsp->closing = true;
+ fsp->fsp_flags.closing = true;
if (fsp->num_aio_requests > 0) {
/*
if (fsp->vuid != smb1req->vuid) {
continue;
}
- if (!fsp->closing) {
+ if (!fsp->fsp_flags.closing) {
continue;
}
* This will prevent any more IO being
* done on it.
*/
- fsp->closing = true;
+ fsp->fsp_flags.closing = true;
/*
* Now wait until all aio requests on this fsp are
* done on it. Not strictly needed, but
* doesn't hurt to flag it as closing.
*/
- fsp->closing = true;
+ fsp->fsp_flags.closing = true;
if (fsp->num_aio_requests > 0) {
/*
state->in_fsp = in_fsp;
state->in_flags = in_flags;
- in_fsp->closing = true;
+ in_fsp->fsp_flags.closing = true;
i = 0;
while (i < in_fsp->num_aio_requests) {
* the status is NT_STATUS_RANGE_NOT_LOCKED instead of
* NT_STATUS_CANCELLED.
*/
- if (state->fsp->closing ||
+ if (state->fsp->fsp_flags.closing ||
!NT_STATUS_IS_OK(smb2req->session->status) ||
!NT_STATUS_IS_OK(smb2req->tcon->status)) {
tevent_req_nterror(req, NT_STATUS_RANGE_NOT_LOCKED);