• Anand Jain's avatar
    btrfs: create read policy framework · 33fd2f71
    Anand Jain authored
    As of now, we use the pid method to read striped mirrored data, which
    means process id determines the stripe id to read. This type of routing
    typically helps in a system with many small independent processes tying
    to read random data. On the other hand, the pid based read IO policy is
    inefficient because if there is a single process trying to read a large
    file, the overall disk bandwidth remains underutilized.
    
    So this patch introduces a read policy framework so that we could add
    more read policies, such as IO routing based on the device's wait-queue
    or manual when we have a read-preferred device or a policy based on the
    target storage caching.
    Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    33fd2f71
volumes.h 17.1 KB