First steps to building ownership tables.
[virt-df.git] / lib / diskimage_linux_swap.ml
index ae8c405..b8c49e6 100644 (file)
 
 open Diskimage_utils
 
-let plugin_id = "linux_swap"
+open Int63.Operators
 
-let blocksize = 4096                   (* XXX *)
-let blocksize64 = 4096L                        (* XXX *)
+let plugin_id = "linux_swap"
+let blocksize = ~^4096                 (* XXX *)
 
 let probe dev =
   (* Load the "superblock" (ie. first 0x1000 bytes). *)
-  let bits = dev#read_bitstring 0L 0x1000 in
+  let bits = dev#read_bitstring ~^0 ~^0x1000 in
 
   bitmatch bits with
   | {
       (* Actually this isn't just padding. *)
       padding : 8*0x1000 - 10*8 : bitstring;
-      "SWAPSPACE2" : 80 : string
+      ("SWAP-SPACE"|"SWAPSPACE2") : 80 : string
     } ->
 
       let fs_dev = new blocksize_overlay blocksize dev in
       {
-       fs_dev = fs_dev;
        fs_plugin_id = plugin_id;
-       fs_block_size = blocksize64;
-       fs_blocks_total = fs_dev#size /^ blocksize64;
+       fs_dev = fs_dev;
+
+       fs_blocksize = blocksize;
+       fs_blocks_total = fs_dev#size /^ blocksize;
 
        (* The remaining fields are ignored when fs_is_swap is true. *)
        fs_is_swap = true;
-       fs_blocks_reserved = 0L;
-       fs_blocks_avail = 0L;
-       fs_blocks_used = 0L;
-       fs_inodes_total = 0L;
-       fs_inodes_reserved = 0L;
-       fs_inodes_avail = 0L;
-       fs_inodes_used = 0L;
+       fs_blocks_reserved = ~^0;
+       fs_blocks_avail = ~^0;
+       fs_blocks_used = ~^0;
+       fs_inodes_total = ~^0;
+       fs_inodes_reserved = ~^0;
+       fs_inodes_avail = ~^0;
+       fs_inodes_used = ~^0;
       }
 
   | { _ } ->