[PATCH v3] ubifs: respect MS_SILENT mount flag
Brian Norris
computersforpeace at gmail.com
Fri May 30 16:20:39 PDT 2014
Hi Daniel,
On Sat, May 31, 2014 at 12:01:56AM +0200, Daniel Golle wrote:
> When attempting to mount a non-ubifs formatted volume, lots of error
> messages (including a stack dump) are thrown to the kernel log even if
> the MS_SILENT mount flag is set.
> Fix this by introducing adding an additional state-variable in
> struct ubifs_info and suppress error messages in ubifs_read_node if
> MS_SILENT is set.
>
> Signed-off-by: Daniel Golle <daniel at makrotopia.org>
> ---
> v3: use state variable in ubifs_info instead of
Instead of what?? I'm dying to know!
(Just kidding; I can read your previous conversations. Hint: the answer
is "a function argument.")
> fs/ubifs/io.c | 14 ++++++++------
> fs/ubifs/super.c | 4 ++++
> fs/ubifs/ubifs.h | 9 +++++++++
> 3 files changed, 21 insertions(+), 6 deletions(-)
>
[...]
> diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
> index e8c8cfe..6aa1550 100644
> --- a/fs/ubifs/ubifs.h
> +++ b/fs/ubifs/ubifs.h
> @@ -52,6 +52,14 @@
> pr_warn("UBIFS warning (pid %d): %s: " fmt "\n", \
> current->pid, __func__, ##__VA_ARGS__)
>
> +/*
> + * A variant of 'ubifs_err()' which takes the UBIFS file-sytem description
> + * object as an argument.
> + */
> +#define ubifs_errc(c, fmt, ...) \
> + if (!(c)->probing) \
> + ubifs_err(fmt, ##__VA_ARGS__)
Nitpick: might you want to wrap the whole condition in do { } while (0),
so that a user can't shoot themselves in the foot with something like:
if (condition)
ubifs_errc(c, "hello world");
else
do_something_else();
which will expand to the following unexpected code:
if (condition)
if (!c->probing)
ubifs_err("hello world");
else
do_something_else();
> +
> /* UBIFS file system VFS magic number */
> #define UBIFS_SUPER_MAGIC 0x24051905
>
Brian
More information about the linux-mtd
mailing list