lseek limit to 2G in 32bit env
authorGui Chen <gui.chen@intel.com>
Wed, 12 Sep 2012 02:51:30 +0000 (10:51 +0800)
committerGui Chen <gui.chen@intel.com>
Wed, 12 Sep 2012 08:55:04 +0000 (16:55 +0800)
Signed-off-by: Gui Chen <gui.chen@intel.com>
mic/utils/fs_related.py

index d1bf43f..4c2bd27 100644 (file)
@@ -314,7 +314,11 @@ class SparseLoopbackDisk(LoopbackDisk):
         else:
             fd = os.open(self.lofile, flags)
 
-        os.lseek(fd, size, os.SEEK_SET)
+        try:
+            os.lseek(fd, size, os.SEEK_SET)
+        except:
+            # may be limited by 2G in 32bit env
+            os.lseek(fd, 2**31L - 1, os.SEEK_SET)
         os.write(fd, '\x00')
         os.close(fd)