On 12/6/24 05:55, Alexander Atanasov wrote:
@@ -411,7 +415,6 @@ static void ploop_apply_delta_mappings(struct ploop *ploop, if (!is_raw) d_md = ploop_md_first_entry(md_root);- write_lock_irq(&ploop->bat_rwlock);ploop_for_each_md_page(ploop, md, node) { bat_entries = md->kmpage; if (!is_raw) @@ -455,7 +458,6 @@ static void ploop_apply_delta_mappings(struct ploop *ploop, if (!is_raw) d_md = ploop_md_next_entry(d_md); } - write_unlock_irq(&ploop->bat_rwlock); }int ploop_check_delta_length(struct ploop *ploop, struct file *file, loff_t *file_size)
This is not possible to remove this lock, as ploop->bat_entries rbtree is protected by it. In other words ploop_for_each_md_page should be protected by critical section against concurrent ploop_add_md_pages.
-- Best regards, Tikhomirov Pavel Senior Software Developer, Virtuozzo. _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
