storage/file: refactor is_dirty()

This commit is contained in:
Rusty Bird 2021-01-29 18:13:29 +00:00
parent d3d6b9de2b
commit 796e6f5096
No known key found for this signature in database
GPG Key ID: 469D78F47AAF2ADF

View File

@ -214,11 +214,10 @@ class FileVolume(qubes.storage.Volume):
_remove_if_exists(self.path_cow)
def is_dirty(self):
if not self.save_on_stop:
return False
if os.path.exists(self.path_cow):
stat = os.stat(self.path_cow)
return stat.st_blocks > 0
if self.save_on_stop:
with suppress(FileNotFoundError), open(self.path_cow, 'rb') as cow:
cow_used = os.fstat(cow.fileno()).st_blocks * BLKSIZE
return cow_used > 0
return False
def resize(self, size):