Re: [PATCH 04/13] autofs4 - change printks AUTOFS defined prints

Ian Kent
2014-11-03T09:20:27Z

On Mon, 2014-11-03 at 00:25 -0800, Joe Perches wrote:
> On Mon, 2014-11-03 at 16:12 +0800, Ian Kent wrote:
> > Use the AUTOFS_*() print defines instead of raw printks.
>
> Please check the output of these conversions.
>
> For instance:
>
> > diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
> []
> > @@ -162,7 +162,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi,
> > break;
> > }
> > default:
> > - printk("autofs4_notify_daemon: bad type %d!\n", type);
> > + AUTOFS_WARN("autofs4_notify_daemon: bad type %d!", type);
> > mutex_unlock(&sbi->wq_mutex);
> > return;
> > }
>
> The current #define is:
>
> #define AUTOFS_WARN(fmt, ...) \
> pr_warn("pid %d: %s: " fmt "\n", \
> current->pid, __func__, ##__VA_ARGS__)
>
> So this duplicates the function name in the output.

Ahh, yes, I'll fix that.

>
> It's probably better to simply use
> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> or
> #define pr_fmt(fmt) KBUILD_MODNAME ":%d:%s" fmt, current->pid, __func__
> if you _really_ want pid/func in the output

I do, yes.

>
> and just use pr_<level> instead of AUTOFS_<LEVEL> macros.
>
> And it's better to use a consistent style for
> these logging functions ideally with terminating
> newlines so there isn't a mix of code with
> and without those newlines. That inconsistency
> leads to unintended defects.

The idea here was to make the logging consistent throughout.

I have become used of not using the new-line terminator in logging over
the years and tend to favour that myself. You recommend not doing that
probably from a kernel wide consistency perspective? Maybe that is
better ...

Ian