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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled
[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
# scolobb
Sergiu Ivanov, interested non-student
Mail: <mailto:unlimitedscolobb@gmail.com>
Project: Namespace-based translator selection
---
## Current Task
Write the filesystem proxy for namespace-based translator selection (*nsmux*).
The code is at <http://github.com/scolobb/nsmux/tree/master>.
---
###Current Status
####DONE:
* The skeleton which mirrors the filesystem.
####TODO:
''(I manually fixed a broken merge, so this TODO might contain outdated information - ArneBab )''
* Implemented the propagation of a translator on all files belonging
to directory 'dir' in the case of the following query: 'dir,,x'
(might change, see the thing with "recursive wrappers")
* Create the generic filter translator.
* Any translator can access the untranslated version of the node it is
to be set upon by specifying the corresponding flags to the
<lib>_startup routine, where <lib> is the name of the library used
to create the translator.
* Create the translator '0' (providing the untranslated version of the
node).
* Create the "recursive wrappers" for one-node translators.
* Provide proxy nodes (modify the standard version of netfs_S_dir_lookup).
* Create the generic filtering translator.
* Create the translator '0' (providing the untranslated version of the
node).
* Create the "recursive wrappers" for one-node translators.
* Create special translators for the main proxy so that its functionality
should be complete.
* Refine the skeleton in several places so that it should become faster
and more reliable.
* Kill bugs.
* Integrate nsmux upstream.
* Solve the libtrivfs stacking issue.
* Patch libnetfs (it does not support file_get_translator_cntl, for
instance).
* Patch libnetfs (?).
---
###Progress
####6: Mon Aug 4 - ?
> Implementing the proxy nodes.
####5: Thu Jul 24 - Thu Jul 24:
> Created a *libnetfs*-based one-node translator, working exactly like the *libtrivfs*-based translator I had written before; the former, however, can be included in a translator stack.
####4: Tue Jul 22 - Thu Jul 24:
> Attempted to make a *libtrivfs*-based translator to be able to be stacked upon itself (to be able to receive a translator on top of itself, more exactly); attempted to borrow some code from *libnetfs* but this didn't bring any results.
####3: Sun Jul 20 - Tue Jul 22:
> Implemented the possibility to propagate a translator on all files belonging to a directory 'dir' in the request of the type 'dir,,x/'.
####2: Thu Jul 17 - Fri Jul 18:
> Extended the lookup code in *nsmux* to allow for looking up nodes like 'file,,x' and added the possibility to escape the double-comma in the following way: ',,,'.
####1: Mon Jul 12 - Tue Jul 13:
> Implemented a simple *libtrivfs*-based translator to test the lookup code for *nsmux*.
####0: Sat Jul 12 - Sat Jul 12:
> Made small changes to the code of *filterfs* to fit the needs of *nsmux*.
---
## Completed Tasks
####2: Sat May 3 - Fri Jul 17:
> Write a translator that should filter the contents of the directory it is set on according to some property. The property can be an arbitrary command.
> The code is at <http://github.com/scolobb/filterfs/tree/master>.
####1: Mon Apr 28 - Wed Apr 30:
> Wrote a Python extension module in C for retreiving the uptime. The module is based on the code of *w*.
####0: Sun Apr 27:
> Followed the code of *dmesgd* (<http://www.bddebian.com/junk/dmesgd/>) kindly offered by **bddebian** and rewrote it from scratch as a tutorial.
|