|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 12/17] xen/hypfs: add new enter() and exit() per node callbacks
On 03.12.2020 16:14, Jürgen Groß wrote:
> On 03.12.20 15:59, Jan Beulich wrote:
>> On 01.12.2020 09:21, Juergen Gross wrote:
>>> @@ -100,11 +112,58 @@ static void hypfs_unlock(void)
>>> }
>>> }
>>>
>>> +const struct hypfs_entry *hypfs_node_enter(const struct hypfs_entry *entry)
>>> +{
>>> + return entry;
>>> +}
>>> +
>>> +void hypfs_node_exit(const struct hypfs_entry *entry)
>>> +{
>>> +}
>>> +
>>> +static int node_enter(const struct hypfs_entry *entry)
>>> +{
>>> + const struct hypfs_entry **last = &this_cpu(hypfs_last_node_entered);
>>> +
>>> + entry = entry->funcs->enter(entry);
>>> + if ( IS_ERR(entry) )
>>> + return PTR_ERR(entry);
>>> +
>>> + ASSERT(!*last || *last == entry->parent);
>>> +
>>> + *last = entry;
>>> +
>>> + return 0;
>>> +}
>>> +
>>> +static void node_exit(const struct hypfs_entry *entry)
>>> +{
>>> + const struct hypfs_entry **last = &this_cpu(hypfs_last_node_entered);
>>> +
>>> + if ( !*last )
>>> + return;
>>
>> Under what conditions is this legitimate to happen? IOW shouldn't
>> there be an ASSERT_UNREACHABLE() here?
>
> This is for the "/" node.
I.e. would ASSERT(!entry->parent) be appropriate to add here, at
the same time serving as documentation of what you've just said?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |