git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Btrfs: send, fix issuing write op when processing hole in no data mode
[sfrench/cifs-2.6.git]
/
fs
/
btrfs
/
send.c
diff --git
a/fs/btrfs/send.c
b/fs/btrfs/send.c
index 20d3300bd26896a905502b0ba5b5a0372a59e849..484e2af793de2a86fa206196661d47cda078f0c2 100644
(file)
--- a/
fs/btrfs/send.c
+++ b/
fs/btrfs/send.c
@@
-1059,12
+1059,6
@@
static int iterate_dir_item(struct btrfs_root *root, struct btrfs_path *path,
}
}
}
}
- ret = btrfs_is_name_len_valid(eb, path->slots[0],
- (unsigned long)(di + 1), name_len + data_len);
- if (!ret) {
- ret = -EIO;
- goto out;
- }
if (name_len + data_len > buf_len) {
buf_len = name_len + data_len;
if (is_vmalloc_addr(buf)) {
if (name_len + data_len > buf_len) {
buf_len = name_len + data_len;
if (is_vmalloc_addr(buf)) {
@@
-5011,6
+5005,9
@@
static int send_hole(struct send_ctx *sctx, u64 end)
u64 len;
int ret = 0;
u64 len;
int ret = 0;
+ if (sctx->flags & BTRFS_SEND_FLAG_NO_FILE_DATA)
+ return send_update_extent(sctx, offset, end - offset);
+
p = fs_path_alloc();
if (!p)
return -ENOMEM;
p = fs_path_alloc();
if (!p)
return -ENOMEM;