+static bool smbd_smb2_create_cancel(struct tevent_req *req)
+{
+ struct smbd_smb2_request *smb2req = NULL;
+ struct smbd_smb2_create_state *state = tevent_req_data(req,
+ struct smbd_smb2_create_state);
+ uint64_t mid;
+
+ if (!state) {
+ return false;
+ }
+
+ if (!state->smb2req) {
+ return false;
+ }
+
+ smb2req = state->smb2req;
+ mid = get_mid_from_smb2req(smb2req);
+
+ remove_deferred_open_entry(state->id, mid);
+ remove_deferred_open_message_smb2_internal(smb2req, mid);
+ smb2req->cancelled = true;
+
+ tevent_req_done(req);
+ return true;
+}
+