Works just like FileDevice, but uses os.ftruncate to create the file
rather than writing zeroes. Unsuitable for swap files but useful for
other things, like making disk images.
---
pyanaconda/storage/devices.py | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/pyanaconda/storage/devices.py b/pyanaconda/storage/devices.py
index 0eca0a9..dbaf3cd 100644
--- a/pyanaconda/storage/devices.py
+++ b/pyanaconda/storage/devices.py
@@ -3470,6 +3470,18 @@ class FileDevice(StorageDevice):
os.unlink(self.path)
+class SparseFileDevice(FileDevice):
+ """A sparse file on a filesystem.
+ This exists for sparse disk images."""
+ _type = "sparse file"
+ def _create(self, w):
+ """Create a sparse file."""
+ log_method_call(self, self.name, status=self.status)
+ fd = os.open(self.path, os.O_WRONLY|os.O_CREAT|os.O_TRUNC)
+ os.ftruncate(fd, 1024*1024*self.size)
+ os.close(fd)
+
+
class DirectoryDevice(FileDevice):
""" A directory on a filesystem.
--
1.7.5.1
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list