Hello. Please, try the attached patch: it should help... I have also fixed a deadlock because of reiser4 lock ordering violation: do_lo_send_aops() keeps page locked and calls file_update_time() which calls reiser4_update_sd, which tries to acquire a longterm lock (bad). Thanks, Edward. On 05/15/2012 12:55 AM, Sandro Souza wrote: > Hello my friends. > > I made a new custom distro based on debian squeeze, but with 2.6.39 > kernel, patched with reiser4 [...] > Trying to copy a folder from a reiser3 partition to a reiser4 > partition, I got error messages. > > Testing my custom kernel with "preemption model" in "Preemptible > Kernel", I got these messages: > > [ 286.945598] ------------[ cut here ]------------ > [ 286.945609] kernel BUG at fs/reiser4/block_alloc.c:151! > [ 286.945617] invalid opcode: 0000 [#1] PREEMPT SMP > [ 286.945626] last sysfs file: [...] > ffffffff8118e00d > [ 286.945808] Call Trace: > [ 286.945817] [] ? jnode_make_dirty_locked+0x112/0x18f > [ 286.945824] [] ? znode_make_dirty+0x28/0x87 > [ 286.945831] [] ? update_sd+0x344/0x3a4 > [ 286.945838] [] ? sub_preempt_count+0x83/0x94 > [ 286.945845] [] ? write_sd_by_inode_common+0x29/0x92 > [ 286.945852] [] ? get_parent_ip+0x9/0x1b > [ 286.945858] [] ? reiser4_dirty_inode+0x19/0x73 > [ 286.945865] [] ? T.1132+0x12/0x2e > [ 286.945872] [] ? current_fs_time+0x1e/0x24 > [ 286.945878] [] ? __mark_inode_dirty+0x28/0x1c8 > [ 286.945885] [] ? file_update_time+0xf7/0x126 > [ 286.945891] [] ? reiser4_write_end_careful+0x147/0x184 > [ 286.945897] [] ? pipe_to_file+0x152/0x161 > [ 286.945903] [] ? add_preempt_count+0x9e/0xa0 > [ 286.945909] [] ? generic_file_splice_write+0x133/0x133 > [ 286.945914] [] ? splice_from_pipe_feed+0x6d/0xed > [ 286.945920] [] ? generic_file_splice_write+0xb5/0x133 > [ 286.945933] [] ? sys_splice+0x2f8/0x3d2 > [ 286.945939] [] ? system_call_fastpath+0x16/0x1b > [ 286.945944] Code: 25 80 cc 00 00 53 48 83 ec 08 48 8b 80 38 05 00