Re: [PATCH 3/9] fs: ext4: print change date in directory listing

Simon Glass <[email protected]>
Newsgroups org.ozlabs.lists.linux-erofs,org.u-boot-project.lists.u-boot
Message-ID <CAFLszTiO2TCmT=aD3L7bMG5zNNeoXKBmwf0OCEZ_F6aLSAXqsA@mail.gmail.com>
Hi Heinrich,

On Wed, 20 May 2026, 19:46 Heinrich Schuchardt,
<[email protected]> wrote:
>
> On 5/20/26 22:42, Simon Glass wrote:
> > Hi Heinrich,
> >
> > On Mon, 18 May 2026 at 00:57, Heinrich Schuchardt
> > <[email protected]> wrote:
> >>
> >> Declare FS_CAP_DATE in the ext4 fstype_info entry so that fs_ls_generic()
> >> displays the modification date alongside the file size:
> >>
> >>   4096 2024-03-15 09:30 filename.txt
> >>
> >> Signed-off-by: Heinrich Schuchardt <[email protected]>
> >> ---
> >>   fs/fs.c | 3 +++
> >>   1 file changed, 3 insertions(+)
> >>
> >> diff --git a/fs/fs.c b/fs/fs.c
> >> index f8e4794c10e..482a5523712 100644
> >> --- a/fs/fs.c
> >> +++ b/fs/fs.c
> >> @@ -261,6 +261,9 @@ static struct fstype_info fstypes[] = {
> >>                  .fstype = FS_TYPE_EXT,
> >>                  .name = "ext4",
> >>                  .null_dev_desc_ok = false,
> >> +#if !IS_ENABLED(CONFIG_XPL_BUILD)
> >> +               .caps = FS_CAP_DATE,
> >> +#endif
> >>                  .probe = ext4fs_probe,
> >>                  .close = ext4fs_close,
> >>                  .ls = fs_ls_generic,
> >> --
> >> 2.53.0
> >>
> >
> > I would prefer having a head-file macro which expands to nothing for
> > xPL builds, rather than adding preprocessor macros.
> >
> > Regards,
> > Simon
>
> Hello Simon,
>
> In the internet I could not find what a "head-file macro" might be.

Sorry I meant 'header-file macro'

>
> As struct fstype_info is not defined in a header file, a preprocessor
> macro defined in a header file would not make sense here.
>
> Do you mean something like:
>
> #if IS_ENABLED(CONFIG_XPL_BUILD)
> #define FS_CAPS(flags)  /* empty */
> #else
> #define FS_CAPS(flags)  .caps = (flags),
> #endif
>
> static struct fstype_info fstypes[] = {
> #if CONFIG_IS_ENABLED(FS_FAT)
>          {
>                  .fstype = FS_TYPE_FAT,
>                  .name = "fat",
>                  .null_dev_desc_ok = false,
>                  FS_CAPS(FS_CAP_DATE)
>                  .probe = fat_set_blk_dev,
> ...
>
> A line without a comma in the initializer is easily mistaken as
> incorrect. I am not sure that a code reviewers life is made easier with
> defining a new preprocessor macro.

Firstly I wonder if it is actually worth making the field conditional?
We have a null_dev_desc_ok bool which could be turned into flags, if
you are trying to save space.

Ideally we would have a new Kconfig for this, so it is possible to
enable the feature in particular xPL builds.

If you don't like the example above, another option is:

CONFIG_IS_ENABLED(YOUR_OPTION, (FS_CAP_DATE,))

which we use in quite a few places now.

Regards,
Simon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.