summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks/zfs.c
diff options
context:
space:
mode:
authorHannes Reinecke2014-03-20 11:03:50 +0100
committerKarel Zak2014-03-20 15:26:48 +0100
commit37f4060225df0591ab8e1dd676dbc8115d900d4f (patch)
tree47b445e8868687025b4769ada1824a5bdd2e8b8e /libblkid/src/superblocks/zfs.c
parentblkid: stop scanning on I/O error (diff)
downloadkernel-qcow2-util-linux-37f4060225df0591ab8e1dd676dbc8115d900d4f.tar.gz
kernel-qcow2-util-linux-37f4060225df0591ab8e1dd676dbc8115d900d4f.tar.xz
kernel-qcow2-util-linux-37f4060225df0591ab8e1dd676dbc8115d900d4f.zip
blkid: convert superblocks to new calling convention
With the previous patch the scanning functions were modified to return a differentiated return code. To correctly abort scanning when an I/O error occurs we need to differentiate between 'error' (= -1) and 'not found' (= 1) in the probe functions. This patch updates all superblock scanning functions to the new calling convention. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libblkid/src/superblocks/zfs.c')
-rw-r--r--libblkid/src/superblocks/zfs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c
index fb86aec77..406ba2be8 100644
--- a/libblkid/src/superblocks/zfs.c
+++ b/libblkid/src/superblocks/zfs.c
@@ -185,7 +185,7 @@ static int probe_zfs(blkid_probe pr,
blkid_probe_get_buffer(pr, offset,
sizeof(struct zfs_uberblock));
if (ub == NULL)
- return -1;
+ return errno ? -errno : 1;
if (ub->ub_magic == UBERBLOCK_MAGIC) {
ub_offset = offset;
@@ -202,7 +202,7 @@ static int probe_zfs(blkid_probe pr,
}
if (found < 4)
- return -1;
+ return 1;
/* If we found the 4th uberblock, then we will have exited from the
* scanning loop immediately, and ub will be a valid uberblock. */
@@ -214,7 +214,7 @@ static int probe_zfs(blkid_probe pr,
if (blkid_probe_set_magic(pr, ub_offset,
sizeof(ub->ub_magic),
(unsigned char *) &ub->ub_magic))
- return -1;
+ return 1;
return 0;
}