Artem Bityutskiy 2ef13294d2 UBIFS: introduce new flags for RO mounts
Commit 2fde99cb55fb9d9b88180512a5e8a5d939d27fec "UBIFS: mark VFS SB RO too"
introduced regression. This commit made UBIFS set the 'MS_RDONLY' flag in the
VFS superblock when it switches to R/O mode due to an error. This was done
to make VFS show the R/O UBIFS flag in /proc/mounts.

However, several places in UBIFS relied on the 'MS_RDONLY' flag and assume this
flag can only change when we re-mount. For example, 'ubifs_put_super()'.

This patch introduces new UBIFS flag - 'c->ro_mount' which changes only when
we re-mount, and preserves the way UBIFS was originally mounted (R/W or R/O).
This allows us to de-initialize UBIFS cleanly in 'ubifs_put_super()'.

This patch also changes all 'ubifs_assert(!c->ro_media)' assertions to
'ubifs_assert(!c->ro_media && !c->ro_mount)', because we never should write
anything if the FS was mounter R/O.

All the places where we test for 'MS_RDONLY' flag in the VFS SB were changed
and now we test the 'c->ro_mount' flag instead, because it preserves the
original UBIFS mount type, unlike the 'MS_RDONLY' flag.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2010-09-19 21:07:58 +03:00
..
2010-06-16 18:05:05 +02:00
2010-08-09 16:48:53 -04:00
2010-08-18 01:01:33 -04:00
2010-05-19 22:41:57 -04:00
2010-08-05 14:23:45 -05:00
2010-08-09 16:48:45 -04:00
2010-08-18 01:09:01 -04:00
2010-08-18 06:21:10 -04:00
2010-08-09 16:48:17 -04:00
2010-08-09 16:48:16 -04:00
2010-08-09 16:47:49 -04:00
2010-08-18 01:09:01 -04:00
2010-08-18 01:09:01 -04:00
2010-08-14 00:24:24 +02:00
2010-08-09 16:47:31 -04:00
2010-08-18 01:09:01 -04:00
2010-08-09 16:48:00 -04:00
2010-08-18 01:09:01 -04:00
2010-08-05 13:21:23 -07:00
2010-08-18 01:09:01 -04:00
2010-08-18 08:35:48 -04:00
2010-05-11 17:43:58 +02:00
2010-08-11 08:59:02 -07:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:46 -04:00
2010-08-12 08:43:30 -07:00
2010-08-18 08:35:48 -04:00
2010-03-08 16:55:37 +01:00
2010-05-21 18:31:17 -04:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:48 -04:00
2010-08-18 08:35:47 -04:00
2010-06-10 19:08:34 +02:00
2010-08-18 08:35:48 -04:00
2010-03-12 15:52:32 -08:00
2010-08-09 16:48:44 -04:00
2010-08-18 08:35:48 -04:00
2010-08-09 16:47:43 -04:00