[DRBD-user] D States with drbd on 2.6.22

Lars Ellenberg lars.ellenberg at linbit.com
Fri Aug 24 20:06:08 CEST 2007

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Thu, Aug 23, 2007 at 05:50:11PM +0200, Lars Ellenberg wrote:
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083186]  [<ffffffff881442fc>] :drbd:drbd_md_sync_page_io+0x29c/0x4f0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083204]  [<ffffffff881317a0>] :drbd:drbd_bm_get_lel+0x130/0x220
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083223]  [<ffffffff88132a58>] :drbd:drbd_bm_write_sect+0xc8/0x220
> 
> right. we have to queue the bitmap updates for the worker as well.
> 
> so what happens is:
> fs -> generic_make_request
>       -> __generic_make_request
>         -> drbd_make_request_common
>           -> drbd_al_begin_io
>             -> drbd_bm_write_sect
>               -> drbd_md_sync_page_io
>                 -> submit_bio
>                   -> generic_make_request
>                         (since this is recursed,
>                          it will only add the request to the list,
>                          but not submit it)
>                 -> wait for that bio to complete,
>                    which will never happen,
>                    since it would only actually be submitted
>                    in the loop of the outmost generic_make_request.
> 
> 
> problem is understood.
> I'll fix this as soon as I find the time to code it up.

does attached patch fix it for you?
(untested, I'm supposedly in the weekend already,
no test cluster available :->)

> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083243]  [<ffffffff8814353d>] :drbd:drbd_al_begin_io+0x1cd/0x320
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083252]  [<ffffffff80264f99>] mempool_alloc+0x39/0x110
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083262]  [<ffffffff80264f99>] mempool_alloc+0x39/0x110
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083271]  [<ffffffff80281d99>] cache_alloc_refill+0x199/0x500
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083280]  [<ffffffff802ad1ac>] __bio_clone+0x9c/0xc0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083298]  [<ffffffff88140803>] :drbd:drbd_make_request_common+0x5b3/0xb90
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083309]  [<ffffffff80302130>] elv_rb_add+0x70/0x80
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083317]  [<ffffffff80242cf0>] autoremove_wake_function+0x0/0x30
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083326]  [<ffffffff80242cf0>] autoremove_wake_function+0x0/0x30
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083337]  [<ffffffff80304014>] generic_make_request+0x1c4/0x260
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083346]  [<ffffffff8030410e>] submit_bio+0x5e/0xf0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083354]  [<ffffffff802ad01b>] __bio_add_page+0x1ab/0x220
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083390]  [<ffffffff88296870>] :xfs:_xfs_buf_ioapply+0x230/0x2e0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083422]  [<ffffffff88297659>] :xfs:xfs_buf_iorequest+0x29/0x70
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083454]  [<ffffffff8829bda5>] :xfs:xfs_bdstrat_cb+0x35/0x50
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083486]  [<ffffffff88297a04>] :xfs:xfs_buf_iostart+0x44/0xa0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083522]  [<ffffffff88287ed8>] :xfs:xfs_trans_push_ail+0x1f8/0x280
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083556]  [<ffffffff8827d374>] :xfs:xfs_log_reserve+0x74/0xf0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083591]  [<ffffffff882874cf>] :xfs:xfs_trans_reserve+0xaf/0x200
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083624]  [<ffffffff88293ae2>] :xfs:kmem_zone_zalloc+0x32/0x50
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083659]  [<ffffffff882743a1>] :xfs:xfs_itruncate_finish+0x121/0x310
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083694]  [<ffffffff8828dbeb>] :xfs:xfs_inactive+0x3fb/0x4e0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083727]  [<ffffffff8829d97c>] :xfs:xfs_fs_clear_inode+0xec/0x120
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083737]  [<ffffffff8029b126>] clear_inode+0x116/0x150
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083747]  [<ffffffff8029b76b>] generic_delete_inode+0x11b/0x150
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083757]  [<ffffffff8029a557>] iput+0x67/0x80
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083765]  [<ffffffff80291391>] do_unlinkat+0x101/0x180
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083775]  [<ffffffff802931fb>] sys_getdents+0xbb/0xe0
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083785]  [<ffffffff80209e5e>] system_call+0x7e/0x83
> > Aug 21 11:14:20 boxfe02 kernel: [ 1477.083793] 

-- 
: Lars Ellenberg                            Tel +43-1-8178292-0  :
: LINBIT Information Technologies GmbH      Fax +43-1-8178292-82 :
: Vivenotgasse 48, A-1120 Vienna/Europe    http://www.linbit.com :
__
please use the "List-Reply" function of your email client.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmp.diff
Type: text/x-diff
Size: 2190 bytes
Desc: not available
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20070824/eaecbf7e/attachment.diff>


More information about the drbd-user mailing list