https://bugzilla.kernel.org/show_bug.cgi?id=216050

--- Comment #91 from Yuriy Garin (yuriy.ga...@gmail.com) ---
Created attachment 303300
  --> https://bugzilla.kernel.org/attachment.cgi?id=303300&action=edit
debug patch with f2fs_io_schedule_timeout

(In reply to #79)

This debug patch adds f2fs_io_schedule_timeout call, as proposed in #79.

It also prints when problem occurred first time (on this call) and it prints if
problem was "fixed".

In pseudo-code it looks like this:

... f2fs_get_lock_data_page(...)
{
        int i = 0;
repeat:
        page = f2fs_get_read_data_page(...);
        ...
        if (page->mapping != mapping) {
                if (i++ == 0) /* first time */
                        printk("bad ...");
                f2fs_put_page(page, 1);
                f2fs_io_schedule_timeout(DEFAULT_IO_TIMEOUT);
                if (i >= 10000)
                        return ERR_PTR(-EAGAIN); /* cannot resolve problem */
                goto repeat;
        }
        if (i > 0) /* resolved problem successfully */
                printk("fix ...");
        ...
        return page;
}

Thus, ideally, good output should have couples of lines:
  bad ...
  good ...

In short, it does *not* happen.

I'm attaching detailed dmesg log in the next post.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to