Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
Hi Jens, On 07/16/2014 09:53 AM, Jens Axboe wrote: > > Sure, we can try again, hopefully this will be the last of them. > I sent it, it must be applied on top of "bio: modify __bio_add_page() to accept pages that don't start a new segment" http://marc.info/?l=linux-kernel=140558697215009=2 I really hope this is the last fix to it. Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
Hi Jens, On 07/16/2014 09:53 AM, Jens Axboe wrote: Sure, we can try again, hopefully this will be the last of them. I sent it, it must be applied on top of bio: modify __bio_add_page() to accept pages that don't start a new segment http://marc.info/?l=linux-kernelm=140558697215009w=2 I really hope this is the last fix to it. Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 2014-07-16 08:51, Maurizio Lombardi wrote: Hi, On 07/15/2014 10:44 AM, Maurizio Lombardi wrote: I have reverted it yesterday in my tree. The problem was here: if (q->merge_bvec_fn) { struct bvec_merge_data bvm = { .bi_bdev = bio->bi_bdev, .bi_sector = bio->bi_iter.bi_sector, .bi_size = bio->bi_iter.bi_size, <--- .bi_rw = bio->bi_rw, }; /* * merge_bvec_fn() returns number of bytes it can accept * at this offset */ if (q->merge_bvec_fn(q, , bvec) < bvec->bv_len) goto failed; } /* If we may be able to merge these biovecs, force a recount */ if (bio->bi_vcnt > 1 && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio->bi_flags &= ~(1 << BIO_SEG_VALID); it should have been ".bi_size = bio->bi_iter.bi_size - len" Jens, will you restore the patch in your tree if I submit this fix? Sure, we can try again, hopefully this will be the last of them. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
Hi, On 07/15/2014 10:44 AM, Maurizio Lombardi wrote: >> I have reverted it yesterday in my tree. >> > > > The problem was here: > > if (q->merge_bvec_fn) { > struct bvec_merge_data bvm = { > .bi_bdev = bio->bi_bdev, > .bi_sector = bio->bi_iter.bi_sector, > .bi_size = bio->bi_iter.bi_size, <--- > .bi_rw = bio->bi_rw, > }; > > /* > * merge_bvec_fn() returns number of bytes it can accept > * at this offset > */ > if (q->merge_bvec_fn(q, , bvec) < bvec->bv_len) > goto failed; > } > > /* If we may be able to merge these biovecs, force a recount */ > if (bio->bi_vcnt > 1 && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) > bio->bi_flags &= ~(1 << BIO_SEG_VALID); > > > it should have been ".bi_size = bio->bi_iter.bi_size - len" > Jens, will you restore the patch in your tree if I submit this fix? Thanks, Maurizio Lombardi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
Hi, On 07/15/2014 10:44 AM, Maurizio Lombardi wrote: I have reverted it yesterday in my tree. The problem was here: if (q-merge_bvec_fn) { struct bvec_merge_data bvm = { .bi_bdev = bio-bi_bdev, .bi_sector = bio-bi_iter.bi_sector, .bi_size = bio-bi_iter.bi_size, --- .bi_rw = bio-bi_rw, }; /* * merge_bvec_fn() returns number of bytes it can accept * at this offset */ if (q-merge_bvec_fn(q, bvm, bvec) bvec-bv_len) goto failed; } /* If we may be able to merge these biovecs, force a recount */ if (bio-bi_vcnt 1 (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio-bi_flags = ~(1 BIO_SEG_VALID); it should have been .bi_size = bio-bi_iter.bi_size - len Jens, will you restore the patch in your tree if I submit this fix? Thanks, Maurizio Lombardi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 2014-07-16 08:51, Maurizio Lombardi wrote: Hi, On 07/15/2014 10:44 AM, Maurizio Lombardi wrote: I have reverted it yesterday in my tree. The problem was here: if (q-merge_bvec_fn) { struct bvec_merge_data bvm = { .bi_bdev = bio-bi_bdev, .bi_sector = bio-bi_iter.bi_sector, .bi_size = bio-bi_iter.bi_size, --- .bi_rw = bio-bi_rw, }; /* * merge_bvec_fn() returns number of bytes it can accept * at this offset */ if (q-merge_bvec_fn(q, bvm, bvec) bvec-bv_len) goto failed; } /* If we may be able to merge these biovecs, force a recount */ if (bio-bi_vcnt 1 (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio-bi_flags = ~(1 BIO_SEG_VALID); it should have been .bi_size = bio-bi_iter.bi_size - len Jens, will you restore the patch in your tree if I submit this fix? Sure, we can try again, hopefully this will be the last of them. -- Jens Axboe -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 01:38 PM, Maurizio Lombardi wrote: > > > On 07/15/2014 10:14 AM, Mike Qiu wrote: >> My Power7 box boot fail with commit: >> >> 254c4407cb84a6dec90336054615b0f0e996bb7c >> bio: modify __bio_add_page() to accept pages that don't start a new segment >> >> Just revert it will works for me. > > This looks strange to me because, even after reverting my patch, the kernel > still panics > with a different call trace: Never mind, this is another bug in linux-next that is hit by cryptsetup. Sorry for the noise. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 10:14 AM, Mike Qiu wrote: > My Power7 box boot fail with commit: > > 254c4407cb84a6dec90336054615b0f0e996bb7c > bio: modify __bio_add_page() to accept pages that don't start a new segment > > Just revert it will works for me. This looks strange to me because, even after reverting my patch, the kernel still panics with a different call trace: [ 68.999477] BUG: unable to handle kernel NULL pointer dereference at 0028 [ 69.007411] IP: [] blk_throtl_drain+0x28/0x110 [ 69.013510] PGD 222e5f067 PUD 21bdab067 PMD 0 [ 69.018051] Oops: [#1] SMP [ 69.021335] Modules linked in: serpent_avx_x86_64 serpent_sse2_x86_64 serpent_generic dm_crypt loop iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi cfg80211 rfkill x86_pkg_temp_thermal coretemp kvm_intel bnx2x kvm crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel e1000e tpm_infineon ptp iTCO_wdt pcspkr iTCO_vendor_support tpm_tis pps_core microcode ipmi_si serio_raw i2c_i801 ipmi_msghandler mdio tpm ie31200_edac video lpc_ich mfd_core shpchp edac_core xfs libcrc32c ast i2c_algo_bit drm_kms_helper ttm drm ata_generic pata_acpi [ 69.070767] CPU: 3 PID: 11130 Comm: cryptsetup Not tainted 3.16.0-rc5-next-20140714+ #2 [ 69.078862] Hardware name: wortmann To be filled by O.E.M./P8B-M Series, BIOS 6103 12/06/2012 [ 69.087413] task: 8802225c0930 ti: 88021bda task.ti: 88021bda [ 69.094977] RIP: 0010:[] [] blk_throtl_drain+0x28/0x110 [ 69.103529] RSP: 0018:88021bda3b60 EFLAGS: 00010046 [ 69.108866] RAX: RBX: 880222001638 RCX: 7fff [ 69.116110] RDX: 000b RSI: RDI: [ 69.123337] RBP: 88021bda3b78 R08: R09: 8800c9011ff0 [ 69.130562] R10: 88021bda3b78 R11: 8132fd61 R12: 880222001638 [ 69.137764] R13: 88021c84e600 R14: 880222001c30 R15: [ 69.144981] FS: 7f81fd8fb840() GS:88022fd8() knlGS: [ 69.153144] CS: 0010 DS: ES: CR0: 80050033 [ 69.158931] CR2: 0028 CR3: 00021bdac000 CR4: 000407e0 [ 69.166131] Stack: [ 69.168160] 880222001638 880222001c40 88021bda3b88 [ 69.175671] 8131f36e 88021bda3bb8 8130294e 880222001638 [ 69.183182] 819c9580 880222001638 88021af91800 88021bda3bd0 [ 69.190740] Call Trace: [ 69.193218] [] blkcg_drain_queue+0xe/0x10 [ 69.198921] [] __blk_drain_queue+0x6e/0x150 [ 69.204804] [] blk_queue_bypass_start+0x5d/0x80 [ 69.211050] [] blkcg_deactivate_policy+0x38/0x120 [ 69.217437] [] blk_throtl_exit+0x34/0x50 [ 69.223094] [] blkcg_exit_queue+0x3a/0x40 [ 69.228822] [] blk_release_queue+0x26/0xe0 [ 69.234600] [] kobject_cleanup+0x77/0x1b0 [ 69.240345] [] kobject_put+0x28/0x60 [ 69.245596] [] blk_cleanup_queue+0xeb/0x120 [ 69.251464] [] __dm_destroy+0x1d1/0x250 [ 69.257043] [] dm_destroy+0x13/0x20 [ 69.262265] [] dev_remove+0x11e/0x180 [ 69.267614] [] ? dev_suspend+0x250/0x250 [ 69.273269] [] ctl_ioctl+0x246/0x4e0 [ 69.278549] [] dm_ctl_ioctl+0x13/0x20 [ 69.283920] [] do_vfs_ioctl+0x2d8/0x4b0 [ 69.289458] [] SyS_ioctl+0x81/0xa0 [ 69.294544] [] ? __audit_syscall_exit+0x236/0x2e0 [ 69.300964] [] system_call_fastpath+0x16/0x1b [ 69.307020] Code: 00 00 00 66 66 66 66 90 55 48 89 e5 41 55 41 54 49 89 fc 53 4c 8b af e0 06 00 00 49 8b 85 88 00 00 00 31 ff 48 8b 80 68 05 00 00 <48> 8b 70 28 e8 3f 44 de ff 48 85 c0 48 89 c3 74 61 0f 1f 80 00 [ 69.327190] RIP [] blk_throtl_drain+0x28/0x110 [ 69.333402] RSP [ 69.336937] CR2: 0028 [ 69.340275] ---[ end trace 3c89b44a6f5a2b9f ]--- Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 10:41 AM, Jens Axboe wrote: > On 15/07/2014, at 10.14, Mike Qiu wrote: >> >> My Power7 box boot fail with commit: >> >> 254c4407cb84a6dec90336054615b0f0e996bb7c >> bio: modify __bio_add_page() to accept pages that don't start a new segment >> >> Just revert it will works for me. > > I have reverted it yesterday in my tree. > The problem was here: if (q->merge_bvec_fn) { struct bvec_merge_data bvm = { .bi_bdev = bio->bi_bdev, .bi_sector = bio->bi_iter.bi_sector, .bi_size = bio->bi_iter.bi_size, <--- .bi_rw = bio->bi_rw, }; /* * merge_bvec_fn() returns number of bytes it can accept * at this offset */ if (q->merge_bvec_fn(q, , bvec) < bvec->bv_len) goto failed; } /* If we may be able to merge these biovecs, force a recount */ if (bio->bi_vcnt > 1 && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio->bi_flags &= ~(1 << BIO_SEG_VALID); it should have been ".bi_size = bio->bi_iter.bi_size - len" Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 04:41 PM, Jens Axboe wrote: On 15/07/2014, at 10.14, Mike Qiu wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. I have reverted it yesterday in my tree. OK, that's fine :) Thanks Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 15/07/2014, at 10.14, Mike Qiu wrote: > > My Power7 box boot fail with commit: > > 254c4407cb84a6dec90336054615b0f0e996bb7c > bio: modify __bio_add_page() to accept pages that don't start a new segment > > Just revert it will works for me. I have reverted it yesterday in my tree. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. See below: [ 22.659431] [ cut here ] [ 22.659437] kernel BUG at fs/direct-io.c:747! [ 22.659501] Oops: Exception in kernel mode, sig: 5 [#1] [ 22.659528] SMP NR_CPUS=1024 NUMA PowerNV [ 22.659533] Modules linked in: e1000e vhost_net tun ses(+) macvtap macvlan enclosure ptp pps_core vhost be2net(+) shpchp kvm binfmt_misc uinput lpfc scsi_transport_fc ipr [ 22.659688] CPU: 8 PID: 772 Comm: lvm Not tainted 3.16.0-rc5-next-20140714+ #76 [ 22.659755] task: c003b0a7dc20 ti: c003b0afc000 task.ti: c003b0afc000 [ 22.659823] NIP: c02ba854 LR: c02bad80 CTR: 0010 [ 22.659890] REGS: c003b0aff450 TRAP: 0700 Not tainted (3.16.0-rc5-next-20140714+) [ 22.659957] MSR: 90029032 CR: 24222844 XER: 2000 [ 22.660114] CFAR: c02bad90 SOFTE: 1 GPR00: c02bad80 c003b0aff6d0 c145c148 GPR04: c0b6e7c8 0001 GPR08: 0001 0010 f000 GPR12: 24222844 cfee2400 0010 c003b914 GPR16: 0001 c003b914 00047bff 0001 GPR20: f0cb0fdc 0001 0001 GPR24: 0001 c003b0afc000 GPR28: 023dff80 c003fcb10380 c003b9140028 [ 22.660980] NIP [c02ba854] .__blockdev_direct_IO+0x1584/0x3960 [ 22.661036] LR [c02bad80] .__blockdev_direct_IO+0x1ab0/0x3960 [ 22.661092] Call Trace: [ 22.661116] [c003b0aff6d0] [c02bad80] .__blockdev_direct_IO+0x1ab0/0x3960 (unreliable) [ 22.661208] [c003b0aff980] [c02b6114] .blkdev_direct_IO+0x64/0x80 [ 22.661276] [c003b0affa20] [c01dd430] .generic_file_read_iter+0x5b0/0x690 [ 22.661355] [c003b0affb50] [c02b5a40] .blkdev_read_iter+0x60/0x90 [ 22.661423] [c003b0affbd0] [c0269d28] .new_sync_read+0xa8/0x120 [ 22.661491] [c003b0affcf0] [c026b280] .vfs_read+0xc0/0x1f0 [ 22.661559] [c003b0affd90] [c026b674] .SyS_read+0x64/0x110 [ 22.661628] [c003b0affe30] [c000a158] syscall_exit+0x0/0x98 [ 22.661695] Instruction dump: [ 22.661729] e88100d8 80a100e4 80c100e0 f92100c0 3920 912100a8 4814fe15 6000 [ 22.661841] 812100e4 78630020 7f891800 419ef880 <0fe0> 6000 6042 e9410118 [ 22.661955] ---[ end trace 6248a5bb36020fd2 ]--- Thanks, Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. See below: [ 22.659431] [ cut here ] [ 22.659437] kernel BUG at fs/direct-io.c:747! [ 22.659501] Oops: Exception in kernel mode, sig: 5 [#1] [ 22.659528] SMP NR_CPUS=1024 NUMA PowerNV [ 22.659533] Modules linked in: e1000e vhost_net tun ses(+) macvtap macvlan enclosure ptp pps_core vhost be2net(+) shpchp kvm binfmt_misc uinput lpfc scsi_transport_fc ipr [ 22.659688] CPU: 8 PID: 772 Comm: lvm Not tainted 3.16.0-rc5-next-20140714+ #76 [ 22.659755] task: c003b0a7dc20 ti: c003b0afc000 task.ti: c003b0afc000 [ 22.659823] NIP: c02ba854 LR: c02bad80 CTR: 0010 [ 22.659890] REGS: c003b0aff450 TRAP: 0700 Not tainted (3.16.0-rc5-next-20140714+) [ 22.659957] MSR: 90029032 SF,HV,EE,ME,IR,DR,RI CR: 24222844 XER: 2000 [ 22.660114] CFAR: c02bad90 SOFTE: 1 GPR00: c02bad80 c003b0aff6d0 c145c148 GPR04: c0b6e7c8 0001 GPR08: 0001 0010 f000 GPR12: 24222844 cfee2400 0010 c003b914 GPR16: 0001 c003b914 00047bff 0001 GPR20: f0cb0fdc 0001 0001 GPR24: 0001 c003b0afc000 GPR28: 023dff80 c003fcb10380 c003b9140028 [ 22.660980] NIP [c02ba854] .__blockdev_direct_IO+0x1584/0x3960 [ 22.661036] LR [c02bad80] .__blockdev_direct_IO+0x1ab0/0x3960 [ 22.661092] Call Trace: [ 22.661116] [c003b0aff6d0] [c02bad80] .__blockdev_direct_IO+0x1ab0/0x3960 (unreliable) [ 22.661208] [c003b0aff980] [c02b6114] .blkdev_direct_IO+0x64/0x80 [ 22.661276] [c003b0affa20] [c01dd430] .generic_file_read_iter+0x5b0/0x690 [ 22.661355] [c003b0affb50] [c02b5a40] .blkdev_read_iter+0x60/0x90 [ 22.661423] [c003b0affbd0] [c0269d28] .new_sync_read+0xa8/0x120 [ 22.661491] [c003b0affcf0] [c026b280] .vfs_read+0xc0/0x1f0 [ 22.661559] [c003b0affd90] [c026b674] .SyS_read+0x64/0x110 [ 22.661628] [c003b0affe30] [c000a158] syscall_exit+0x0/0x98 [ 22.661695] Instruction dump: [ 22.661729] e88100d8 80a100e4 80c100e0 f92100c0 3920 912100a8 4814fe15 6000 [ 22.661841] 812100e4 78630020 7f891800 419ef880 0fe0 6000 6042 e9410118 [ 22.661955] ---[ end trace 6248a5bb36020fd2 ]--- Thanks, Mike -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 15/07/2014, at 10.14, Mike Qiu qiud...@linux.vnet.ibm.com wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. I have reverted it yesterday in my tree. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 04:41 PM, Jens Axboe wrote: On 15/07/2014, at 10.14, Mike Qiu qiud...@linux.vnet.ibm.com wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. I have reverted it yesterday in my tree. OK, that's fine :) Thanks Mike -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 10:41 AM, Jens Axboe wrote: On 15/07/2014, at 10.14, Mike Qiu qiud...@linux.vnet.ibm.com wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. I have reverted it yesterday in my tree. The problem was here: if (q-merge_bvec_fn) { struct bvec_merge_data bvm = { .bi_bdev = bio-bi_bdev, .bi_sector = bio-bi_iter.bi_sector, .bi_size = bio-bi_iter.bi_size, --- .bi_rw = bio-bi_rw, }; /* * merge_bvec_fn() returns number of bytes it can accept * at this offset */ if (q-merge_bvec_fn(q, bvm, bvec) bvec-bv_len) goto failed; } /* If we may be able to merge these biovecs, force a recount */ if (bio-bi_vcnt 1 (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio-bi_flags = ~(1 BIO_SEG_VALID); it should have been .bi_size = bio-bi_iter.bi_size - len Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 10:14 AM, Mike Qiu wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. This looks strange to me because, even after reverting my patch, the kernel still panics with a different call trace: [ 68.999477] BUG: unable to handle kernel NULL pointer dereference at 0028 [ 69.007411] IP: [81322238] blk_throtl_drain+0x28/0x110 [ 69.013510] PGD 222e5f067 PUD 21bdab067 PMD 0 [ 69.018051] Oops: [#1] SMP [ 69.021335] Modules linked in: serpent_avx_x86_64 serpent_sse2_x86_64 serpent_generic dm_crypt loop iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi cfg80211 rfkill x86_pkg_temp_thermal coretemp kvm_intel bnx2x kvm crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel e1000e tpm_infineon ptp iTCO_wdt pcspkr iTCO_vendor_support tpm_tis pps_core microcode ipmi_si serio_raw i2c_i801 ipmi_msghandler mdio tpm ie31200_edac video lpc_ich mfd_core shpchp edac_core xfs libcrc32c ast i2c_algo_bit drm_kms_helper ttm drm ata_generic pata_acpi [ 69.070767] CPU: 3 PID: 11130 Comm: cryptsetup Not tainted 3.16.0-rc5-next-20140714+ #2 [ 69.078862] Hardware name: wortmann To be filled by O.E.M./P8B-M Series, BIOS 6103 12/06/2012 [ 69.087413] task: 8802225c0930 ti: 88021bda task.ti: 88021bda [ 69.094977] RIP: 0010:[81322238] [81322238] blk_throtl_drain+0x28/0x110 [ 69.103529] RSP: 0018:88021bda3b60 EFLAGS: 00010046 [ 69.108866] RAX: RBX: 880222001638 RCX: 7fff [ 69.116110] RDX: 000b RSI: RDI: [ 69.123337] RBP: 88021bda3b78 R08: R09: 8800c9011ff0 [ 69.130562] R10: 88021bda3b78 R11: 8132fd61 R12: 880222001638 [ 69.137764] R13: 88021c84e600 R14: 880222001c30 R15: [ 69.144981] FS: 7f81fd8fb840() GS:88022fd8() knlGS: [ 69.153144] CS: 0010 DS: ES: CR0: 80050033 [ 69.158931] CR2: 0028 CR3: 00021bdac000 CR4: 000407e0 [ 69.166131] Stack: [ 69.168160] 880222001638 880222001c40 88021bda3b88 [ 69.175671] 8131f36e 88021bda3bb8 8130294e 880222001638 [ 69.183182] 819c9580 880222001638 88021af91800 88021bda3bd0 [ 69.190740] Call Trace: [ 69.193218] [8131f36e] blkcg_drain_queue+0xe/0x10 [ 69.198921] [8130294e] __blk_drain_queue+0x6e/0x150 [ 69.204804] [81302a8d] blk_queue_bypass_start+0x5d/0x80 [ 69.211050] [8131e668] blkcg_deactivate_policy+0x38/0x120 [ 69.217437] [81322454] blk_throtl_exit+0x34/0x50 [ 69.223094] [8131f3aa] blkcg_exit_queue+0x3a/0x40 [ 69.228822] [81305ee6] blk_release_queue+0x26/0xe0 [ 69.234600] [8132fd47] kobject_cleanup+0x77/0x1b0 [ 69.240345] [8132fbf8] kobject_put+0x28/0x60 [ 69.245596] [81302b9b] blk_cleanup_queue+0xeb/0x120 [ 69.251464] [81546cb1] __dm_destroy+0x1d1/0x250 [ 69.257043] [81547a53] dm_destroy+0x13/0x20 [ 69.262265] [8154d1fe] dev_remove+0x11e/0x180 [ 69.267614] [8154d0e0] ? dev_suspend+0x250/0x250 [ 69.273269] [8154d8d6] ctl_ioctl+0x246/0x4e0 [ 69.278549] [8154db83] dm_ctl_ioctl+0x13/0x20 [ 69.283920] [811e08d8] do_vfs_ioctl+0x2d8/0x4b0 [ 69.289458] [811e0b31] SyS_ioctl+0x81/0xa0 [ 69.294544] [811166b6] ? __audit_syscall_exit+0x236/0x2e0 [ 69.300964] [816d5369] system_call_fastpath+0x16/0x1b [ 69.307020] Code: 00 00 00 66 66 66 66 90 55 48 89 e5 41 55 41 54 49 89 fc 53 4c 8b af e0 06 00 00 49 8b 85 88 00 00 00 31 ff 48 8b 80 68 05 00 00 48 8b 70 28 e8 3f 44 de ff 48 85 c0 48 89 c3 74 61 0f 1f 80 00 [ 69.327190] RIP [81322238] blk_throtl_drain+0x28/0x110 [ 69.333402] RSP 88021bda3b60 [ 69.336937] CR2: 0028 [ 69.340275] ---[ end trace 3c89b44a6f5a2b9f ]--- Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment
On 07/15/2014 01:38 PM, Maurizio Lombardi wrote: On 07/15/2014 10:14 AM, Mike Qiu wrote: My Power7 box boot fail with commit: 254c4407cb84a6dec90336054615b0f0e996bb7c bio: modify __bio_add_page() to accept pages that don't start a new segment Just revert it will works for me. This looks strange to me because, even after reverting my patch, the kernel still panics with a different call trace: Never mind, this is another bug in linux-next that is hit by cryptsetup. Sorry for the noise. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/