[PATCH 2/2] storage: add SparseFileDevice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux