• Longfang Liu's avatar
    vfio/migration: Add debugfs to live migration driver · 2202844e
    Longfang Liu authored
    There are multiple devices, software and operational steps involved
    in the process of live migration. An error occurred on any node may
    cause the live migration operation to fail.
    This complex process makes it very difficult to locate and analyze
    the cause when the function fails.
    
    In order to quickly locate the cause of the problem when the
    live migration fails, I added a set of debugfs to the vfio
    live migration driver.
    
        +-------------------------------------------+
        |                                           |
        |                                           |
        |                  QEMU                     |
        |                                           |
        |                                           |
        +---+----------------------------+----------+
            |      ^                     |      ^
            |      |                     |      |
            |      |                     |      |
            v      |                     v      |
         +---------+--+               +---------+--+
         |src vfio_dev|               |dst vfio_dev|
         +--+---------+               +--+---------+
            |      ^                     |      ^
            |      |                     |      |
            v      |                     |      |
       +-----------+----+           +-----------+----+
       |src dev debugfs |           |dst dev debugfs |
       +----------------+           +----------------+
    
    The entire debugfs directory will be based on the definition of
    the CONFIG_DEBUG_FS macro. If this macro is not enabled, the
    interfaces in vfio.h will be empty definitions, and the creation
    and initialization of the debugfs directory will not be executed.
    
       vfio
        |
        +---<dev_name1>
        |    +---migration
        |        +--state
        |
        +---<dev_name2>
             +---migration
                 +--state
    
    debugfs will create a public root directory "vfio" file.
    then create a dev_name() file for each live migration device.
    First, create a unified state acquisition file of "migration"
    in this device directory.
    Then, create a public live migration state lookup file "state".
    Signed-off-by: default avatarLongfang Liu <liulongfang@huawei.com>
    Reviewed-by: default avatarCédric Le Goater <clg@redhat.com>
    Link: https://lore.kernel.org/r/20231106072225.28577-2-liulongfang@huawei.comSigned-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    2202844e
debugfs.c 2.04 KB