<div>Hi, Phillip Susi,</div>
<div>                 Why not suspend the origin's IO first, then create the snapshot lv, resume the origin lv 's IO waiting Q last. the 'dd' cmd is eariler than the snapshot's creating, if suspend the IO, the filesystem on the snapshot will be corrupt, I get it, but I think the  snapshot is in block layer, should suspend the user layer's data coming first, then flush the data in the dirty buffer and create the snapshot.  like the dd cmd on the origin, will make the snapshot's creating take a very long time, for waiting for the dm suspend 's return, I think flush the data in the dirty buffer (data from dd ), suspend the next data of the dd, create the snapshot, then let the data into dirty buffer to the block layer. the dd cmd will put the data into dirty buffer continually, can not be suspended?</div>

<div>         </div>
<div> </div>
<div>Best regards,</div>
<div>Bubsy<br><br></div>
<div class="gmail_quote">2010/4/30 Phillip Susi <span dir="ltr"><<a href="mailto:psusi@cfl.rr.com">psusi@cfl.rr.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div class="im">On 4/28/2010 11:24 PM, Busby wrote:<br>> it seems the vgs suspend because the lvcreate cmd don't unlock the<br>> flock, but why the lvcreating of snapshot lv will be suspended while the<br>> origin is on big data IO?<br>
<br></div>Because when creating a snapshot it tries to flush any dirty buffers so<br>that the origin is in a consistent state at the time the snapshot is<br>created.  This is done to minimize the chance that the filesystem on the<br>
snapshot will be corrupt.<br></blockquote></div><br>