[[!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 . --- ###Did this week * Modified the node cache so that it maintains shadow nodes alive. ###Plans for the next week * Implement the shutting down of translator stacks when *nsmux* is asked to go away (in case **antrik** considers that necessary). * Make *nsmux* provide the access to the translator stack of the real node, in case a translator (mainly, a filter) should ask for its underlying node to be opened in O_NOTRANS mode. --- ###Current Status ####DONE: * The skeleton which mirrors the filesystem. * Provide proxy nodes (modify the standard version of netfs_S_dir_lookup). ####TODO: * 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. * Implement sharing of dynamic translator stacks where possible. * Make dynamic translators go away as soon as they are not required. * 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). --- ###Progress ####8: Fri Sep 19: > Modified the ncache so that it now maintains shadow nodes (and directory nodes too, it is a side effect at the moment) alive. ####7: Sat Aug 30 - Fri Sep 5: > Added the code for shutting down dynamic translator stacks. ####6: Mon Aug 4 - Fri Aug 29: > Implemented 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.