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: