pojntfx / stfs Goto Github PK
View Code? Open in Web Editor NEWSimple Tape File System (STFS), a file system for tapes and tar files.
License: GNU Affero General Public License v3.0
Simple Tape File System (STFS), a file system for tapes and tar files.
License: GNU Affero General Public License v3.0
Hello, firstly amazing bit of software.
But it really needs a wiki be established with dedicated guidance/scripting for each oprating system, then the readme can just provide usage overview and 1-2-3 example usage workflows that are 100% universal.
I am currently a little lost as a LTO5 LTFS user on windows with both HP and IBM SAS drives as a local user and plan to deploy fibre HBA LTO6 drives with a windows server 2016 system.
As LTFS is a mess on Ubuntu based distros I really am intrested in deploying STFS cross platform and intergrating it into the standard archival workflow guides for vhs-decode.
This is a really great program. I'm busy getting familiar with it, but I really appreciate the thoughtful UI: serving the tape over FTP server is actually extremely handy for me because I need to back up files from a different machine to the one the tape drive is attached to.
On my drive, however, stfs operation initialize
or stfs operation archive
panics with input/output error. I traced this down to the fact that seek/tell do not work on the drive (even using the mt command from mt-st package) until I run sudo mt -f /dev/nst0 stsetoptions scsi2logical
. This seems to persist until the machine reboots.
Did you hit this at all? I can try adding in the syscall to set this parameter as part of MagneticTapeIO methods? Based on strace, all the mt command boils down to is an MTIOCTOP ioctl. And the flag seems to be defined here so I could probably work out what the full ioctl needs to be.
But I figured I'd ask, because you are likely a lot more familiar with how to do ioctls to tape drives than I am.
Hello!
I found STFS randomly, and I've been interested to try ever since discovering it! It's some really nice stuff, but that's not what I'm here to talk about
After installing STFS via the script, I wanted to try it out on my tape drive, only to be met with a very enigmatic "Input/Output error", while trying to server an FTP server. I thought that maybe my tape needed to be initialized, so I tried to do a stfs operation initialize
, but it results in the same cryptic I/O error...
What could be the issue here? And thank you in advance for your help!
A few spec details:
OS: Arch, x86_64, Linux kernel 6.6.30-2-lts
SAS controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2
Tape Drive: HP Ultrium 3280 LTO5 External Drive
Command: stfs serve ftp -d /dev/st0 -m ~/Tape/metadata/metadata.sqlite --cache-write-type memory --compression brotli --compression-level 9 -v 4
Some verbose logs taken from STFS output:
stfs_debug.log
dmesg output when running STFS:
[ 8927.463637] st 5:0:0:0: device_block, handle(0x0009)
[ 8929.213272] st 5:0:0:0: device_unblock and setting to running, handle(0x0009)
[ 8929.215088] mpt2sas_cm0: mpt3sas_transport_port_remove: removed: sas_addr(0x500110a0140c68b8)
[ 8929.215091] mpt2sas_cm0: removing handle(0x0009), sas_addr(0x500110a0140c68b8)
[ 8929.215092] mpt2sas_cm0: enclosure logical id(0x500605b007b728d0), slot(3)
[ 9096.221722] mpt2sas_cm0: handle(0x9) sas_address(0x500110a0140c68b8) port_type(0x1) --Plugged & started up drive
[ 9096.223943] scsi 5:0:1:0: Sequential-Access HP Ultrium 5-SCSI X5BD PQ: 0 ANSI: 6
[ 9096.223966] scsi 5:0:1:0: SSP: handle(0x0009), sas_addr(0x500110a0140c68b8), phy(3), device_name(0xa0100150b6680c14)
[ 9096.223976] scsi 5:0:1:0: enclosure logical id (0x500605b007b728d0), slot(3)
[ 9096.223987] scsi 5:0:1:0: qdepth(254), tagged(1), scsi_level(7), cmd_que(1)
[ 9096.224419] scsi 5:0:1:0: Power-on or device reset occurred
[ 9096.227259] scsi 5:0:1:0: TLR Enabled
[ 9096.238043] st 5:0:1:0: Attached scsi tape st0
[ 9096.238047] st 5:0:1:0: st0: try direct i/o: yes (alignment 4 B)
[ 9096.238663] end_device-5:1: add: handle(0x0009), sas_addr(0x500110a0140c68b8)
[ 9216.366703] st 5:0:1:0: [st0] Block limits 1 - 16777215 bytes. --Ran `mt-st -f /dev/st0 status`
[ 9233.511391] st 5:0:1:0: [st0] Sense Key : Illegal Request [current] --Ran `stfs serve ftp` (once, notice the error repeating)
[ 9233.511397] st 5:0:1:0: [st0] Add. Sense: Invalid field in cdb
[ 9245.095731] st 5:0:1:0: [st0] Sense Key : Illegal Request [current]
[ 9245.095748] st 5:0:1:0: [st0] Add. Sense: Invalid field in cdb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.