summaryrefslogtreecommitdiff
path: root/node.h
diff options
context:
space:
mode:
authorSergiu Ivanov <unlimitedscolobb@gmail.com>2009-01-18 20:00:08 +0200
committerSergiu Ivanov <unlimitedscolobb@gmail.com>2009-01-18 20:00:08 +0200
commitb957be8b0ed3c5b38434db606122e2904e121de4 (patch)
tree6da2b85f655d61b0a14b1c4b30c96df69a31ed87 /node.h
parentfd0bc23b08aa9ff76d61f753149b5e4fbf2c5a30 (diff)
Prepared struct node for stacks of shadow nodes
So far dynamic translator stacks were created in the following fashion: nsmux created a shadow node on which the whole dynamic translator stack was built. This commit starts the transition to a different strategy: the new approach consists in setting *each* dynamic translator on its personal shadow node. To achieve such functionality the set of fiels of struct node was modified and the bits of code that manipulated these fields were stripped out. The code is not functional now. The coming commits will bring it back to life.
Diffstat (limited to 'node.h')
-rw-r--r--node.h31
1 files changed, 6 insertions, 25 deletions
diff --git a/node.h b/node.h
index 0f7201083..062c4e827 100644
--- a/node.h
+++ b/node.h
@@ -78,22 +78,13 @@ struct netnode
/*a port to the underlying filesystem */
file_t port;
- /*the port to the untranslated version of the node */
- file_t port_notrans;
+ /*the control port of the translator sitting on this node, in case
+ this node is a shadow node */
+ fsys_t trans_cntl;
- /*the malloced set of translators which have to be stacked upon this node
- and upon its children; the corresponding translators will have to decide
- on their own whether to accept directories or not */
- char *trans;
-
- /*the number of translators listed in `translators` */
- size_t ntrans;
-
- /*the length of the list of translators (in bytes) */
- size_t translen;
-
- /*the list of control ports to the translators being set on this node */
- port_el_t *cntl_ports;
+ /*the reference to the shadow node that is below the current shadow
+ node in the dynamic translator stack */
+ node_t * below;
/*the neighbouring entries in the cache */
node_t *ncache_prev, *ncache_next;
@@ -161,14 +152,4 @@ error_t node_set_translators (struct protid *diruser, node_t * np,
size_t ntrans, int flags, char * filename,
mach_port_t * port);
/*---------------------------------------------------------------------------*/
-/*Kill the topmost translator for this node*/
-/*This function will normally be called from netfs_attempt_lookup,
- therefore it's better that the caller should provide the parent node
- for `node`.*/
-error_t node_kill_translator (node_t * dir, node_t * node);
-/*---------------------------------------------------------------------------*/
-/*Kills all translators on the current node or on all underlying nodes
- it the current node is a directory*/
-void node_kill_translators (node_t * node);
-/*---------------------------------------------------------------------------*/
#endif /*__NODE_H__*/