• M
    esx: Rework datastore path parsing and handling · 84768912
    Matthias Bolte 提交于
    Instead of splitting the path part of a datastore path into
    directory and file name, keep this in one piece. An example:
    
      "[datastore] directory/file"
    
    was split into this before:
    
      datastoreName = "datastore"
      directoryName = "directory"
      fileName = "file"
    
    Now it's split into this:
    
      datastoreName = "datastore"
      directoryName = "directory"
      directoryAndFileName = "directory/file"
    
    This simplifies code using esxUtil_ParseDatastorePath, because
    directoryAndFileName is used more often than fileName. Also the
    old approach expected the datastore path to reference an actual
    file, but this isn't always correct, especially when listing
    volumes. In that case esxUtil_ParseDatastorePath is used to parse
    a path that references a directory. This fails for a vpx://
    connection because the vCenter returns directory paths with a
    trailing '/'. The new approach is robust against this and the
    actual decision if the datastore path should reference a file or
    a directory is up to the caller of esxUtil_ParseDatastorePath.
    
    Update the tests accordingly.
    84768912
esx_util.c 17.1 KB