• Boaz Harrosh's avatar
    pnfs-obj: objio_osd device information retrieval and caching · b6c05f16
    Boaz Harrosh authored
    When a new layout is received in objio_alloc_lseg all device_ids
    referenced are retrieved. The device information is queried for from MDS
    and then the osd_device is looked-up from the osd-initiator library. The
    devices are cached in a per-mount-point list, for later use. At unmount
    all devices are "put" back to the library.
    
    objlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware
    API for retrieving device information given a device_id.
    
    TODO: The device cache can get big. Cap its size. Keep an LRU and start
          to return devices which were not used, when list gets to big, or
          when new entries allocation fail.
    
    [pnfs-obj: Bugs in new global-device-cache code]
    Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
    [gfp_flags]
    [use global device cache]
    [use layout driver in global device cache]
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    b6c05f16
objio_osd.c 11 KB