<div>Hi All,</div>
<div>        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.</div>
<div>       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, <font color="#ff0000">WB_SYNC_ALL</font>);" later.</div>

<div>      I don't want the lvcreate snapshot take so long, suspend the origin lv is needed?And the <font color="#ff0000">WB_SYNC_ALL </font><font color="#000000">will cause update dirty pages slower than 'dd'  write data.</font></div>

<div>      sync_blockdev will wait on any mapping it seems. can dm_suspend do not wait for it?</div>
<div>      My kernel version:2.6.29. LVM2.02.63.</div>
<div>      Thanks.</div>
<div> </div>
<div>Best regards,</div>
<div>Busby</div>
<div> </div>