Commit 1300cf49 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

crtools: move all stuff about fdset in a separate header

Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent e85e5fdb
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "asm/types.h" #include "asm/types.h"
#include "list.h" #include "list.h"
#include "fdset.h"
#include "file-ids.h" #include "file-ids.h"
#include "kcmp-ids.h" #include "kcmp-ids.h"
#include "compiler.h" #include "compiler.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "asm/types.h" #include "asm/types.h"
#include "list.h" #include "list.h"
#include "fdset.h"
#include "namespaces.h" #include "namespaces.h"
#include "compiler.h" #include "compiler.h"
#include "crtools.h" #include "crtools.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "compiler.h" #include "compiler.h"
#include "asm/types.h" #include "asm/types.h"
#include "fdset.h"
#include "eventfd.h" #include "eventfd.h"
#include "proc_parse.h" #include "proc_parse.h"
#include "crtools.h" #include "crtools.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "compiler.h" #include "compiler.h"
#include "asm/types.h" #include "asm/types.h"
#include "fdset.h"
#include "eventpoll.h" #include "eventpoll.h"
#include "proc_parse.h" #include "proc_parse.h"
#include "crtools.h" #include "crtools.h"
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "image.h" #include "image.h"
#include "files.h" #include "files.h"
#include "files-reg.h" #include "files-reg.h"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include "fdset.h"
#include "file-lock.h" #include "file-lock.h"
#include "parasite.h" #include "parasite.h"
#include "parasite-syscall.h" #include "parasite-syscall.h"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "file-ids.h" #include "file-ids.h"
#include "mount.h" #include "mount.h"
#include "files.h" #include "files.h"
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "compiler.h" #include "compiler.h"
#include "asm/types.h" #include "asm/types.h"
#include "fdset.h"
#include "fsnotify.h" #include "fsnotify.h"
#include "proc_parse.h" #include "proc_parse.h"
#include "syscall.h" #include "syscall.h"
......
#include <unistd.h> #include <unistd.h>
#include <stdarg.h> #include <stdarg.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "image.h" #include "image.h"
#include "eventpoll.h" #include "eventpoll.h"
#include "signalfd.h" #include "signalfd.h"
......
...@@ -57,7 +57,6 @@ void kill_inventory(void); ...@@ -57,7 +57,6 @@ void kill_inventory(void);
extern void print_data(unsigned long addr, unsigned char *data, size_t size); extern void print_data(unsigned long addr, unsigned char *data, size_t size);
extern void print_image_data(int fd, unsigned int length, int show); extern void print_image_data(int fd, unsigned int length, int show);
extern struct cr_fd_desc_tmpl fdset_template[CR_FD_MAX];
extern int open_image_dir(void); extern int open_image_dir(void);
extern void close_image_dir(void); extern void close_image_dir(void);
...@@ -70,24 +69,6 @@ void up_page_ids_base(void); ...@@ -70,24 +69,6 @@ void up_page_ids_base(void);
#define LAST_PID_PATH "/proc/sys/kernel/ns_last_pid" #define LAST_PID_PATH "/proc/sys/kernel/ns_last_pid"
struct cr_fdset {
int fd_off;
int fd_nr;
int *_fds;
};
static inline int fdset_fd(const struct cr_fdset *fdset, int type)
{
int idx;
idx = type - fdset->fd_off;
BUG_ON(idx > fdset->fd_nr);
return fdset->_fds[idx];
}
extern struct cr_fdset *glob_fdset;
int cr_dump_tasks(pid_t pid); int cr_dump_tasks(pid_t pid);
int cr_pre_dump_tasks(pid_t pid); int cr_pre_dump_tasks(pid_t pid);
int cr_restore_tasks(void); int cr_restore_tasks(void);
...@@ -100,15 +81,6 @@ int cr_exec(int pid, char **opts); ...@@ -100,15 +81,6 @@ int cr_exec(int pid, char **opts);
#define O_SHOW (O_RDONLY) #define O_SHOW (O_RDONLY)
#define O_RSTR (O_RDONLY) #define O_RSTR (O_RDONLY)
struct cr_fdset *cr_task_fdset_open(int pid, int mode);
struct cr_fdset *cr_fdset_open_range(int pid, int from, int to,
unsigned long flags);
#define cr_fdset_open(pid, type, flags) cr_fdset_open_range(pid, \
_CR_FD_##type##_FROM, _CR_FD_##type##_TO, flags)
struct cr_fdset *cr_glob_fdset_open(int mode);
void close_cr_fdset(struct cr_fdset **cr_fdset);
struct fdt { struct fdt {
int nr; /* How many tasks share this fd table */ int nr; /* How many tasks share this fd table */
pid_t pid; /* Who should restore this fd table */ pid_t pid; /* Who should restore this fd table */
......
#ifndef __CR_FDSET_H__
#define __CR_FDSET_H__
#include "image-desc.h"
#include "bug.h"
struct cr_fdset {
int fd_off;
int fd_nr;
int *_fds;
};
static inline int fdset_fd(const struct cr_fdset *fdset, int type)
{
int idx;
idx = type - fdset->fd_off;
BUG_ON(idx > fdset->fd_nr);
return fdset->_fds[idx];
}
extern struct cr_fdset *glob_fdset;
extern struct cr_fd_desc_tmpl fdset_template[CR_FD_MAX];
struct cr_fdset *cr_task_fdset_open(int pid, int mode);
struct cr_fdset *cr_fdset_open_range(int pid, int from, int to,
unsigned long flags);
#define cr_fdset_open(pid, type, flags) cr_fdset_open_range(pid, \
_CR_FD_##type##_FROM, _CR_FD_##type##_TO, flags)
struct cr_fdset *cr_glob_fdset_open(int mode);
void close_cr_fdset(struct cr_fdset **cr_fdset);
#endif
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "util.h" #include "util.h"
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "syscall.h" #include "syscall.h"
#include "namespaces.h" #include "namespaces.h"
#include "sysctl.h" #include "sysctl.h"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <stdlib.h> #include <stdlib.h>
#include "util.h" #include "util.h"
#include "fdset.h"
#include "syscall.h" #include "syscall.h"
#include "uts_ns.h" #include "uts_ns.h"
#include "ipc_ns.h" #include "ipc_ns.h"
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <sched.h> #include <sched.h>
#include <sys/mount.h> #include <sys/mount.h>
#include "fdset.h"
#include "syscall-types.h" #include "syscall-types.h"
#include "namespaces.h" #include "namespaces.h"
#include "net.h" #include "net.h"
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "protobuf/core.pb-c.h" #include "protobuf/core.pb-c.h"
#include "protobuf/pagemap.pb-c.h" #include "protobuf/pagemap.pb-c.h"
#include "fdset.h"
#include "syscall.h" #include "syscall.h"
#include "ptrace.h" #include "ptrace.h"
#include "asm/processor-flags.h" #include "asm/processor-flags.h"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <sys/mman.h> #include <sys/mman.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "image.h" #include "image.h"
#include "files.h" #include "files.h"
#include "pipes.h" #include "pipes.h"
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "signalfd.h" #include "signalfd.h"
#include "proc_parse.h" #include "proc_parse.h"
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "image.h" #include "image.h"
#include "util.h" #include "util.h"
#include "log.h" #include "log.h"
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "asm/types.h" #include "asm/types.h"
#include "libnetlink.h" #include "libnetlink.h"
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "inet_diag.h" #include "inet_diag.h"
#include "files.h" #include "files.h"
#include "image.h" #include "image.h"
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <poll.h> #include <poll.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "files.h" #include "files.h"
#include "sockets.h" #include "sockets.h"
#include "util.h" #include "util.h"
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include "asm/types.h" #include "asm/types.h"
#include "fdset.h"
#include "files.h" #include "files.h"
#include "sockets.h" #include "sockets.h"
#include "libnetlink.h" #include "libnetlink.h"
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "asm/types.h" #include "asm/types.h"
#include "list.h" #include "list.h"
#include "fdset.h"
#include "image.h" #include "image.h"
#include "crtools.h" #include "crtools.h"
#include "util.h" #include "util.h"
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "asm/types.h" #include "asm/types.h"
#include "libnetlink.h" #include "libnetlink.h"
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "unix_diag.h" #include "unix_diag.h"
#include "files.h" #include "files.h"
#include "file-ids.h" #include "file-ids.h"
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "syscall.h" #include "syscall.h"
#include "files.h" #include "files.h"
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "servicefd.h" #include "servicefd.h"
#include "image.h" #include "image.h"
#include "util.h" #include "util.h"
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "crtools.h" #include "crtools.h"
#include "fdset.h"
#include "protobuf.h" #include "protobuf.h"
#include "cr-show.h" #include "cr-show.h"
#include "string.h" #include "string.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment