[Devel] [RFC PATCH vz9 v6 02/62] dm-ploop: Use READ_ONCE/WRITE_ONCE to access md page data
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Jan 20 10:23:19 MSK 2025
On 12/6/24 05:55, Alexander Atanasov wrote:
> @@ -1090,9 +1090,9 @@ static int ploop_alloc_cluster(struct ploop *ploop, struct ploop_index_wb *piwb,
> clu -= piwb->page_id * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
>
> to = piwb->kmpage;
> - if (to[clu]) {
> + if (READ_ONCE(to[clu])) {
> /* Already mapped by one of previous bios */
> - *dst_clu = to[clu];
> + *dst_clu = READ_ONCE(to[clu]);
> already_alloced = true;
> }
>
The above hunk does not look good, we explicitly do "READ_ONCE(to[clu])"
twice, likely that's not what we want.
--
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.
More information about the Devel
mailing list