Message ID | 674f65e71c5c3e874b6b72b6f9d8cdd7a091b6d0.1701993656.git.jim.cromie@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp5148803vqy; Thu, 7 Dec 2023 16:17:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBHmBUVg73b3aL3ack8vuSIv86IkQlxinREqKtWVdINI0Oqaiq9mN/Vmd5ui7bO7xzaf7f X-Received: by 2002:a05:6358:281e:b0:170:17ea:f4e0 with SMTP id k30-20020a056358281e00b0017017eaf4e0mr4334845rwb.45.1701994627333; Thu, 07 Dec 2023 16:17:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701994627; cv=none; d=google.com; s=arc-20160816; b=CXBBY+lOkTWPhELGz4l3iG9LwKbirmEfTIoI606cfODkDXRhTLq3oqqwzHJTrTX35O /hbpF0gr3Ct8FRZ530l6YQ7XTODIYTnTW0GhG+bJe9PLKRv8WGR+bIGv01XHrtMDmvXx GnGpDirqRXSP2tZzYoVK5Oar8Tt0IO5ENCVdBiI4DqtHi8okjCJUlpcPzvR10XAPKRX0 2ARiehROdAdm9vPCC96K3mvGvUZYQ/mUfphbr/fTTW0M1rWno3nGqFL7sZMAhs6CWXch RpluPX6oIJtntGZzy6yQ/uxVKJLw268y69BB/LNpE6TBL1pwQDedwoGnJDttVqF5lRK5 FKIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VDBtxhHmRb9xUvMy+TwyAcV6s+hWcrLfWnhfzgBeMmA=; fh=Zewmf3wThiipMhDjR96yol5QxF5bGjQ0muN6YDM9mM0=; b=aTMKCLMI4+5pLPiD7dpxk0foKTV2WNXYzZYb6RTJfuYeWmvRMGNn4Oc027rtUvMixe 1hdvBtUhYmGsDFxTYBOpIkYTgKOf3+etpObtl3zzXplr2ANpfT1XpyzKBwOm1Hgx/u2I KlwvlBCmFEqN/k6F56I+w1uDqK982EJRRj16GUNu6YOrNxjpemb0teCPirBWWjcNKeYQ Tf0V7IzxctfoykA30nH09FDrwZRyWXo+tPGcEaYvc1xkL3FqnraZLDRxrHYCpIptlUSa JqbdFoFNgAmkN3QhchAiJkx6GLcOsizGJm5sx13tT0laNBTYFAGDWU1axriTlFgFJGMA swcw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Rf6BmGxX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id jc31-20020a056a006c9f00b006cded1e8135si406634pfb.197.2023.12.07.16.17.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 16:17:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Rf6BmGxX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id BCA5780747BC; Thu, 7 Dec 2023 16:15:40 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1444154AbjLHAP0 (ORCPT <rfc822;chrisfriedt@gmail.com> + 99 others); Thu, 7 Dec 2023 19:15:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232621AbjLHAPV (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 7 Dec 2023 19:15:21 -0500 Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C1B71713 for <linux-kernel@vger.kernel.org>; Thu, 7 Dec 2023 16:15:27 -0800 (PST) Received: by mail-io1-xd35.google.com with SMTP id ca18e2360f4ac-7b70db00e64so7050139f.2 for <linux-kernel@vger.kernel.org>; Thu, 07 Dec 2023 16:15:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701994527; x=1702599327; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VDBtxhHmRb9xUvMy+TwyAcV6s+hWcrLfWnhfzgBeMmA=; b=Rf6BmGxXmVlBpa/MZVcW3uzUzHhpOU6/SkHHBI9ThduSIB+etFo3ePYODmF1U8nGA/ ma00S1zylH3VRvnM8PdSVyRZ1PCSBguNIlX9Q+4tPypAXwaJfyekWsgDpFVczDm8D4UU S/CeGJ1hK6U3hs1mt64IYbkXFYFw/OKDNzqWzaMjIjqu4ENSdPhi9ogT+1fxiZ2/kdBc tI0XYG9TDWuT0PhXDDVslvm2On7cXeTemjmkQPI3+VMF8UnSPEu4eCck2zRfy2htPLW4 ufoPui3PbrvhBAldjdSM/6PByUm1kYSDjqMUtBh+ADr/kYVY1GwJwewJd6d92A9wLQaO jPxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701994527; x=1702599327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VDBtxhHmRb9xUvMy+TwyAcV6s+hWcrLfWnhfzgBeMmA=; b=B3K6Rlw9dp0ngHwhdehi8/JA7mCHuzA32YKObdSn7QRy/Y4mqKSMcQ5WnaIRcSGQfi HEKjMbis+8aAw3RoABlRmGrd7H9UlU3sTLjC69O95OF/cvlwOBAe1OuZ+i9YDiw+o1QD DzrH7iisDhLqjeQPg1zAlerfbs8/SKI60a5d9H5b/Rdff46ZwsdDOtBQZwzlLUnBldrA kM7f8swKsC8o0I6tFOM04H7xhNK9vUc9fhumMYmQ51G3AdqyTuisriofa2EZvBTqsNl8 EZnX02wWgkheosOsKkxuJNX5ils5wbvhTKlzf/ZmMhj8f80vCShAmBkzWhs0xSbENCPK NiKw== X-Gm-Message-State: AOJu0YwViGapH30+liQ0KH+H0stW5Kt0p3dTOCdlKu9dDYP1dodf5CXK IBgZ2CZlk9F2LAppGrmYQtE= X-Received: by 2002:a5d:93d1:0:b0:7b3:d91a:4936 with SMTP id j17-20020a5d93d1000000b007b3d91a4936mr3961806ioo.9.1701994526962; Thu, 07 Dec 2023 16:15:26 -0800 (PST) Received: from frodo.. (c-73-78-62-130.hsd1.co.comcast.net. [73.78.62.130]) by smtp.googlemail.com with ESMTPSA id z18-20020a056638241200b004664a0a7f2csm184652jat.177.2023.12.07.16.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 16:15:26 -0800 (PST) From: Jim Cromie <jim.cromie@gmail.com> To: lb@semihalf.com, linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, bleung@google.com, contact@emersion.fr, daniel@ffwll.ch, dianders@chromium.org, groeck@google.com, jbaron@akamai.com, jim.cromie@gmail.com, john.ogness@linutronix.de, keescook@chromium.org, pmladek@suse.com, ppaalanen@gmail.com, rostedt@goodmis.org, seanpaul@chromium.org, sergey.senozhatsky@gmail.com, upstream@semihalf.com, vincent.whitchurch@axis.com, yanivt@google.com, gregkh@linuxfoundation.org Subject: [re: PATCH v2 00/15 - 03/11] dyndbg: disambiguate quoting in a debug msg Date: Thu, 7 Dec 2023 17:15:06 -0700 Message-ID: <674f65e71c5c3e874b6b72b6f9d8cdd7a091b6d0.1701993656.git.jim.cromie@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <cover.1701993656.git.jim.cromie@gmail.com> References: <CAK8ByeK8dGcbxfXghw6=LrhSWLmO0a4XuB8C0nsUc812aoU0Pw@mail.gmail.com> <cover.1701993656.git.jim.cromie@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 16:15:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784670718513893843 X-GMAIL-MSGID: 1784670718513893843 |
Commit Message
Jim Cromie
Dec. 8, 2023, 12:15 a.m. UTC
When debugging a query parsing error, the debug message wraps the
query in escaped-double-quotes. This is confusing when mixed with any
quoted args where quotes are stripped by the shell.
So this replaces the \"%s\" with <%s> in the format string, allowing a
user to see how the shell strips quotes:
lx]# echo module "foo" format ,_ -f > /proc/dynamic_debug/control
[ 716.037430] dyndbg: read 26 bytes from userspace
[ 716.037966] dyndbg: query 0: <module foo format ,_ -f> on module: <*>
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
lib/dynamic_debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Thu 2023-12-07 17:15:06, Jim Cromie wrote: > When debugging a query parsing error, the debug message wraps the > query in escaped-double-quotes. This is confusing when mixed with any > quoted args where quotes are stripped by the shell. > > So this replaces the \"%s\" with <%s> in the format string, allowing a > user to see how the shell strips quotes: > > lx]# echo module "foo" format ,_ -f > /proc/dynamic_debug/control > [ 716.037430] dyndbg: read 26 bytes from userspace > [ 716.037966] dyndbg: query 0: <module foo format ,_ -f> on module: <*> Could you provide a real life example, please? It is hard to imagine what '"foo" format' means in a real life. Also could you please provide output before and after? Honestly, Using <> as quotes looks pretty non-standard and confusing to me. Also this changes only one place but '\"' is used in many other locations which would make dyndbg messages even more confusing. I do not understand how this would help. The double quote is gone even in this variant. BTW: It is a bit funny that this patch is supposed to make the debug message better readable. For me, the echo command is hard to read in the first place. I would use: lx]# echo "module $my_module ,_ -f" > /proc/dynamic_debug/control Maybe, this change fixes the output to match some personal style. I wonder how common is the style. I can't remember seeing: $> echo param param param Instead I frequently see: $> echo "bla bla bla". Best Regards, Petr
On Mon, Dec 18, 2023 at 9:34 AM Petr Mladek <pmladek@suse.com> wrote: > > On Thu 2023-12-07 17:15:06, Jim Cromie wrote: > > When debugging a query parsing error, the debug message wraps the > > query in escaped-double-quotes. This is confusing when mixed with any > > quoted args where quotes are stripped by the shell. (with dynamic_debug.verbose=3) nobody will be looking at this unless their query doesnt work. > > So this replaces the \"%s\" with <%s> in the format string, allowing a > > user to see how the shell strips quotes: > > > > lx]# echo module "foo" format ,_ -f > /proc/dynamic_debug/control > > [ 716.037430] dyndbg: read 26 bytes from userspace > > [ 716.037966] dyndbg: query 0: <module foo format ,_ -f> on module: <*> > > Could you provide a real life example, please? It is hard to imagine > what '"foo" format' means in a real life. yes, sorry. that was a poor selection from a bunch of output: cat control-fuzz-cmds > /proc/dynamic_debug/control that said, it was well formed input: <module "foo" format ,_ -f> > > Also could you please provide output before and after? will do. > Honestly, Using <> as quotes looks pretty non-standard and confusing > to me. Also this changes only one place but '\"' is used in many > other locations which would make dyndbg messages even more confusing. perhaps I was myopic. > > I do not understand how this would help. The double quote is gone > even in this variant. > let me find a more compelling example. If I dont, maybe I'll drop (or shelve) this, I dont need it anymore. > BTW: It is a bit funny that this patch is supposed to make the debug > message better readable. For me, the echo command is hard > to read in the first place. I would use: > > lx]# echo "module $my_module ,_ -f" > /proc/dynamic_debug/control someone doing it in a script might want to control / quote $vars more actively: echo module "$modname" func '*' "$flagmods" > /proc/dynamic_debug/control if those vars arent set, it errs like this: [root@v6 lx]# vx 3 # verbose=3 [root@v6 lx]# echo module ' "$modname" ' func '*' "$flagmods" > /proc/dynamic_debug/control [ 3114.654016] dyndbg: read 26 bytes from userspace [ 3114.654314] dyndbg: query 0: <module "$modname" func * > on module: <*> [ 3114.654759] dyndbg: split into words: "module" "$modname" "func" "*" [ 3114.655319] dyndbg: expecting pairs of match-spec <value> [ 3114.655714] dyndbg: selector parse failed # s/selector/filters/ [ 3114.655981] dyndbg: processed 1 queries, with 0 matches, 1 errs bash: echo: write error: Invalid argument or in old form, like this: [root@frodo wk-test]# echo module '"$modname"' func '*' "$flagmods" > /proc/dynamic_debug/control bash: echo: write error: Invalid argument [root@frodo wk-test]# [1387800.269898] dyndbg: read 26 bytes from userspace [1387800.269902] dyndbg: query 0: "module "$modname" func * " mod:* [1387800.269904] dyndbg: split into words: "module" "$modname" "func" "*" [1387800.269909] dyndbg: bad flag-op *, at start of * [1387800.269911] dyndbg: flags parse failed [1387800.269912] dyndbg: processed 1 queries, with 0 matches, 1 errs in that query 0, theres a lot of double-quotes, not quite looking right. the following split-line adds its own quotes, which might clarify, or not, but is verbose=3, where others are verbose=2 or 1 > > Maybe, this change fixes the output to match some personal style. > I wonder how common is the style. I can't remember seeing: > > $> echo param param param > > Instead I frequently see: > > $> echo "bla bla bla". I suppose you could call it taste / personal preference. I did document the bareword form to the howto, but the form was always accepted input. It is the point of the 1st paragraph in the "Command Language Reference" commit ace7c4bbb240d076a9e2079027252420d920d0d0 Author: Jim Cromie <jim.cromie@7gmail.com> Date: Sun Sep 4 15:40:56 2022 -0600 doc-dyndbg: edit dynamic-debug-howto for brevity, audience Rework/modernize docs: (trimmed) - alias ddcmd='echo $* > /proc/dynamic_debug/control focus on args: declutter, hide boilerplate, make pwd independent. - simplify - drop extra words, phrases, sentences. but I only added 1 example, other single-arg examples are materially preserved (modulo the ddcmd usage, again for brevity) Antoine de Saint-Exupéry is credited with the quote, "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away" extraneous unnecessary quotes are one thing to take away. then the remaining quotes are doing something, like preventing shell expansion, protecting inner quoting, etc OTOH, the single whole-query arg, in single quotes has its own clarity. Almost all examples are preserved - only 1 was changed to quote-less form and seeing <> in legitimate input should be exceptionally rare, so pretty unambiguous as balanced quotes #> echo module dunno format ' "looking for <foo> in format" ' +p > /proc/dynamic_debug/control [1400065.833314] dyndbg: read 53 bytes from userspace [1400065.833324] dyndbg: query 0: "module dunno format "looking for <foo> in format" +p" mod:* [1400065.833331] dyndbg: split into words: "module" "dunno" "format" "looking for <foo> in format" "+p" [1400065.833345] dyndbg: op='+' [1400065.833348] dyndbg: flags=0x1 [1400065.833351] dyndbg: *flagsp=0x1 *maskp=0xffffffff [1400065.833356] dyndbg: parsed: func="" file="" module="dunno" format="looking for <foo> in format" lineno=0-0 class=(null) [1400065.833403] dyndbg: no matches for query [1400065.833406] dyndbg: no-match: func="" file="" module="dunno" format="looking for <foo> in format" lineno=0-0 class=(null) [1400065.833412] dyndbg: processed 1 queries, with 0 matches, 0 errs new form (w combined op-flags-mask-dest patch too) [root@v6 lx]# echo 'module dunno format "looking for <foo> in format"' +p > /proc/dynamic_debug/control [ 737.645791] dyndbg: read 53 bytes from userspace [ 737.646374] dyndbg: query 0: <module dunno format "looking for <foo> in format" +p> on module: <*> [ 737.647226] dyndbg: split into words: "module" "dunno" "format" "looking for <foo> in format" "+p" [ 737.648069] dyndbg: op='+' flags=0x1 maskp=0xffffffff trace_dest=0x0 [ 737.648673] dyndbg: no matches for query [ 737.649162] dyndbg: no-match: func="" file="" module="dunno" format="looking for <foo> in format" lineno=0-0 class=(null) [ 737.650481] dyndbg: processed 1 queries, with 0 matches, 0 errs > > Best Regards, > Petr Am I materially closer to what youd want to see? thx, Jim
On Tue 2023-12-19 16:38:31, jim.cromie@gmail.com wrote: > On Mon, Dec 18, 2023 at 9:34 AM Petr Mladek <pmladek@suse.com> wrote: > > > > On Thu 2023-12-07 17:15:06, Jim Cromie wrote: > > > When debugging a query parsing error, the debug message wraps the > > > query in escaped-double-quotes. This is confusing when mixed with any > > > quoted args where quotes are stripped by the shell. > > (with dynamic_debug.verbose=3) > nobody will be looking at this unless their query doesnt work. > > > > So this replaces the \"%s\" with <%s> in the format string, allowing a > > > user to see how the shell strips quotes: > > > > > > lx]# echo module "foo" format ,_ -f > /proc/dynamic_debug/control > > > [ 716.037430] dyndbg: read 26 bytes from userspace > > > [ 716.037966] dyndbg: query 0: <module foo format ,_ -f> on module: <*> > > > > Could you provide a real life example, please? It is hard to imagine > > what '"foo" format' means in a real life. > > yes, sorry. that was a poor selection from a bunch of output: > cat control-fuzz-cmds > /proc/dynamic_debug/control > > that said, it was well formed input: <module "foo" format ,_ -f> > > > > > Also could you please provide output before and after? > > will do. > > > Honestly, Using <> as quotes looks pretty non-standard and confusing > > to me. Also this changes only one place but '\"' is used in many > > other locations which would make dyndbg messages even more confusing. > > perhaps I was myopic. > > > > > I do not understand how this would help. The double quote is gone > > even in this variant. > > > > let me find a more compelling example. > If I dont, maybe I'll drop (or shelve) this, I dont need it anymore. > > > BTW: It is a bit funny that this patch is supposed to make the debug > > message better readable. For me, the echo command is hard > > to read in the first place. I would use: > > > > lx]# echo "module $my_module ,_ -f" > /proc/dynamic_debug/control > > someone doing it in a script might want to control / quote $vars more actively: > > echo module "$modname" func '*' "$flagmods" > /proc/dynamic_debug/control This example uses: "$modname" > if those vars arent set, it errs like this: > > [root@v6 lx]# vx 3 # verbose=3 > [root@v6 lx]# echo module ' "$modname" ' func '*' "$flagmods" > > /proc/dynamic_debug/control > [ 3114.654016] dyndbg: read 26 bytes from userspace > [ 3114.654314] dyndbg: query 0: <module "$modname" func * > on module: <*> > [ 3114.654759] dyndbg: split into words: "module" "$modname" "func" "*" > [ 3114.655319] dyndbg: expecting pairs of match-spec <value> > [ 3114.655714] dyndbg: selector parse failed # s/selector/filters/ > [ 3114.655981] dyndbg: processed 1 queries, with 0 matches, 1 errs > bash: echo: write error: Invalid argument > > or in old form, like this: > > [root@frodo wk-test]# echo module '"$modname"' func '*' "$flagmods" > and this one uses '"$modname"' > /proc/dynamic_debug/control > bash: echo: write error: Invalid argument > [root@frodo wk-test]# [1387800.269898] dyndbg: read 26 bytes from userspace > [1387800.269902] dyndbg: query 0: "module "$modname" func * " mod:* > [1387800.269904] dyndbg: split into words: "module" "$modname" "func" "*" > [1387800.269909] dyndbg: bad flag-op *, at start of * > [1387800.269911] dyndbg: flags parse failed > [1387800.269912] dyndbg: processed 1 queries, with 0 matches, 1 errs > > in that query 0, theres a lot of double-quotes, not quite looking right. > the following split-line adds its own quotes, which might clarify, or not, > but is verbose=3, where others are verbose=2 or 1 The string "$modname" is here only because of the outer single quotes ''. Otherwise, $modname would be substituted to the value here. IMHO, this example does not look realistic. Or if you think that it is realistic then a better solution would be to print either: 'module "$modname" func * ' or "module \"$modname\" func \* " because the already substituted string is written to /proc/dynamic_debug/control. > > > > Maybe, this change fixes the output to match some personal style. > > I wonder how common is the style. I can't remember seeing: > > > > $> echo param param param > > > > Instead I frequently see: > > > > $> echo "bla bla bla". > > I suppose you could call it taste / personal preference. > I did document the bareword form to the howto, > but the form was always accepted input. > It is the point of the 1st paragraph in the "Command Language Reference" Yes, both variants work because "echo" would write all parameters on the same line. The only difference is how the white space characters are handled: echo bla bla bla # would print: bla bla bla while echo "bla bla bla" # would print: bla bla bla > commit ace7c4bbb240d076a9e2079027252420d920d0d0 > Author: Jim Cromie <jim.cromie@7gmail.com> > Date: Sun Sep 4 15:40:56 2022 -0600 > > doc-dyndbg: edit dynamic-debug-howto for brevity, audience > Rework/modernize docs: > (trimmed) > - alias ddcmd='echo $* > /proc/dynamic_debug/control > focus on args: declutter, hide boilerplate, make pwd independent. > - simplify - drop extra words, phrases, sentences. > > but I only added 1 example, other single-arg examples are materially preserved > (modulo the ddcmd usage, again for brevity) Anyway, all the real life examples in Documentation/admin-guide/dynamic-debug-howto.rst are using quotes, for example: <paste> // enable the message at line 1603 of file svcsock.c :#> ddcmd 'file svcsock.c line 1603 +p' // enable all the messages in file svcsock.c :#> ddcmd 'file svcsock.c +p' // enable all the messages in the NFS server module :#> ddcmd 'module nfsd +p' </paste> :#> ddcmd 'file svcsock.c line 1603 +p' > Antoine de Saint-Exupéry is credited with the quote, > "Perfection is achieved, not when there is nothing more to add, but > when there is nothing left to take away" I do not remember in which context this was used. But I think that this definition is not valid in all situations. For example, a perfect home might be a prison cell from this POV. But only few people would like to live there. I still thing that using "echo" in the form of $> echo param param param is uncommon and even misleading. Best Regards, Petr
> I still thing that using "echo" in the form of > > $> echo param param param > > is uncommon and even misleading. > > Best Regards, > Petr we can differ on this. as to the patch itself, you dont like it, I dont need it, we'll drop it and I'll fix the following commit msg
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index fc94f09b20db..bde96ad867c6 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -955,7 +955,7 @@ static int ddebug_exec_queries(char *query, const char *modname) if (!query || !*query || *query == '#') continue; - vpr_info("query %d: \"%s\" mod:%s\n", i, query, modname ?: "*"); + vpr_info("query %d: <%s> on module: <%s>\n", i, query, modname ?: "*"); rc = ddebug_exec_query(query, modname); if (rc < 0) {