@@ -177,10 +180,9 @@ static bool ploop_try_delay_enospc(struct ploop_rq *prq,
struct pio *pio)
pr_err_once(PL_FMT("underlying disk is almost full"),
ploop_device_name(ploop));
- ploop->event_enospc = true;
- list_add_tail(&pio->list, &ploop->enospc_pios);
+ WRITE_ONCE(ploop->event_enospc, true);
Do we still need deferred_lock in ploop_get_event to protect
event_enospc after this? Probably we can also use READ/WRITE_ONCE there.
+ llist_add((struct llist_node *)(&pio->list), &ploop->enospc_pios);
unlock:
- spin_unlock_irqrestore(&ploop->deferred_lock, flags);
if (delayed)
mod_timer(&ploop->enospc_timer, jiffies + PLOOP_ENOSPC_TIMEOUT);
--
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel