Hi, On Wed, Nov 23, 2022 at 8:39 AM Alexander Aring <aahri...@redhat.com> wrote: > > Hi, > > On Wed, Nov 23, 2022 at 8:37 AM Zheng Yongjun <zhengyongj...@huawei.com> > 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