Re: BUG_ON(sh->batch_head) in init_stripe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Aug 17, 2017, at 3:58 PM, Shaohua Li <shli@xxxxxxxxxx> wrote:
> 
> On Tue, Aug 15, 2017 at 07:27:44PM +0000, Stephane Thiell wrote:
>> 
>>> On Aug 15, 2017, at 11:39 AM, Shaohua Li <shli@xxxxxxxxxx> wrote:
>>> 
>>> On Tue, Aug 15, 2017 at 05:59:38PM +0000, Stephane Thiell wrote:
>>>> 
>>>>> On Aug 15, 2017, at 2:24 AM, Guoqing Jiang <gqjiang@xxxxxxxx> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>> On 08/14/2017 01:29 AM, Stephane Thiell wrote:
>>>>>> Also known as "kernel BUG at drivers/md/raid5.c:527!"
>>>>>> 
>>>>>> I’m still struggling with this issue in raid5.c. I currently have one crash per week in average on a system using Lustre and 24 x 10-disk raid6 per server. It did happen with or without check running. I now think there is a race at some point where a released stripe head (batched) is added to conf->inactive_list without sh->batch_head being set back to NULL.
>>>>>> 
>>>>>> Because sh->batch_head is only being set back to NULL in a single function, break_stripe_batch_list(), my guess is that a call to raid5_release_stripe() on the head stripe is performed elsewhere. I didn’t find where this could come from yet. So perhaps sh->batch_head should be just set to NULL in do_release_stripe(), before being added to the inactive list?
>>>>>> 
>>>>>> Alternatively, I wonder if it would make more sense to set batch_head to NULL where sh->overwrite_disks is also set back to 0 (like in ops_run_biodrain() today).
>>>>>> 
>>>>>> Because sh->overwrite_disks is also set to 0 in init_stripe(), my current plan is to try this change, at least as a workaround: remove the BUG_ON(sh->batch_head) from init_stripe() and set sh->batch_head = NULL (I don’t think I need to lock on sh->stripe_lock there?). I will get new hardware soon so I will give it a try on a test system. Any suggestions welcomed…
>>>>>> 
>>>>>> Quick analysis of the last vmcore:
>>>>>> 
>>>>>> crash> ps | grep ">"
>>>>>> ...
>>>>>>> 16119  16111  22  ffff881f93bace70  RU   0.0  150772  10748  e2label
>>>>>>> 151448      2  34  ffff881ff753bec0  RU   0.0       0      0  [kiblnd_sd_00_00]
>>>>>>> 151449      2   2  ffff881ff753edd0  RU   0.0       0      0  [kiblnd_sd_00_01]
>>>>>>> 154637      2  29  ffff881f776b1f60  RU   0.0       0      0  [md32_raid6]
>>>>>>> 163643      2  11  ffff8820d200bec0  UN   0.0       0      0  [ll_ost_io01_008]
>>>>>>> 164083      2  13  ffff8820d2753ec0  UN   0.0       0      0  [ll_ost_io01_034]
>>>>>>> 171389      2   5  ffff883fd072de20  UN   0.0       0      0  [ll_ost_io01_058]
>>>>>>> 171391      2  17  ffff883fd072ce70  UN   0.0       0      0  [ll_ost_io01_060]
>>>>>>> 171399      2  33  ffff883fd9e9ce70  UN   0.0       0      0  [ll_ost_io01_068]
>>>>>>> 237019      2  15  ffff882715628fb0  UN   0.0       0      0  [ll_ost_io01_084]
>>>>>>> 237033      2   3  ffff881fb0250fb0  UN   0.0       0      0  [ll_ost_io01_098]
>>>>>> ...
>>>>>> 
>>>>>> crash>  bt 237033
>>>>>> PID: 237033  TASK: ffff881fb0250fb0  CPU: 3   COMMAND: "ll_ost_io01_098"
>>>>>> #0 [ffff8826fa3e7240] machine_kexec at ffffffff81059bdb
>>>>>> #1 [ffff8826fa3e72a0] __crash_kexec at ffffffff811057c2
>>>>>> #2 [ffff8826fa3e7370] crash_kexec at ffffffff811058b0
>>>>>> #3 [ffff8826fa3e7388] oops_end at ffffffff8168fac8
>>>>>> #4 [ffff8826fa3e73b0] die at ffffffff8102e93b
>>>>>> #5 [ffff8826fa3e73e0] do_trap at ffffffff8168f180
>>>>>> #6 [ffff8826fa3e7430] do_invalid_op at ffffffff8102b144
>>>>>> #7 [ffff8826fa3e74e0] invalid_op at ffffffff81698b5e
>>>>>>   [exception RIP: raid5_get_active_stripe+1809]
>>>>>>   RIP: ffffffffa0fefd71  RSP: ffff8826fa3e7590  RFLAGS: 00010086
>>>>>>   RAX: 0000000000000000  RBX: ffff883df051641c  RCX: dead000000000200
>>>>>>   RDX: 0000000000000000  RSI: 0000000000000005  RDI: ffff881e08d54d30
>>>>>>   RBP: ffff8826fa3e7638   R8: ffff881e08d54d40   R9: 0000000000000080
>>>>>>   R10: 0000000000000000  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R13: ffff881e08d54d30  R14: 0000000000000000  R15: 0000000000000000
>>>>>>   ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
>>>>>> #8 [ffff8826fa3e7640] raid5_make_request at ffffffffa0feff55 [raid456]
>>>>>> #9 [ffff8826fa3e7730] md_make_request at ffffffff814f838c
>>>>>> #10 [ffff8826fa3e7790] generic_make_request at ffffffff812eedc9
>>>>>> #11 [ffff8826fa3e77d8] submit_bio at ffffffff812eef11
>>>>>> #12 [ffff8826fa3e7830] osd_submit_bio at ffffffffa10cdbcc [osd_ldiskfs]
>>>>>> #13 [ffff8826fa3e7840] osd_do_bio at ffffffffa10d03c1 [osd_ldiskfs]
>>>>>> #14 [ffff8826fa3e7960] osd_write_commit at ffffffffa10d0b94 [osd_ldiskfs]
>>>>>> #15 [ffff8826fa3e7a00] ofd_commitrw_write at ffffffffa120c734 [ofd]
>>>>>> #16 [ffff8826fa3e7a78] ofd_commitrw at ffffffffa120ff07 [ofd]
>>>>>> #17 [ffff8826fa3e7b08] obd_commitrw at ffffffffa0c7dc22 [ptlrpc]
>>>>>> #18 [ffff8826fa3e7b70] tgt_brw_write at ffffffffa0c55fc1 [ptlrpc]
>>>>>> #19 [ffff8826fa3e7cd8] tgt_request_handle at ffffffffa0c52275 [ptlrpc]
>>>>>> #20 [ffff8826fa3e7d20] ptlrpc_server_handle_request at ffffffffa0bfe1fb [ptlrpc]
>>>>>> #21 [ffff8826fa3e7de8] ptlrpc_main at ffffffffa0c022b0 [ptlrpc]
>>>>>> #22 [ffff8826fa3e7ec8] kthread at ffffffff810b0a4f
>>>>>> #23 [ffff8826fa3e7f50] ret_from_fork at ffffffff81697218
>>>>>> 
>>>>>> 
>>>>>> After some disassembly work, I found out that all active tasks are working on the same md (all are raid6):
>>>>>> 
>>>>>> md32’s (struct r5conf *) is 0xffff883df0516400
>>>>>> 
>>>>>> Our crashed task:
>>>>>> 
>>>>>> crash> printf "%s", ((struct r5conf)*0xffff883df0516400).cache_name[0]
>>>>>> raid6-md32
>>>>>> 
>>>>>> Example for md32_raid6 task in release_inactive_stripe_list:
>>>>>> 
>>>>>> crash> bt 154637
>>>>>> PID: 154637  TASK: ffff881f776b1f60  CPU: 29  COMMAND: "md32_raid6"
>>>>>> #0 [ffff883ffc985e48] crash_nmi_callback at ffffffff8104d2e2
>>>>>> #1 [ffff883ffc985e58] nmi_handle at ffffffff8168fc77
>>>>>> #2 [ffff883ffc985eb0] do_nmi at ffffffff8168fe83
>>>>>> #3 [ffff883ffc985ef0] end_repeat_nmi at ffffffff8168f093
>>>>>>   [exception RIP: _raw_spin_lock_irqsave+64]
>>>>>>   RIP: ffffffff8168e5f0  RSP: ffff881e8d0cbc60  RFLAGS: 00000006
>>>>>>   RAX: 00000000000031bb  RBX: ffff883df0516740  RCX: 000000000000009a
>>>>>>   RDX: 0000000000000098  RSI: 000000000000009a  RDI: ffff883df051641c
>>>>>>   RBP: ffff881e8d0cbc60   R8: 0000000000000206   R9: 0000000000000000
>>>>>>   R10: 0000000000000000  R11: 0000000000000007  R12: ffff883df0516400
>>>>>>   R13: ffff883df051641c  R14: 0000000000000006  R15: 0000000000000005
>>>>>>   ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
>>>>>> --- <NMI exception stack> ---
>>>>>> #4 [ffff881e8d0cbc60] _raw_spin_lock_irqsave at ffffffff8168e5f0
>>>>>> #5 [ffff881e8d0cbc68] release_inactive_stripe_list at ffffffffa0fe5500 [raid456]
>>>>>> #6 [ffff881e8d0cbcb0] handle_active_stripes at ffffffffa0ff34c2 [raid456]
>>>>>> #7 [ffff881e8d0cbd60] raid5d at ffffffffa0ff3c28 [raid456]
>>>>>> #8 [ffff881e8d0cbe50] md_thread at ffffffff814fb745
>>>>>> #9 [ffff881e8d0cbec8] kthread at ffffffff810b0a4f
>>>>>> #10 [ffff881e8d0cbf50] ret_from_fork at ffffffff81697218
>>>>>> 
>>>>>> 
>>>>>> crash> bt 163643 164083 171389 171391 171399 237019 237033 |grep "exception RIP:"
>>>>>>   [exception RIP: _raw_spin_lock_irq+63]
>>>>>>   [exception RIP: _raw_spin_lock_irq+63]
>>>>>>   [exception RIP: _raw_spin_lock_irq+58]
>>>>>>   [exception RIP: _raw_spin_lock_irq+63]
>>>>>>   [exception RIP: _raw_spin_lock_irq+58]
>>>>>>   [exception RIP: _raw_spin_lock_irq+63]
>>>>>>   [exception RIP: raid5_get_active_stripe+1809]
>>>>>> 
>>>>>> crash> bt 163643 164083 171389 171391 171399 237019 237033 |grep "raid5_get_active_stripe"
>>>>>> #5 [ffff883bcee93588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>> #5 [ffff883ba4af7588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>> #5 [ffff88390877b588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>> #5 [ffff88390803b588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>> #5 [ffff88390831f588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>> #5 [ffff8826fa7f7588] raid5_get_active_stripe at ffffffffa0fef6cb [raid456]
>>>>>>   [exception RIP: raid5_get_active_stripe+1809]
>>>>>> 
>>>>>> crash> bt 163643 164083 171389 171391 171399 237019 237033 |grep R12
>>>>>>   R10: 0000000000000003  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000001  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000005  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000007  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000009  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000009  R11: 0000000000000000  R12: ffff883df0516400
>>>>>>   R10: 0000000000000000  R11: 0000000000000000  R12: ffff883df0516400
>>>>>> 
>>>>>> 
>>>>>> The bad stripe_head (sh) is available at (usually in %r13):
>>>>>> 
>>>>>> crash> p ((struct stripe_head)*0xffff881e08d54d30).raid_conf
>>>>>> $98 = (struct r5conf *) 0xffff883df0516400
>>>>>> 
>>>>>> and batch_head is not NULL... that's the issue:
>>>>>> 
>>>>>> crash> p ((struct stripe_head)*0xffff881e08d54d30).batch_head
>>>>>> $99 = (struct stripe_head *) 0xffff881e08d54d30
>>>>>> 
>>>>>> Full struct dump below. We can see than overwrite_disks is set to 0, state is 0… but this batch_head not set to NULL makes it crash in init_stripe():
>>>>>> 
>>>>>> crash> p ((struct stripe_head)*0xffff881e08d54d30)
>>>>>> $6 = {
>>>>>> hash = {
>>>>>>   next = 0x0,
>>>>>>   pprev = 0x0
>>>>>> },
>>>>>> lru = {
>>>>>>   next = 0xffff881e08d54d40,
>>>>>>   prev = 0xffff881e08d54d40
>>>>>> },
>>>>>> release_list = {
>>>>>>   next = 0xffff881dfe405cc0
>>>>>> },
>>>>>> raid_conf = 0xffff883df0516400,
>>>>>> generation = 0,
>>>>>> sector = 3701224808,
>>>>>> pd_idx = 1,
>>>>>> qd_idx = 2,
>>>>>> ddf_layout = 0,
>>>>>> hash_lock_index = 5,
>>>>>> state = 0,
>>>>>> count = {
>>>>>>   counter = 0
>>>>>> },
>>>>>> bm_seq = 22708787,
>>>>>> disks = 10,
>>>>>> overwrite_disks = 0,
>>>>>> check_state = check_state_idle,
>>>>>> reconstruct_state = reconstruct_state_idle,
>>>>>> stripe_lock = {
>>>>>>   {
>>>>>>     rlock = {
>>>>>>       raw_lock = {
>>>>>>         {
>>>>>>           head_tail = 3709263126,
>>>>>>           tickets = {
>>>>>>             head = 56598,
>>>>>>             tail = 56598
>>>>>>           }
>>>>>>         }
>>>>>>       }
>>>>>>     }
>>>>>>   }
>>>>>> },
>>>>>> cpu = 15,
>>>>>> group = 0x0,
>>>>>> batch_head = 0xffff881e08d54d30,
>>>>>> batch_lock = {
>>>>>>   {
>>>>>>     rlock = {
>>>>>>       raw_lock = {
>>>>>>         {
>>>>>>           head_tail = 9961624,
>>>>>>           tickets = {
>>>>>>             head = 152,
>>>>>>             tail = 152
>>>>>>           }
>>>>>>         }
>>>>>>       }
>>>>>>     }
>>>>>>   }
>>>>>> },
>>>>>> batch_list = {
>>>>>>   next = 0xffff881dfe405d28,
>>>>>>   prev = 0xffff881e0e2dec98
>>>>>> },
>>>>>> log_io = 0x0,
>>>>>> log_list = {
>>>>>>   next = 0x0,
>>>>>>   prev = 0x0
>>>>>> },
>>>>>> ops = {
>>>>>>   target = 0,
>>>>>>   target2 = 0,
>>>>>>   zero_sum_result = (unknown: 0)
>>>>>> },
>>>>>> dev = {{
>>>>>>     req = {
>>>>>>       bi_sector = 0,
>>>>>>       bi_next = 0x0,
>>>>>>       bi_bdev = 0x0,
>>>>>>       bi_flags = 1,
>>>>>>       bi_rw = 0,
>>>>>>       bi_vcnt = 0,
>>>>>>       bi_idx = 0,
>>>>>>       bi_phys_segments = 0,
>>>>>>       bi_size = 0,
>>>>>>       bi_seg_front_size = 0,
>>>>>>       bi_seg_back_size = 0,
>>>>>>       bi_end_io = 0x0,
>>>>>>       bi_private = 0xffff881e08d54d30,
>>>>>>       bi_ioc = 0x0,
>>>>>>       bi_css = 0x0,
>>>>>>       bi_integrity = 0x0,
>>>>>>       bi_max_vecs = 1,
>>>>>>       bi_cnt = {
>>>>>>         counter = 1
>>>>>>       },
>>>>>>       bi_io_vec = 0xffff881e08d54f00,
>>>>>>       bi_pool = 0x0,
>>>>>>       {
>>>>>>         bio_aux = 0x0,
>>>>>>         __UNIQUE_ID_rh_kabi_hide15 = {
>>>>>>           rh_reserved1 = 0x0
>>>>>>         },
>>>>>>         {<No data fields>}
>>>>>>       },
>>>>>>       bi_inline_vecs = 0xffff881e08d54e78
>>>>>>     },
>>>>>>     rreq = {
>>>>>>       bi_sector = 0,
>>>>>>       bi_next = 0x0,
>>>>>>       bi_bdev = 0x0,
>>>>>>       bi_flags = 1,
>>>>>>       bi_rw = 0,
>>>>>>       bi_vcnt = 0,
>>>>>>       bi_idx = 0,
>>>>>>       bi_phys_segments = 0,
>>>>>>       bi_size = 0,
>>>>>>       bi_seg_front_size = 0,
>>>>>>       bi_seg_back_size = 0,
>>>>>>       bi_end_io = 0x0,
>>>>>>       bi_private = 0xffff881e08d54d30,
>>>>>>       bi_ioc = 0x0,
>>>>>>       bi_css = 0x0,
>>>>>>       bi_integrity = 0x0,
>>>>>>       bi_max_vecs = 1,
>>>>>>       bi_cnt = {
>>>>>>         counter = 1
>>>>>>       },
>>>>>>       bi_io_vec = 0xffff881e08d54f10,
>>>>>>       bi_pool = 0x0,
>>>>>>       {
>>>>>>         bio_aux = 0x0,
>>>>>>         __UNIQUE_ID_rh_kabi_hide15 = {
>>>>>>           rh_reserved1 = 0x0
>>>>>>         },
>>>>>>         {<No data fields>}
>>>>>>       },
>>>>>>       bi_inline_vecs = 0xffff881e08d54f00
>>>>>>     },
>>>>>>     vec = {
>>>>>>       bv_page = 0xffffea0078236080,
>>>>>>       bv_len = 4096,
>>>>>>       bv_offset = 0
>>>>>>     },
>>>>>>     rvec = {
>>>>>>       bv_page = 0x0,
>>>>>>       bv_len = 0,
>>>>>>       bv_offset = 0
>>>>>>     },
>>>>>>     page = 0xffffea0078236080,
>>>>>>     orig_page = 0xffffea0078236080,
>>>>>>     toread = 0x0,
>>>>>>     read = 0x0,
>>>>>>     towrite = 0x0,
>>>>>>     written = 0xffff8824832a7c00,
>>>>>>     sector = 29609798632,
>>>>>>     flags = 24,
>>>>> 
>>>>> Seems the flags is R5_OVERWRITE | R5_Insync, handle_stripe_clean_event
>>>>> only calls break_stripe_batch_list if do_endio is set to true.
>>>>> 
>>>>> if (head_sh->batch_head && do_endio)
>>>>>              break_stripe_batch_list(head_sh, STRIPE_EXPAND_SYNC_FLAGS);
>>>>> 
>>>>> And do_endio is set to true if we meet the below condition.
>>>>> 
>>>>> if (!test_bit(R5_LOCKED, &dev->flags) &&
>>>>>                          (test_bit(R5_UPTODATE, &dev->flags) ||
>>>>>                           test_bit(R5_Discard, &dev->flags) ||
>>>>>                           test_bit(R5_SkipCopy, &dev->flags))) {
>>>>> 
>>>>> I guess it is why the batch_head is not null, just my 2 cents.
>>>> 
>>>> 
>>>> That’s a very good point, thanks Guoqing!
>>>> 
>>>> I checked another similar crash dump, and found out that this same flags was 16 (R5_Insync alone), which doesn’t meet the condition for having do_endio = true neither.
>>>> 
>>>> The code below in raid5_end_write_request does directly release a sh->batch_head, couldn’t that be an issue?
>>>> 
>>>> static void raid5_end_write_request(struct bio *bi)
>>>> {
>>>> 
>>>> ...
>>>> 
>>>>       raid5_release_stripe(sh);
>>>> 
>>>>       if (sh->batch_head && sh != sh->batch_head)
>>>>               raid5_release_stripe(sh->batch_head);
>>>> }
>>> 
>>> Can you dump the full stripe_head info for this crash dump?
>> 
>> Yes, of course!
>> 
>> R13: ffff881e53f5dca0
>> 
>> crash> p (struct stripe_head)*0xffff881e53f5dca0
>> $1 = {
>>  hash = {
>>    next = 0x0, 
>>    pprev = 0x0
>>  }, 
>>  lru = {
>>    next = 0xffff881e53f5dcb0, 
>>    prev = 0xffff881e53f5dcb0
>>  }, 
>>  release_list = {
>>    next = 0xffff881e63faec30
>>  }, 
>>  raid_conf = 0xffff881f9fb81400, 
>>  generation = 0, 
>>  sector = 2278766080, 
>>  pd_idx = 9, 
>>  qd_idx = 0, 
>>  ddf_layout = 0, 
>>  hash_lock_index = 0, 
>>  state = 0, 
>>  count = {
>>    counter = 0
>>  }, 
>>  bm_seq = 21153188, 
>>  disks = 10, 
>>  overwrite_disks = 0, 
>>  check_state = check_state_idle, 
>>  reconstruct_state = reconstruct_state_idle, 
>>  stripe_lock = {
>>    {
>>      rlock = {
>>        raw_lock = {
>>          {
>>            head_tail = 3483684772, 
>>            tickets = {
>>              head = 53156, 
>>              tail = 53156
>>            }
>>          }
>>        }
>>      }
>>    }
>>  }, 
>>  cpu = 12, 
>>  group = 0x0, 
>>  batch_head = 0xffff881e53f5dca0, 
>>  batch_lock = {
>>    {
>>      rlock = {
>>        raw_lock = {
>>          {
>>            head_tail = 1983149620, 
>>            tickets = {
>>              head = 30260, 
>>              tail = 30260
>>            }
>>          }
>>        }
>>      }
>>    }
>>  }, 
>>  batch_list = {
>>    next = 0xffff881e63faec98, 
>>    prev = 0xffff881e5c390088
>>  }, 
>>  log_io = 0x0, 
>>  log_list = {
>>    next = 0x0, 
>>    prev = 0x0
>>  }, 
>>  ops = {
>>    target = 0, 
>>    target2 = 0, 
>>    zero_sum_result = (unknown: 0)
>>  }, 
>>  dev = {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5de70, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5dde8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5de80, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5de70
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe000, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe000, 
>>      orig_page = 0xffffea00794fe000, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0x0, 
>>      sector = 0, 
>>      flags = 16, 
>>      log_checksum = 0
>>    }}
>> }
>> 
>> 
>> 
>>> Also stripe_head
>>> should include 10 dev for your 10-disk raid, but crash dump only show one, is
>>> it possible you can dump the info for the devs in the stripe?
>> 
>> Oh right, crash didn’t display it probably because it is an array allocated dynamically.
>> 
>> Let’s try this to print the 10 devs:
>> 
>> crash> p ((struct stripe_head)*0xffff881e53f5dca0).dev@10
>> $10 = 
>> {{{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5de70, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5dde8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5de80, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5de70
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe000, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe000, 
>>      orig_page = 0xffffea00794fe000, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0x0, 
>>      sector = 0, 
>>      flags = 16, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5dfe8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5df60
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5dff8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5dfe8
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe040, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe040, 
>>      orig_page = 0xffffea00794fe040, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230128640, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e160, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e0d8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e170, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e160
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe080, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe080, 
>>      orig_page = 0xffffea00794fe080, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230128768, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e2d8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e250
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e2e8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e2d8
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe0c0, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe0c0, 
>>      orig_page = 0xffffea00794fe0c0, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230128896, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e450, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e3c8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e460, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e450
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe100, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe100, 
>>      orig_page = 0xffffea00794fe100, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230129024, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e5c8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e540
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e5d8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e5c8
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe140, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe140, 
>>      orig_page = 0xffffea00794fe140, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230129152, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e740, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e6b8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e750, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e740
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe180, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe180, 
>>      orig_page = 0xffffea00794fe180, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230129280, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e8b8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e830
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5e8c8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e8b8
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe1c0, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe1c0, 
>>      orig_page = 0xffffea00794fe1c0, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230129408, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5ea30, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5e9a8
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5ea40, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5ea30
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe200, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe200, 
>>      orig_page = 0xffffea00794fe200, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff881fea351800, 
>>      sector = 18230129536, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5eba8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5eb20
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e53f5dca0, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e53f5ebb8, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e53f5eba8
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00794fe240, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00794fe240, 
>>      orig_page = 0xffffea00794fe240, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0x0, 
>>      sector = 0, 
>>      flags = 16, 
>>      log_checksum = 0
>>    }}}
>> 
>> 
>> ---------------------------------------------------
>> 
>> And this is the stripe_head devs from the crash dump I sent yesterday:
>> 
>> R13: ffff881e08d54d30
>> 
>> crash> p ((struct stripe_head)*0xffff881e08d54d30).dev@10
>> $1 = 
>> {{{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d54f00, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d54e78
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d54f10, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d54f00
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236080, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236080, 
>>      orig_page = 0xffffea0078236080, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609798632, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55078, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d54ff0
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55088, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55078
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00782360c0, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00782360c0, 
>>      orig_page = 0xffffea00782360c0, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0x0, 
>>      sector = 0, 
>>      flags = 16, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d551f0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55168
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55200, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d551f0
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236100, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236100, 
>>      orig_page = 0xffffea0078236100, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0x0, 
>>      sector = 0, 
>>      flags = 16, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55368, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d552e0
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55378, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55368
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236140, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236140, 
>>      orig_page = 0xffffea0078236140, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609797736, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d554e0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55458
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d554f0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d554e0
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236180, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236180, 
>>      orig_page = 0xffffea0078236180, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609797864, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55658, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d555d0
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55668, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55658
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00782361c0, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00782361c0, 
>>      orig_page = 0xffffea00782361c0, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609797992, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d557d0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55748
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d557e0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d557d0
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236200, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236200, 
>>      orig_page = 0xffffea0078236200, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609798120, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55948, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d558c0
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55958, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55948
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236240, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236240, 
>>      orig_page = 0xffffea0078236240, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609798248, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55ac0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55a38
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55ad0, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55ac0
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea0078236280, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea0078236280, 
>>      orig_page = 0xffffea0078236280, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609798376, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}, {{
>>      req = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55c38, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55bb0
>>      }, 
>>      rreq = {
>>        bi_sector = 0, 
>>        bi_next = 0x0, 
>>        bi_bdev = 0x0, 
>>        bi_flags = 1, 
>>        bi_rw = 0, 
>>        bi_vcnt = 0, 
>>        bi_idx = 0, 
>>        bi_phys_segments = 0, 
>>        bi_size = 0, 
>>        bi_seg_front_size = 0, 
>>        bi_seg_back_size = 0, 
>>        bi_end_io = 0x0, 
>>        bi_private = 0xffff881e08d54d30, 
>>        bi_ioc = 0x0, 
>>        bi_css = 0x0, 
>>        bi_integrity = 0x0, 
>>        bi_max_vecs = 1, 
>>        bi_cnt = {
>>          counter = 1
>>        }, 
>>        bi_io_vec = 0xffff881e08d55c48, 
>>        bi_pool = 0x0, 
>>        {
>>          bio_aux = 0x0, 
>>          __UNIQUE_ID_rh_kabi_hide15 = {
>>            rh_reserved1 = 0x0
>>          }, 
>>          {<No data fields>}
>>        }, 
>>        bi_inline_vecs = 0xffff881e08d55c38
>>      }, 
>>      vec = {
>>        bv_page = 0xffffea00782362c0, 
>>        bv_len = 4096, 
>>        bv_offset = 0
>>      }, 
>>      rvec = {
>>        bv_page = 0x0, 
>>        bv_len = 0, 
>>        bv_offset = 0
>>      }, 
>>      page = 0xffffea00782362c0, 
>>      orig_page = 0xffffea00782362c0, 
>>      toread = 0x0, 
>>      read = 0x0, 
>>      towrite = 0x0, 
>>      written = 0xffff8824832a7c00, 
>>      sector = 29609798504, 
>>      flags = 24, 
>>      log_checksum = 0
>>    }}}
> 
> Didn't find anything interesting yet, sorry. There might be a race condition
> which makes the stripe batch head and also adds it to another batch list,
> that's my current theory, but can't find such race condition.

Ok. In any case, thanks much for taking the time to look at this.

> 
> So in the crashdump, we have something like this:
> 
> batch_list = {
>    next = 0xffff881dfe405d28,
>    prev = 0xffff881e0e2dec98
>  },
> 
> Can you convert the next/prev to stripes and dump their state? That probably is
> helpful for debugging.

Results below. They do look partially zeroed, and disks=0 so I’m not sure that makes sense to dump their devs.

Note: next and prev in the other crash look similar.

Here is ‘next':

crash> p ((struct stripe_head)*0xffff881dfe405d28)
$5 = {
  hash = {
    next = 0xffff881e0e2dec98, 
    pprev = 0xffff881e08d54db8
  }, 
  lru = {
    next = 0x0, 
    prev = 0x0
  }, 
  release_list = {
    next = 0x0
  }, 
  raid_conf = 0x0, 
  generation = 0, 
  sector = 0, 
  pd_idx = 0, 
  qd_idx = 0, 
  ddf_layout = 0, 
  hash_lock_index = 0, 
  state = 0, 
  count = {
    counter = 1
  }, 
  bm_seq = 0, 
  disks = 0, 
  overwrite_disks = 0, 
  check_state = check_state_idle, 
  reconstruct_state = reconstruct_state_idle, 
  stripe_lock = {
    {
      rlock = {
        raw_lock = {
          {
            head_tail = 0, 
            tickets = {
              head = 0, 
              tail = 0
            }
          }
        }
      }
    }
  }, 
  cpu = 0, 
  group = 0x0, 
  batch_head = 0x0, 
  batch_lock = {
    {
      rlock = {
        raw_lock = {
          {
            head_tail = 4265630880, 
            tickets = {
              head = 23712, 
              tail = 65088
            }
          }
        }
      }
    }
  }, 
  batch_list = {
    next = 0x0, 
    prev = 0x0
  }, 
  log_io = 0x0, 
  log_list = {
    next = 0x100000001, 
    prev = 0xffff881dfe405e70
  }, 
  ops = {
    target = 0, 
    target2 = 0, 
    zero_sum_result = (unknown: 0)
  }, 
  dev = {{
      req = {
        bi_sector = 0, 
        bi_next = 0x0, 
        bi_bdev = 0x0, 
        bi_flags = 1, 
        bi_rw = 0, 
        bi_vcnt = 0, 
        bi_idx = 0, 
        bi_phys_segments = 0, 
        bi_size = 0, 
        bi_seg_front_size = 0, 
        bi_seg_back_size = 0, 
        bi_end_io = 0x0, 
        bi_private = 0xffff881dfe405ca0, 
        bi_ioc = 0x0, 
        bi_css = 0x0, 
        bi_integrity = 0x0, 
        bi_max_vecs = 1, 
        bi_cnt = {
          counter = 1
        }, 
        bi_io_vec = 0xffff881dfe405e80, 
        bi_pool = 0x0, 
        {
          bio_aux = 0x0, 
          __UNIQUE_ID_rh_kabi_hide15 = {
            rh_reserved1 = 0x0
          }, 
          {<No data fields>}
        }, 
        bi_inline_vecs = 0xffff881dfe405e70
      }, 
      rreq = {
        bi_sector = 18446719886466550720, 
        bi_next = 0x1000, 
        bi_bdev = 0x0, 
        bi_flags = 0, 
        bi_rw = 18446719886466550720, 
        bi_vcnt = 3008, 
        bi_idx = 30713, 
        bi_phys_segments = 4294961664, 
        bi_size = 0, 
        bi_seg_front_size = 0, 
        bi_seg_back_size = 0, 
        bi_end_io = 0x0, 
        bi_private = 0xffff8824832a7c00, 
        bi_ioc = 0x6e4e1abf0, 
        bi_css = 0x8, 
        bi_integrity = 0x0, 
        bi_max_vecs = 0, 
        bi_cnt = {
          counter = 0
        }, 
        bi_io_vec = 0x0, 
        bi_pool = 0x0, 
        {
          bio_aux = 0x1, 
          __UNIQUE_ID_rh_kabi_hide15 = {
            rh_reserved1 = 0x1
          }, 
          {<No data fields>}
        }, 
        bi_inline_vecs = 0xffff881dfe405ef8
      }, 
      vec = {
        bv_page = 0x0, 
        bv_len = 0, 
        bv_offset = 0
      }, 
      rvec = {
        bv_page = 0x0, 
        bv_len = 0, 
        bv_offset = 0
      }, 
      page = 0x0, 
      orig_page = 0xffff881dfe405ca0, 
      toread = 0x0, 
      read = 0x0, 
      towrite = 0x0, 
      written = 0x100000001, 
      sector = 18446612261133901800, 
      flags = 0, 
      log_checksum = 0
    }}
}


And this is ‘prev’:

crash> p ((struct stripe_head)*0xffff881e0e2dec98)
$6 = {
  hash = {
    next = 0xffff881e08d54db8, 
    pprev = 0xffff881dfe405d28
  }, 
  lru = {
    next = 0x0, 
    prev = 0x0
  }, 
  release_list = {
    next = 0x0
  }, 
  raid_conf = 0x0, 
  generation = 0, 
  sector = 0, 
  pd_idx = 0, 
  qd_idx = 0, 
  ddf_layout = 0, 
  hash_lock_index = 0, 
  state = 0, 
  count = {
    counter = 1
  }, 
  bm_seq = 0, 
  disks = 0, 
  overwrite_disks = 0, 
  check_state = check_state_idle, 
  reconstruct_state = reconstruct_state_idle, 
  stripe_lock = {
    {
      rlock = {
        raw_lock = {
          {
            head_tail = 0, 
            tickets = {
              head = 0, 
              tail = 0
            }
          }
        }
      }
    }
  }, 
  cpu = 0, 
  group = 0x0, 
  batch_head = 0x0, 
  batch_lock = {
    {
      rlock = {
        raw_lock = {
          {
            head_tail = 237890576, 
            tickets = {
              head = 60432, 
              tail = 3629
            }
          }
        }
      }
    }
  }, 
  batch_list = {
    next = 0x0, 
    prev = 0x0
  }, 
  log_io = 0x0, 
  log_list = {
    next = 0x100000001, 
    prev = 0xffff881e0e2dede0
  }, 
  ops = {
    target = 0, 
    target2 = 0, 
    zero_sum_result = (unknown: 0)
  }, 
  dev = {{
      req = {
        bi_sector = 0, 
        bi_next = 0x0, 
        bi_bdev = 0x0, 
        bi_flags = 1, 
        bi_rw = 0, 
        bi_vcnt = 0, 
        bi_idx = 0, 
        bi_phys_segments = 0, 
        bi_size = 0, 
        bi_seg_front_size = 0, 
        bi_seg_back_size = 0, 
        bi_end_io = 0x0, 
        bi_private = 0xffff881e0e2dec10, 
        bi_ioc = 0x0, 
        bi_css = 0x0, 
        bi_integrity = 0x0, 
        bi_max_vecs = 1, 
        bi_cnt = {
          counter = 1
        }, 
        bi_io_vec = 0xffff881e0e2dedf0, 
        bi_pool = 0x0, 
        {
          bio_aux = 0x0, 
          __UNIQUE_ID_rh_kabi_hide15 = {
            rh_reserved1 = 0x0
          }, 
          {<No data fields>}
        }, 
        bi_inline_vecs = 0xffff881e0e2dede0
      }, 
      rreq = {
        bi_sector = 18446719886470726848, 
        bi_next = 0x1000, 
        bi_bdev = 0x0, 
        bi_flags = 0, 
        bi_rw = 18446719886470726848, 
        bi_vcnt = 50368, 
        bi_idx = 30776, 
        bi_phys_segments = 4294961664, 
        bi_size = 0, 
        bi_seg_front_size = 0, 
        bi_seg_back_size = 0, 
        bi_end_io = 0x0, 
        bi_private = 0xffff8824832a7c00, 
        bi_ioc = 0x6e4e1abf8, 
        bi_css = 0x1b, 
        bi_integrity = 0x0, 
        bi_max_vecs = 0, 
        bi_cnt = {
          counter = 0
        }, 
        bi_io_vec = 0x0, 
        bi_pool = 0x0, 
        {
          bio_aux = 0x1, 
          __UNIQUE_ID_rh_kabi_hide15 = {
            rh_reserved1 = 0x1
          }, 
          {<No data fields>}
        }, 
        bi_inline_vecs = 0xffff881e0e2dee68
      }, 
      vec = {
        bv_page = 0x0, 
        bv_len = 0, 
        bv_offset = 0
      }, 
      rvec = {
        bv_page = 0x0, 
        bv_len = 0, 
        bv_offset = 0
      }, 
      page = 0x0, 
      orig_page = 0xffff881e0e2dec10, 
      toread = 0x0, 
      read = 0x0, 
      towrite = 0x0, 
      written = 0x100000001, 
      sector = 18446612261401128792, 
      flags = 0, 
      log_checksum = 0
    }}
}

Thanks again,

Stephane��.n��������+%������w��{.n�����{����w��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux