Re: [PATCH -next 2/3] md/raid10: convert resync_lock to use seqlock

From: Guoqing Jiang
Date: Fri Sep 02 2022 - 05:42:58 EST


Hi,

On 8/29/22 9:15 PM, Yu Kuai wrote:
+static bool wait_barrier_nolock(struct r10conf *conf)
+{
+ unsigned int seq = raw_read_seqcount(&conf->resync_lock.seqcount);
+
+ if (seq & 1)
+ return false;
+
+ if (READ_ONCE(conf->barrier))
+ return false;
+
+ atomic_inc(&conf->nr_pending);
+ if (!read_seqcount_retry(&conf->resync_lock.seqcount, seq))

I think 'seq' is usually get from read_seqcount_begin.

+ return true;
+
+ atomic_dec(&conf->nr_pending);
+ return false;
+

Thanks,
Guoqing