diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-03-24 11:33:36 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-03-24 11:33:36 +0100 |
commit | 0715d1b22a6f0008b70fe4b1881045f65521ac19 (patch) | |
tree | 3e065978df1c6b53ae797a925b88f994cbbbdd45 | |
parent | b235bd2724ad4cf9150b0f571ead70fbfa34da84 (diff) |
Use swapon path as pager partition path
When /dev/hd* entries are parted-partition storeio, the store name is only
the disk name, thus not unique. We should just use the path being used
instead.
* sutils/swapon.c (swaponoff): Use `file' instead of `store->name' to
default_pager_paging_file.
(main): Drop hardcoded "/dev/".
* procfs/rootdir.c (rootdir_gc_swaps): Drop hardcoded "/dev/".
-rw-r--r-- | procfs/rootdir.c | 2 | ||||
-rw-r--r-- | sutils/swapon.c | 8 |
2 files changed, 4 insertions, 6 deletions
diff --git a/procfs/rootdir.c b/procfs/rootdir.c index 951c071d..8e7c6595 100644 --- a/procfs/rootdir.c +++ b/procfs/rootdir.c @@ -557,7 +557,7 @@ rootdir_gc_swaps (void *hook, char **contents, ssize_t *contents_len) name = names; for (i = 0; i < nfree; i++) { - fprintf (m, "/dev/%s\tpartition\t%zu\t%zu\t-1\n", + fprintf (m, "%s\tpartition\t%zu\t%zu\t-1\n", name, size[i] >> 10, (size[i] - free[i]) >> 10); name = argz_next (names, names_len, name); } diff --git a/sutils/swapon.c b/sutils/swapon.c index 1d0d4353..40f5a205 100644 --- a/sutils/swapon.c +++ b/sutils/swapon.c @@ -424,9 +424,7 @@ swaponoff (const char *file, int add, int skipnotexisting) { /* The default pager does not support the new protocol. We tried it in a previous call (below) and got MIG_BAD_ID. */ - char pname[sizeof "/dev/" + strlen (store->name) + 1]; - strcpy (stpcpy (pname, "/dev/"), store->name); - err = default_pager_paging_file (def_pager, dev_master, pname, add); + err = default_pager_paging_file (def_pager, dev_master, file, add); } else { @@ -439,7 +437,7 @@ swaponoff (const char *file, int add, int skipnotexisting) runs[j++] = store->runs[i].length; } err = default_pager_paging_storage (def_pager, store->port, - runs, j, store->name, add); + runs, j, file, add); if (err == MIG_BAD_ID) { /* The default pager does not support the new protocol. @@ -580,7 +578,7 @@ main (int argc, char *argv[]) name = names; for (i = 0; i < nfree; i++) { - printf ("/dev/%s\tpartition\t%zuM\t%zuM\t-1\n", + printf ("%s\tpartition\t%zuM\t%zuM\t-1\n", name, size[i] >> 20, (size[i] - free[i]) >> 20); name = argz_next (names, names_len, name); } |