btrfs_wipe_existing_sb() misses calling blkid_do_fullprobe() to do
the real probe. After calling blkid_new_probe() &
blkid_probe_set_device() to setup blkid_probe context, it directly
calls blkid_probe_lookup_value(). This results in
blkid_probe_lookup_value returning -1, because pr->values is empty.

Signed-off-by: Fox Chen <foxhlc...@gmail.com>
---
 common/device-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/device-utils.c b/common/device-utils.c
index c860b946..f8e2e776 100644
--- a/common/device-utils.c
+++ b/common/device-utils.c
@@ -114,7 +114,7 @@ static int btrfs_wipe_existing_sb(int fd)
        if (!pr)
                return -1;
 
-       if (blkid_probe_set_device(pr, fd, 0, 0)) {
+       if (blkid_probe_set_device(pr, fd, 0, 0) || blkid_do_fullprobe(pr)) {
                ret = -1;
                goto out;
        }
-- 
2.31.0

Reply via email to