1 Technical notes on version 1.7 07Dec01
6 - This was a massive change to add use_count and locking
7 to handling of jcr's, to make the Storage daemon
8 accept any number of FD connections, and to add
9 authentication between the SD and FD.
10 - With these changes, we should be able to do multiple
13 Changes submitted this submission:
14 - Moved more variables into the common section of the jcr.
15 - Made client_name a malloc()ed buffer.
16 - Made routines that search for a jcr increment the
17 use count. This necessitated adding making a free_jcr()
18 and a free_locked_jcr() routines so that a jcr could
19 be freed up inside a loop walking down the jcr chain.
20 - Restructured free_jcr() so that it consists of common
21 code (to remove the jcr from the chain and free
22 common buffers) located in lib/jcr.c. The jcr now
23 also has a local free routine pointer. This pointer
24 is set during new_jcr(), and called from the global
26 - Modified bnet_thread_server() so that it is passed the
27 work queue pointer. This allows it to be used for listening
29 - Major modifications to the storage daemon. It now listens
30 on two sockets and accepts connections at any time.
31 Previously, it only accepted connections from the FD
32 when a job was started. The new scheme permits multiple
33 jobs to be started, which then wait for a connection from
34 the FD. When a connection is made, the proper jcr is found,
35 the FD is authenticated (and vise-versa), and the waiting
36 thread is awaken. The waiting job thread will wait 30
37 minutes for a FD connection and then cancel the job.
38 - Moved JobFiles and JobBytes into the common section of
40 - Added an improved random key generator for the Storage
41 daemon authentication key.