[PATCH v2] ubifs: respect MS_SILENT mount flag

Artem Bityutskiy dedekind1 at gmail.com
Wed May 28 01:28:56 PDT 2014


On Wed, 2014-05-28 at 11:14 +0300, Artem Bityutskiy wrote:
> On Wed, 2014-05-28 at 08:07 +0000, Bityutskiy, Artem wrote:
> > On Wed, 2014-05-28 at 11:01 +0300, Artem Bityutskiy wrote: 
> > > +       /*
> > > +        * Good commend describing what we are doing.
> > > +        */
> > > +       c->probing = 1
> > 
> > Err, actually:
> > 
> >           c->probing = silent;
> > 
> > >         err = ubifs_read_superblock(c);
> > > +       c->probing = 0
> > >         if (err)
> > >                 goto out_free;
> 
> I guess you guys got the idea, but just in case, you also will need to
> add "if (!c->probing) { ubifs_error() }" in the relevant places.

Or even introduce a new version of the error macro, something like
'ubifs_errc(), and use that in the relevant places. Not sure what is
going to look better, though. Here is a sketch:


diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index e8c8cfe..60cffa7 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__)
+
 /* UBIFS file system VFS magic number */
 #define UBIFS_SUPER_MAGIC 0x24051905




-- 
Best Regards,
Artem Bityutskiy




More information about the linux-mtd mailing list