On Wed, 2011-07-27 at 17:24 +0200, Andrea Arcangeli wrote: > making > sure no lib is calling any I/O function to be able to defreeze the > filesystems later, making sure the oom killer or a wrong kill -9 > $RANDOM isn't killing the agent by mistake while the I/O is blocked > and the copy is going.
Yes with the current API if the agent is killed while the filesystems are frozen we are screwed. I have just submitted patches that implement a new API that should make the virtualization use case more reliable. Basically, I am adding a new ioctl, FIGETFREEZEFD, which freezes the indicated filesystem and returns a file descriptor; as long as that file descriptor is held open, the filesystem remains open. If the freeze file descriptor is closed (be it through a explicit call to close(2) or as part of process exit housekeeping) the associated filesystem is automatically thawed. - fsfreeze: add ioctl to create a fd for freeze control http://marc.info/?l=linux-fsdevel&m=131175212512290&w=2 - fsfreeze: add freeze fd ioctls http://marc.info/?l=linux-fsdevel&m=131175220612341&w=2