忽略submit_bio,得到“阻塞超过120秒”

我在一个块设备上创build了一个设备映射器(ext3)。 在'map'方法中,我需要在某些情况下(通过ioctl确定)忽略BIO请求。

所以,我不调用submit_bio()方法并返回DM_MAPIO_SUBMITTED 。 这会导致以下日志:

kernel: INFO: task kjournald:2460 blocked for more than 120 seconds. kernel: Not tainted 2.6.32-573.el6.x86_64 #1 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. kernel: kjournald D 0000000000000000 0 2460 2 0x00000080 kernel: ffff880237c27c50 0000000000000046 ffff880237c27bb0 ffffffff8126f3c4 kernel: ffff8802317c5a00 ffff880237071900 ffff880237c27c20 ffffffffa0004dbf kernel: 0000000000000000 0000000000000000 ffff880237c41068 ffff880237c27fd8 kernel: Call Trace: kernel: [<ffffffff8126f3c4>] ? blk_unplug+0x34/0x70 kernel: [<ffffffffa0004dbf>] ? dm_table_unplug_all+0x5f/0x100 [dm_mod] kernel: [<ffffffff811c8b20>] ? sync_buffer+0x0/0x50 kernel: [<ffffffff811c8b20>] ? sync_buffer+0x0/0x50 kernel: [<ffffffff81538973>] io_schedule+0x73/0xc0 kernel: [<ffffffff811c8b60>] sync_buffer+0x40/0x50 kernel: [<ffffffff8153943f>] __wait_on_bit+0x5f/0x90 kernel: [<ffffffff811c8b20>] ? sync_buffer+0x0/0x50 kernel: [<ffffffff815394e8>] out_of_line_wait_on_bit+0x78/0x90 kernel: [<ffffffff810a1530>] ? wake_bit_function+0x0/0x50 kernel: [<ffffffff811c8b16>] __wait_on_buffer+0x26/0x30 kernel: [<ffffffffa00a7fdf>] journal_commit_transaction+0x9df/0x12f0 [jbd] kernel: [<ffffffff8114a870>] ? bdi_sync_supers+0x0/0x60 kernel: [<ffffffff8114a870>] ? bdi_sync_supers+0x0/0x60 kernel: [<ffffffff81089afc>] ? lock_timer_base+0x3c/0x70 kernel: [<ffffffff8108a6fb>] ? try_to_del_timer_sync+0x7b/0xe0 kernel: [<ffffffffa00acea5>] kjournald+0xe5/0x240 [jbd] kernel: [<ffffffff810a14b0>] ? autoremove_wake_function+0x0/0x40 kernel: [<ffffffffa00acdc0>] ? kjournald+0x0/0x240 [jbd] kernel: [<ffffffff810a101e>] kthread+0x9e/0xc0 kernel: [<ffffffff8100c28a>] child_rip+0xa/0x20 kernel: [<ffffffff810a0f80>] ? kthread+0x0/0xc0 kernel: [<ffffffff8100c280>] ? child_rip+0x0/0x20 kernel: Buffer I/O error on device dm-1, logical block 285 kernel: lost page write due to I/O error on dm-1 
  1. 这是忽略BIO请求的正确方法还是有其他的机制?
  2. 这个错误可以被忽略吗?