linux/fs/ubifs
Sheng Yong 2c84599ca4 UBIFS: do not write master node if need recovery
The commits 781c571 ("UBIFS: intialize LPT earlier") and 0980119 ("UBIFS:
fix-up free space earlier") move some initialization before marking the
master node dirty. But the modification changes the conditions of writing
master.

If unclean umount happens, ubifs may fail when mounting. But trying to
mount it will write new master nodes on the flash. This is useless but
increasing sqnum. So check need_recovery before writing master node, and
don't create new master node if filesystem needs recovery.

The behavour of the bug shows at:
http://lists.infradead.org/pipermail/linux-mtd/2015-February/057712.html

Signed-off-by: Sheng Yong <shengyong1@huawei.com>
Reviewed-by: Ben Gardiner <ben.l.gardiner@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2015-03-25 11:08:40 +02:00
..
budget.c UBIFS: Remove unused variables in ubifs_budget_space 2014-05-13 13:45:16 +03:00
commit.c UBIFS: fix a race condition 2014-09-08 15:55:02 +03:00
compress.c UBIFS: comply with coding style 2012-08-31 17:32:57 +03:00
debug.c UBIFS: add a couple of extra asserts 2015-01-28 16:09:32 +01:00
debug.h UBIFS: print less 2012-08-31 17:32:58 +03:00
dir.c UBIFS: fix incorrect unlocking handling 2015-03-25 11:08:40 +02:00
file.c Merge branch 'for-linus-v3.20' of git://git.infradead.org/linux-ubifs 2015-02-15 10:11:39 -08:00
find.c UBIFS: fix mounting problems after power cuts 2012-10-26 16:26:44 +03:00
gc.c UBIFS: remove unnecessary code in ubifs_garbage_collect 2013-10-22 13:34:27 +01:00
io.c UBIFS: kernel-doc warning fix 2014-07-19 09:53:52 +03:00
ioctl.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
journal.c UBIFS: fix a couple bugs in UBIFS xattr length calculation 2014-11-07 12:32:22 +02:00
Kconfig UBIFS: remove Kconfig debugging option 2012-05-16 19:53:46 +03:00
key.h UBIFS: mark unused key objects as invalid 2010-08-30 10:19:08 +03:00
log.c UBIFS: fix free log space calculation 2014-09-08 15:55:28 +03:00
lprops.c UBIFS: introduce categorized lprops counter 2012-10-26 16:00:26 +03:00
lpt_commit.c UBIFS: remove useless statements 2014-07-19 09:53:51 +03:00
lpt.c UBIFS: remove useless statements 2014-07-19 09:53:51 +03:00
Makefile UBIFS: remove Kconfig debugging option 2012-05-16 19:53:46 +03:00
master.c UBIFS: remove mst_mutex 2014-07-19 09:53:52 +03:00
misc.h Revert "UBIFS: add a log overlap assertion" 2014-07-28 19:15:19 +03:00
orphan.c UBIFS: remove useless statements 2014-07-19 09:53:51 +03:00
recovery.c UBIFS: kernel-doc warning fix 2014-07-19 09:53:52 +03:00
replay.c UBIFS: return -EINVAL if log head is empty 2015-02-10 10:06:24 +02:00
sb.c UBIFS: fix error path in create_default_filesystem() 2014-07-19 09:53:52 +03:00
scan.c UBIFS: fix spelling of "scanned" 2014-07-19 09:53:51 +03:00
shrinker.c UBIFS: Remove incorrect assertion in shrink_tnc() 2014-06-02 11:28:24 +03:00
super.c UBIFS: do not write master node if need recovery 2015-03-25 11:08:40 +02:00
tnc_commit.c UBIFS: remove useless statements 2014-07-19 09:53:51 +03:00
tnc_misc.c UBIFS: print less 2012-08-31 17:32:58 +03:00
tnc.c UBIFS: remove useless statements 2014-07-19 09:53:51 +03:00
ubifs-media.h UBIFS: add a superblock flag for free space fix-up 2011-05-16 14:12:14 +03:00
ubifs.h UBIFS: Add security.* XATTR support for the UBIFS 2015-01-28 16:08:54 +01:00
xattr.c UBIFS: add ubifs_err() to print error reason 2015-01-28 16:09:01 +01:00