Re: [PATCH 2/2] scsi: tape: add unexpected rewind handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/24/23 05:13, "Kai Mäkisara (Kolumbus)" wrote:


On 22. Aug 2023, at 21.14, John Meneghini <jmeneghi@xxxxxxxxxx> wrote:

Handle the unexpected condition where the tape drive reports
that tape is rewinding.

...
I'm providing this patch because I think it's valuable for testing
purposes and it should be safe. Any time the device unexpectedly
reports "Rewind is in progress", it should be safe to set
pos_unknown in the driver.

I am a bit hesitant about this, because it does not recognize if the rewind in
progress was initiated by the user or not. In immediate mode (ST_NOWAIT
option), a user rewind may be still in progress when a (impatient) user
tries to do something else.

That's fine. We can drop this patch if you are uncomfortable with it. The real need it patch 1, which is and will affect customers using the AWS tape gateway.

One possibility would be to make this conditional on !STp->immediate.

Another, perhaps better, method would be to use the STps->rw state
variable. A new state ST_REWINDING could be introduced (or state
should be set to ST_IDLE when rewinding).

(Looking at the state, I think it should be set to something else than
ST_WRITING more frequently. This could, in some cases prevent
improper automatic writing of filemarks. See, for instance, the problem
with failing rewinds in the report with PATCH 1/2.)

Agreed. This patch was only a improvised way to run the code I needed to test in patch 1/2.

Let's leave this patch out.

Thanks,

/John




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux