--- Makefile | 2 +- main.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index e3936bfda..6e2eb422e 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ CFLAGS += -DDEBUG_ZIP # zip stores debugging # Note: -lz has to be first otherwise inflate() will be the exec server's # inflate function LDFLAGS = -L~ -lz -L. -lnetfs -lfshelp -liohelp -lports \ - -lihash -lshouldbeinlibc -lpthread -lstore -lbz2 + -lihash -lshouldbeinlibc -lpthread -lstore -lbz2 -lpager CTAGS = ctags SRC = main.c netfs.c tarfs.c tarlist.c fs.c cache.c tar.c names.c \ diff --git a/main.c b/main.c index 68268013f..90286de08 100644 --- a/main.c +++ b/main.c @@ -19,6 +19,7 @@ #include <hurd.h> #include <hurd/netfs.h> #include <hurd/paths.h> +#include <hurd/pager.h> #include <argp.h> #include <errno.h> #include <error.h> @@ -40,6 +41,8 @@ mach_port_t ul_node; /* Has to be defined for libnetfs... */ int netfs_maxsymlinks = 2; +struct port_bucket *tarfs_pager_bucket; + /* Main. */ int main (int argc, char **argv) @@ -47,6 +50,7 @@ main (int argc, char **argv) struct argp fs_argp; mach_port_t bootstrap_port; struct iouser *user; + struct pager_requests *pager_requests; error_t err; /* Defaults to tarfs. */ @@ -68,6 +72,14 @@ main (int argc, char **argv) error (EXIT_FAILURE, err, "cannot create root node"); ul_node = netfs_startup (bootstrap_port, 0); + /* Init libpager. */ + tarfs_pager_bucket = ports_create_bucket (); + if (!tarfs_pager_bucket) + error (EXIT_FAILURE, errno, "cannot create port bucket"); + err = pager_start_workers (tarfs_pager_bucket, &pager_requests); + if (err) + error (1, err, "cannot start libpager"); + for (;;) netfs_server_loop (); -- 2.31.1