13f435caab 
					 
					
						
						
							
							tape/inventory: add completion helper for tape snapshots  
						
						 
						
						... 
						
						
						
						Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2021-05-11 12:56:55 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1bff50afea 
					 
					
						
						
							
							tape locate_file: fix off by one error  
						
						 
						
						
						
						
					 
					
						2021-05-11 12:37:04 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d5d264f99 
					 
					
						
						
							
							tape/pool_writer: do not unwrap on channel send  
						
						 
						
						... 
						
						
						
						if the reader thread is already gone here, we panic here, resulting in
a nondescript error message, so simply ignore/warn in that case and
return gracefully
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2021-05-11 09:07:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3e234af16e 
					 
					
						
						
							
							tape: improve inline docs for READ POSITION LONG  
						
						 
						
						
						
						
					 
					
						2021-05-06 11:45:40 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bbbf662d20 
					 
					
						
						
							
							tape: use LOCATE(16) SCSI command  
						
						 
						
						... 
						
						
						
						Turns out this works on LTO4 and newer. 
						
						
					 
					
						2021-05-06 10:51:59 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2e41dbe828 
					 
					
						
						
							
							tape/media_catalog: add helpers to look for snapshot/chunk files  
						
						 
						
						... 
						
						
						
						Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2021-05-06 07:58:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						56d36ca439 
					 
					
						
						
							
							tape/drive: add 'move_to_file' to TapeDriver trait  
						
						 
						
						... 
						
						
						
						so that we can directly move to a specified file on the tape
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2021-05-06 07:55:08 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5e169f387c 
					 
					
						
						
							
							tape: add read_medium_configuration_page() to detect WORM media  
						
						 
						
						... 
						
						
						
						And use it inside format_media(). 
						
						
					 
					
						2021-04-27 11:37:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						73cef112eb 
					 
					
						
						
							
							tape: remove MediumType struct, which is only valid on IBM drives  
						
						 
						
						... 
						
						
						
						HP drives do not return this information.
Note: This breaks format on WORM media, because we have not way
to detect WOREM media (how?). 
						
						
					 
					
						2021-04-27 09:58:27 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8e898895cc 
					 
					
						
						
							
							tape: do not query density_code in SgTape::new()  
						
						 
						
						... 
						
						
						
						Because this can fail with NoSense/MediumChanged and other informational
Sense codes. 
						
						
					 
					
						2021-04-23 09:56:44 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4be6beab6f 
					 
					
						
						
							
							tape: format_media - implement special case for WORM media  
						
						 
						
						
						
						
					 
					
						2021-04-23 08:33:13 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a3b4b5b50e 
					 
					
						
						
							
							tape: define and use MediumType enum  
						
						 
						
						
						
						
					 
					
						2021-04-23 07:54:42 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						33b8d7e5e8 
					 
					
						
						
							
							tape: use loaded media_type in format_media (instead of drive_density)  
						
						 
						
						... 
						
						
						
						Required to format LTO4 media loaded in LTO5 drive).
Also contains some SCSI code cleanups. 
						
						
					 
					
						2021-04-23 07:27:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b9e0fcbdcd 
					 
					
						
						
							
							tape: implement report_desnity  
						
						 
						
						
						
						
					 
					
						2021-04-22 13:54:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a7188b3a75 
					 
					
						
						
							
							tape: fix FORMAT for LTO-4 drives  
						
						 
						
						... 
						
						
						
						FORMAT requires LTO-5 or newer, so we do a rewind/erase if FORMAT fails. 
						
						
					 
					
						2021-04-22 11:44:49 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						71e83e1b1f 
					 
					
						
						
							
							tape/changer/sg_pt_changer: read whole descriptor size for each entry  
						
						 
						
						... 
						
						
						
						Some changer seem to append more data than we expect, but correctly
annotates that size in the subheader.
For each descriptor entry, read as much as the size given in the
subheader (or until the end of the reader), else our position in
the reader is wrong for the next entry, and we will parse
incorrect data.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com > 
						
						
					 
					
						2021-04-21 14:07:41 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4bf2ab1109 
					 
					
						
						
							
							cleanup: remove debug println  
						
						 
						
						
						
						
					 
					
						2021-04-14 10:39:29 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2631e57d20 
					 
					
						
						
							
							fix regression tests  
						
						 
						
						
						
						
					 
					
						2021-04-13 14:02:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						90461b76fb 
					 
					
						
						
							
							TapeRead: add skip_data()  
						
						 
						
						
						
						
					 
					
						2021-04-13 13:32:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6a15cce540 
					 
					
						
						
							
							tape: SgTapeReader::read_block - disable reading beyond EOF  
						
						 
						
						
						
						
					 
					
						2021-04-13 11:46:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f281b8d3a9 
					 
					
						
						
							
							tape: cleanup MediaCatalog on tape reuse  
						
						 
						
						
						
						
					 
					
						2021-04-13 11:46:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ce5327badc 
					 
					
						
						
							
							tape: fix regression tests  
						
						 
						
						
						
						
					 
					
						2021-04-12 14:08:05 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						318b310638 
					 
					
						
						
							
							tape: improve EOT error handling  
						
						 
						
						
						
						
					 
					
						2021-04-12 13:27:34 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						109ccd300f 
					 
					
						
						
							
							cleanup: move tape SCSI code to src/tape/drive/lto/sg_tape/  
						
						 
						
						
						
						
					 
					
						2021-04-09 11:34:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c560cfddca 
					 
					
						
						
							
							tape: read_drive_status - ignore media changed sense info  
						
						 
						
						
						
						
					 
					
						2021-04-09 09:46:19 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8204d9b095 
					 
					
						
						
							
							tape: avoid unneccessary SCSI request in Drop  
						
						 
						
						
						
						
					 
					
						2021-04-08 11:26:08 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fad95a334a 
					 
					
						
						
							
							tape: clear encryption key after backup (for security reasons)  
						
						 
						
						
						
						
					 
					
						2021-04-08 10:37:49 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						973e985d73 
					 
					
						
						
							
							cleanup: remove unused linux tape driver code  
						
						 
						
						
						
						
					 
					
						2021-04-08 10:15:52 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						15d1435789 
					 
					
						
						
							
							tape: add vendor, product and revision to LtoDriveAndMediaStatus  
						
						 
						
						
						
						
					 
					
						2021-04-08 08:34:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						80ea23e1b9 
					 
					
						
						
							
							tape: pmt - implement options command  
						
						 
						
						
						
						
					 
					
						2021-04-08 08:34:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5d6379f8db 
					 
					
						
						
							
							tape: implement locate_file without LOCATE(10)  
						
						 
						
						
						
						
					 
					
						2021-04-08 08:34:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						566b946f9b 
					 
					
						
						
							
							tape: pmt - re-implement lock/unlock command  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7f7459677d 
					 
					
						
						
							
							tape: pmt - re-implement fsr/bsr  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0892a512bc 
					 
					
						
						
							
							tape: correctly set/display drive option  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7b11a8098d 
					 
					
						
						
							
							tape: make sure there is a filemark at the end of the tape  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8b2c6f5dbc 
					 
					
						
						
							
							tape: make fsf/bsf driver specific  
						
						 
						
						... 
						
						
						
						Because the virtual tape driver behaves different than LTO drives. 
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d26985a600 
					 
					
						
						
							
							tape: fix LEOM handling  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e29f456efc 
					 
					
						
						
							
							tape: implement format/erase  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a79082a0dd 
					 
					
						
						
							
							tape: implement LTO userspace driver  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1336ae8249 
					 
					
						
						
							
							tape: introduce trait BlockWrite  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0db5712493 
					 
					
						
						
							
							tape: introduce trait BlockRead  
						
						 
						
						
						
						
					 
					
						2021-04-08 07:28:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cf1e117fc7 
					 
					
						
						
							
							sgutils2: use enum for ScsiError  
						
						 
						
						... 
						
						
						
						This avoids string allocation when we return SenseInfo. 
						
						
					 
					
						2021-03-27 15:57:48 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						11f5d59396 
					 
					
						
						
							
							tape: page-align BlockHeader so that we can use it with SG_IO  
						
						 
						
						
						
						
					 
					
						2021-03-27 15:36:35 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2843ba9017 
					 
					
						
						
							
							avoid compiler warning  
						
						 
						
						
						
						
					 
					
						2021-03-25 12:25:23 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						589c4dad9e 
					 
					
						
						
							
							tape: add fsf/bsf to TapeDriver trait  
						
						 
						
						
						
						
					 
					
						2021-03-25 10:10:16 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c046739461 
					 
					
						
						
							
							tape: fix MediaPool regression tests  
						
						 
						
						
						
						
					 
					
						2021-03-24 09:44:30 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c6f55139f8 
					 
					
						
						
							
							tape: impl. MediaCatalog::parse_catalog_header  
						
						 
						
						... 
						
						
						
						This is just an optimization, avoiding to read the catalog into memory.
We also expose create_temporary_database_file() now (will be
used for catalog restore). 
						
						
					 
					
						2021-03-24 06:32:59 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						20cc25d749 
					 
					
						
						
							
							tape: add TapeDriver::move_to_last_file  
						
						 
						
						
						
						
					 
					
						2021-03-24 06:32:59 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						30316192b3 
					 
					
						
						
							
							tape: improve locking (lock media-sets)  
						
						 
						
						... 
						
						
						
						- new helper: lock_media_set()
- MediaPool: lock media set
- Expose Inventory::new() to avoid double loading
- do not lock pool on restore (only lock media-set)
- change pool lock name to ".pool-{name}" 
						
						
					 
					
						2021-03-24 06:32:59 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e93263be1e 
					 
					
						
						
							
							taoe: implement MediaCatalog::destroy_unrelated_catalog() helper  
						
						 
						
						
						
						
					 
					
						2021-03-22 12:03:11 +01:00