On 2015-10-09 at 15:27 +0200, Edward Shishkin wrote: > Hi Ivan, > > On 10/09/2015 01:16 PM, Ivan Shapovalov wrote: > > Ref.: https://www.mail-archive.com/linux-f2fs-devel%40lists.sourcef > > orge.net/msg02745.html > > Do you have a stack trace for reiser4? > How to reproduce it? I'll rebuild the kernel without the fix and provide you with the oops' stacktrace asap. I guess that it's tied to the config. In my case, it is reproducible on each boot, just as the DE starts up and something issues the first fsync(). > > > > > Signed-off-by: Ivan Shapovalov <intelfx100@xxxxxxxxx> > > --- > > > > Lustre seemed to encounter the same oops and fixed it in a > > different way, removing > > set_page_writeback() altogether: > > https://lkml.org/lkml/2015/7/30/806 > > > > We cannot just remove the call to set_page_writeback() at least > > because later > > we wait on PG_Writeback flag of that page (in jwait_io())... What > > is meant by > > "synchronous write" in that Lustre patch? Is our write > > "synchronous" in the > > same sense? > > > Nop. > This is a generic function, it doesn't differentiate the writes. Well, that lustre vvp_page_prep_write() is generic as well, and that patch adds a conditional to differentiate sync/async writes. What is meant by "sync" in that context? sync == page is locked until I/O ends? Or something else? -- Ivan Shapovalov / intelfx / > > I don't know VFS well. Cc'ing Oleg. > > > > fs/reiser4/wander.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/fs/reiser4/wander.c b/fs/reiser4/wander.c > > index ce20d50..0e2c105 100644 > > --- a/fs/reiser4/wander.c > > +++ b/fs/reiser4/wander.c > > @@ -782,7 +782,9 @@ static int write_jnodes_to_disk_extent( > > node_plugin_by_node(JZNOD > > E(cur))->csum(JZNODE(cur), 0); > > zrelse(JZNODE(cur)); > > } > > + > > ClearPageError(pg); > > + set_page_dirty_notag(pg); > > set_page_writeback(pg); > > > > if (get_current_context()->entd) { >
Attachment:
signature.asc
Description: This is a digitally signed message part