linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bug 151511] New: BUGON at fs/ext4/inode.c line :2245
@ 2016-08-05  3:42 bugzilla-daemon
  2016-08-05  5:45 ` [Bug 151511] " bugzilla-daemon
  0 siblings, 1 reply; 2+ messages in thread
From: bugzilla-daemon @ 2016-08-05  3:42 UTC (permalink / raw)
  To: linux-ext4

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

            Bug ID: 151511
           Summary: BUGON at fs/ext4/inode.c line :2245
           Product: File System
           Version: 2.5
    Kernel Version: 3.14.74
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: ext4
          Assignee: fs_ext4@kernel-bugs.osdl.org
          Reporter: 35445233@qq.com
        Regression: No

I hit the BUG_ON after munmap a file.

BUGON at fs/ext4/inode.c line :2245
mpage_prepare_extent_to_map
...
head = page_buffers(page); //bug on at here


when io err happened at ext4_writepages->mpage_map_and_submit_extent,ext4
return err from mpage_map_and_submit_extent->mpage_map_one_extent.
Then ext4 set give_up_on_write  be true to discard  dirty pages to avoid
infinite loops.
But in mpage_release_unused_pages(&mpd, give_up_on_write), ext4 didn't clean
the pte->dirty.
when page munmaped,unmap_page_range->zap_pud_range->zap_pte_range
set_page_dirty again will cause the bugon at fs/ext4/inode.c line :2245.

    root/mm/memory.c
    zap_pte_range
    1145:        if (pte_dirty(ptent))
    1146:            set_page_dirty(page); //set again cause bugon


I  clear_page_dirty_for_io  in mpage_release_unused_pages can solve the bugon. 

                      if (invalidate) {
+                                       if (page_mapped(page)) 
+                                       {
+                                       clear_page_dirty_for_io(page);
+                                       )
                                block_invalidatepage_range(page, 0,
                                                           PAGE_CACHE_SIZE);
                                ClearPageUptodate(page);
but i am not sure the patch is ok.

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug 151511] BUGON at fs/ext4/inode.c line :2245
  2016-08-05  3:42 [Bug 151511] New: BUGON at fs/ext4/inode.c line :2245 bugzilla-daemon
@ 2016-08-05  5:45 ` bugzilla-daemon
  0 siblings, 0 replies; 2+ messages in thread
From: bugzilla-daemon @ 2016-08-05  5:45 UTC (permalink / raw)
  To: linux-ext4

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

wangguang <35445233@qq.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |linux-ext4@vger.kernel.org

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching the assignee of the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-08-05  5:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-05  3:42 [Bug 151511] New: BUGON at fs/ext4/inode.c line :2245 bugzilla-daemon
2016-08-05  5:45 ` [Bug 151511] " bugzilla-daemon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).