btrfs-progs: use on-stack buffer for btrfs_scan_one_device
[btrfs-progs-unstable/devel.git] / library-test.c
blob142188a73b4583bcbf0138e5ba6458e85c0e481e
1 /*
2 * Copyright (C) 2014 SUSE. All rights reserved.
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
19 #include "kerncompat.h"
20 #include "version.h"
21 #include "send-stream.h"
24 * Reduced code snippet from snapper.git/snapper/Btrfs.cc
26 struct btrfs_send_ops send_ops = {
27 .subvol = NULL,
28 .snapshot = NULL,
29 .mkfile = NULL,
30 .mkdir = NULL,
31 .mknod = NULL,
32 .mkfifo = NULL,
33 .mksock = NULL,
34 .symlink = NULL,
35 .rename = NULL,
36 .link = NULL,
37 .unlink = NULL,
38 .rmdir = NULL,
39 .write = NULL,
40 .clone = NULL,
41 .set_xattr = NULL,
42 .remove_xattr = NULL,
43 .truncate = NULL,
44 .chmod = NULL,
45 .chown = NULL,
46 .utimes = NULL,
47 .update_extent = NULL,
51 * Link test only, not intended to be executed.
53 static int test_send_stream_api() {
54 int ret;
55 int fd = -1;
57 #if BTRFS_LIB_VERSION < 101
58 ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0);
59 #else
60 ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0, 1);
61 #endif
62 return ret;
65 int main() {
66 test_send_stream_api();
68 return 0;