[[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: Project: Namespace-based translator selection --- ## Current Task Write the filesystem proxy for namespace-based translator selection (*nsmux*). The code is at . --- ###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 _startup routine, where 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 . ####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* () kindly offered by **bddebian** and rewrote it from scratch as a tutorial.