Read mount failure ('volume in use') when requested just after a write session

Hi,

We have encountered a read mount error for a tape because the volume was already in use for writing on another drive:

{
  "epoch_time": 1786633343.156102670,
  "local_time": "2026-08-13T17:02:23+0200",
  "cta_version": "5.11.18.0-2",
  "log_schema_version": "0.1.0",
  "hostname": "ctatps010",
  "program": "cta-taped",
  "source_location": "TapeSingleThreadInterface.hpp:99",
  "log_level": "ERROR",
  "pid": 3875248,
  "tid": 3876809,
  "message": "Failed to mount the tape for read-only access",
  "drive_name": "IBMLIB2-LTO10-F04C3R3",
  "instance": "prod",
  "sched_backend": "cephprod",
  "bytesQueued": 2405022,
  "capacityInBytes": 30000000000000,
  "drive_Slot": "smc7",
  "exceptionMessage": "Failed to mount tape for read-only access: vid=S00217 slot=smc7: Failed to mount tape in SCSI tape-library for read/write access: vid=S00217 librarySlot=smc7: Received error from rmcd: rmcRc=2204 rmcErrorStream=smc_mount: Asked for S00217, got reply for S00217\n smc_mount: Location: data transfer element (0x4)\n smc_mount: SR018 - mount of S00217 on drive 7 failed : volume in use\n",
  "labelFormat": "0000",
  "logicalLibrary": "IBMLIB2-LTO10",
  "mediaType": "LTO10",
  "mountId": "7341",
  "mountType": "Retrieve",
  "tapeDrive": "IBMLIB2-LTO10-F04C3R3",
  "tapePool": "vo-atlas.atlas",
  "tapeVid": "S00217",
  "thread": "TapeRead",
  "vendor": "Fujifilm",
  "vo": "vo-atlas"
}

Investigating the issue, we noticed the following:

  • The tape was mounted for writting on drive F2C4R3 at 12:07 and was not unmounted until 17:05. Meanwhile, drive F4C3R3 attempted to mount it for reading at 17:02:

Log rmcd - drive F2C4R3:

Log rmcd drive F2C4R3 (ctatps004):
08/13 12:07:23 2009323 rmc_srv_mount: RMC92 - mount request by 1000,33 from localhost
08/13 12:07:23 2009323 rmc_srv_mount: RMC98 - mount S00217/0 on drive 20
08/13 12:07:37 2009323 rmc_srv_mount: returns 0
08/13 17:05:20 2009323 rmc_srv_unmount: RMC92 - unmount request by 1000,33 from localhost
08/13 17:05:20 2009323 rmc_srv_unmount: RMC98 - unmount S00217 20 0

Log rmcd - drive F4C3R3:

8/13 17:02:22 2230139 rmc_srv_mount: RMC92 - mount request by 1000,33 from localhost
08/13 17:02:22 2230139 rmc_srv_mount: RMC98 - mount S00217/0 on drive 7
08/13 17:02:23 2230139 rmc_sendrep: smc_mount: Asked for S00217, got reply for S00217
08/13 17:02:23 2230139 rmc_sendrep: smc_mount: Location: data transfer element (0x4)
08/13 17:02:23 2230139 rmc_sendrep: smc_mount: SR018 - mount of S00217 on drive 7 failed : volume in use
08/13 17:02:23 2230139 rmc_srv_mount: returns 2204
  • In the library logs, we can also see that tape S00217 was mounted on drive F2, C4, R3 during that interval:
Demount	Drive F2, C4, R2	S00217LA	8/13/26, 5:31 PM
Mount	Drive F2, C4, R2	S00217LA	8/13/26, 5:26 PM
Demount	Drive F2, C4, R3	S00217LA	8/13/26, 5:05 PM
Mount	Drive F2, C4, R3	S00217LA	8/13/26, 12:07 PM
  • We observe that drive F2C4R3, which is writing to the tape, finishes its write operations at 17:02:21 because the tape became full:
{
  "epoch_time": 1786633341.130451377,
  "local_time": "2026-08-13T17:02:21+0200",
  "cta_version": "5.11.18.0-2",
  "log_schema_version": "0.1.0",
  "hostname": "ctatps004",
  "program": "cta-taped",
  "source_location": "MigrationTaskInjector.cpp:171",
  "log_level": "INFO",
  "pid": 2579625,
  "tid": 3623654,
  "message": "No more files to migrate: triggering the end of session.",
  "drive_name": "IBMLIB2-LTO10-F02C4R3",
  "instance": "prod",
  "sched_backend": "cephprod",
  "mountId": "7317",
  "tapeDrive": "IBMLIB2-LTO10-F02C4R3",
  "tapePool": "vo-atlas.atlas",
  "tapeVid": "S00217",
  "thread": "MigrationTaskInjector",
  "vo": "vo-atlas"
}
  • However, after finishing these writes, the drive keeps the tape mounted while logging statistics, and the tape unload completes at 17:05:

"local_time": "2026-08-13T17:02:21+0200","message": "Logging mount general statistics"

"local_time": "2026-08-13T17:02:21+0200","message": "Logging drive statistics" "local_time": "2026-08-13T17:02:21+0200","message": "Logging volume statistics",

{"epoch_time":1786633520.877569239,"local_time":"2026-08-13T17:05:20+0200","cta_version":"5.11.18.0-2","log_schema_version":"0.1.0","hostname":"ctatps004","program":"cta-taped","source_location":"TapeWriteSingleThread.cpp:121","log_level":"INFO","pid":2579625,"tid":3623652,"message":"TapeWriteSingleThread: Tape unloaded","drive_name":"IBMLIB2-LTO10-F02C4R3","instance":"prod","sched_backend":"cephprod","mountId":"7317","tapeDrive":"IBMLIB2-LTO10-F02C4R3","tapePool":"vo-atlas.atlas","tapeVid":"S00217","thread":"TapeWrite","vo":"vo-atlas"}

  • Meanwhile, drive F04C3R3 attempts to mount the tape for reading at 17:02:23. This is just 2 seconds after the write session ended on drive F02C4R3, which is not enough time for the tape to be unmounted.

Could you confirm if this is a known behavior? Are there perhaps any configuration parameters or timeouts we could tune to prevent this overlap?

Thanks in advance,

Esther