[mythtv-users] Storage Group Disk Scheduler Options

Chris Pinkham cpinkham at bc2va.org
Tue Feb 23 03:58:45 UTC 2010


* On Mon Feb 22, 2010 at 08:31:43PM -0500, Brian Fischer wrote:
> In mythtv-setup -> Miscellaneous Settings -> File Management Settings ->
> Storage Group Disk Scheduler there are three options:
> 
> 1. Balanced Free Space

The only criteria considered here is free space, so if you have 5 tuners
and 2 filesystems, one on brand new shiney empty disk drive, and 5 things
are recording at the same time, they'll all go to the same disk since it
has the most free space.

> 2. Balanced Disk I/O

The only criteria considered here is the 'weight' on the filesystem at
the time.  Items included in the weight are in-progress recordings,
playback, commercial flagging, transcoding, etc..  The disk with the
least I/O activity (weight) will get the recording.  In this case, with
the same 5 tuners and 2 filesystems mentioned above, you'd have 3 tuners
recording to one filesystem and 2 tuners going to the other, but there
is no preference as to which filesystem gets the 3 and which gets the 2.

> 3. Combination

This is the original Storage Group balancing method and the one that you
see documented if there is only one being documented.  The original
Storage Group code did not allow the user to choose what method to use,
because I wrote it to do what I wanted. :)  Later I added the other
balancing methods and made the original method no longer the default.
This method uses a combination of free space and disk I/O to determine
 where to put the next recording.

Sorting is done using the following criteria:

If fs1 is local and fs2 is not
   then if fs1 has less weight use fs1 else use fs2
else if fs1 and fs2 are either both local or both remote
   then if fs1 or fs2 has a lower weight, use the one with the lowest weight
      else if both have equal weights then use the one with the most free space
else if fs is not local and fs2 is
   then if fs1 has less weight use fs1 else use fs2

The 3 sort routines can be found in programs/mythbackend/scheduler.cpp
as (1) comp_storage_free_space(), (2) comp_storage_disk_io(), and
(3) comp_storage_combination().

--
Chris


More information about the mythtv-users mailing list