Re: [PATCH] 18/18 scsi core changes

Christoph Hellwig
2002-08-05T17:09:01Z

On Mon, Aug 05, 2002 at 08:08:35PM +0200, Arnd Bergmann wrote:
> This patch does not look fit for inclusion to me,

It absolutely does not look good for inclusion.

> but appearantly it's
> needed if anyone actually wants to use the new zfcp driver I sent with
> patch 10/18...

the zfcp driver itself is so ugly that I wonder you even show it publically..

> +if [ "$CONFIG_ARCH_S390" != "y" ]; then
> dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI
> dep_tristate 'ACARD SCSI support' CONFIG_SCSI_ACARD $CONFIG_SCSI
> dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI

all these entries want indentation by three spaces. See
Documentation/CodingStyle.

> +if [ "$CONFIG_ARCH_S390" = "y" ]; then
> +dep_tristate 'IBM z900 FCP host bus adapter driver' CONFIG_ZFCP $CONFIG_QDIO

dito.

> scsi_unregister(struct Scsi_Host * sh){
> struct Scsi_Host * shpnt;
> Scsi_Host_Name *shn;
> + char name[10];
> +
> + /* kill error handling thread */
> + if (sh->hostt->use_new_eh_code
> + && sh->ehandler != NULL) {
> + DECLARE_MUTEX_LOCKED(sem);
> +
> + sh->eh_notify = &sem;
> + send_sig(SIGHUP, sh->ehandler, 1);
> + down(&sem);
> + sh->eh_notify = NULL;
> + }
> +
> + /* remove proc entry */
> +#ifdef CONFIG_PROC_FS
> + sprintf(name, "%d", sh->host_no);
> + remove_proc_entry(name, sh->hostt->proc_dir);
> +#endif

this change actually looks useful. but I don't think it's suitable for
stable series.

> diff -urN linux-2.4.19-rc3/drivers/scsi/scsi.h linux-2.4.19-s390/drivers/scsi/scsi.h
> --- linux-2.4.19-rc3/drivers/scsi/scsi.h Tue Jul 30 09:02:28 2002
> +++ linux-2.4.19-s390/drivers/scsi/scsi.h Tue Jul 30 09:02:55 2002
> @@ -390,6 +390,17 @@
> #include <asm/pgtable.h>
> #define CONTIGUOUS_BUFFERS(X,Y) \
> (virt_to_phys((X)->b_data+(X)->b_size-1)+1==virt_to_phys((Y)->b_data))
> +#elif defined(CONFIG_ARCH_S390) || defined(CONFIG_ARCH_S390X)
> +#define _CONTIGUOUS_BUFFERS(xd, xs, yd, ys) \
> + (((xd + xs) == yd) \
> + && ((xd & PAGE_MASK) == ((yd + ys - 1) & PAGE_MASK)))
> +
> +#define CONTIGUOUS_BUFFERS(X,Y) \
> + _CONTIGUOUS_BUFFERS( \
> + (unsigned long)(X)->b_data, \
> + (unsigned long)(X)->b_size, \
> + (unsigned long)(Y)->b_data, \
> + (unsigned long)(Y)->b_size)

This area is going to change heavily with block-highmem in 2.4.20.
Please don't touch it just now.

> + /*
> + * We need to recount the number of
> + * scatter-gather segments here - the
> + * normal case code assumes this to be
> + * correct, as it would be a performance
> + * loss to always recount. Handling
> + * errors is always unusual, of course.
> + */
> + recount_segments(SCpnt);

might be worth to get the indentation right, heh?

What is the exact reason to move it around?