Re: [PATCH v9 07/61] xarray: Add the xa_lock to the radix_tree_root

From: Ross Zwisler
Date: Thu Apr 12 2018 - 17:27:40 EST


On Thu, Apr 12, 2018 at 3:22 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
> On Thu, Apr 12, 2018 at 03:16:23PM -0600, Ross Zwisler wrote:
>> On Thu, Apr 12, 2018 at 3:10 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>> > On Thu, Apr 12, 2018 at 02:59:32PM -0600, Ross Zwisler wrote:
>> >> This is causing build breakage in the radix tree test suite in the
>> >> current linux/master:
>> >>
>> >> ./linux/../../../../include/linux/idr.h: In function âidr_init_baseâ:
>> >> ./linux/../../../../include/linux/radix-tree.h:129:2: warning:
>> >> implicit declaration of function âspin_lock_initâ; did you mean
>> >> âspinlock_tâ? [-Wimplicit-function-declaration]
>> >
>> > Argh. That was added two patches later in
>> > "xarray: Add definition of struct xarray":
>> >
>> > diff --git a/tools/include/linux/spinlock.h b/tools/include/linux/spinlock.h
>> > index b21b586b9854..4ec4d2cbe27a 100644
>> > --- a/tools/include/linux/spinlock.h
>> > +++ b/tools/include/linux/spinlock.h
>> > @@ -6,8 +6,9 @@
>> > #include <stdbool.h>
>> >
>> > #define spinlock_t pthread_mutex_t
>> > -#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
>> > +#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER
>> > #define __SPIN_LOCK_UNLOCKED(x) (pthread_mutex_t)PTHREAD_MUTEX_INITIALIZER
>> > +#define spin_lock_init(x) pthread_mutex_init(x, NULL)
>> >
>> > #define spin_lock_irqsave(x, f) (void)f, pthread_mutex_lock(x)
>> > #define spin_unlock_irqrestore(x, f) (void)f, pthread_mutex_unlock(x)
>> >
>> > I didn't pick up that it was needed this early on in the patch series.
>>
>> Hmmm..I don't know if it's a patch ordering issue, because this
>> happens with the current linux/master where presumably all the patches
>> are present?
>
> No, Andrew only merged the first 8 or so because of lack of review of
> the remaining patches. Even though I cc'd people as hard as I could.
> Including you. :-P
>
> You could, for example, review the DAX patches ...

Fair enough. Let's get the radix tree working, and in the mean time
I'll throw it into my xfstests testing setup & take a look at the DAX
patches.