• A
    Refactor ESX storage driver to implement facade pattern · 067e83eb
    Ata E Husain Bohra 提交于
    The patch refactors the current ESX storage driver due to following reasons:
    
    1. Given most of the public APIs exposed by the storage driver in Libvirt
    remains same, ESX storage driver should not implement logic specific
    for only one supported format (current implementation only supports VMFS).
    2. Decoupling interface from specific storage implementation gives us an
    extensible design to hook implementation for other supported storage
    formats.
    
    This patch refactors the current driver to implement it as a facade pattern i.e.
    the driver exposes all the public libvirt APIs, but uses backend drivers to get
    the required task done. The backend drivers provide implementation specific to
    the type of storage device.
    
    File changes:
    ------------------
    esx_storage_driver.c ----> esx_storage_driver.c (base storage driver)
                         |
                         |---> esx_storage_backend_vmfs.c (VMFS backend)
    067e83eb
esx_vi.c 154.7 KB