From: Artem Bityutskiy Date: Sun, 16 Jan 2011 17:22:02 +0000 (+0200) Subject: UBIFS: do not start the commit if there is nothing to commit X-Git-Tag: v2.6.39-rc1~421^2~22 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=944fdef52ca9fc0fe077578f51201ef397e30abe;p=pandora-kernel.git UBIFS: do not start the commit if there is nothing to commit This patch fixes suboptimal UBIFS 'sync_fs()' implementation which causes flash I/O even if the file-system is synchronized. E.g., a 'printk()' in the MTD erasure function (e.g., 'nand_erase_nand()') can show that for every 'sync' shell command UBIFS erases at least one eraseblock. So '$ while true; do sync; done' will cause huge amount of flash I/O. The reason for this is that UBIFS commits in 'sync_fs()', and starts the commit even if there is nothing to commit, e.g., it anyway changes the log. This patch adds a check in the 'do_commit()' UBIFS functions which prevents the commit if there is nothing to commit. Reported-by: Hans J. Koch Tested-by: John Ogness Signed-off-by: Artem Bityutskiy --- Reading git-diff-tree failed