Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: st.c update has broken dump multi-tape support
On Fri, Jun 11, 2021 at 09:00:50AM +0200, Frank Kardel wrote:
> Hi !
>
> ST_EOM_PENDING is set in st_interpret_sense()
>
> - always for fixed block mode on EOM condition
>
> - if EWARN enabled and EOM condition for variable block size
>
yes indeed.
Here is the patch that makes multi-tape dumps work for me:
Index: st.c
===================================================================
RCS file: /cvsroot/src/sys/dev/scsipi/st.c,v
retrieving revision 1.240
diff -u -r1.240 st.c
--- st.c 27 Dec 2019 09:41:51 -0000 1.240
+++ st.c 11 Jun 2021 11:23:10 -0000
@@ -1338,7 +1338,12 @@
mutex_exit(&st->sc_iolock);
if (error != 0) {
- bp->b_error = error;
+ /* if ststart1 returns EIO, don't return that if
+ * an EOM is pending otherwise multi-tape dumps
+ * will error instead of triggering a tape change.
+ */
+ if (!((error == EIO) && (st->flags & ST_EOM_PENDING)))
+ bp->b_error = error;
bp->b_resid = bp->b_bcount;
biodone(bp);
}
--
Brett Lymn
--
Sent from my NetBSD device.
"We are were wolves",
"You mean werewolves?",
"No we were wolves, now we are something else entirely",
"Oh"
Home |
Main Index |
Thread Index |
Old Index