Re: JFFS2 oops when writing to two partitions simultaneously

Joakim Tjernlund
2012-01-26T08:20:04Z

>
> On 01/25/2012 08:53 PM, Orjan Friberg wrote:
> > I've boiled it down to whether CONFIG_PREEMPT (bug happens) or
> > CONFIG_PREEMPT_VOLUNTARY (bug doesn't happen) is selected.
>
> No, I haven't. The problem disappeared only for
>
> while :; do dd if=/dev/zero of=file bs=800 count=1; done
>
> That one-liner was boiled down from the following program, which still
> oopses instantly:
>
> #include <stdio.h>
> #include <unistd.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <fcntl.h>
>
> int main()
> {
> int fd;
> struct stat st;
> char buf[800];
>
> do {
> unlink("file2");
> fd = open("file1", O_RDWR|O_CREAT|O_TRUNC, 0666);
> stat("file1", &st);
> lseek(fd, 0, SEEK_SET);
> write(fd, buf, 800);
> close(fd);
> rename("file1", "file2");
> } while (1);
>
> return 0;
> }

Works for me on PowerPC, 2.6.35, NOR flash

Jocke