lkml.org 
[lkml]   [2008]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectSync_page_io() call hangs when called from make_request (2.6.25)
Hello,

I am writing a stacking block device driver which writes some metadata
on a block device before redirecting the data bio to underlying disk.
For this I have been using sync_page_io from raid/md.h to do the
metadata write synchronously.

This worked fine in 2.6.18.2 kernel. I am now trying to port the
driver to 2.6.25 kernel, but even in a basic stacking driver in this
kernel, the sync_page_io call does not return. The process (dd in this
case) never returns. The machine does not freeze, nor is there an OOPS
generated. It is as if waiting on a lock.

All I could find in my search was this msg at:
http://repo.ugm.ac.id/linux/ChangeLog-2.6.22.12

"Author: Milan Broz <mbroz@redhat.com>
Date: Thu Jul 12 17:28:00 2007 +0100

dm snapshot: fix invalidation deadlock

patch fcac03abd325e4f7a4cc8fe05fea2793b1c8eb75 in mainline

Process persistent exception store metadata IOs in a separate thread.

A snapshot may become invalid while inside generic_make_request().
A synchronous write is then needed to update the metadata while still
inside that function. Since the introduction of
md-dm-reduce-stack-usage-with-stacked-block-devices.patch this has to
be performed by a separate thread to avoid deadlock. "


I dont really know whether this is related to my problem or not. Any ideas?

Thanks,
Unmil


\
 
 \ /
  Last update: 2008-07-16 15:59    [W:0.290 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site