]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libblkid: export blkid_probe_reset_hints()
authorKarel Zak <kzak@redhat.com>
Mon, 9 Nov 2020 10:42:58 +0000 (11:42 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 9 Nov 2020 10:42:58 +0000 (11:42 +0100)
* make hints persistent and do not call blkid_probe_reset_hints() in
  blkid_probe_set_device()
* export blkid_probe_reset_hints() by API to keep it completely in
  user's hands

Reported-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
libblkid/docs/libblkid-sections.txt
libblkid/src/blkid.h.in
libblkid/src/libblkid.sym
libblkid/src/probe.c

index 0f18d929cbc7aee2a9ed06e3b4a988e870ffc12d..c0dc0d48d7274f586139ce35210e8f829cc32325 100644 (file)
@@ -57,6 +57,7 @@ blkid_probe_get_wholedisk_devno
 blkid_probe_hide_range
 blkid_probe_is_wholedisk
 blkid_probe_reset_buffers
+blkid_probe_reset_hints
 blkid_probe_set_device
 blkid_probe_set_hint
 blkid_probe_set_sectorsize
index 6550ed7a6d390bd11bdada8d1a2ebc791a854f62..3cd4116d9184d742b9224f6ec7517b4f6ff5e0d7 100644 (file)
@@ -257,6 +257,8 @@ extern int blkid_probe_get_fd(blkid_probe pr)
 
 extern int blkid_probe_set_hint(blkid_probe pr, const char *name, uint64_t value)
                        __ul_attribute__((nonnull));
+extern void blkid_probe_reset_hints(blkid_probe pr)
+                       __ul_attribute__((nonnull));
 
 /*
  * superblocks probing
index 4eb4c18e0e984286481e9da628f56c3ea0660d02..366f2c0c04fa72c3f48c12e6f8fff932eb251c59 100644 (file)
@@ -181,4 +181,5 @@ BLKID_2_36 {
 
 BLKID_2_37 {
        blkid_probe_set_hint;
+       blkid_probe_reset_hints;
 } BLKID_2_36;
index 7a7c902f0db331691eda12176843ed443d8296c5..113a5eec1f2c55ba6c3d96ecb36d9e9e4bdecc72 100644 (file)
@@ -121,7 +121,6 @@ static const struct blkid_chaindrv *chains_drvs[] = {
 };
 
 static void blkid_probe_reset_values(blkid_probe pr);
-static void blkid_probe_reset_hints(blkid_probe pr);
 
 /**
  * blkid_new_probe:
@@ -406,7 +405,6 @@ void blkid_reset_probe(blkid_probe pr)
        int i;
 
        blkid_probe_reset_values(pr);
-       blkid_probe_reset_hints(pr);
        blkid_probe_set_wiper(pr, 0, 0);
 
        pr->cur_chain = NULL;
@@ -2038,7 +2036,7 @@ void blkid_probe_use_wiper(blkid_probe pr, uint64_t off, uint64_t size)
 }
 
 /**
- * blkid_probe_set_hint
+ * blkid_probe_set_hint:
  * @pr: probe
  * @name: hint name or NAME=value
  * @value: offset or another number
@@ -2114,7 +2112,13 @@ int blkid_probe_get_hint(blkid_probe pr, const char *name, uint64_t *value)
        return -EINVAL;
 }
 
-static void blkid_probe_reset_hints(blkid_probe pr)
+/**
+ * blkid_probe_reset_hints:
+ * @pr probe
+ *
+ * Removes all previously defined probinig hints. See also blkid_probe_set_hint().
+ */
+void blkid_probe_reset_hints(blkid_probe pr)
 {
        if (list_empty(&pr->hints))
                return;