Change in vdsm[master]: Added utility to ensure that files written to the file syste...
asegurap at redhat.com
asegurap at redhat.com
Sat Sep 1 23:30:30 UTC 2012
Antoni Segura Puimedon has posted comments on this change.
Change subject: Added utility to ensure that files written to the file system happen atomically.
......................................................................
Patch Set 1: (3 inline comments)
I agree that there is no hurry for this. I just thought that it is a good way to increase the robustness when writing configuration files that will maybe avoid us some rollback in crash scenarios.
....................................................
File vdsm/utils.py
Line 831: def __unicode__(self):
Line 832: return unicode(self.cmd)
Line 833:
Line 834: @contextmanager
Line 835: def atomicWrite(file):
Agreed. How about 'targetFile'?
Line 836: '''Context manager that makes the write happen to a temporary file and if
Line 837: and only it is successful, overwrites the original file. It creates the
Line 838: temporary file in the same directory of the destination file, as rename is
Line 839: only atomic within the same filesystem.'''
Line 836: '''Context manager that makes the write happen to a temporary file and if
Line 837: and only it is successful, overwrites the original file. It creates the
Line 838: temporary file in the same directory of the destination file, as rename is
Line 839: only atomic within the same filesystem.'''
Line 840: tempFile = file+'vdsm_temp'
Done
Line 841: f = open(tempFile, 'w')
Line 842: yield f
Line 843: f.flush()
Line 844: os.fsync(f.fileno())
Line 842: yield f
Line 843: f.flush()
Line 844: os.fsync(f.fileno())
Line 845: f.close()
Line 846: os.rename(tempFile, file)
When I finish with the bug I'll setup an oVirt node to test it. By bind-mounted do you refer to mount -o bind?
--
To view, visit http://gerrit.ovirt.org/7656
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibecd61d6746231a5a8cb17bad9a3302b01454f27
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Antoni Segura Puimedon <asegurap at redhat.com>
Gerrit-Reviewer: Antoni Segura Puimedon <asegurap at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Igor Lvovsky <ilvovsky at redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
More information about the vdsm-patches
mailing list