Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752066AbbKJR33 (ORCPT ); Tue, 10 Nov 2015 12:29:29 -0500 Received: from mail-yk0-f172.google.com ([209.85.160.172]:35328 "EHLO mail-yk0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751898AbbKJR3V (ORCPT ); Tue, 10 Nov 2015 12:29:21 -0500 MIME-Version: 1.0 In-Reply-To: <20151110160420.2ec59606.adrien+dev@schischi.me> References: <1446812136-31526-1-git-send-email-adrien+dev@schischi.me> <20151110160420.2ec59606.adrien+dev@schischi.me> Date: Tue, 10 Nov 2015 18:29:20 +0100 Message-ID: Subject: Re: [PATCH] mmc: add ifdef around fault_create_debugfs_attr() From: Ulf Hansson To: Adrien Schildknecht Cc: Shawn Lin , Linus Walleij , linux-mmc , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2943 Lines: 71 On 10 November 2015 at 16:04, Adrien Schildknecht wrote: > On Mon, 9 Nov 2015 14:33:11 +0100 > Ulf Hansson wrote: >> On 6 November 2015 at 13:15, Adrien Schildknecht >> wrote: >> > FAIL_MMC_REQUEST can be used without FAULT_INJECTION_DEBUG_FS. >> > In this case fault_create_debugfs_attr() will always return an >> > error and lead to the deletion of the whole debugfs directory. >> > >> > This patch makes sure that FAULT_INJECTION_DEBUG_FS is enabled >> > before attempting to create the debugfs atttribute. >> > >> > Signed-off-by: Adrien Schildknecht >> > --- >> > drivers/mmc/core/debugfs.c | 2 ++ >> > 1 file changed, 2 insertions(+) >> > >> > diff --git a/drivers/mmc/core/debugfs.c b/drivers/mmc/core/debugfs.c >> > index 154aced..13e842c 100644 >> > --- a/drivers/mmc/core/debugfs.c >> > +++ b/drivers/mmc/core/debugfs.c >> > @@ -259,11 +259,13 @@ void mmc_add_host_debugfs(struct mmc_host >> > *host) if (fail_request) >> > setup_fault_attr(&fail_default_attr, fail_request); >> > host->fail_mmc_request = fail_default_attr; >> > +#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS >> > if (IS_ERR(fault_create_debugfs_attr("fail_mmc_request", >> > root, >> > &host->fail_mmc_request))) >> > goto err_node; >> > #endif >> > +#endif >> > return; >> > >> > err_node: >> > -- >> > 2.6.2 >> > >> >> I think you are solving this in the wrong way. Will it really makes >> sense to use FAIL_MMC_REQUEST unless FAULT_INJECTION_DEBUG_FS is set, >> I don't think so. > The fault attribute can be configured using either the debugfs or the > module parameter "fail_request". It is thus possible to use > FAIL_MMC_REQUEST without FAULT_INJECTION_DEBUG_FS (even if it is less > convenient). > >> I suggest you to change FAIL_MMC_REQUEST from depending on >> FAULT_INJECTION to FAULT_INJECTION_DEBUG_FS in /lib/Kconfig.debug. > The other systems that use the fault injection infrastructure (futex, > alloc_pages, slab...) can be used without the dependency on > FAULT_INJECTION_DEBUG_FS. They also use nested #ifdef to handle this There are also those that chosen to depend on FAULT_INJECTION_DEBUG_FS, such as FAULT_INJECTION_STACKTRACE_FILTER. > configuration. I chose the #ifdef approach for the sake of coherence. I would like to keep the amount of #ifdefs around in the code to a minimal. In this case it doesn't even make sense and as there are no consistent behaviour to consider, could you please adopt the Kconfig solution instead!? Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/