<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>0a5fcd403943fbbdc0a2ba35283f1135f97c48dc</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/c9110f9c7d71fa9b157540a7aa2ade7f34b79968</url>
    <id>c9110f9c7d71fa9b157540a7aa2ade7f34b79968</id>
    <committed-date>2009-04-12T15:03:40-07:00</committed-date>
    <authored-date>2009-04-12T15:03:40-07:00</authored-date>
    <message>nsmux can shutdown all dynamic translators on exit

Now nsmux can shutdown all of its dynamic translators on exit, thus
doing sufficient cleanup. One can tell nsmux to shutdown dynamic
translators using the ``--recursive'' option to settrans. Note that
because fsys_goaway returns immediately as the RPC is processed, while
the receiver may still remain in memory, doing something like

  settrans -g --recursive foo

where nsmux is sitting on foo will almost always result in a ``Server
busy'' error message. The reason is that libnetfs counts how many open
ports to its nodes there are at shutdown and in most cases it does the
check *before* the dynamic translators manage to drop their
references. Therefore, the aforementioned command gracefully kills all
dynamic translators. Invoked the second time, this command will
shutdown nsmux, too. Immediate shutdown with killing dynamic
translators can be achieved via

  settrans -gf --recursive foo</message>
    <tree>86723a412757f6d44ac60e8efec921fd14777987</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>1e8766f3649e8a97595fad2a8ca550028e5e3f4a</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/6cbf37e304b352d3acfd6d719ddfa7a7fbbc3bbb</url>
    <id>6cbf37e304b352d3acfd6d719ddfa7a7fbbc3bbb</id>
    <committed-date>2009-04-08T23:03:51-07:00</committed-date>
    <authored-date>2009-04-08T23:03:51-07:00</authored-date>
    <message>Updated copyright years

The copyright years were listed only up to 2008, so I added
2009. Also, some of the files I created from scratch used to
list copyright years starting with 2001, which was wrong.
This has also been corrected.</message>
    <tree>7300d43003a35e8228ecbffa214240149de2d90e</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b957be8b0ed3c5b38434db606122e2904e121de4</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/439bd02eb00358b50e2d5123ae27e839d8f1a8a6</url>
    <id>439bd02eb00358b50e2d5123ae27e839d8f1a8a6</id>
    <committed-date>2009-01-20T12:08:25-08:00</committed-date>
    <authored-date>2009-01-20T12:08:25-08:00</authored-date>
    <message>Magic syntax handling removed from netfs_attempt_lookup_improved

Up to now it was netfs_attempt_lookup_improved who handled the
magic syntax for ``,,''. Now the idea is to handle this syntax
via retries and netfs_attempt_lookup_improved is in no position
to manage this. In further commits the magic syntax will be
handled by netfs_S_dir_lookup. Note nsmux does not actually
work at the moment.</message>
    <tree>63a27d8992b4b575e182072d594bcde8819a0e1c</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>59f4d4d2b67028c01f41ea0de0f12934b4fad07b</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/a54273639f6afd659c15326cb997922fcecfe89a</url>
    <id>a54273639f6afd659c15326cb997922fcecfe89a</id>
    <committed-date>2008-11-21T13:54:40-08:00</committed-date>
    <authored-date>2008-11-21T13:54:40-08:00</authored-date>
    <message>Moved the code to GCS

Now the code is (hopefully) compliant with GNU Coding Standards.</message>
    <tree>3f240fed8fcfd7f14cbc5b7d059f48f6eb9707cb</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>41e54572aac563537d961b3f284c100411c59532</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/b973a117cae3021b87d408af573bb1dbe153c132</url>
    <id>b973a117cae3021b87d408af573bb1dbe153c132</id>
    <committed-date>2008-10-03T01:03:44-07:00</committed-date>
    <authored-date>2008-10-03T01:03:44-07:00</authored-date>
    <message>Copied the implementation of netfs_S_file_get_translator_cntl from libdiskfs.

By default, libnetfs does not implement this callback, which,
BTW, makes impossible to trace the translator stack consisting
of libnetfs translators. nsmux not only needs an implementation
of this routine, but also requires customizations in order for
filters to trace translator stacks on real nodes.</message>
    <tree>832b7ba1e8dd7c29a40d45560c85f3492186a517</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0d2f7d724254ad78d61b4a2004879b90bf2587d4</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/41e54572aac563537d961b3f284c100411c59532</url>
    <id>41e54572aac563537d961b3f284c100411c59532</id>
    <committed-date>2008-10-03T01:01:10-07:00</committed-date>
    <authored-date>2008-10-03T01:01:10-07:00</authored-date>
    <message>Revert &quot;Cloned the native implementation of netfs_S_fsys_getroot.&quot;

