public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: Brian Norris <computersforpeace@gmail.com>
Cc: Ajesh Kunhipurayil Vijayan <ajesh@broadcom.com>,
	Li Zefan <lizefan@huawei.com>,
	linux-mtd@lists.infradead.org,
	Kamlakant Patel <kamlakant.patel@broadcom.com>,
	Wang Guoli <andy.wangguoli@huawei.com>
Subject: Re: JFFS2 locking issue on 3.14 + patches
Date: Tue, 29 Apr 2014 14:02:07 +0200	[thread overview]
Message-ID: <535F94BF.60004@monstr.eu> (raw)
In-Reply-To: <20140428165108.GU32070@ld-irv-0074>

[-- Attachment #1: Type: text/plain, Size: 4514 bytes --]

On 04/28/2014 06:51 PM, Brian Norris wrote:
> On Mon, Apr 28, 2014 at 05:57:12PM +0200, Michal Simek wrote:
>> we are having this problem with JFFS2 rootfs. It is v3.14 kernel
>> with these 5 patches which cherry-picked from 3.15.
>>
>> 41bf1a2 jffs2: Fix crash due to truncation of csize
>> 3367da5 jffs2: Fix segmentation fault found in stress test
>> 01887a3 jffs2: unlock f->sem on error in jffs2_new_inode()
>> 13b546d jffs2: avoid soft-lockup in jffs2_reserve_space_gc()
>> 3ead957 jffs2: remove from wait queue after schedule()
> 
> Have you bisected these? And possibly test the patches in isolation
> (there are only 5)?

From top to down - reverts on the top of these 5 patches.

HEAD: Locking issue I have sent in origin email and CRC problems

Reverting
41bf1a2 jffs2: Fix crash due to truncation of csize
Generates a lot of warnings like this.
[    6.250541] jffs2: warning: (682) jffs2_get_inode_nodes: Eep. No valid nodes for ino #261.
[    6.258732] jffs2: warning: (682) jffs2_do_read_inode_internal: no data nodes found for ino #261


Reverting one patch
3367da5 jffs2: Fix segmentation fault found in stress test
on the top of 5 patches
- lock issue is present but CRC issue is gone on uniprocessor system. CRC issue is present on SMP case

Reverting two patches
3367da5 jffs2: Fix segmentation fault found in stress test
01887a3 jffs2: unlock f->sem on error in jffs2_new_inode()
on the top of 5 patches
- only locking issue is reported, CRC issue is gone on uniprocessor system


Reverting 3 patches
3367da5 jffs2: Fix segmentation fault found in stress test
01887a3 jffs2: unlock f->sem on error in jffs2_new_inode()
13b546d jffs2: avoid soft-lockup in jffs2_reserve_space_gc()
on the top of 5 patches
- locking issue still present with CRC issue again and data problems.

[   18.959144] jffs2: notice: (630) check_node_data: wrong data CRC in data node at 0x0015348c: read 0x8fb195d5, calculated 0xbc622daa.
[   18.971009] jffs2: warning: (630) jffs2_do_read_inode_internal: no data nodes found for ino #392
[   18.979766] jffs2: Returned error for crccheck of ino #392. Expect badness...
[   39.152478] jffs2: notice: (630) check_node_data: wrong data CRC in data node at 0x00492cd8: read 0xe62c6036, calculated 0xf875522b.
[   39.167465] jffs2: warning: (630) jffs2_do_read_inode_internal: Truncating ino #822 to 41568 bytes failed because it only had 40960 bytes to start with!


Reverting 3 patches
3367da5 jffs2: Fix segmentation fault found in stress test
01887a3 jffs2: unlock f->sem on error in jffs2_new_inode()
3ead957 jffs2: remove from wait queue after schedule()
on the top of 5 patches
- locking issue still present with CRC issue again and data problems.


Origin testing was done on zynq with qspi and I have also
retest it on microblaze and NOR flash and issue is just there.

Bisecting these five patches don't solve anything.

Locking issue was introduced 3.6-rc3 by this commit.
I will check CONFIG_JFFS2_FS_WRITEBUFFER option.

commit a445f784ae5558a3da680aa6b39ed53c95a551c1
Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Date:   Thu Aug 23 10:10:07 2012 +0300

    JFFS2: fix unmount regression

    This patch fixes regression introduced by
    "8bdc81c jffs2: get rid of jffs2_sync_super". We submit a delayed work in order
    to make sure the write-buffer is synchronized at some point. But we do not
    flush it when we unmount, which causes an oops when we unmount the file-system
    and then the delayed work is executed.

    This patch fixes the issue by adding a "cancel_delayed_work_sync()" infocation
    in the '->sync_fs()' handler. This will make sure the delayed work is canceled
    on sync, unmount and re-mount. And because VFS always callse 'sync_fs()' before
    unmounting or remounting, this fixes the issue.

    Reported-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Cc: stable@vger.kernel.org [3.5+]
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Tested-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>


Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

  reply	other threads:[~2014-04-29 16:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 15:57 JFFS2 locking issue on 3.14 + patches Michal Simek
2014-04-28 16:44 ` Joakim Tjernlund
2014-04-28 16:51 ` Brian Norris
2014-04-29 12:02   ` Michal Simek [this message]
2014-04-29 17:05     ` Brian Norris
2014-04-30  5:43       ` Michal Simek
2014-05-16  6:10         ` Brian Norris
2014-05-16  6:43           ` Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=535F94BF.60004@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=ajesh@broadcom.com \
    --cc=andy.wangguoli@huawei.com \
    --cc=computersforpeace@gmail.com \
    --cc=kamlakant.patel@broadcom.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=lizefan@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox