- 04 Apr, 2014 5 commits
-
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
The state machine of tape drive in the drive catalogue of the tapeserverd daemon is now the following. Please note that the actual implementation of the state machine is not yet complete. start daemon / ------ send VDQM_UNIT_DOWN ------------------ | INIT |--------------------->| DOWN |<------------------- ------ ------------------ | | | ^ | | | | | | | tpconfig up | tpconfig down | | | | | | start daemon / v | | | send VDQM_UNIT_UP ------------------ | ------------------------>| UP | | ------------------ | | ^ | | | | | vdqm job / | SIGCHLD [success] | | fork | | | | | v | | ------------------ SIGCHLD [fail] | | RUNNING |--------------------| ------------------ | | ^ | | | | | tpconfig down | tpconfig up | | | | v | | ------------------ SIGCHLD | | WAITDOWN |-------------------- ------------------ When the tapeserverd daemon is started, depending on the initial state defined in /etc/castor/TPCONFIG, the daemon sends either a VDQM_UNIT_UP or VDQM_UNIT_DOWN status message to the vdqmd daemon. Once sent the state of the tape drive is either DRIVE_STATE_UP or DRIVE_STATE_DOWN respectively. A tape operator toggles the state of tape drive between DOWN and UP using the tpconfig adminstration tool. The tape daemon can receive a job from the vdqmd daemon when the state of tape drive is DRIVE_STATE_UP. On reception of the job the daemon forks a child process to run a tape mount session. A tape will be mounted and data will be transfered to and/or from that tape during the session. The tape drive is in the DRIVE_STATE_RUNNING state whilst the tape session is running. Once the vdqm job has been carried out, the child process completes and the state of the tape drive either returns to DRIVE_STATE_UP if there were no problems or to DRIVE_STATE_DOWN if there were. If the tape daemon receives a tpconfig down during a tape session, in other words whilst the drive in question is in the DRIVE_STATE_RUNNING state, then the state of the drive is moved to DRIVE_STATE_WAITDOWN. The tape session continues to run in the DRIVE_STATE_WAITDOWN state, however when the tape session is finished the state of the drive is moved to DRIVE_STATE_DOWN.
-
Steven Murray authored
-
- 03 Apr, 2014 3 commits
-
-
Steven Murray authored
PollReactorImpl objects own their handlers and therefore need to delete them where appropriate. A handler knows when it should be removed from its reactor and deleted from the heap. The PollEventHandler::handleEvent() method a handler now returns true if the handler wants its reactor to remove and delete it.
-
Eric Cano authored
Fixed the removal of #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL from previous commit in security headers. The script used to switch to #pragma once got fooled by their unusual structure.
-
Eric Cano authored
Fixed h/rfcntl.h which missed multiple inclusion guards entirely.
-
- 02 Apr, 2014 3 commits
-
-
Daniele Kruse authored
-
Daniele Kruse authored
-
Steven Murray authored
-
- 01 Apr, 2014 2 commits
-
-
Steven Murray authored
-
Steven Murray authored
POLLIN is unfortuntaley not the logical or of POLLRDNORM and POLLRDBAND on SLC 5. I therefore replaced POLLIN with the logical or. I also added POLLPRI into the mix to cover all possible types of read event.
-
- 31 Mar, 2014 6 commits
-
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
I have added the values of reqHost and server to the log.
-
Steven Murray authored
-
Steven Murray authored
-
- 28 Mar, 2014 2 commits
-
-
Steven Murray authored
-
Steven Murray authored
-
- 27 Mar, 2014 8 commits
-
-
Steven Murray authored
-
Steven Murray authored
I introduced a bug into sstrerror() when I added error checking code around the call to Cglobals_get(). The hash of the offending commit is: ff8021a2 Before my so say improvements, the return value of Cglobals_get() was not checked. I added a check that assumed an error had occured if the return value was non-zero. Unfortuntaley for me, the return values 0 and 1 both mean success. A return value of -1 signifies a failure.
-
Daniele Kruse authored
-
Steven Murray authored
-
Steven Murray authored
The switch statement within TapeDaemon::registerTapeDriveWithVdqm() was missing a break statment. This caused an exception to be thrown.
-
Steven Murray authored
-
Steven Murray authored
This commit adds code to the tapeserverd daemon to register its drives with the vdqmd daemon. There is a problem with the code in that it fails to register two drives in the up state. This will be fixed later.
-
Sebastien Ponce authored
Added a constraint on MigrationJob.FileSize so that it cannot be <= 0. In particular, this makes sure that we do not try to migrate 0 size file
-
- 26 Mar, 2014 9 commits
-
-
Steven Murray authored
-
Daniele Kruse authored
-
Steven Murray authored
-
Daniele Kruse authored
-
Daniele Kruse authored
-
Steven Murray authored
-
Giuseppe Lo Presti authored
-
Giuseppe Lo Presti authored
-
Steven Murray authored
With this commit tapeserverd connects to the vdqm using Cgethostbyname(). It is planned to replace this use of Cgethostbyname() by getAddrInfo().
-
- 25 Mar, 2014 2 commits
-
-
Steven Murray authored
-
Steven Murray authored
-