This reverts commit 7200dac108c4a8981b7f7f5f90757409c3e6d5bf.</message>
    <tree>23a256044ceedc93deb4576231473e8b26fc26a8</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e7b2aaa4548c0fa5fb5d6c8586fee63748d16dab</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/0d2f7d724254ad78d61b4a2004879b90bf2587d4</url>
    <id>0d2f7d724254ad78d61b4a2004879b90bf2587d4</id>
    <committed-date>2008-10-03T00:59:53-07:00</committed-date>
    <authored-date>2008-10-03T00:59:53-07:00</authored-date>
    <message>Revert &quot;Copied the implementation of netfs_S_file_get_translator_cntl from libdiskfs.&quot;

This reverts commit e7b2aaa4548c0fa5fb5d6c8586fee63748d16dab.</message>
    <tree>4d870907262ca5ced29115c45f838d9f4252a04d</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>7200dac108c4a8981b7f7f5f90757409c3e6d5bf</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/e7b2aaa4548c0fa5fb5d6c8586fee63748d16dab</url>
    <id>e7b2aaa4548c0fa5fb5d6c8586fee63748d16dab</id>
    <committed-date>2008-10-01T11:39:54-07:00</committed-date>
    <authored-date>2008-10-01T11:39:54-07:00</authored-date>
    <message>Copied the implementation of netfs_S_file_get_translator_cntl from libdiskfs.

By default, libnetfs does not implement this callback, which,
BTW, makes impossible to trace the translator stack consisting
of libnetfs translators. nsmux not only needs an implementation
of this routine, but also requires customizations in order for
filters to trace translator stacks on real nodes.</message>
    <tree>a9b40c9c1a51eb12a7a1a4b151f2bc3ad5954021</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>783e451ddefe81ef0c83412569b0a99c415f28d9</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/7200dac108c4a8981b7f7f5f90757409c3e6d5bf</url>
    <id>7200dac108c4a8981b7f7f5f90757409c3e6d5bf</id>
    <committed-date>2008-10-01T11:08:57-07:00</committed-date>
    <authored-date>2008-10-01T11:08:57-07:00</authored-date>
    <message>Cloned the native implementation of netfs_S_fsys_getroot.

I cloned the native implementation of netfs_S_fsys_getroot,
since we filter translators run on nsmux nodes to see the
translator stacks of the real filesystem nodes.</message>
    <tree>4d870907262ca5ced29115c45f838d9f4252a04d</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>13fa6563250dcd4b2d1a54f15aba1bb7d8aace28</id>
      </parent>
    </parents>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/dd5f567d830707ca1530e8e3c2ef7b1c6b4b3862</url>
    <id>dd5f567d830707ca1530e8e3c2ef7b1c6b4b3862</id>
    <committed-date>2008-09-07T12:36:45-07:00</committed-date>
    <authored-date>2008-09-07T12:36:45-07:00</authored-date>
    <message>Added proxy nodes, optimized node management policy

Now, when 'file,,x' is requested, nsmux will create a proxy
node and will set the translator 'x' on this node, not on
the real filesystem node. Also, nsmux will not create nodes
for simple file looks, instead it will simply return the
port to the required file, thus avoiding the necessity
to handle IO operations inside itself.</message>
    <tree>0b468f7df0a4aaba9a4c09762825932ac530a4f5</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array"/>
    <author>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </author>
    <url>http://github.com/scolobb/nsmux/commit/c9c70745fbdb4be82796f94e5601109d9071bb46</url>
    <id>c9c70745fbdb4be82796f94e5601109d9071bb46</id>
    <committed-date>2008-07-13T10:26:34-07:00</committed-date>
    <authored-date>2008-07-13T10:26:34-07:00</authored-date>
    <message>Copied the skeleton for mirroring a directory from filterfs.

At the moment nsmux is only capable of creating a read-only
mirror of the given directory.</message>
    <tree>b0ec5e62a5f9ee77bc7f52f90a4bba47e74448a7</tree>
    <committer>
      <name>Sergiu Ivanov</name>
      <email>unlimitedscolobb@gmail.com</email>
    </committer>
  </commit>
</commits>
