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 --
| Al Boldi | Re: [ck] Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu sched... |
| Ingo Molnar | Re: [patch] sched_clock(): cleanups |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Amit K. Arora | [RFC] Heads up on sys_fallocate() |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 18/37] dccp: Support for Mandatory options |
| Denys Vlasenko | [PATCH 1/2] bnx2: factor out gzip unpacker |
