Good afternoon!

Could I please get a few pair of eyes on the fix for the following CR:

7171038 <http://monaco.us.oracle.com/detail.jsf?cr=7171038> Text Install calculates slice available size wrongly

https://cr.opensolaris.org/action/browse/caiman/drewfish/7171038/webrev/

get_max_size() works by calculating all of the available free space before the current slice. By this, I mean by cylinders. So if slice 4 starts on cylinder 72, slices 0, 1 and 3 (2 is the backup slice) SHOULD all be 71 cylinders in size. The problem is that the calculation was using the end_sector of the first used slice rather than the start_sector causing the Available size to be far too large (see the CR for an example).

Here's a quick snippet of what TI shows with the fix:

Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)            0
  1 unassigned    wm       0               0         (0/0/0)            0
  2     backup    wu       0 - 8920       68.34GB    (8921/0/0) 143315865
  3 unassigned    wm       0               0         (0/0/0)            0
  4       root    wm      72 - 8171       62.05GB    (8100/0/0) 130126500
  5 unassigned    wm       0               0         (0/0/0)            0
  6 unassigned    wm       0               0         (0/0/0)            0
  7 unassigned    wm       0               0         (0/0/0)            0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)        16065
  9 unassigned    wm       0               0         (0/0/0)            0

----

     Slice        #  Size(GB)  Avail      Slice        #  Size(GB)  Avail
     ???????????????????????????????      ???????????????????????????????
     Unused       0       0.0    0.6      Unused       5       0.0    5.7
     Unused       1       0.0    0.6      Unused       6       0.0    5.7
     Unused       3       0.0    0.6      Unused       7       0.0    5.7
     rpool        4      62.0   68.3      backup       2      68.3   68.3



Also, remember that we can't just add up all of the available space and use that. Slices are locked on the disk and we can't just optimize usage while retaining the existing data. This is why the Available size for Slices 5-7 are a different size than 0, 1, and 3. That's what's available AFTER slice 4.

I also fixed a few cut and paste errors (s/Partition/Slice) while I was there.

Thanks!

-Drew
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to