Update ABD stats for linear page Linux
[zfs.git] / tests / zfs-tests / cmd / zed_fd_spill-zedlet.c
blobb248579abb7ce3dabc2f69840b49ecf6eecd75ed
1 /*
2 * Permission to use, copy, modify, and/or distribute this software for
3 * any purpose with or without fee is hereby granted.
5 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
6 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
7 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
10 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
11 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 #include <sys/types.h>
15 #include <sys/wait.h>
16 #include <errno.h>
17 #include <fcntl.h>
18 #include <unistd.h>
19 #include <stdlib.h>
20 #include <string.h>
21 #include <stdio.h>
23 int main(void) {
24 if (fork()) {
25 int err;
26 wait(&err);
27 return (err);
30 char buf[64];
31 sprintf(buf, "/tmp/zts-zed_fd_spill-logdir/%d", getppid());
32 int fd = creat(buf, 0644);
33 if (fd == -1) {
34 (void) fprintf(stderr, "creat(%s) failed: %s\n", buf,
35 strerror(errno));
36 exit(EXIT_FAILURE);
39 if (dup2(fd, STDOUT_FILENO) == -1) {
40 close(fd);
41 (void) fprintf(stderr, "dup2(%s, STDOUT_FILENO) failed: %s\n",
42 buf, strerror(errno));
43 exit(EXIT_FAILURE);
46 snprintf(buf, sizeof (buf), "/proc/%d/fd", getppid());
47 execlp("ls", "ls", buf, NULL);
48 _exit(127);