IBM TS2340 User Guide - Page 224

Synchronous and Asynchronous Operations, Operation Complete Notification, Unsolicited Notification

Page 224 highlights

3494 Enterprise Tape Library Driver that has arrived, then the event is discarded. The applications can use the Library Event Wait call to request notification of all Library Manager events. Refer to the IBM Tape Device Drivers: Programming Reference for more information. Synchronous and Asynchronous Operations Two types of library operations are supported: synchronous and asynchronous. The Library Manager responds to the synchronous operation immediately. These operations are completed when the library responds to the request. An example of a synchronous operation is the Library Query call. An asynchronous operation (such as a mount operation) takes longer to complete. In an asynchronous operation, the library returns an initial response when the command is accepted for execution. When the command is completed, it returns a delayed response message indicating the status of the operation. Operation Complete Notification When the Mount, Demount, Audit, or Set Volume category operation is sent to the library, a message identifier is assigned to the operation. This identifier is returned to lmcpd. When the operation is completed, an operation complete notification is sent to the daemon. The daemon makes a determination (based on the initial message identifier) as to which user process to notify that the operation is complete. The Mount, Demount, Audit, or Set Volume category operations have an option that allows the user process to wait or not wait for the operation complete message. If the user process does not wait for the final complete, the initial message identifier is returned to the caller, and it can be used in subsequent Library Query Message ID operations to solicit the status of the asynchronous operation. Unsolicited Notification There are situations when the Library Manager has a condition to report that is not related to any I/O operation. In this case, an unsolicited notification is sent to the device daemon. If a notification is received, then any process waiting with the Library Event Wait call is notified. An example of an unsolicited notification is the operational state change of the library (from the Auto mode to the Pause mode). Refer to the IBM Tape Device Drivers: Programming Reference for a list of unsolicited notifications received by the lmcpd. Driver Message Queue The driver maintains a message queue for any process that has an open LMCP file descriptor. This queue, which has a depth of four entries, is implemented on a first-in, first-out basis. The purpose of this message is to reduce the possibility of missing a message when several messages occur in a short period of time. All queue entries are discarded when the LMCP file descriptor is closed. When an application issues the MTIOCLEW input/output control (ioctl) call, the driver returns the oldest entry from the message queue and deletes it. If no entries are in the queue, then the calling process is put to sleep until a message is received. Volume Categories To facilitate the management of the tape volumes within the 3494 Tape Library, the capability to associate the tape volumes into logical groupings is provided. Each logical grouping is known as a category. For example, an installation can have one or more scratch categories that are assigned by media type or class of user. Another potential use is managing volumes for daily, weekly, and monthly backups or volumes owned by a specific user. The lmcpd also allows a user process 206 IBM Tape Device Drivers Installation and User's Guide

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457

that has arrived, then the event is discarded. The applications can use the Library
Event Wait call to request notification of all Library Manager events. Refer to the
IBM Tape Device Drivers: Programming Reference
for more information.
Synchronous and Asynchronous Operations
Two types of library operations are supported: synchronous and asynchronous.
The Library Manager responds to the synchronous operation immediately. These
operations are completed when the library responds to the request. An example of
a synchronous operation is the Library Query call. An asynchronous operation
(such as a mount operation) takes longer to complete. In an asynchronous
operation, the library returns an initial response when the command is accepted
for execution. When the command is completed, it returns a delayed response
message indicating the status of the operation.
Operation Complete Notification
When the
Mount
,
Demount
,
Audit
, or
Set Volume
category operation is sent to the
library, a message identifier is assigned to the operation. This identifier is returned
to
lmcpd
. When the operation is completed, an operation complete notification is
sent to the daemon. The daemon makes a determination (based on the initial
message identifier) as to which user process to notify that the operation is
complete. The
Mount
,
Demount
,
Audit
, or
Set Volume
category operations have an
option that allows the user process to wait or not wait for the operation complete
message. If the user process does not wait for the final complete, the initial
message identifier is returned to the caller, and it can be used in subsequent
Library Query Message ID operations to solicit the status of the asynchronous
operation.
Unsolicited Notification
There are situations when the Library Manager has a condition to report that is not
related to any I/O operation. In this case, an unsolicited notification is sent to the
device daemon. If a notification is received, then any process waiting with the
Library Event Wait call is notified. An example of an unsolicited notification is the
operational state change of the library (from the Auto mode to the Pause mode).
Refer to the
IBM Tape Device Drivers: Programming Reference
for a list of unsolicited
notifications received by the
lmcpd
.
Driver Message Queue
The driver maintains a message queue for any process that has an open LMCP file
descriptor. This queue, which has a depth of four entries, is implemented on a
first-in, first-out basis. The purpose of this message is to reduce the possibility of
missing a message when several messages occur in a short period of time. All
queue entries are discarded when the LMCP file descriptor is closed. When an
application issues the MTIOCLEW input/output control
(ioctl)
call, the driver
returns the oldest entry from the message queue and deletes it. If no entries are in
the queue, then the calling process is put to sleep until a message is received.
Volume Categories
To facilitate the management of the tape volumes within the 3494 Tape Library, the
capability to associate the tape volumes into logical groupings is provided. Each
logical grouping is known as a category. For example, an installation can have one
or more scratch categories that are assigned by media type or class of user.
Another potential use is managing volumes for daily, weekly, and monthly
backups or volumes owned by a specific user. The
lmcpd
also allows a user process
3494 Enterprise Tape Library Driver
206
IBM Tape Device Drivers Installation and User’s Guide