@@ -55,20 +55,36 @@ let assert_lv_exists ?expected_size_in_extents name =
5555 ) in
5656 Lwt_main. run t
5757
58+ let free_extents () =
59+ let t =
60+ Client. get ()
61+ >> = fun vg ->
62+ return (Lvm.Pv.Allocator. size (vg.Lvm.Vg. free_space)) in
63+ Lwt_main. run t
64+
5865let lvcreate_L =
5966 " lvcreate -n <name> -L <mib> <vg>: check that we can create an LV with a size in MiB" > ::
6067 fun () ->
61- xenvm [ " lvcreate" ; " -n" ; " test" ; " -L" ; " 4 " ; vg ] |> ignore_string;
62- assert_lv_exists ~expected_size_in_extents: 1L " test" ;
68+ xenvm [ " lvcreate" ; " -n" ; " test" ; " -L" ; " 16 " ; vg ] |> ignore_string;
69+ assert_lv_exists ~expected_size_in_extents: 4L " test" ;
6370 xenvm [ " lvremove" ; vg ^ " /test" ] |> ignore_string
6471
6572let lvcreate_l =
6673 " lvcreate -n <name> -l <extents> <vg>: check that we can create an LV with a size in extents" > ::
6774 fun () ->
68- xenvm [ " lvcreate" ; " -n" ; " test" ; " -l" ; " 1 " ; vg ] |> ignore_string;
69- assert_lv_exists ~expected_size_in_extents: 1L " test" ;
75+ xenvm [ " lvcreate" ; " -n" ; " test" ; " -l" ; " 2 " ; vg ] |> ignore_string;
76+ assert_lv_exists ~expected_size_in_extents: 2L " test" ;
7077 xenvm [ " lvremove" ; vg ^ " /test" ] |> ignore_string
7178
79+ let lvcreate_percent =
80+ " lvcreate -n <name> -l 100%F <vg>: check that we can fill all free space in the VG" > ::
81+ fun () ->
82+ xenvm [ " lvcreate" ; " -n" ; " test" ; " -l" ; " 100%F" ; vg ] |> ignore_string;
83+ let free = free_extents () in
84+ assert_equal ~printer: Int64. to_string 0L free;
85+ xenvm [ " lvremove" ; vg ^ " /test" ] |> ignore_string
86+
87+
7288let file_exists filename =
7389 try
7490 Unix.LargeFile. stat filename |> ignore;
@@ -102,6 +118,7 @@ let lvchange_n =
102118let xenvmd_suite = " Commands which require xenvmd" > ::: [
103119 lvcreate_L;
104120 lvcreate_l;
121+ lvcreate_percent;
105122 lvchange_n;
106123]
107124
0 commit comments