lib/loopdev: use warn_unused_result forimportant functions
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
1aae31c048
commit
defa0710b6
6 changed files with 74 additions and 36 deletions
|
@ -148,6 +148,7 @@ int loopcxt_has_device(struct loopdev_cxt *lc)
|
|||
*/
|
||||
int loopcxt_init(struct loopdev_cxt *lc, int flags)
|
||||
{
|
||||
int rc;
|
||||
struct stat st;
|
||||
struct loopdev_cxt dummy = UL_LOOPDEVCXT_EMPTY;
|
||||
|
||||
|
@ -156,7 +157,10 @@ int loopcxt_init(struct loopdev_cxt *lc, int flags)
|
|||
|
||||
memcpy(lc, &dummy, sizeof(dummy));
|
||||
lc->flags = flags;
|
||||
loopcxt_set_device(lc, NULL);
|
||||
|
||||
rc = loopcxt_set_device(lc, NULL);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (!(lc->flags & LOOPDEV_FL_NOSYSFS) &&
|
||||
get_linux_version() >= KERNEL_VERSION(2,6,37))
|
||||
|
@ -188,7 +192,7 @@ void loopcxt_deinit(struct loopdev_cxt *lc)
|
|||
free(lc->filename);
|
||||
lc->filename = NULL;
|
||||
|
||||
loopcxt_set_device(lc, NULL);
|
||||
ignore_result( loopcxt_set_device(lc, NULL) );
|
||||
loopcxt_deinit_iterator(lc);
|
||||
|
||||
errno = errsv;
|
||||
|
@ -378,8 +382,8 @@ static int loopiter_set_device(struct loopdev_cxt *lc, const char *device)
|
|||
if ((lc->iter.flags & LOOPITER_FL_FREE) && !used)
|
||||
return 0;
|
||||
|
||||
DBG(lc, loopdev_debug("iter: setting device"));
|
||||
loopcxt_set_device(lc, NULL);
|
||||
DBG(lc, loopdev_debug("iter: unset device"));
|
||||
ignore_result( loopcxt_set_device(lc, NULL) );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1274,27 +1278,29 @@ int loopdev_is_autoclear(const char *device)
|
|||
if (!device)
|
||||
return 0;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
loopcxt_set_device(&lc, device);
|
||||
rc = loopcxt_is_autoclear(&lc);
|
||||
loopcxt_deinit(&lc);
|
||||
rc = loopcxt_init(&lc, 0);
|
||||
if (!rc)
|
||||
rc = loopcxt_set_device(&lc, device);
|
||||
if (!rc)
|
||||
rc = loopcxt_is_autoclear(&lc);
|
||||
|
||||
loopcxt_deinit(&lc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
char *loopdev_get_backing_file(const char *device)
|
||||
{
|
||||
struct loopdev_cxt lc;
|
||||
char *res;
|
||||
char *res = NULL;
|
||||
|
||||
if (!device)
|
||||
return NULL;
|
||||
if (loopcxt_init(&lc, 0))
|
||||
return NULL;
|
||||
if (loopcxt_set_device(&lc, device) == 0)
|
||||
res = loopcxt_get_backing_file(&lc);
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
loopcxt_set_device(&lc, device);
|
||||
res = loopcxt_get_backing_file(&lc);
|
||||
loopcxt_deinit(&lc);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -1311,8 +1317,11 @@ int loopdev_is_used(const char *device, const char *filename,
|
|||
if (!device || !filename)
|
||||
return 0;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
loopcxt_set_device(&lc, device);
|
||||
rc = loopcxt_init(&lc, 0);
|
||||
if (!rc)
|
||||
rc = loopcxt_set_device(&lc, device);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
rc = !stat(filename, &st);
|
||||
rc = loopcxt_is_used(&lc, rc ? &st : NULL, filename, offset, flags);
|
||||
|
@ -1329,8 +1338,9 @@ int loopdev_delete(const char *device)
|
|||
if (!device)
|
||||
return -EINVAL;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
rc = loopcxt_set_device(&lc, device);
|
||||
rc = loopcxt_init(&lc, 0);
|
||||
if (!rc)
|
||||
rc = loopcxt_set_device(&lc, device);
|
||||
if (!rc)
|
||||
rc = loopcxt_delete_device(&lc);
|
||||
loopcxt_deinit(&lc);
|
||||
|
@ -1377,7 +1387,8 @@ char *loopdev_find_by_backing_file(const char *filename, uint64_t offset, int fl
|
|||
if (!filename)
|
||||
return NULL;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
if (loopcxt_init(&lc, 0))
|
||||
return NULL;
|
||||
if (loopcxt_find_by_backing_file(&lc, filename, offset, flags))
|
||||
res = loopcxt_strdup_device(&lc);
|
||||
loopcxt_deinit(&lc);
|
||||
|
@ -1393,12 +1404,14 @@ char *loopdev_find_by_backing_file(const char *filename, uint64_t offset, int fl
|
|||
int loopdev_count_by_backing_file(const char *filename, char **loopdev)
|
||||
{
|
||||
struct loopdev_cxt lc;
|
||||
int count = 0;
|
||||
int count = 0, rc;
|
||||
|
||||
if (!filename)
|
||||
return -1;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
rc = loopcxt_init(&lc, 0);
|
||||
if (rc)
|
||||
return rc;
|
||||
if (loopcxt_init_iterator(&lc, LOOPITER_FL_USED))
|
||||
return -1;
|
||||
|
||||
|
@ -1436,7 +1449,8 @@ static void test_loop_info(const char *device, int flags, int debug)
|
|||
char *p;
|
||||
uint64_t u64;
|
||||
|
||||
loopcxt_init(&lc, flags);
|
||||
if (loopcxt_init(&lc, flags))
|
||||
return
|
||||
loopcxt_enable_debug(&lc, debug);
|
||||
|
||||
if (loopcxt_set_device(&lc, device))
|
||||
|
@ -1462,7 +1476,8 @@ static void test_loop_scan(int flags, int debug)
|
|||
struct loopdev_cxt lc;
|
||||
int rc;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
if (loopcxt_init(&lc, 0))
|
||||
return;
|
||||
loopcxt_enable_debug(&lc, debug);
|
||||
|
||||
if (loopcxt_init_iterator(&lc, flags))
|
||||
|
@ -1488,9 +1503,11 @@ static void test_loop_scan(int flags, int debug)
|
|||
static int test_loop_setup(const char *filename, const char *device, int debug)
|
||||
{
|
||||
struct loopdev_cxt lc;
|
||||
int rc = 0;
|
||||
int rc;
|
||||
|
||||
loopcxt_init(&lc, 0);
|
||||
rc = loopcxt_init(&lc, 0);
|
||||
if (rc)
|
||||
return rc;
|
||||
loopcxt_enable_debug(&lc, debug);
|
||||
|
||||
if (device) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue