Re: [Cluster-devel] [PATCH -next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC

From: Alexander Aring
Date: Wed Nov 23 2022 - 08:56:48 EST


Hi,

On Wed, Nov 23, 2022 at 8:39 AM Alexander Aring <aahringo@xxxxxxxxxx> wrote:
>
> Hi,
>
> On Wed, Nov 23, 2022 at 8:37 AM Zheng Yongjun <zhengyongjun3@xxxxxxxxxx> wrote:
> >
> > If CONFIG_DLM is y, DEBUG_LOCK_ALLOC is n, building fails:
> >
> > fs/dlm/lowcomms.o: In function `lowcomms_queue_rwork':
> > lowcomms.c:(.text+0x2ac): undefined reference to `lockdep_is_held'
> > lowcomms.c:(.text+0x308): undefined reference to `lockdep_is_held'
> > fs/dlm/lowcomms.o: In function `lowcomms_queue_swork':
> > lowcomms.c:(.text+0x3e0): undefined reference to `lockdep_is_held'
> > fs/dlm/lowcomms.o: In function `restore_callbacks':
> > lowcomms.c:(.text+0xd8c): undefined reference to `lockdep_is_held'
> > lowcomms.c:(.text+0xdcc): undefined reference to `lockdep_is_held'
> >
> > Make DLM select DEBUG_LOCK_ALLOC to fix this.
> >
>
> Thanks, there is a different approach already in dlm/next and I think
> we don't want to have dlm selecting a debug option.

btw. I am curious why lockdep defines a prototype and not an
implementation for it if LOCKDEP is not set. In my opinion there
should be some no-op functions for it that the compiler puts it out if
it's not set. Then we don't end in #idefs inside the implementation...

- Alex