Re: Re: [PATCH V5 2/5] cachefiles: extract ondemand info field from cachefiles_object

From: Jia Zhu
Date: Fri Apr 14 2023 - 11:45:36 EST




在 2023/4/14 21:51, David Howells 写道:
Jia Zhu <zhujia.zj@xxxxxxxxxxxxx> wrote:

#define CACHEFILES_OBJECT_STATE_FUNCS(_state, _STATE) \
static inline bool \
cachefiles_ondemand_object_is_##_state(const struct cachefiles_object *object) \
{ \
- return object->state == CACHEFILES_ONDEMAND_OBJSTATE_##_STATE; \
+ return object->ondemand->state == CACHEFILES_ONDEMAND_OBJSTATE_##_STATE; \
} \
\
static inline void \
cachefiles_ondemand_set_object_##_state(struct cachefiles_object *object) \
{ \
- object->state = CACHEFILES_ONDEMAND_OBJSTATE_##_STATE; \
+ object->ondemand->state = CACHEFILES_ONDEMAND_OBJSTATE_##_STATE; \
}

I wonder if those need barriers - smp_load_acquire() and smp_store_release().

David

There are three object states: OPEN, CLOSE, REOPENING.

Here is no logic in the code such like: A has to watching and waiting
for B's status change.

And so far I haven't constructed a scenario requires barrier pairs. Thus
I didn't add barriers here.

Jia