Sync_page_io() call hangs when called from make_request (2.6.25)

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

 



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 post at:
http://repo.ugm.ac.id/linux/ChangeLog-2.6.22.12

"  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 Tambe

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux