1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
From 7c31427a144e98941620a55b225a8452e4b5985b Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@gnupg.org>
Date: Tue, 26 Apr 2016 15:43:26 +0200
Subject: [PATCH hurd 1/2] Unify and document the way fsids are handled in
trivfs translators
* doc/hurd.texi: Clarify what happens if 'trivfs_fsid' is zero.
* login/utmp.c: Leave 'trivfs_fsid' at zero.
* pfinet/main.c: Likewise.
* trans/ifsock.c: Likewise.
* trans/proxy-defpager.c: Likewise.
---
doc/hurd.texi | 4 +++-
login/utmp.c | 2 +-
pfinet/main.c | 1 -
trans/ifsock.c | 2 +-
trans/proxy-defpager.c | 2 --
5 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/doc/hurd.texi b/doc/hurd.texi
index 525bfa7..2bcf561 100644
--- a/doc/hurd.texi
+++ b/doc/hurd.texi
@@ -2284,7 +2284,9 @@ and functions:
@deftypevarx {extern int} trivfs_fsid
These variables are returned in the @var{st_fstype} and @var{st_fsid}
fields of @code{struct stat}. @var{trivfs_fstype} should be chosen
-from the @code{FSTYPE_*} constants found in @code{<hurd/hurd_types.h>}.
+from the @code{FSTYPE_*} constants found in
+@code{<hurd/hurd_types.h>}. If @code{trivfs_fsid} is zero, trivfs
+will use the pid of the translator instead.
@end deftypevar
@deftypevar {extern int} trivfs_allow_open
diff --git a/login/utmp.c b/login/utmp.c
index c7c1ac0..f366d44 100644
--- a/login/utmp.c
+++ b/login/utmp.c
@@ -364,7 +364,7 @@ S_login_get_login_collection(file_t utmp, int *pid)
#define PT_PROC 2 /* Our process handle. */
int trivfs_fstype = FSTYPE_MISC;
-int trivfs_fsid = 0; /* ??? */
+int trivfs_fsid = 0;
int trivfs_support_read = 0;
int trivfs_support_write = 0;
diff --git a/pfinet/main.c b/pfinet/main.c
index 4bfa318..5e4b749 100644
--- a/pfinet/main.c
+++ b/pfinet/main.c
@@ -283,7 +283,6 @@ main (int argc,
pfinet_bucket = ports_create_bucket ();
addrport_class = ports_create_class (clean_addrport, 0);
socketport_class = ports_create_class (clean_socketport, 0);
- trivfs_fsid = getpid ();
mach_port_allocate (mach_task_self (), MACH_PORT_RIGHT_RECEIVE,
&fsys_identity);
diff --git a/trans/ifsock.c b/trans/ifsock.c
index 13a2133..908fe13 100644
--- a/trans/ifsock.c
+++ b/trans/ifsock.c
@@ -51,7 +51,7 @@ struct port_class *node_class;
struct port_bucket *port_bucket;
int trivfs_fstype = FSTYPE_IFSOCK;
-int trivfs_fsid = 0; /* ??? */
+int trivfs_fsid = 0;
int trivfs_support_read = 0;
int trivfs_support_write = 0;
diff --git a/trans/proxy-defpager.c b/trans/proxy-defpager.c
index 9a8436a..e2b15ea 100644
--- a/trans/proxy-defpager.c
+++ b/trans/proxy-defpager.c
@@ -286,8 +286,6 @@ main (int argc, char **argv)
if (bootstrap == MACH_PORT_NULL)
error (1, 0, "Must be started as a translator");
- trivfs_fsid = getpid ();
-
err = trivfs_add_protid_port_class (&trivfs_protid_class);
if (err)
error (1, 0, "error creating protid port class");
--
2.1.4
|