Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Aug 2020 11:34:07 +0200 (CEST)
From:      Wojciech Puchar <wojtek@puchar.net>
To:        freebsd-hackers@freebsd.org
Subject:   gmirror balance model "prefer" doesnt work properly
Message-ID:  <alpine.BSF.2.20.2008151127420.18876@puchar.net>

next in thread | raw e-mail | index | archive | help
ada0p3 is partition on SSD, ada3p3 is partition on magnetic disk.



Geom name: root
State: COMPLETE
Components: 2
Balance: prefer
Slice: 2097152
Flags: NONE
GenID: 0
SyncID: 1
ID: 3736675121
Type: AUTOMATIC
Providers:
1. Name: mirror/root
    Mediasize: 107374181888 (100G)
    Sectorsize: 512
    Stripesize: 4096
    Stripeoffset: 0
    Mode: r1w1e1
Consumers:
1. Name: ada0p3
    Mediasize: 107374182400 (100G)
    Sectorsize: 512
    Stripesize: 0
    Stripeoffset: 525139968
    Mode: r1w1e1
    State: ACTIVE
    Priority: 1
    Flags: (null)
    GenID: 0
    SyncID: 1
    ID: 3655477467
2. Name: ada3p3
    Mediasize: 107374182400 (100G)
    Sectorsize: 512
    Stripesize: 4096
    Stripeoffset: 0
    Mode: r1w1e1
    State: ACTIVE
    Priority: 0
    Flags: NONE
    GenID: 0
    SyncID: 1
    ID: 3836554217


according to manual reads should be preferred from device of higher 
priority. i've set priority 1 for ssd, 0 for hdd. but reads are from hdd 
only.

tried reverse - 0 for ssd, 1 for hdd - too reads are from hdd.

looking in code seems like it is not implemented at all

         LIST_FOREACH(disk, &sc->sc_disks, d_next) {
                 if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE)
                         break;
         }


just take first active disk.

why?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.20.2008151127420.18876>