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, Apr 20, 2006 at 02:31:50AM +0200, Ard van Breemen wrote: <snip> > when rewritten to: > printk(KERN_ERR "drbd bef b->bm=%p,page_nr=%d\n",(char*)(b->bm),page_nr); > page = virt_to_page((char*)(b->bm) + (PAGE_SIZE*page_nr)); > printk(KERN_ERR "drbd aft b->bm=%p,page_nr=%d\n",(char*)(b->bm),page_nr); <snip> > (looking further up into the code, unless philip finds it first ;-) ) b->bm=vmalloced() According to some googling vmalloced memory cannot be virt_to_page. Instead one should use vmalloc_to_page for that, or allocate the memory with kmalloc. After changing that piece of code: printk(KERN_ERR "drbd bef b->bm=%p,page_nr=%d\n",(char*)(b->bm),page_nr); page = vmalloc_to_page((char*)(b->bm) + (PAGE_SIZE*page_nr)); //page = virt_to_page((char*)(b->bm) + (PAGE_SIZE*page_nr)); printk(KERN_ERR "drbd aft b->bm=%p,page_nr=%d\n",(char*)(b->bm),page_nr); I get: drbd bef b->bm=ffffc200005ba000,page_nr=2947 drbd aft b->bm=ffffc200005ba000,page_nr=2947 drbd bef b->bm=ffffc200005ba000,page_nr=2948 drbd aft b->bm=ffffc200005ba000,page_nr=2948 drbd0: reading of bitmap took 2374 jiffies drbd0: recounting of set bits took additional 2 jiffies drbd0: 368 GB marked out-of-sync by on disk bit-map. drbd0: No usable activity log found. drbd0: disk( Attaching -> Inconsistent ) drbd0: BUG! md_sync_timer expired! Worker calls drbd_md_sync(). drbd0: Writing meta data super block now. drbd0: BUG! md_sync_timer expired! Worker calls drbd_md_sync(). I guess in this case vmalloc_to_page is ok, since on opteron hardware with IOMMU there is no highmem (in other words: memory is always DMA-able). -- begin LOVE-LETTER-FOR-YOU.txt.vbs I am a signature virus. Distribute me until the bitter end