All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/5] make '%pD' print the full path of file
@ 2021-07-15  1:14 Jia He
  2021-07-15  1:14 ` [PATCH v7 1/5] d_path: fix Kernel doc validator complaints Jia He
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Jia He @ 2021-07-15  1:14 UTC (permalink / raw)
  To: Petr Mladek, Steven Rostedt, Sergey Senozhatsky, Andy Shevchenko,
	Rasmus Villemoes, Jonathan Corbet, Alexander Viro,
	Linus Torvalds
  Cc: Peter Zijlstra (Intel),
	Eric Biggers, Ahmed S. Darwish, linux-doc, linux-kernel,
	linux-fsdevel, Matthew Wilcox, Christoph Hellwig, nd, Jia He

Background
==========
Linus suggested printing the full path of file instead of printing
the components as '%pd'.

Typically, there is no need for printk specifiers to take any real locks
(ie mount_lock or rename_lock). So I introduce a new helper
d_path_unsafe() which is similar to d_path() except it doesn't take any
seqlock/spinlock.

Test
====
The cases I tested:
1. print '%pD' with full path of ext4 file
2. mount a ext4 filesystem upon a ext4 filesystem, and print the file
   with '%pD'
3. all test_print selftests, including the new '%14pD' '%-14pD'
4. kasprintf

TODO
====
I plan to do the followup work after '%pD' behavior is changed.
- s390/hmcdrv: remove the redundant directory path in printing string.
- fs/iomap: simplify the iomap_swapfile_fail() with '%pD'.
- simplify the string printing when file_path() is invoked(in some
  cases, not all).
- change the previous '%pD[2,3,4]' to '%pD'
   
Changelog
=========
v7:
- rebase to 5.14-rc1 after Al Viro d_path cleanup series was merged
- add patch1/5 to fix the kernel doc validator issue
- refine the commit msg, add more comments for the smp_load_acquire in
  prepend_name_with_len()

v6(new v2):https://lkml.org/lkml/2021/6/23/44
- refine the commit msg/comments (Andy)
- pass the validator check by "make C=1 W=1"
- add the R-b for patch 4/4 from Andy

v5(new v1): https://lkml.org/lkml/2021/6/22/680
- remove the RFC tag
- refine the commit msg/comments(by Petr, Andy)
- make using_scratch_space a new parameter of the test case 

RFCv4:
- don't support spec.precision anymore for '%pD'
- add Rasmus's patch into this series
 
RFCv3:
- implement new d_path_unsafe to use [buf, end] instead of stack space for
  filling bytes (by Matthew)
- add new test cases for '%pD'
- drop patch "hmcdrv: remove the redundant directory path" before removing rfc.

RFCv2: 
- implement new d_path_fast based on Al Viro's patches
- add check_pointer check (by Petr)
- change the max full path size to 256 in stack space

RFCv1: https://lkml.org/lkml/2021/5/8/122

Jia He (4):
  d_path: fix Kernel doc validator complaints
  d_path: introduce helper d_path_unsafe()
  lib/vsprintf.c: make '%pD' print the full path of file
  lib/test_printf.c: add test cases for '%pD'

Rasmus Villemoes (1):
  lib/test_printf.c: split write-beyond-buffer check in two

 Documentation/core-api/printk-formats.rst |   7 +-
 fs/d_path.c                               | 123 ++++++++++++++++++++--
 include/linux/dcache.h                    |   1 +
 lib/test_printf.c                         |  54 ++++++++--
 lib/vsprintf.c                            |  40 ++++++-
 5 files changed, 202 insertions(+), 23 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [PATCH v7 3/5] lib/vsprintf.c: make '%pD' print the full path of file
@ 2021-07-19  1:38 kernel test robot
  0 siblings, 0 replies; 15+ messages in thread
From: kernel test robot @ 2021-07-19  1:38 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 4430 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210715011407.7449-4-justin.he@arm.com>
References: <20210715011407.7449-4-justin.he@arm.com>
TO: Jia He <justin.he@arm.com>
TO: Petr Mladek <pmladek@suse.com>
TO: Steven Rostedt <rostedt@goodmis.org>
TO: Sergey Senozhatsky <senozhatsky@chromium.org>
TO: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
TO: Rasmus Villemoes <linux@rasmusvillemoes.dk>
TO: Jonathan Corbet <corbet@lwn.net>
TO: Alexander Viro <viro@zeniv.linux.org.uk>
TO: Linus Torvalds <torvalds@linux-foundation.org>
CC: LKML <linux-kernel@vger.kernel.org>
CC: "Peter Zijlstra (Intel)" <peterz@infradead.org>

Hi Jia,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.14-rc2 next-20210716]
[cannot apply to linux/master pmladek/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Jia-He/make-pD-print-the-full-path-of-file/20210715-091613
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-b001-20210715 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 0e49c54a8cbd3e779e5526a5888c683c01cc3c50)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # apt-get install iwyu # include-what-you-use
        # https://github.com/0day-ci/linux/commit/173180676cd68cf46ee7c65b7e0b307013ff1876
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jia-He/make-pD-print-the-full-path-of-file/20210715-091613
        git checkout 173180676cd68cf46ee7c65b7e0b307013ff1876
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross C=1 CHECK=iwyu O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


iwyu warnings: (new ones prefixed by >>)
   lib/vsprintf.c:52:1: iwyu: warning: superfluous #include <asm/byteorder.h>
   lib/vsprintf.c:51:1: iwyu: warning: superfluous #include <asm/page.h>
   lib/vsprintf.c:46:1: iwyu: warning: superfluous #include <linux/blkdev.h>
   lib/vsprintf.c:22:1: iwyu: warning: superfluous #include <linux/clk.h>
   lib/vsprintf.c:43:1: iwyu: warning: superfluous #include <linux/compiler.h>
>> lib/vsprintf.c:35:1: iwyu: warning: superfluous #include <linux/dcache.h>
   lib/vsprintf.c:32:1: iwyu: warning: superfluous #include <linux/math64.h>
   lib/vsprintf.c:25:1: iwyu: warning: superfluous #include <linux/module.h>
   lib/vsprintf.c:33:1: iwyu: warning: superfluous #include <linux/uaccess.h>

vim +35 lib/vsprintf.c

4b6ccca701ef5977 Al Viro           2013-09-03 @35  #include <linux/dcache.h>
312b4e226951f707 Ryan Mallon       2013-11-12  36  #include <linux/cred.h>
4d42c44727a062e2 Andy Shevchenko   2018-12-04  37  #include <linux/rtc.h>
7daac5b2fdf88e3c Andy Shevchenko   2020-04-15  38  #include <linux/time.h>
2b1b0d66704a8caf Andy Shevchenko   2016-05-20  39  #include <linux/uuid.h>
ce4fecf1fe151813 Pantelis Antoniou 2015-01-21  40  #include <linux/of.h>
8a27f7c90ffcb791 Joe Perches       2009-08-17  41  #include <net/addrconf.h>
ad67b74d2469d9b8 Tobin C. Harding  2017-11-01  42  #include <linux/siphash.h>
ad67b74d2469d9b8 Tobin C. Harding  2017-11-01  43  #include <linux/compiler.h>
a92eb7621b9fb2c2 Sakari Ailus      2019-10-03  44  #include <linux/property.h>
1031bc589228ca35 Dmitry Monakhov   2015-04-13  45  #ifdef CONFIG_BLOCK
1031bc589228ca35 Dmitry Monakhov   2015-04-13  46  #include <linux/blkdev.h>
1031bc589228ca35 Dmitry Monakhov   2015-04-13  47  #endif
^1da177e4c3f4152 Linus Torvalds    2005-04-16  48  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36946 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-10-11  0:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-15  1:14 [PATCH v7 0/5] make '%pD' print the full path of file Jia He
2021-07-15  1:14 ` [PATCH v7 1/5] d_path: fix Kernel doc validator complaints Jia He
2021-07-15 10:34   ` Andy Shevchenko
2021-09-26 22:57     ` Randy Dunlap
2021-10-06 21:38       ` Randy Dunlap
2021-10-11  0:49         ` Justin He
2021-07-15  1:14 ` [PATCH v7 2/5] d_path: introduce helper d_path_unsafe() Jia He
2021-07-15  1:14 ` [PATCH v7 3/5] lib/vsprintf.c: make '%pD' print the full path of file Jia He
2021-07-21 13:55   ` Petr Mladek
2021-07-15  1:14 ` [PATCH v7 4/5] lib/test_printf.c: split write-beyond-buffer check in two Jia He
2021-07-15  1:14 ` [PATCH v7 5/5] lib/test_printf.c: add test cases for '%pD' Jia He
2021-07-21 14:06   ` Petr Mladek
2021-07-21 14:11 ` [PATCH v7 0/5] make '%pD' print the full path of file Petr Mladek
2021-08-05  0:39   ` Justin He
2021-07-19  1:38 [PATCH v7 3/5] lib/vsprintf.c: " kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.