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



Hi Brett,

I meant the section in ststart1 where error is set to zero followed by goto out inf the fixed blocksize part.

on that path the biodone() would be missing - just something I noticed when looking at the code.

        /*
         * only FIXEDBLOCK devices have pending I/O or space operations.
         */
        if (st->flags & ST_FIXEDBLOCKS) {
                /*
                 * If we are at a filemark but have not reported it yet
                 * then we should report it now
                 */
                if (st->flags & ST_AT_FILEMARK) {
                        if ((bp->b_flags & B_READ) == B_WRITE) {
                                /*
                                 * Handling of ST_AT_FILEMARK in
                                 * st_space will fill in the right file
                                 * mark count.
                                 * Back up over filemark
                                 */
                                if (st_space(st, 0, SP_FILEMARKS, 0)) {
                                        error = EIO;
                                        goto out;
                                }
                        } else {
                                bp->b_resid = bp->b_bcount;
                                error = 0;
                                st->flags &= ~ST_AT_FILEMARK;
 >>>>>>                        /* XXX missing a biodone() here? */
                                goto out;
                        }
                }
        }

Frank


On 06/10/21 08:42, Brett Lymn wrote:
Hi Frank,

On Thu, Jun 10, 2021 at 07:45:25AM +0200, Frank Kardel wrote:
Could you check whether my suspicion that biodone() may be missing the
ststart1 function in the

It is missing there but is called in ststart if the error is != 0 after
the ststart1 call.  I was going to update the ststart function to do
something very close to what you have done.

I have not tested the patch as my machine with the tapes is remote and has
no remote console

and I don't want to brick that while being off-site.

That's ok - I can test here without harming anything, the machine the
tape drive is attached to has to be booted to windows for $WORK during
the day so my testing window is limited :)




Home | Main Index | Thread Index | Old Index