*/
if (req) {
SMB_ASSERT(fsp_data);
- oplock_callback_id = onefs_oplock_wait_record(req->mid);
+ oplock_callback_id = onefs_oplock_wait_record(req->sconn,
+ req->mid);
if (oplock_callback_id == 0) {
return NT_STATUS_NO_MEMORY;
}
struct onefs_callback_record {
struct onefs_callback_record *prev, *next;
+ struct smbd_server_connection *sconn;
uint64_t id;
enum onefs_callback_state state;
union {
* 2. OPEN_FILE: Once ifs_createfile completes, the callback record is
* transitioned to this state via onefs_set_oplock_callback.
*/
-uint64_t onefs_oplock_wait_record(uint64_t mid)
+uint64_t onefs_oplock_wait_record(struct smbd_server_connection *sconn,
+ uint64_t mid)
{
struct onefs_callback_record *result;
static uint64_t id_generator = 0;
id_generator += 1;
}
+ result->sconn = sconn;
result->id = id_generator;
result->state = ONEFS_WAITING_FOR_OPLOCK;