Skip to content

Commit

Permalink
linux: libzutil: zfs_strip_path: only strip known prefixes
Browse files Browse the repository at this point in the history
This mirrors FreeBSD:
  # zpool create -o cachefile= testpsko media/testpsko
  # zpool create -o cachefile= testpsko2 $PWD/testpsko2
  $ ./zpool list -v
  NAME                                              SIZE  ALLOC   FREE
  filling                                          25.5T  6.85T  18.6T
    mirror-0                                       3.64T   500G  3.15T
      ata-HGST_HUS726T4TALE6L4_V6K2L4RR                -      -      -
      ata-HGST_HUS726T4TALE6L4_V6K2MHYR                -      -      -
    raidz1-1                                       21.8T  6.36T  15.5T
      ata-HGST_HUS728T8TALE6L4_VDKT237K                -      -      -
      ata-HGST_HUS728T8TALE6L4_VDGY075D                -      -      -
      ata-HGST_HUS728T8TALE6L4_VDKVRRJK                -      -      -
  cache                                                -      -      -
    nvme0n1p4                                      63.0G  12.8G  50.2G
  tarta-boot                                        240M  50.0M   190M
    mirror-0                                        240M  50.0M   190M
      tarta-boot                                       -      -      -
      tarta-boot-nvme                                  -      -      -
  tarta-zoot                                       55.5G  6.96G  48.5G
    mirror-0                                       55.5G  6.96G  48.5G
      tarta-zoot                                       -      -      -
      tarta-zoot-nvme                                  -      -      -
  testpsko                                         39.5G   744K  39.5G
    media/testpsko1                                39.5G   744K  39.5G
  testpsko2                                        39.5G   130K  39.5G
    /home/nabijaczleweli/store/code/zfs/testpsko2  39.5G   130K  39.5G

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes openzfs#13413
Closes openzfs#9771
  • Loading branch information
nabijaczleweli authored and andrewc12 committed Sep 23, 2022
1 parent 6917eba commit 032e61c
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion lib/libzutil/os/linux/zutil_device_path_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,15 @@ zfs_strip_partition_path(const char *path)
const char *
zfs_strip_path(const char *path)
{
return (strrchr(path, '/') + 1);
size_t spath_count;
const char *const *spaths = zpool_default_search_paths(&spath_count);

for (size_t i = 0; i < spath_count; ++i)
if (strncmp(path, spaths[i], strlen(spaths[i])) == 0 &&
path[strlen(spaths[i])] == '/')
return (path + strlen(spaths[i]) + 1);

return (path);
}

/*
Expand Down

0 comments on commit 032e61c

Please sign in to comment.