[PATCH 0/2] ubifs: respect dirty_writeback_interval

Rafał Miłecki zajec5 at gmail.com
Wed Sep 14 03:21:48 PDT 2016


From: Rafał Miłecki <rafal at milecki.pl>

Hi,

This patchset allows some ubifs adjustments that we realized we needed
in LEDE project.

LEDE can be unstable on power cuts when installed on NAND devices (with
ubifs). This is caused by the default high value of wbuf timeout used by
ubifs. Any write that isn't followed by fsync (this may happen with
buggy user space app or just shell script) may be lost if power cut
happens in less than 5 seconds.

One idea for fixing this (without modifying kernel at all) is to mount
ubifs with -o sync. This could affect NAND performance however, so I'm
looking for a better solution.

During IRC discussion MTD guys suggested lowering wbuf timeout and I
decided to give it a try. The simplest way to do that seems to be making
ubifs respect dirty_writeback_interval. This parameter can be easily set
with sysctl and is already used in some older file systems.

What do you think about this? I gave it a try with a simple
uci commit foo; sleep 1s; POWER_CUT
and it works as expected.

Rafał Miłecki (2):
  ubifs: drop softlimit and delta fields from struct ubifs_wbuf
  ubifs: use dirty_writeback_interval value for wbuf timer

 fs/ubifs/io.c    | 15 +++++++--------
 fs/ubifs/ubifs.h |  9 ---------
 2 files changed, 7 insertions(+), 17 deletions(-)

-- 
2.9.3




More information about the linux-mtd mailing list