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