Ransomware attackers specifically target and attempt to destroy backup systems to increase the probability of payment. Hardening your system is critical. Please ensure you have reviewed your platform security using the Security Hardening Checklist
Cohesity

COHESITY Documentation

Explore our documentation to get started, discover products & new features, access troubleshooting guides, register sources, platforms support.

Products
Data Security Alliance
Visit Cohesity.com
Demos
Support
Blogs
Developers
Partner Portals
Cohesity Community
© 2026 Cohesity, Inc. All Rights Reserved.
Terms of Use|
Privacy Policy|
Legal|
  1. Home
  2. Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0
  3. Process flow and troubleshooting
  4. Restore
  5. Stream restore process flow description
  6. Stream restore procedure
Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0

Stream restore procedure

The stream restore procedure is as follows:

  1. The XBSA application initiates the XBSA interface by starting one or more sessions. Each session is started in its own process. For simplicity, we assume that there is only one stream in this diagram. In reality, each stream has each of these steps.
  2. The restore is initiated with the first call to BSAGetObject(). This causes the XBSA interface to make a bprd request to initiate a restore.
  3. bprd initiates a bpbrm process.
  4. bpbrm initiates a bptm/bpdm process (bptm if tape storage unit, bpdm if disk storage unit). bptm gets the resources from nbjm/nbrb and initiates the process to mount media and start reading the data.
  5. bpbrm writes progress information to the progress file on the client (by bpcd). This information includes sockets, status, restore attributes, and so on.
  6. XBSA reads the progress file to find the sockets and other information and connects to bpbrm on the name socket. It continues to read the progress file until it gets the message that it can continue the restore.
  7. XBSA connects to bptm/bpdm by shared memory (if applicable) or on the data socket if the client and media server are separate machines.
  8. At this point, BSAGetObject() returns to the XBSA application. XBSA is ready to receive data.
  9. The application passes buffers to BSASendData() to have the XBSA interface fill these buffers with data from bptm/bpdm by the established connection.
  10. bptm/bpdm continues to read this data from media or disk storage and write it to the buffers.
  11. When the application has received all data, it indicates this with a BSAEndData() call. XBSA verifies that all of the data from the object has been sent. XBSA sends a client status to bpbrm that terminates the server processes (bptm).
  12. bpbrm writes the server status to the progress log and is read by XBSA. This allows the XBSA interface to confirm that the server has successfully read all the data and terminated.
  13. The restore has been completed at this time. A call to BSAEndTxn() is required to close the transactions, but other than some internal cleanup, it does not provide any function for restores.

Feedback

Was this page helpful?
Previous

Stream restore process flow description

Next

How to use the sample files

Feedback

Was this page helpful?