1. 04 Jun, 2014 1 commit
  2. 28 May, 2014 1 commit
  3. 27 May, 2014 1 commit
  4. 20 May, 2014 2 commits
  5. 15 May, 2014 2 commits
  6. 14 May, 2014 1 commit
  7. 12 May, 2014 1 commit
  8. 08 May, 2014 2 commits
    • Steven Murray's avatar
      Provided hook method TapeDaemon::notifyLabelCmdOfEndOfSession() · be94b75e
      Steven Murray authored
      The labeling of a tape now requires TapeDaemon to have two different types
      types of session: data transfer sessions and label sessions.  The reaper
      logic of the TapeDaemon parent process has to deal with the end of these
      two types of session differently.  In the case of a label session the
      TapeDaemon parent process must notify the client of the success or failure
      of the label session.
      
      Labeling a tape also requires TapeDaemon to have its first long running
      and synchronous request.  Labeling a tape includes mounting and unmounting
      that tape which can take several minutes.  The client command-line tool
      for labeling tapes should be put on hold whilst the full process of
      labeling takes place.
      be94b75e
    • Steven Murray's avatar
      WIP for reaper · bed47f87
      Steven Murray authored
      bed47f87
  9. 06 May, 2014 1 commit
  10. 05 May, 2014 1 commit
  11. 30 Apr, 2014 1 commit
  12. 29 Apr, 2014 1 commit
  13. 24 Apr, 2014 1 commit
  14. 23 Apr, 2014 1 commit
  15. 11 Apr, 2014 1 commit
  16. 07 Apr, 2014 3 commits
  17. 04 Apr, 2014 1 commit
    • Steven Murray's avatar
      Added DRIVE_STATE_WAITDOWN · 5e3d60ab
      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.
      5e3d60ab
  18. 27 Mar, 2014 3 commits
  19. 26 Mar, 2014 1 commit
  20. 13 Mar, 2014 1 commit
  21. 12 Mar, 2014 1 commit
  22. 11 Mar, 2014 1 commit
  23. 10 Mar, 2014 1 commit