Re: [PATCH V2 0/3] drivers/staging: zcache: dynamic page cache/swap compression

From: Matt
Date: Tue Feb 15 2011 - 20:58:27 EST


On Wed, Feb 16, 2011 at 1:27 AM, Dan Magenheimer
<dan.magenheimer@xxxxxxxxxx> wrote:
>> -----Original Message-----
>> From: Matt [mailto:jackdachef@xxxxxxxxx]
>> Sent: Tuesday, February 15, 2011 5:12 PM
>> To: Minchan Kim
>> Cc: Dan Magenheimer; gregkh@xxxxxxx; Chris Mason; linux-
>> kernel@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx; ngupta@xxxxxxxxxx; linux-
>> btrfs@xxxxxxxxxxxxxxx; Josef Bacik; Dan Rosenberg; Yan Zheng;
>> miaox@xxxxxxxxxxxxxx; Li Zefan
>> Subject: Re: [PATCH V2 0/3] drivers/staging: zcache: dynamic page
>> cache/swap compression
>>
>> On Mon, Feb 14, 2011 at 4:35 AM, Minchan Kim <minchan.kim@xxxxxxxxx>
>> wrote:
>> > On Mon, Feb 14, 2011 at 10:29 AM, Matt <jackdachef@xxxxxxxxx> wrote:
>> >> On Mon, Feb 14, 2011 at 1:24 AM, Matt <jackdachef@xxxxxxxxx> wrote:
>> >>> On Mon, Feb 14, 2011 at 12:08 AM, Matt <jackdachef@xxxxxxxxx>
>> wrote:
>> >>>> On Wed, Feb 9, 2011 at 1:03 AM, Dan Magenheimer
>> >>>> <dan.magenheimer@xxxxxxxxxx> wrote:
>> >>>> [snip]
>> >>>>>
>> >>>>> If I've missed anything important, please let me know!
>> >>>>>
>> >>>>> Thanks again!
>> >>>>> Dan
>> >>>>>
>> >>>>
>> >>>> Hi Dan,
>> >>>>
>> >>>> thank you so much for answering my email in such detail !
>> >>>>
>> >>>> I shall pick up on that mail in my next email sending to the
>> mailing list :)
>> >>>>
>> >>>>
>> >>>> currently I've got a problem with btrfs which seems to get
>> triggered
>> >>>> by cleancache get-operations:
>> >>>>
>> >>>>
>> >>>> Feb 14 00:37:19 lupus kernel: [ 2831.297377] device fsid
>> >>>> 354120c992a00761-5fa07d400126a895 devid 1 transid 7
>> >>>> /dev/mapper/portage
>> >>>> Feb 14 00:37:19 lupus kernel: [ 2831.297698] btrfs: enabling disk
>> space caching
>> >>>> Feb 14 00:37:19 lupus kernel: [ 2831.297700] btrfs: force lzo
>> compression
>> >>>> Feb 14 00:37:19 lupus kernel: [ 2831.315844] zcache: created
>> ephemeral
>> >>>> tmem pool, id=3
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853188] BUG: unable to handle
>> >>>> kernel paging request at 0000000001400050
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853219] IP:
>> [<ffffffff8133ef1b>]
>> >>>> btrfs_encode_fh+0x2b/0x120
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853242] PGD 0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853251] Oops: 0000 [#1]
>> PREEMPT SMP
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853275] last sysfs file:
>> >>>> /sys/devices/platform/coretemp.3/temp1_input
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853295] CPU 4
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853303] Modules linked in:
>> radeon
>> >>>> ttm drm_kms_helper cfbcopyarea cfbimgblt cfbfillrect ipt_REJECT
>> >>>> ipt_LOG xt_limit xt_tcpudp xt_state nf_nat_irc nf_conntrack_irc
>> >>>> nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
>> nf_conntrack_ftp
>> >>>> iptable_filter ipt_addrtype xt_DSCP xt_dscp xt_iprange ip_tables
>> >>>> ip6table_filter xt_NFQUEUE xt_owner xt_hashlimit xt_conntrack
>> xt_mark
>> >>>> xt_multiport xt_connmark nf_conntrack xt_string ip6_tables
>> x_tables
>> >>>> it87 hwmon_vid coretemp snd_seq_dummy snd_seq_oss
>> snd_seq_midi_event
>> >>>> snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss
>> snd_hda_codec_hdmi
>> >>>> snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep
>> snd_pcm
>> >>>> snd_timer snd soundcore i2c_i801 wmi e1000e shpchp snd_page_alloc
>> >>>> libphy e1000 scsi_wait_scan sl811_hcd ohci_hcd ssb usb_storage
>> >>>> ehci_hcd [last unloaded: tg3]
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853682]
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853690] Pid: 11394, comm:
>> >>>> btrfs-transacti Not tainted 2.6.37-plus_v16_zcache #4 FMP55/ipower
>> >>>> G3710
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853725] RIP:
>> >>>> 0010:[<ffffffff8133ef1b>]  [<ffffffff8133ef1b>]
>> >>>> btrfs_encode_fh+0x2b/0x120
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853751] RSP:
>> >>>> 0018:ffff880129a11b00  EFLAGS: 00010246
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853767] RAX: 00000000000000ff
>> >>>> RBX: ffff88014a1ce628 RCX: 0000000000000000
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853788] RDX: ffff880129a11b3c
>> >>>> RSI: ffff880129a11b70 RDI: 0000000000000006
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853808] RBP: 0000000001400000
>> >>>> R08: ffffffff8133eef0 R09: ffff880129a11c68
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853829] R10: 0000000000000001
>> >>>> R11: 0000000000000001 R12: ffff88014a1ce780
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853849] R13: ffff88021fefc000
>> >>>> R14: ffff88021fef9000 R15: 0000000000000000
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853870] FS:
>> >>>> 0000000000000000(0000) GS:ffff8800bf500000(0000)
>> >>>> knlGS:0000000000000000
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853894] CS:  0010 DS: 0000
>> ES:
>> >>>> 0000 CR0: 000000008005003b
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853911] CR2: 0000000001400050
>> >>>> CR3: 0000000001c27000 CR4: 00000000000006e0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853932] DR0: 0000000000000000
>> >>>> DR1: 0000000000000000 DR2: 0000000000000000
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853952] DR3: 0000000000000000
>> >>>> DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853973] Process btrfs-
>> transacti
>> >>>> (pid: 11394, threadinfo ffff880129a10000, task ffff880202e4ac40)
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.853999] Stack:
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854006]  ffff880129a11b50
>> >>>> ffff880000000003 ffff88003c60a098 0000000000000003
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854035]  ffffffffffffffff
>> >>>> ffffffff810e6aaa 0000000000000000 0000000602e4ac40
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854063]  ffffffff8133e3f0
>> >>>> ffffffff810e6cee 0000000000001000 0000000000000000
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854092] Call Trace:
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854103]  [<ffffffff810e6aaa>]
>> ?
>> >>>> cleancache_get_key+0x4a/0x60
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854122]  [<ffffffff8133e3f0>]
>> ?
>> >>>> btrfs_wake_function+0x0/0x20
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854140]  [<ffffffff810e6cee>]
>> ?
>> >>>> __cleancache_flush_inode+0x3e/0x70
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854161]  [<ffffffff810b34d2>]
>> ?
>> >>>> truncate_inode_pages_range+0x42/0x440
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854182]  [<ffffffff812f115e>]
>> ?
>> >>>> btrfs_search_slot+0x89e/0xa00
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854201]  [<ffffffff810c3a45>]
>> ?
>> >>>> unmap_mapping_range+0xc5/0x2a0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854220]  [<ffffffff810b3930>]
>> ?
>> >>>> truncate_pagecache+0x40/0x70
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854240]  [<ffffffff813458b1>]
>> ?
>> >>>> btrfs_truncate_free_space_cache+0x81/0xe0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854261]  [<ffffffff812fce15>]
>> ?
>> >>>> btrfs_write_dirty_block_groups+0x245/0x500
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854283]  [<ffffffff812fcb6a>]
>> ?
>> >>>> btrfs_run_delayed_refs+0x1ba/0x220
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854304]  [<ffffffff8130afff>]
>> ?
>> >>>> commit_cowonly_roots+0xff/0x1d0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854323]  [<ffffffff8130c583>]
>> ?
>> >>>> btrfs_commit_transaction+0x363/0x760
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854344]  [<ffffffff81067ea0>]
>> ?
>> >>>> autoremove_wake_function+0x0/0x30
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854364]  [<ffffffff81305bc3>]
>> ?
>> >>>> transaction_kthread+0x283/0x2a0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854383]  [<ffffffff81305940>]
>> ?
>> >>>> transaction_kthread+0x0/0x2a0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854401]  [<ffffffff81305940>]
>> ?
>> >>>> transaction_kthread+0x0/0x2a0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854420]  [<ffffffff81067a16>]
>> ?
>> >>>> kthread+0x96/0xa0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854437]  [<ffffffff81003514>]
>> ?
>> >>>> kernel_thread_helper+0x4/0x10
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854455]  [<ffffffff81067980>]
>> ?
>> >>>> kthread+0x0/0xa0
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854471]  [<ffffffff81003510>]
>> ?
>> >>>> kernel_thread_helper+0x0/0x10
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854488] Code: 55 b8 ff 00 00
>> 00
>> >>>> 53 48 89 fb 48 83 ec 18 48 8b 6f 10 8b 3a 83 ff 04 0f 86 d5 00 00
>> 00
>> >>>> 85 c9 0f 95 c1 83 ff 07 0f 86 d5 00 00 00 <48> 8b 45 50 bf 05 00
>> 00 00
>> >>>> 48 89 06 84 c9 48 8b 85 68 fe ff ff
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854742] RIP
>>  [<ffffffff8133ef1b>]
>> >>>> btrfs_encode_fh+0x2b/0x120
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854762]  RSP
>> <ffff880129a11b00>
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.854773] CR2: 0000000001400050
>> >>>> Feb 14 00:39:20 lupus kernel: [ 2951.860906] ---[ end trace
>> >>>> f831c5ceeaa49287 ]---
>> >>>>
>> >>>> in my case I had compress-force with lzo and disk_cache enabled
>> >>>>
>> >>>>
>> >>>> another user of the kernel I'm currently running has had the same
>> >>>> problem with zcache
>> >>>> (http://forums.gentoo.org/viewtopic-p-6571799.html#6571799)
>> >>>>
>> >>>> (looks like in his case compression and any other fancy additional
>> >>>> features weren't enabled)
>> >>>>
>> >>>>
>> >>>> changes made by this kernel or patchset to btrfs are from
>> >>>> * io-less dirty throttling patchset (44 patches)
>> >>>> * zcache V2 ("[PATCH] staging: zcache: fix memory leak" should be
>> >>>> applied in both cases)
>> >>>> * PATCH] fix (latent?) memory corruption in btrfs_encode_fh()
>> >>>> * btrfs-unstable changes to state of
>> >>>> 3a90983dbdcb2f4f48c0d771d8e5b4d88f27fae6 (so practically equals
>> btrfs
>> >>>> from 2.6.38-rc4+)
>> >>>>
>> >>>> I haven't tried downgrading to vanilla 2.6.37 with zcache only,
>> yet,
>> >>>>
>> >>>> but kind of upgraded btrfs to the latest state of the btrfs-
>> unstable
>> >>>> repository
>> (http://git.eu.kernel.org/?p=linux/kernel/git/mason/btrfs-
>> unstable.git;a=summary)
>> >>>> namely 3a90983dbdcb2f4f48c0d771d8e5b4d88f27fae6
>> >>>>
>> >>>> this also didn't help and seemed to produce the same error-message
>> >>>>
>> >>>> so to summarize:
>> >>>>
>> >>>> 1) error message appearing with all 4 patchsets applied changing
>> >>>> btrfs-code and compress-force=lzo and disk_cache enabled
>> >>>>
>> >>>> 2) error message appearing with default mount-options and btrfs
>> from
>> >>>> 2.6.37 and changes for zcache & io-less dirty throttling patchset
>> >>>> applied (first 2 patch(sets)) from list)
>> >>>>
>> >>>>
>> >>>> in my case I tried to extract / play back a 1.7 GiB tarball of my
>> >>>> portage-directory (lots of small files and some tar.bzip2
>> archives)
>> >>>> via pbzip2 or 7z when the error happened and the message was shown
>> >>>>
>> >>>> Due to KMS sound (webradio streaming) was still running but I
>> couldn't
>> >>>> continue work (X switching to kernel output) so I did the magic
>> sysrq
>> >>>> combo (reisub)
>> >>>>
>> >>>>
>> >>>> Does that BUG message ring a bell for anyone ?
>> >>>>
>> >>>> (if I should leave out anyone from the CC in the next emails or
>> >>>> future, please holler - I don't want to spam your inboxes)
>> >>>>
>> >>>> Thanks
>> >>>>
>> >>>> Matt
>> >>>>
>> >>>
>> >>>
>> >>> OK,
>> >>>
>> >>> here's the output of a kernel -
>> >>>
>> >>> staying as close to vanilla (2.6.37) as the current situation
>> allows
>> >>> (only including some corruption or leak fixes for zram & zcache and
>> >>> "zram_xvmalloc: 64K page fixes and optimizations" (and 2 reiserfs
>> >>> fixes)):
>> >>>
>> >>> so in total the following patches are included in this new kernel
>> >>> (2.6.37-zcache):
>> >>>
>> >>> zram changes:
>> >>> 1 zram: Fix sparse warning 'Using plain integer as NULL pointer'
>> >>> 2 [PATCH] zram: fix data corruption issue
>> >>> 3 [PATCH 0/7][v2] zram_xvmalloc: 64K page fixes and optimizations
>> >>>
>> >>> zcache:
>> >>> 1 zcache-linux-2.6.37-110205
>> >>> 2 [PATCH] staging: zcache: fix memory leak
>> >>> 3 [PATCH] zcache: Fix build error when sysfs is not defined
>> >>>
>> >>> reiserfs:
>> >>> 1 [PATCH] reiserfs: Make sure va_end() is always called after
>> >>> 2 [patch] reiserfs: potential ERR_PTR dereference
>> >>>
>> >>>
>> >>> the same procedure:
>> >>>
>> >>> trying to extract the mentioned portage-tarball:
>> >>>
>> >>> time (7z e -so -tbzip2 -mmt=5 /system/portage_backup_022011.tbz2 |
>> tar
>> >>> -xp -C /usr/gentoo/)
>> >>>
>> >>>
>> >>> this hopefully should make it easier to track down the problem:
>> >>>
>> >>>
>> >>> Feb 14 01:59:59 lupus kernel: [  364.777143] device fsid
>> >>> 684a4213565dd3fe-ca991821badc2aac devid 1 transid 7
>> >>> /dev/mapper/portage
>> >>> Feb 14 01:59:59 lupus kernel: [  364.844994] zcache: created
>> ephemeral
>> >>> tmem pool, id=2
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577573] BUG: unable to handle
>> >>> kernel paging request at 0000000037610050
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577605] IP:
>> [<ffffffff81338cbb>]
>> >>> btrfs_encode_fh+0x2b/0x110
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577630] PGD 0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577640] Oops: 0000 [#1]
>> PREEMPT SMP
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577665] last sysfs file:
>> >>> /sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577693] CPU 5
>> >>> Feb 14 02:02:49 lupus kernel: [  534.577701] Modules linked in:
>> radeon
>> >>> ttm drm_kms_helper cfbcopyarea cfbimgblt cfbfillrect ipt_REJECT
>> >>> ipt_LOG xt_limit xt_tcpudp xt_state nf_nat_irc nf_conntrack_irc
>> >>> nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp
>> >>> iptable_filter ipt_addrtype xt_DSCP xt_dscp xt_iprange ip_tables
>> >>> ip6table_filter xt_NFQUEUE xt_owner xt_hashlimit xt_conntrack
>> xt_mark
>> >>> xt_multiport xt_connmark nf_conntrack xt_string ip6_tables x_tables
>> >>> it87 hwmon_vid coretemp snd_seq_dummy snd_seq_oss
>> snd_seq_midi_event
>> >>> snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_hda_codec_hdmi
>> >>> snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm
>> >>> snd_timer snd e1000e soundcore i2c_i801 shpchp snd_page_alloc wmi
>> >>> libphy e1000 scsi_wait_scan sl811_hcd ohci_hcd ssb usb_storage
>> >>> ehci_hcd [last unloaded: tg3]
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578114]
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578124] Pid: 8285, comm: tar
>> Not
>> >>> tainted 2.6.37-zcache #2 FMP55/ipower G3710
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578146] RIP:
>> >>> 0010:[<ffffffff81338cbb>]  [<ffffffff81338cbb>]
>> >>> btrfs_encode_fh+0x2b/0x110
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578172] RSP:
>> >>> 0018:ffff88023ea9dcc8  EFLAGS: 00010246
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578189] RAX: 00000000000000ff
>> >>> RBX: ffff8800b8643228 RCX: 0000000000000000
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578210] RDX: ffff88023ea9dd04
>> >>> RSI: ffff88023ea9dd38 RDI: 0000000000000006
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578230] RBP: 0000000037610000
>> >>> R08: ffffffff81338c90 R09: 0000000000000000
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578251] R10: 0000000000000019
>> >>> R11: 0000000000000001 R12: ffff8800b8643380
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578272] R13: ffff8800b8643258
>> >>> R14: 00007fff806f1f00 R15: 0000000000000000
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578293] FS:
>> >>> 00007f823d7ed700(0000) GS:ffff8800bf540000(0000)
>> >>> knlGS:0000000000000000
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578317] CS:  0010 DS: 0000 ES:
>> >>> 0000 CR0: 0000000080050033
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578334] CR2: 0000000037610050
>> >>> CR3: 000000023dcef000 CR4: 00000000000006e0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578356] DR0: 0000000000000000
>> >>> DR1: 0000000000000000 DR2: 0000000000000000
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578377] DR3: 0000000000000000
>> >>> DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578398] Process tar (pid:
>> 8285,
>> >>> threadinfo ffff88023ea9c000, task ffff88023e8b9d40)
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578421] Stack:
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578428]  000000013d096000
>> >>> ffff88023ed84800 ffff88023ea9c000 0000000000000002
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578458]  ffffffffffffffff
>> >>> ffffffff810e3b1a 0000000000000001 000000061e1d5240
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578486]  fffffffffffffffb
>> >>> ffffffff810e3d5e ffff88010f383000 0000001ab86cb908
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578514] Call Trace:
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578525]  [<ffffffff810e3b1a>]
>> ?
>> >>> cleancache_get_key+0x4a/0x60
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578544]  [<ffffffff810e3d5e>]
>> ?
>> >>> __cleancache_flush_inode+0x3e/0x70
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578565]  [<ffffffff810b0ed2>]
>> ?
>> >>> truncate_inode_pages_range+0x42/0x440
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578586]  [<ffffffff81338451>]
>> ?
>> >>> btrfs_tree_unlock+0x41/0x50
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578605]  [<ffffffff812e4ed5>]
>> ?
>> >>> btrfs_release_path+0x15/0x70
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578624]  [<ffffffff8130bf29>]
>> ?
>> >>> btrfs_run_delayed_iputs+0x49/0x120
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578644]  [<ffffffff813107e7>]
>> ?
>> >>> btrfs_evict_inode+0x27/0x1e0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578663]  [<ffffffff810fc3aa>]
>> ?
>> >>> evict+0x1a/0xa0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578678]  [<ffffffff810fc6bd>]
>> ?
>> >>> iput+0x1cd/0x2b0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578694]  [<ffffffff810f266f>]
>> ?
>> >>> do_unlinkat+0x12f/0x1d0
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578712]  [<ffffffff810027bb>]
>> ?
>> >>> system_call_fastpath+0x16/0x1b
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578730] Code: 55 b8 ff 00 00
>> 00
>> >>> 53 48 89 fb 48 83 ec 18 48 8b 6f 10 8b 3a 83 ff 04 0f 86 d5 00 00
>> 00
>> >>> 85 c9 0f 95 c1 83 ff 07 0f 86 d5 00 00 00 <48> 8b 45 50 bf 05 00 00
>> 00
>> >>> 48 89 06 84 c9 48 8b 85 68 fe ff ff
>> >>> Feb 14 02:02:49 lupus kernel: [  534.578986] RIP
>>  [<ffffffff81338cbb>]
>> >>> btrfs_encode_fh+0x2b/0x110
>> >>> Feb 14 02:02:49 lupus kernel: [  534.579081]  RSP
>> <ffff88023ea9dcc8>
>> >>> Feb 14 02:02:49 lupus kernel: [  534.579093] CR2: 0000000037610050
>> >>> Feb 14 02:02:49 lupus kernel: [  534.587513] ---[ end trace
>> >>> c596b12e66c0b360 ]---
>> >>>
>> >>>
>> >>> for reference I've pasted it to pastebin.com:
>> >>>
>> >>> "2.6.37_zcache_V2.patch"
>> >>> http://pastebin.com/cVSkwQ6M
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> after the reboot I had forgotten to not mount the btrfs volume and
>> it
>> >>> threw a similar error-message again and remounted several
>> partitions
>> >>> read-only (including the system partition)
>> >>> the partition with btrfs (/usr/gentoo) couldn't be unmounted since
>> the
>> >>> umount process kind of hang
>> >>>
>> >>> so here's the error message after a reboot (might not be accurate
>> or
>> >>> kind of "skewed" since other patches are included (io-less dirty
>> >>> throttling, PATCH] fix (latent?) memory corruption in
>> >>> btrfs_encode_fh() and latest changes for btrfs)) but might help to
>> get
>> >>> some more evidence:
>> >>>
>> >>>
>> >>> Feb 14 02:05:46 lupus kernel: [   63.922648] device fsid
>> >>> 684a4213565dd3fe-ca991821badc2aac devid 1 transid 13
>> >>> /dev/mapper/portage
>> >>> Feb 14 02:05:46 lupus kernel: [   64.047118] btrfs: unlinked 1
>> orphans
>> >>> Feb 14 02:05:46 lupus kernel: [   64.051956] zcache: created
>> ephemeral
>> >>> tmem pool, id=3
>> >>> Feb 14 02:05:48 lupus kernel: [   65.801364] hub 2-1:1.0:
>> hub_suspend
>> >>> Feb 14 02:05:48 lupus kernel: [   65.801376] usb 2-1: unlink
>> >>> qh256-0001/ffff88023fefd180 start 1 [1/0 us]
>> >>> Feb 14 02:05:48 lupus kernel: [   65.801559] usb 2-1: usb auto-
>> suspend
>> >>> Feb 14 02:05:50 lupus kernel: [   67.797929] hub 2-0:1.0:
>> hub_suspend
>> >>> Feb 14 02:05:50 lupus kernel: [   67.797939] usb usb2: bus auto-
>> suspend
>> >>> Feb 14 02:05:50 lupus kernel: [   67.797942] ehci_hcd 0000:00:1d.0:
>> >>> suspend root hub
>> >>> Feb 14 02:05:52 lupus kernel: [   70.050493] BUG: unable to handle
>> >>> kernel paging request at 0000030341ed0050
>> >>> Feb 14 02:05:52 lupus kernel: [   70.050670] IP:
>> [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:05:52 lupus kernel: [   70.050807] PGD 0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.050929] Oops: 0000 [#1]
>> PREEMPT SMP
>> >>> Feb 14 02:05:52 lupus kernel: [   70.051223] last sysfs file:
>> >>> /sys/module/pcie_aspm/parameters/policy
>> >>> Feb 14 02:05:52 lupus kernel: [   70.051365] CPU 6
>> >>> Feb 14 02:05:52 lupus kernel: [   70.051411] Modules linked in:
>> >>> ipt_REJECT ipt_LOG xt_limit xt_tcpudp xt_state nf_nat_irc
>> >>> nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
>> >>> nf_conntrack_ftp iptable_filter ipt_addrtype xt_DSCP xt_dscp
>> >>> xt_iprange ip_tables ip6table_filter xt_NFQUEUE xt_owner
>> xt_hashlimit
>> >>> xt_conntrack xt_mark xt_multiport xt_connmark nf_conntrack
>> xt_string
>> >>> ip6_tables x_tables it87 hwmon_vid coretemp snd_seq_dummy
>> snd_seq_oss
>> >>> snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss
>> >>> snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel
>> snd_hda_codec
>> >>> snd_hwdep snd_pcm snd_timer snd i2c_i801 soundcore wmi shpchp
>> e1000e
>> >>> snd_page_alloc libphy e1000 scsi_wait_scan sl811_hcd ohci_hcd ssb
>> >>> usb_storage ehci_hcd [last unloaded: tg3]
>> >>> Feb 14 02:05:52 lupus kernel: [   70.054694]
>> >>> Feb 14 02:05:52 lupus kernel: [   70.054776] Pid: 7962, comm:
>> umount
>> >>> Not tainted 2.6.37-plus_v16_zcache #4 FMP55/ipower G3710
>> >>> Feb 14 02:05:52 lupus kernel: [   70.054912] RIP:
>> >>> 0010:[<ffffffff8133ef1b>]  [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055084] RSP:
>> >>> 0018:ffff88023c77d6f8  EFLAGS: 00010246
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055173] RAX: 00000000000000ff
>> >>> RBX: ffff88023cde0168 RCX: 0000000000000000
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055265] RDX: ffff88023c77d734
>> >>> RSI: ffff88023c77d768 RDI: 0000000000000006
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055357] RBP: 0000030341ed0000
>> >>> R08: ffffffff8133eef0 R09: ffff88023c77d8d8
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055448] R10: 0000000000000003
>> >>> R11: 0000000000000001 R12: 00000000ffffffff
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055540] R13: ffff88023cde0030
>> >>> R14: ffffea0007dd39f0 R15: 0000000000000001
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055633] FS:
>> >>> 00007fb1cad04760(0000) GS:ffff8800bf580000(0000)
>> >>> knlGS:0000000000000000
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055762] CS:  0010 DS: 0000 ES:
>> >>> 0000 CR0: 000000008005003b
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055851] CR2: 0000030341ed0050
>> >>> CR3: 000000023c7d5000 CR4: 00000000000006e0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.055943] DR0: 0000000000000000
>> >>> DR1: 0000000000000000 DR2: 0000000000000000
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056035] DR3: 0000000000000000
>> >>> DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056128] Process umount (pid:
>> >>> 7962, threadinfo ffff88023c77c000, task ffff88023c7a4260)
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056257] Stack:
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056338]  0000000000000000
>> >>> 0000000000000002 ffff880200000000 0000000000000003
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056630]  ffffea0007dd39f0
>> >>> ffffffff810e6aaa ffff880200000041 0000000600000246
>> >>> Feb 14 02:05:52 lupus kernel: [   70.056922]  ffff88023cdcd300
>> >>> ffffffff810e6b3a 0000000000000001 ffffffff8132bb7c
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057213] Call Trace:
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057301]  [<ffffffff810e6aaa>]
>> ?
>> >>> cleancache_get_key+0x4a/0x60
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057393]  [<ffffffff810e6b3a>]
>> ?
>> >>> __cleancache_get_page+0x7a/0xd0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057487]  [<ffffffff8132bb7c>]
>> ?
>> >>> merge_state+0x7c/0x150
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057579]  [<ffffffff8132e4de>]
>> ?
>> >>> __extent_read_full_page+0x52e/0x710
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057673]  [<ffffffff813bdea4>]
>> ?
>> >>> rb_insert_color+0xa4/0x140
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057766]  [<ffffffff8134b0b6>]
>> ?
>> >>> tree_insert+0x86/0x1e0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.057859]  [<ffffffff81058c73>]
>> ?
>> >>> lock_timer_base.clone.22+0x33/0x70
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058004]  [<ffffffff81305060>]
>> ?
>> >>> btree_get_extent+0x0/0x1c0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058097]  [<ffffffff81330b21>]
>> ?
>> >>> read_extent_buffer_pages+0x2d1/0x470
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058191]  [<ffffffff81305060>]
>> ?
>> >>> btree_get_extent+0x0/0x1c0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058283]  [<ffffffff8130674d>]
>> ?
>> >>> btree_read_extent_buffer_pages.clone.65+0x4d/0xa0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058415]  [<ffffffff813076f9>]
>> ?
>> >>> read_tree_block+0x39/0x60
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058508]  [<ffffffff812ed5e6>]
>> ?
>> >>> read_block_for_search.clone.40+0x116/0x410
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058638]  [<ffffffff812eb228>]
>> ?
>> >>> btrfs_cow_block+0x118/0x2b0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058731]  [<ffffffff812f0bc7>]
>> ?
>> >>> btrfs_search_slot+0x307/0xa00
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058823]  [<ffffffff812f6b18>]
>> ?
>> >>> lookup_inline_extent_backref+0x98/0x4a0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.058919]  [<ffffffff810e33d7>]
>> ?
>> >>> kmem_cache_alloc+0x87/0xa0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059032]  [<ffffffff812f891c>]
>> ?
>> >>> __btrfs_free_extent+0xcc/0x6f0
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059125]  [<ffffffff812fc4cf>]
>> ?
>> >>> run_clustered_refs+0x39f/0x880
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059220]  [<ffffffff810b1f98>]
>> ?
>> >>> pagevec_lookup_tag+0x18/0x20
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059312]  [<ffffffff810a7c81>]
>> ?
>> >>> filemap_fdatawait_range+0x91/0x180
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059405]  [<ffffffff812fca77>]
>> ?
>> >>> btrfs_run_delayed_refs+0xc7/0x220
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059498]  [<ffffffff8130c29c>]
>> ?
>> >>> btrfs_commit_transaction+0x7c/0x760
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059591]  [<ffffffff81067ea0>]
>> ?
>> >>> autoremove_wake_function+0x0/0x30
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059683]  [<ffffffff8130cdef>]
>> ?
>> >>> start_transaction+0x1bf/0x270
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059775]  [<ffffffff8110e96a>]
>> ?
>> >>> __sync_filesystem+0x5a/0x90
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059867]  [<ffffffff810eae8d>]
>> ?
>> >>> generic_shutdown_super+0x2d/0x100
>> >>> Feb 14 02:05:52 lupus kernel: [   70.059960]  [<ffffffff810eafb9>]
>> ?
>> >>> kill_anon_super+0x9/0x50
>> >>> Feb 14 02:05:52 lupus kernel: [   70.060051]  [<ffffffff810eb266>]
>> ?
>> >>> deactivate_locked_super+0x26/0x80
>> >>> Feb 14 02:05:52 lupus kernel: [   70.060144]  [<ffffffff811043ea>]
>> ?
>> >>> sys_umount+0x7a/0x390
>> >>> Feb 14 02:05:52 lupus kernel: [   70.060235]  [<ffffffff810027bb>]
>> ?
>> >>> system_call_fastpath+0x16/0x1b
>> >>> Feb 14 02:05:52 lupus kernel: [   70.060325] Code: 55 b8 ff 00 00
>> 00
>> >>> 53 48 89 fb 48 83 ec 18 48 8b 6f 10 8b 3a 83 ff 04 0f 86 d5 00 00
>> 00
>> >>> 85 c9 0f 95 c1 83 ff 07 0f 86 d5 00 00 00 <48> 8b 45 50 bf 05 00 00
>> 00
>> >>> 48 89 06 84 c9 48 8b 85 68 fe ff ff
>> >>> Feb 14 02:05:52 lupus kernel: [   70.063170] RIP
>>  [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:05:52 lupus kernel: [   70.063302]  RSP
>> <ffff88023c77d6f8>
>> >>> Feb 14 02:05:52 lupus kernel: [   70.063386] CR2: 0000030341ed0050
>> >>> Feb 14 02:05:52 lupus kernel: [   70.063528] ---[ end trace
>> >>> 3313552d105b1535 ]---
>> >>> Feb 14 02:06:16 lupus kernel: [   93.961960] BUG: unable to handle
>> >>> kernel paging request at 0000030341ed0050
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962171] IP:
>> [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962307] PGD 0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962430] Oops: 0000 [#2]
>> PREEMPT SMP
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962637] last sysfs file:
>> >>> /sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962766] CPU 5
>> >>> Feb 14 02:06:16 lupus kernel: [   93.962812] Modules linked in:
>> >>> ipt_REJECT ipt_LOG xt_limit xt_tcpudp xt_state nf_nat_irc
>> >>> nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
>> >>> nf_conntrack_ftp iptable_filter ipt_addrtype xt_DSCP xt_dscp
>> >>> xt_iprange ip_tables ip6table_filter xt_NFQUEUE xt_owner
>> xt_hashlimit
>> >>> xt_conntrack xt_mark xt_multiport xt_connmark nf_conntrack
>> xt_string
>> >>> ip6_tables x_tables it87 hwmon_vid coretemp snd_seq_dummy
>> snd_seq_oss
>> >>> snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss
>> >>> snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel
>> snd_hda_codec
>> >>> snd_hwdep snd_pcm snd_timer snd i2c_i801 soundcore wmi shpchp
>> e1000e
>> >>> snd_page_alloc libphy e1000 scsi_wait_scan sl811_hcd ohci_hcd ssb
>> >>> usb_storage ehci_hcd [last unloaded: tg3]
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966044]
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966127] Pid: 7915, comm:
>> >>> btrfs-transacti Tainted: G      D     2.6.37-plus_v16_zcache #4
>> >>> FMP55/ipower G3710
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966266] RIP:
>> >>> 0010:[<ffffffff8133ef1b>]  [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966440] RSP:
>> >>> 0018:ffff88023c63b6e0  EFLAGS: 00010246
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966528] RAX: 00000000000000ff
>> >>> RBX: ffff88023cde0168 RCX: 0000000000000000
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966620] RDX: ffff88023c63b71c
>> >>> RSI: ffff88023c63b750 RDI: 0000000000000006
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966713] RBP: 0000030341ed0000
>> >>> R08: ffffffff8133eef0 R09: ffff88023c63b8c0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966805] R10: 0000000000000003
>> >>> R11: 0000000000000001 R12: 00000000ffffffff
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966897] R13: ffff88023cde0030
>> >>> R14: ffffea0007d59bc8 R15: 0000000000000001
>> >>> Feb 14 02:06:16 lupus kernel: [   93.966990] FS:
>> >>> 0000000000000000(0000) GS:ffff8800bf540000(0000)
>> >>> knlGS:0000000000000000
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967120] CS:  0010 DS: 0000 ES:
>> >>> 0000 CR0: 000000008005003b
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967209] CR2: 0000030341ed0050
>> >>> CR3: 0000000001c27000 CR4: 00000000000006e0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967302] DR0: 0000000000000000
>> >>> DR1: 0000000000000000 DR2: 0000000000000000
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967394] DR3: 0000000000000000
>> >>> DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967500] Process btrfs-
>> transacti
>> >>> (pid: 7915, threadinfo ffff88023c63a000, task ffff88023c7a1620)
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967630] Stack:
>> >>> Feb 14 02:06:16 lupus kernel: [   93.967711]  0000000000000000
>> >>> 0000000000000002 0000000000000000 0000000000000003
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968057]  ffffea0007d59bc8
>> >>> ffffffff810e6aaa 0000000000000041 0000000600000002
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968348]  0000000000000000
>> >>> ffffffff810e6b3a 0000000000000001 ffffffff00000001
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968639] Call Trace:
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968728]  [<ffffffff810e6aaa>]
>> ?
>> >>> cleancache_get_key+0x4a/0x60
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968820]  [<ffffffff810e6b3a>]
>> ?
>> >>> __cleancache_get_page+0x7a/0xd0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.968914]  [<ffffffff8132e4de>]
>> ?
>> >>> __extent_read_full_page+0x52e/0x710
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969008]  [<ffffffff812f3f93>]
>> ?
>> >>> update_reserved_bytes+0xb3/0x140
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969102]  [<ffffffff81305060>]
>> ?
>> >>> btree_get_extent+0x0/0x1c0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969193]  [<ffffffff8132bb7c>]
>> ?
>> >>> merge_state+0x7c/0x150
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969285]  [<ffffffff81330b21>]
>> ?
>> >>> read_extent_buffer_pages+0x2d1/0x470
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969378]  [<ffffffff81305060>]
>> ?
>> >>> btree_get_extent+0x0/0x1c0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969470]  [<ffffffff8130674d>]
>> ?
>> >>> btree_read_extent_buffer_pages.clone.65+0x4d/0xa0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969602]  [<ffffffff813076f9>]
>> ?
>> >>> read_tree_block+0x39/0x60
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969694]  [<ffffffff812ed5e6>]
>> ?
>> >>> read_block_for_search.clone.40+0x116/0x410
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969878]  [<ffffffff812f0bc7>]
>> ?
>> >>> btrfs_search_slot+0x307/0xa00
>> >>> Feb 14 02:06:16 lupus kernel: [   93.969970]  [<ffffffff812f6b18>]
>> ?
>> >>> lookup_inline_extent_backref+0x98/0x4a0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970065]  [<ffffffff810e33d7>]
>> ?
>> >>> kmem_cache_alloc+0x87/0xa0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970157]  [<ffffffff812f891c>]
>> ?
>> >>> __btrfs_free_extent+0xcc/0x6f0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970249]  [<ffffffff812f8434>]
>> ?
>> >>> update_block_group.clone.62+0xc4/0x280
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970343]  [<ffffffff812fc4cf>]
>> ?
>> >>> run_clustered_refs+0x39f/0x880
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970436]  [<ffffffff812fca77>]
>> ?
>> >>> btrfs_run_delayed_refs+0xc7/0x220
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970529]  [<ffffffff810e15f9>]
>> ?
>> >>> new_slab+0x169/0x1f0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970619]  [<ffffffff8130c29c>]
>> ?
>> >>> btrfs_commit_transaction+0x7c/0x760
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970713]  [<ffffffff81067ea0>]
>> ?
>> >>> autoremove_wake_function+0x0/0x30
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970806]  [<ffffffff81305bc3>]
>> ?
>> >>> transaction_kthread+0x283/0x2a0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970898]  [<ffffffff81305940>]
>> ?
>> >>> transaction_kthread+0x0/0x2a0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.970990]  [<ffffffff81305940>]
>> ?
>> >>> transaction_kthread+0x0/0x2a0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.971083]  [<ffffffff81067a16>]
>> ?
>> >>> kthread+0x96/0xa0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.971174]  [<ffffffff81003514>]
>> ?
>> >>> kernel_thread_helper+0x4/0x10
>> >>> Feb 14 02:06:16 lupus kernel: [   93.971266]  [<ffffffff81067980>]
>> ?
>> >>> kthread+0x0/0xa0
>> >>> Feb 14 02:06:16 lupus kernel: [   93.971355]  [<ffffffff81003510>]
>> ?
>> >>> kernel_thread_helper+0x0/0x10
>> >>> Feb 14 02:06:16 lupus kernel: [   93.971444] Code: 55 b8 ff 00 00
>> 00
>> >>> 53 48 89 fb 48 83 ec 18 48 8b 6f 10 8b 3a 83 ff 04 0f 86 d5 00 00
>> 00
>> >>> 85 c9 0f 95 c1 83 ff 07 0f 86 d5 00 00 00 <48> 8b 45 50 bf 05 00 00
>> 00
>> >>> 48 89 06 84 c9 48 8b 85 68 fe ff ff
>> >>> Feb 14 02:06:16 lupus kernel: [   93.974280] RIP
>>  [<ffffffff8133ef1b>]
>> >>> btrfs_encode_fh+0x2b/0x120
>> >>> Feb 14 02:06:16 lupus kernel: [   93.974412]  RSP
>> <ffff88023c63b6e0>
>> >>> Feb 14 02:06:16 lupus kernel: [   93.974497] CR2: 0000030341ed0050
>> >>> Feb 14 02:06:16 lupus kernel: [   93.974599] ---[ end trace
>> >>> 3313552d105b1536 ]---
>> >>> Feb 14 02:07:04 lupus kernel: [  141.906124] zcache: destroyed pool
>> id=2
>> >>> Feb 14 02:07:17 lupus kernel: [  154.783358] SysRq : Keyboard mode
>> set
>> >>> to system default
>> >>> Feb 14 02:07:18 lupus kernel: [  155.486147] SysRq : Terminate All
>> Tasks
>> >>>
>> >>>
>> >>> That's all for now
>> >>>
>> >>> Thanks & Regards
>> >>>
>> >>> Matt
>> >>>
>> >>
>> >> (leaving out several folks from the CC to avoid spamming - if I left
>> >> out someone wrongfully please re-add)
>> >>
>> >> running an addr2line reveals:
>> >>
>> >>
>> >> addr2line -e /usr/src/linux-2.6.37_vanilla/vmlinux -i
>> ffffffff81338cbb
>> >> export.c:0
>> >>
>> >>
>> >> hope that helps
>> >>
>> >>
>> >> Regards
>> >>
>> >> Matt
>> >>
>> >
>> > Just my guessing. I might be wrong.
>> >
>> > __cleancache_flush_inode calls cleancache_get_key with
>> cleancache_filekey.
>> > cleancache_file_key's size is just 6 * u32.
>> > cleancache_get_key calls btrfs_encode_fh with the key.
>> > but btrfs_encode_fh does typecasting the key to btrfs_fid which is
>> > bigger size than cleancache_filekey's one so it should not access
>> > fields beyond cleancache_get_key.
>> >
>> > I think some file systems use extend fid so in there, this problem
>> can
>> > happen. I don't know why we can't find it earlier. Maybe Dan and
>> > others test it for a long time.
>> >
>> > Am I missing something?
>> >
>> >
>> >
>> > --
>> > Kind regards,
>> > Minchan Kim
>> >
>>
>> reposting Minchan's message for reference to the btrfs mailing list
>> while also adding
>>
>> Li Zefan, Miao Xie, Yan Zheng, Dan Rosenberg and Josef Bacik to CC
>>
>> Regards
>>
>> Matt
>
> Hi Matt and Minchan --
>
> (BTRFS EXPERTS SEE *** BELOW)
>
> I definitely see a bug in cleancache_get_key in the monolithic
> zcache+cleancache+frontswap patch I posted on oss.oracle.com
> that is corrected in linux-next but I don't see how it could
> get provoked by btrfs.
>
> The bug is that, in cleancache_get_key, the return value of fhfn should
> be checked against 255.  If the return value is 255, cleancache_get_key
> should return -1.  This should disable cleancache for any filesystem
> where KEY_MAX is too large.
>
> But cleancache_get_key always calls fhfn with connectable == 0 and
> CLEANCACHE_KEY_MAX==6 should be greater than BTRFS_FID_SIZE_CONNECTABLE
> (which I think should be 5?).  And the elements written into the
> typecast btrfs_fid should be only writing the first 5 32-bit words.
>
> So if the problem is the one Minchan suggests, I am confused.  Matt,
> can you first confirm that you are using the cleancache patches from
> my monolithic patch from oss.oracle.com (which I think you are)?
>
> ***
>
> Looking over the stacktrace and the code, I have an alternate theory.
> I wonder if it is ever possible the inode->dentry list is empty
> (or corrupt)?  list_first_entry() assumes the list is non-empty.
> If this is possible and unusual, maybe my testing didn't see the
> problem?
>
> Thanks,
> Dan
>
> P.S. For those new to cleancache, the code is in linux-next here:
> http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=blob;f=mm/cleancache.c;h=f545eb8f11180cfb3aaf3f4f85a5255be8f9f881;hb=a57cb3bc013d2e262a663df50af6a9e7cc88bdad
>

Hi Dan,

yeah,

I downloaded the monolithic patch you mentioned in the original
message (http://marc.info/?l=linux-kernel&m=129705217700769&w=2) and
use that.

Just checked the file's md5sum on my harddrive against the one from
http://oss.oracle.com/projects/tmem/files/zcache/ and it's the same
file (119d91d81d99fdf3b95919e6012d5fa8).

If you could point out where to download the latest versions of each
of the (broken-out) patches for frontswap, cleancache and zcache - or
simply the updated ones needed - I'd give them another test run (read:
try to use them for everyday tasks).

Currently I've V5 of Cleancache, and V3 of Frontswap in addition to V2
of Zcache on my harddrive - I don't know if those are the most current
ones available.

Thanks

Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/