projects
/
platform
/
upstream
/
btrfs-progs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
btrfs-progs: convert: Fix offset-by-one error in read_data_extent()
[platform/upstream/btrfs-progs.git]
/
cmds-send.c
diff --git
a/cmds-send.c
b/cmds-send.c
index
a4fb126
..
c5ecdaa
100644
(file)
--- a/
cmds-send.c
+++ b/
cmds-send.c
@@
-43,8
+43,9
@@
#include "send.h"
#include "send-utils.h"
#include "send.h"
#include "send-utils.h"
+#include "help.h"
-#define SEND_BUFFER_SIZE
(64 * 1024)
+#define SEND_BUFFER_SIZE
SZ_64K
/*
* Default is 1 for historical reasons, changing may break scripts that expect
/*
* Default is 1 for historical reasons, changing may break scripts that expect
@@
-70,8
+71,12
@@
static int get_root_id(struct btrfs_send *sctx, const char *path, u64 *root_id)
si = subvol_uuid_search(&sctx->sus, 0, NULL, 0, path,
subvol_search_by_path);
si = subvol_uuid_search(&sctx->sus, 0, NULL, 0, path,
subvol_search_by_path);
- if (!si)
- return -ENOENT;
+ if (IS_ERR_OR_NULL(si)) {
+ if (!si)
+ return -ENOENT;
+ else
+ return PTR_ERR(si);
+ }
*root_id = si->root_id;
free(si->path);
free(si);
*root_id = si->root_id;
free(si->path);
free(si);
@@
-85,8
+90,8
@@
static struct subvol_info *get_parent(struct btrfs_send *sctx, u64 root_id)
si_tmp = subvol_uuid_search(&sctx->sus, root_id, NULL, 0, NULL,
subvol_search_by_root_id);
si_tmp = subvol_uuid_search(&sctx->sus, root_id, NULL, 0, NULL,
subvol_search_by_root_id);
- if (
!si_tmp
)
- return
NULL
;
+ if (
IS_ERR_OR_NULL(si_tmp)
)
+ return
si_tmp
;
si = subvol_uuid_search(&sctx->sus, 0, si_tmp->parent_uuid, 0, NULL,
subvol_search_by_uuid);
si = subvol_uuid_search(&sctx->sus, 0, si_tmp->parent_uuid, 0, NULL,
subvol_search_by_uuid);
@@
-105,8
+110,11
@@
static int find_good_parent(struct btrfs_send *sctx, u64 root_id, u64 *found)
int i;
parent = get_parent(sctx, root_id);
int i;
parent = get_parent(sctx, root_id);
- if (!parent) {
- ret = -ENOENT;
+ if (IS_ERR_OR_NULL(parent)) {
+ if (!parent)
+ ret = -ENOENT;
+ else
+ ret = PTR_ERR(parent);
goto out;
}
goto out;
}
@@
-122,7
+130,7
@@
static int find_good_parent(struct btrfs_send *sctx, u64 root_id, u64 *found)
s64 tmp;
parent2 = get_parent(sctx, sctx->clone_sources[i]);
s64 tmp;
parent2 = get_parent(sctx, sctx->clone_sources[i]);
- if (
!parent2
)
+ if (
IS_ERR_OR_NULL(parent2)
)
continue;
if (parent2->root_id != parent->root_id) {
free(parent2->path);
continue;
if (parent2->root_id != parent->root_id) {
free(parent2->path);
@@
-136,9
+144,11
@@
static int find_good_parent(struct btrfs_send *sctx, u64 root_id, u64 *found)
parent2 = subvol_uuid_search(&sctx->sus,
sctx->clone_sources[i], NULL, 0, NULL,
subvol_search_by_root_id);
parent2 = subvol_uuid_search(&sctx->sus,
sctx->clone_sources[i], NULL, 0, NULL,
subvol_search_by_root_id);
-
- if (!parent2) {
- ret = -ENOENT;
+ if (IS_ERR_OR_NULL(parent2)) {
+ if (!parent2)
+ ret = -ENOENT;
+ else
+ ret = PTR_ERR(parent2);
goto out;
}
tmp = parent2->ctransid - parent->ctransid;
goto out;
}
tmp = parent2->ctransid - parent->ctransid;