Re: st.c SCSI Tape ioctl() bug

From: Kai Makisara (Kai.Makisara@kolumbus.fi)
Date: Wed Nov 21 2001 - 16:58:25 EST


On Sun, 18 Nov 2001, Jeff V. Merkey wrote:

>
>
> Kai/Linux,
>
> The ioctl() function to enable/disable code 15 comrpession has
> some problems. I have a fix to the code, but it does not
> always seem to work properly, so I think you should do this
> review.
>
> If you call the ioctl() tape command from kernel space to
> enable and disable **DEFAULT** compression (not MTCOMPRESSION
> ioctl, the MT_ST_DEF_COMPRESSION code path) there is a case
> where the default_compression/compression_changed flags
> can horribly out of sync.
>
> Please take a look at this code. We have gotten around it
> by simply calling MTCOMPRESSION everytime we need to use it,
> however, but the other path seems busted, and it would be
> nice for it to work properly.
>
The default compression is meant to be set only at system
startup/module loading. If the user wants to change the compression at any
other time, using MTCOMPRESSION is the correct way.

However, I agree that setting the default compression at any other time
should also give the expected result. Currently, the compression default
will be enforced when a new tape is inserted. It might be better to change
the compression immediately after the default has been changed if the
drive is ready. This should also synchronize the compression_changed flag.
I will think about this a little more and then make the changes.

        Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Nov 23 2001 - 21:00:28 EST