[LEDE-DEV] [RFC 0/2] ubifs: respect dirty_writeback_interval

Rafał Miłecki zajec5 at gmail.com
Wed Sep 7 10:11:53 PDT 2016


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

Hi,

This is patchset I mean to send to kernel ubifs guys and I wanted first
to see if I can get any comments here at LEDE.

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.

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 can be easily set with sysctl.

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.

Is this something that would fit LEDE needs? Should I try upstreaming
it?

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 Lede-dev mailing list