Messages in this thread | | | Date | Wed, 29 Jan 2014 08:30:45 +0100 | From | Richard Weinberger <> | Subject | Re: [BUG] reproducable ubifs reboot assert and corruption |
| |
Am 29.01.2014 06:32, schrieb Andrew Ruder: > Ok, I've got some more useful information. I have been adding > a multitude of WARN_ON's and prink's all over the remount code and have > come up with the attached log. > > A little bit of explanation: > > Line 1: sync_filesystem (from do_remount_sb) > Line 188: sync_filesystem ends > Line 43, 64, 81, 98, 114, 135, 156, 173: write operations that occur > during sync_filesystem. Before each warning I print the inode pointer. > Line 197: read-only remount has completely finished (this message is > from userspace post remount) > Line 199: a sync is called, there are apparently dirty inodes in our > now-readonly ubifs filesystem > Line 215: failed assert that occurs because the writeback triggers for > inode 0xd75b9450 (see line 41, it got in with a sys_write while we were > running our sync_filesystem in do_remount_sb) > > Does this help? It looks like there is a race condition between the > writeback code and the remount read-only. Nothing is done to lock out > writes during the first half of the do_remount_sb and some stuff makes > it into the writeback worker queue while we are busy syncing the > filesystem only to trigger later when ubifs has decided it is > read-only... > > Note: I only barely know what I am talking about - filesystems still not > my forte :)
BTW: Can you please share your .config?
Thanks, //richard
| |