Thanks for your reply. Sounds like one has to stop or pause the applications to get consistent snapshot? But you look around, you may find that many systems claim that they can take snapshot without shutdown the application. Actually, I think it is impractical to require that app to be shutdown before taking snapshot in a commercial environment. Pausing apps is possible from the filesystem perspective. A simple solution is that the filesystem stop writing any data to disk from the point that the snapshotting command is received. But as we discussed earlier, this is not sufficient to prevent a file from containing part of old data and part of new data. That's why I am so confused how can these systems provide consistent snapshotting capability without sacrificing system performance much. On 7/3/07, Chris Mason <chris.mason@xxxxxxxxxx> wrote:
On Tue, 3 Jul 2007 01:28:57 -0400 "Xin Zhao" <uszhaoxin@xxxxxxxxx> wrote: > Hi, > > > If a file is already opened when snapshot command is issued, the file > itself could be in an inconsistent state already. Before the file is > closed, maybe part of the file contains old data, the rest contains > new data. > How does a versioning filesystem guarantee that the file snapshot is > in a consistent state in this case? > > I googled it but didn't find any answer. Can someone explain it a > little bit? It's the same answer as in most filesystem related questions...it depends ;) Consistent state means many different things. It may mean that the metadata accurately reflects the space on disk allocated to the file and that all data for the file is properly on disk (ie from an fsync). But, even this is less than useful because very few files on the filesystem stand alone. Applications spread their state across a number of files and so consistent means something different to every application. Getting a snapshot that is useful with respect to application data requires help from the application. The app needs to be shutdown or paused prior to the snapshot and then started up again after the snapshot is taken. -chris
- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html