On Thu, Mar 19, 2020 at 18:39:58 +0100, Michal Privoznik wrote: > On 19. 3. 2020 17:43, Peter Krempa wrote: > > On Thu, Mar 19, 2020 at 17:22:37 +0100, Michal Privoznik wrote: > >> In one of my previous commits I've introduced code that creates > >> all devices for given (possible) multipath target. But I've made > >> a mistake there - the code accesses src->path without checking if > >> the disk source is local. Note that the path is NULL if the > >> source is not local. > > > > Well next->path 'may' be NULL if it's not local, but in this case it is > > local because NVMe disks are local, but they don't have the path. > > Local as in virStorageSourceIsLocalStorage() == true. And for NVMe we > return false exactly because src->path has to be NULL (it can't be set > to any meaningfull path). Yes. The meaning of virStorageSourceIsLocalStorage shifted after NVMe disks were added. > > How about this formulation: > > Note that the path is NULL if the > source is not local as viewed by > virStorageSourceIsLocalStorage(). That is still misleading, because network disks can have non-null path. I'd prefer: 'next->path' is NULL/doesn't make sense for VIR_STORAGE_TYPE_NVME