Hi, On 2019/11/14 4:38, Han Xu wrote: > Tested the JFFS2 on 5.4 kernel as the instruction said, still got some > errors, any ideas? > > > With the patch, > > root@imx8mmevk:~# cat /proc/mtd > dev: size erasesize name > mtd0: 00400000 00020000 "mtdram test device" > mtd1: 04000000 00020000 "5d120000.spi" > root@imx8mmevk:~# mtd_debug info /dev/mtd0 > mtd.type = MTD_RAM > mtd.flags = MTD_CAP_RAM > mtd.size = 4194304 (4M) > mtd.erasesize = 131072 (128K) > mtd.writesize = 1 > mtd.oobsize = 0 > regions = 0 > > root@imx8mmevk:~# flash_erase /dev/mtd0 0 0 > Erasing 128 Kibyte @ 3e0000 -- 100 % complete > root@imx8mmevk:~# mount -t jffs2 /dev/mtdblock0 test_dir/ > root@imx8mmevk:~# mount > /dev/mtdblock0 on /home/root/test_dir type jffs2 (rw,relatime) > > BUT, it's not writable. You should revert the following commit to make it work: commit f2538f999345405f7d2e1194c0c8efa4e11f7b3a Author: Jia-Ju Bai <baijiaju1990@xxxxxxxxx> Date: Wed Jul 24 10:46:58 2019 +0800 jffs2: Fix possible null-pointer dereferences in jffs2_add_frag_to_fragtree() The revert needs to get into v5.4. Maybe Richard has forget about it ? Regards, Tao > > root@imx8mmevk:~# cp test_file test_dir/ > cp: error writing 'test_dir/test_file': Invalid argument > > root@imx8mmevk:~# dd if=/dev/urandom of=test_dir/test_file bs=1k count=1 > dd: error writing 'test_dir/test_file': Invalid argument > 1+0 records in > 0+0 records out > 0 bytes copied, 0.000855156 s, 0.0 kB/s > > > On Fri, Sep 27, 2019 at 3:38 AM Sergei Shtylyov > <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote: >> >> Hello! >> >> On 26.09.2019 17:21, David Howells wrote: >> >>> The mounting of jffs2 is broken due to the changes from the new mount API >>> because it specifies a "source" operation, but then doesn't actually >>> process it. But because it specified it, it doesn't return -ENOPARAM and >> >> What specified what? Too many "it"'s to figure that out. :-) >> >>> the caller doesn't process it either and the source gets lost. >>> >>> Fix this by simply removing the source parameter from jffs2 and letting the >>> VFS deal with it in the default manner. >>> >>> To test it, enable CONFIG_MTD_MTDRAM and allow the default size and erase >>> block size parameters, then try and mount the /dev/mtdblock<N> file that >>> that creates as jffs2. No need to initialise it. >> >> One "that" should be enough. :-) >> >>> Fixes: ec10a24f10c8 ("vfs: Convert jffs2 to use the new mount API") >>> Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> >>> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> >>> cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> >>> cc: Richard Weinberger <richard@xxxxxx> >>> cc: linux-mtd@xxxxxxxxxxxxxxxxxxx >> [...] >> >> MBR, Sergei >> >> ______________________________________________________ >> Linux MTD discussion mailing list >> http://lists.infradead.org/mailman/listinfo/linux-mtd/ > > > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/