9d838c0f72
- workaround for send api breakage - Added patch: send-stream-api-wokaround.patch OBS-URL: https://build.opensuse.org/request/show/247054 OBS-URL: https://build.opensuse.org/package/show/filesystems/btrfsprogs?expand=0&rev=169
56 lines
1.9 KiB
Diff
56 lines
1.9 KiB
Diff
Index: btrfs-progs-v3.16/cmds-receive.c
|
|
===================================================================
|
|
--- btrfs-progs-v3.16.orig/cmds-receive.c
|
|
+++ btrfs-progs-v3.16/cmds-receive.c
|
|
@@ -877,7 +877,7 @@ static int do_receive(struct btrfs_recei
|
|
goto out;
|
|
|
|
while (!end) {
|
|
- ret = btrfs_read_and_process_send_stream(r_fd, &send_ops, r,
|
|
+ ret = btrfs_read_and_process_send_stream2(r_fd, &send_ops, r,
|
|
r->honor_end_cmd,
|
|
max_errors);
|
|
if (ret < 0)
|
|
Index: btrfs-progs-v3.16/send-stream.c
|
|
===================================================================
|
|
--- btrfs-progs-v3.16.orig/send-stream.c
|
|
+++ btrfs-progs-v3.16/send-stream.c
|
|
@@ -436,11 +436,21 @@ out:
|
|
}
|
|
|
|
/*
|
|
+ * Temporary backward compatibility workaround
|
|
+ */
|
|
+int btrfs_read_and_process_send_stream(int fd,
|
|
+ struct btrfs_send_ops *ops, void *user,
|
|
+ int honor_end_cmd)
|
|
+{
|
|
+ return btrfs_read_and_process_send_stream2(fd, ops, user, honor_end_cmd, 1);
|
|
+}
|
|
+
|
|
+/*
|
|
* If max_errors is 0, then don't stop processing the stream if one of the
|
|
* callbacks in btrfs_send_ops structure returns an error. If greater than
|
|
* zero, stop after max_errors errors happened.
|
|
*/
|
|
-int btrfs_read_and_process_send_stream(int fd,
|
|
+int btrfs_read_and_process_send_stream2(int fd,
|
|
struct btrfs_send_ops *ops, void *user,
|
|
int honor_end_cmd,
|
|
u64 max_errors)
|
|
Index: btrfs-progs-v3.16/send-stream.h
|
|
===================================================================
|
|
--- btrfs-progs-v3.16.orig/send-stream.h
|
|
+++ btrfs-progs-v3.16/send-stream.h
|
|
@@ -58,6 +58,10 @@ struct btrfs_send_ops {
|
|
|
|
int btrfs_read_and_process_send_stream(int fd,
|
|
struct btrfs_send_ops *ops, void *user,
|
|
+ int honor_end_cmd);
|
|
+/* Temporary API */
|
|
+int btrfs_read_and_process_send_stream2(int fd,
|
|
+ struct btrfs_send_ops *ops, void *user,
|
|
int honor_end_cmd,
|
|
u64 max_errors);
|
|
|