[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#384251: reiserfs: memory leak in data=journal mode



Package: kernel-latest-2.6-i386
Severity: important

On all 2.6.8 kernels, even on 2.6.16 from backports.org, there's a memory leak
with reiserfs in data=journal mode (mount option).

I use it on a mail relay, quite a lot of filesystem activity, my 2Go of memory
where filled in 2-3h.

I couldn't see any process using it, even with all stopped.

Only a reboot clean it.

I saw a lot of buffer_head in slabinfo.

Finaly, I saw a mail speaking about data=journal wich I had.

Wihout it, no more leaks !

I found patchs for it, but I saw that it is already in kernel 2.6.17 (unstable).

Extract of changelog for 2.6.12-rc1, from where, I don't know, at least suze !
http://groups.google.fr/group/fa.linux.kernel/browse_thread/thread/48c257521e17003a/ae51032fd3e77b15?lnk=st&q=reiserfs+%22data%3Djournal%22+memory+leak&rnum=1&hl=fr#ae51032fd3e77b15

<and...@suse.de> 
     [PATCH] orphaned pagecache memleak fix 
 
    Chris found that with data journaling a reiserfs pagecache may 
     be truncate while still pinned.  The truncation removes the 
     page->mapping, but the page is still listed in the VM queues 
     because it still has buffers.  Then during the journaling process, 
     a buffer is marked dirty and that sets the PG_dirty bitflag as well 
     (in mark_buffer_dirty).  After that the page is leaked because it's 
     both dirty and without a mapping. 
 
<m...@suse.com> 
     [PATCH] reiserfs: make sure data=journal buffers are cleaned on free 
 
    In data=journal mode, when blocks are freed and their buffers 
     are dirty, reiserfs can remove them from the transaction without 
     cleaning them. These buffers never get cleaned, resulting in an 
     unfreeable page. 

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-3-686
Locale: LANG=fr_FR@euro, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)



Reply to: