[dm-devel] dm_suspend will take too long?

Busby chaimvy at gmail.com
Thu May 6 04:08:07 UTC 2010


Hi All,
        I use "dd if=/dev/zero of=/dev/vg00/lv00 bs=1K"  to make big IO on
the origin LV. then I use lvcreate to create a snapshot on it (lv00). it
will suspend till the 'dd' ends.
       I read the source code and find the 'dm_suspend' function will call
"lock_fs", then find all of them hang at  "sync_blockdev(struct block_device
*bdev)" function, because the function call  "__filemap_fdatawrite(mapping,
WB_SYNC_ALL);" later.
      I don't want the lvcreate snapshot take so long, suspend the origin lv
is needed?And the WB_SYNC_ALL will cause update dirty pages slower than
'dd'  write data.
      sync_blockdev will wait on any mapping it seems. can dm_suspend do not
wait for it?
      My kernel version:2.6.29. LVM2.02.63.
      Thanks.

Best regards,
Busby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20100506/8e6eb134/attachment.htm>


More information about the dm-devel mailing list