<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jsnbd, branch master</title>
<subtitle>OpenBMC JavaScript NBD connector sources</subtitle>
<id>https://git.raptorcs.com/git/jsnbd/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/jsnbd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/'/>
<updated>2019-03-27T00:54:38+00:00</updated>
<entry>
<title>js: Allow serving files &gt; 4GB in size</title>
<updated>2019-03-27T00:54:38+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2019-03-25T08:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=bcc6cc5bcadb20005ae03c8c4a4eb87006f0d222'/>
<id>urn:sha1:bcc6cc5bcadb20005ae03c8c4a4eb87006f0d222</id>
<content type='text'>
Currently, the javascript NBD server only handles files of sizes that
are representable in 32 bits.

Although we can't do full 64-bit offsets with Javascript's number
representation, we should be able to handle up to
Number.MAX_SAFE_INTEGER. This change adds support for using the top-32
bit field in file sizes and read request offsets.

Reported-by: Lei YU &lt;mine260309@gmail.com&gt;
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Change-Id: I41dee58c3913cba49c5cd73ebdd5d6fb56786d25
</content>
</entry>
<entry>
<title>client: fix gcc8 stringop-truncation warnings</title>
<updated>2018-10-29T12:47:33+00:00</updated>
<author>
<name>Brad Bishop</name>
<email>bradleyb@fuzziesquirrel.com</email>
</author>
<published>2018-10-29T12:44:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=d5b9857609401e3cf9c53b111134a6aab8e4573c'/>
<id>urn:sha1:d5b9857609401e3cf9c53b111134a6aab8e4573c</id>
<content type='text'>
| In function 'open_nbd_socket.isra.2',
|     inlined from 'main' at ../git/nbd-proxy.c:835:7:
| ../git/nbd-proxy.c:102:2: error: 'strncpy' specified bound 108 equals destination size [-Werror=stringop-truncation]
|   strncpy(addr.sun_path, path, sizeof(addr.sun_path));
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change-Id: I9f412d789f4e5ef1dffe05b37d903a5375fea8ec
Signed-off-by: Brad Bishop &lt;bradleyb@fuzziesquirrel.com&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: run start hook asynchronously</title>
<updated>2018-08-13T05:13:16+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-13T05:13:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=fa1d37502c87310886614949a8d72124762b2dcb'/>
<id>urn:sha1:fa1d37502c87310886614949a8d72124762b2dcb</id>
<content type='text'>
Currently, we run the start hook synchronously, and wait() for it to
complete.

This means that the proxy process will be blocked during the execution
of that hook, and no servicing any read/write requests from the nbd
device. If any part of the hook implementation needs to access the
device, it'll block waiting for the device (which is waiting for the
nbd-proxy, which is waiting for the hook).

This change runs the hook (for the "start" action) in the background,
while still servicing requests. This allows hooks to access the device.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: replace hook dir with a single executable</title>
<updated>2018-08-13T03:48:23+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-13T03:48:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=a87af8462346f7db6cac87ba13bac5a4b20132c3'/>
<id>urn:sha1:a87af8462346f7db6cac87ba13bac5a4b20132c3</id>
<content type='text'>
A future change will run the executable asynchronously. With a directory
of hooks, this gets overly complicated.

Replace the directory-of-hooks concept with a single hook. The hook
itself can then spawn multiple hooks if required (eg, with run-parts).

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: listen for udev change event before running start hook</title>
<updated>2018-08-10T04:44:47+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-10T03:16:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=4ac9246f8391ac5af736046fa6001632f91c1173'/>
<id>urn:sha1:4ac9246f8391ac5af736046fa6001632f91c1173</id>
<content type='text'>
Currently, we run the start state-change hook as soon as the nbd session
has been established. However, at that point the nbd device isn't
connected, as we haven't processed any read/write operations on the
block device.

This change defers running the start script until we know that the
device is initialised - when we see a udev change event occur. To do
this, we establish a udev monitor.

Once we see that state change, we run the state change hooks and shut
down the udev monitor.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: clear errors from checking hook presence</title>
<updated>2018-08-10T03:14:54+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-10T03:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=9b00deb26b4cd03bc1e33afe7a5e2c5e0e87f06c'/>
<id>urn:sha1:9b00deb26b4cd03bc1e33afe7a5e2c5e0e87f06c</id>
<content type='text'>
We don't want to report an error if a hook is inacessable (and is the
last hook we check), so clear rc in these conditions.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>autotools: use localstatedir, not runstatedir</title>
<updated>2018-08-10T03:13:03+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-10T03:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=caf6bb9c4b95710dd5b184894e94a183fe728ef4'/>
<id>urn:sha1:caf6bb9c4b95710dd5b184894e94a183fe728ef4</id>
<content type='text'>
.. runstatedir is only present in autoconf 2.70+

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: use CLOEXEC</title>
<updated>2018-08-09T05:46:19+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-09T05:32:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=4eeb9ed7d9c6ce4100c2cc4a8e31d7b58840dfcb'/>
<id>urn:sha1:4eeb9ed7d9c6ce4100c2cc4a8e31d7b58840dfcb</id>
<content type='text'>
We spawn a couple of subprocesses, and want to make sure we don't leak
file descriptors to those. Rather than closing before exec, set CLOEXEC
on sockets and internal pipes.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: Add state hook facility</title>
<updated>2018-08-09T05:46:19+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-09T05:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=c6134c1c85816d7a5b14ed0da157617543419ac5'/>
<id>urn:sha1:c6134c1c85816d7a5b14ed0da157617543419ac5</id>
<content type='text'>
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>nbd-proxy: Add metadata facility</title>
<updated>2018-08-09T05:46:19+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2018-08-09T02:41:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/jsnbd/commit/?id=13bb28fc42c9cb279bc72f083540360ea94d4a75'/>
<id>urn:sha1:13bb28fc42c9cb279bc72f083540360ea94d4a75</id>
<content type='text'>
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
</feed>
