[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH tarfs 2/6] Link to libpager and initialize it on startup
From: |
Sergey Bugaev |
Subject: |
[RFC PATCH tarfs 2/6] Link to libpager and initialize it on startup |
Date: |
Thu, 29 Apr 2021 21:57:12 +0300 |
---
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
- [RFC PATCH tarfs 0/6] mmap support for tarfs, Sergey Bugaev, 2021/04/29
- [RFC PATCH tarfs 2/6] Link to libpager and initialize it on startup,
Sergey Bugaev <=
- [RFC PATCH tarfs 4/6] Implement basic support for writable mappings, Sergey Bugaev, 2021/04/29
- [RFC PATCH tarfs 5/6] Attempt to implement mmap coherence, Sergey Bugaev, 2021/04/29
- [RFC PATCH tarfs 3/6] Implement basic read-only mmap support, Sergey Bugaev, 2021/04/29
- [RFC PATCH tarfs 6/6] Update TODO and BUGS, Sergey Bugaev, 2021/04/29
- [RFC PATCH tarfs 1/6] Plumb io_map () through the backend layer, Sergey Bugaev, 2021/04/29