Re: [PATCH] vfs, seqfile: make mangle_path() global

From: Randy Dunlap
Date: Sun Nov 23 2008 - 16:07:18 EST


Ingo Molnar wrote:
> * Török Edwin <edwintorok@xxxxxxxxx> wrote:
>
>> fs/seq_file.c | 14 +++++++-
>> include/linux/seq_file.h | 1 +
>
> Note, i've split these bits out into a separate patch - see it
> attached below.
>
> Ingo
>
> ------------------>
> From 74e2f334f4440cbcb63e9ebbcdcea430d41bdfa3 Mon Sep 17 00:00:00 2001
> From: =?utf-8?q?T=C3=B6r=C3=B6k=20Edwin?= <edwintorok@xxxxxxxxx>
> Date: Sat, 22 Nov 2008 13:28:48 +0200
> Subject: [PATCH] vfs, seqfile: make mangle_path() global
> MIME-Version: 1.0
> Content-Type: text/plain; charset=utf-8
> Content-Transfer-Encoding: 8bit
>
> Impact: expose new VFS API
>
> make mangle_path() available, as per the suggestions of Christoph Hellwig
> and Al Viro:
>
> http://lkml.org/lkml/2008/11/4/338
>
> Signed-off-by: Török Edwin <edwintorok@xxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> ---
> fs/seq_file.c | 14 +++++++++++++-
> include/linux/seq_file.h | 1 +
> 2 files changed, 14 insertions(+), 1 deletions(-)
>
> diff --git a/fs/seq_file.c b/fs/seq_file.c
> index eba2eab..f5b61cc 100644
> --- a/fs/seq_file.c
> +++ b/fs/seq_file.c
> @@ -357,7 +357,18 @@ int seq_printf(struct seq_file *m, const char *f, ...)
> }
> EXPORT_SYMBOL(seq_printf);
>
> -static char *mangle_path(char *s, char *p, char *esc)
> +/**
> + * mangle_path - mangle and copy path to buffer beginning
> + * @s - buffer start
> + * @p - beginning of path in above buffer
> + * @esc - set of characters that need escaping

Format for function parameters is:

* @esc: set of characters that need escaping

please. (i.e., use : instead of -)

> + *
> + * Copy the path from @p to @s, replacing each occurrence of character from
> + * @esc with usual octal escape.
> + * Returns pointer past last written character in @s, or NULL in case of
> + * failure.
> + */
> +char *mangle_path(char *s, char *p, char *esc)
> {
> while (s <= p) {
> char c = *p++;
> @@ -376,6 +387,7 @@ static char *mangle_path(char *s, char *p, char *esc)
> }
> return NULL;
> }
> +EXPORT_SYMBOL_GPL(mangle_path);
>
> /*
> * return the absolute path of 'dentry' residing in mount 'mnt'.
> diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
> index dc50bcc..b3dfa72 100644
> --- a/include/linux/seq_file.h
> +++ b/include/linux/seq_file.h
> @@ -34,6 +34,7 @@ struct seq_operations {
>
> #define SEQ_SKIP 1
>
> +char *mangle_path(char *s, char *p, char *esc);
> int seq_open(struct file *, const struct seq_operations *);
> ssize_t seq_read(struct file *, char __user *, size_t, loff_t *);
> loff_t seq_lseek(struct file *, loff_t, int);


--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/