On Freitag, 16. Juli 2004 00:32, Post, Mark K wrote:

> 1. You're using names for patches that aren't publicly known, such as "The
> multicast notifier patch - linux-2.6.5-s390-04-26-april2004.diff"

Huh? That's the file name inside the patch tarball on developerWorks.
Where else did you get your patches if not there?

> 2. You talk of partial reversions, but I have no way of knowing what parts
> of what patch were reverted, and which were kept.
In case of the zfcp patch, the history is documented in any lkml archive.
The developerWorks version of that driver contains a hack to allow module
unloading that was not accepted into 2.6.6. The driver works perfectly fine
without that patch, you just can't unload the module, but you should not
have any reason to do that anyway.

> This gets real long, so I apologize for that.

No problem. However, when you are commenting a patch, please put the
comments behind the code like in a mail conversation.

> I guess I would like to repeat my request for a copy of the current versions
> of the S/390 files as known today.  I would have been able to figure out
> most of this myself if I had that for a reference.

For reference, look at the code in 2.6.8-rc1, and add the four patches
Martin mentioned if you wish.

> - - - - - - - - - - - - - - -
> 
> Is this the patch Martin partially reverted?  I think it's the shared IPV6
> card stuff.
Yes. If you want to share cards using IPv6 over multiple z/VM guests,
you need to apply the patch that adds these fields.

> drivers/net/net_init.c
> diff -urN linux-2.6/drivers/net/net_init.c
> linux-2.6-s390/drivers/net/net_init.c
> --- linux-2.6/drivers/net/net_init.c    Sun Apr  4 05:36:16 2004
> +++ linux-2.6-s390/drivers/net/net_init.c       Tue Apr 13 10:35:19 2004
> @@ -277,7 +277,8 @@
>         dev->hard_header_cache  = eth_header_cache;
>         dev->header_cache_update= eth_header_cache_update;
>         dev->hard_header_parse  = eth_header_parse;
> -
> +       dev->generate_eui64     = NULL;
> +       dev->dev_id             = 0;
>         dev->type               = ARPHRD_ETHER;
>         dev->hard_header_len    = ETH_HLEN;
>         dev->mtu                = 1500; /* eth_mtu */
> @@ -303,6 +304,8 @@
>         dev->change_mtu                 = fddi_change_mtu;
>         dev->hard_header                = fddi_header;
>         dev->rebuild_header             = fddi_rebuild_header;
> +       dev->generate_eui64             = NULL;
> +       dev->dev_id                     = 0;
> 
>         dev->type                               = ARPHRD_FDDI;
>         dev->hard_header_len    = FDDI_K_SNAP_HLEN+3;   /* Assume 802.2 SNAP
> hdr len + 3 pad bytes *
> /
> @@ -413,6 +416,8 @@
> 
>         dev->hard_header        = tr_header;
>         dev->rebuild_header     = tr_rebuild_header;
> +       dev->generate_eui64     = NULL;
> +       dev->dev_id             = 0;
> 
>         dev->type               = ARPHRD_IEEE802_TR;
>         dev->hard_header_len    = TR_HLEN;
> 
> The version number on the 2.6.7 file is older, but the date is newer.
> Which versions of the structs are supposed to be correct?

It does not matter except for checking the source code with the 'sparse'
tool. The 2.6.7 version is correct, but there is no point in backporting
since this does not cause a bug in the binary.

 
> drivers/s390/block/dasd_cmb.c
> --- linux-2.6.5/drivers/s390/block/dasd_cmb.c   2004-07-08
> 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/block/dasd_cmb.c   2004-06-16
> 01:19:36.000000000 -0400
> @@ -1,5 +1,5 @@
>  /*
> - * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.7.2.1 $)
> + * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.6 $)
>   *
>   * Linux on zSeries Channel Measurement Facility support
>   *  (dasd device driver interface)
> @@ -58,7 +58,7 @@
>  dasd_ioctl_readall_cmb(struct block_device *bdev, int no, long args)
>  {
>         struct dasd_device *device;
> -       struct cmbdata * __user udata;
> +       struct cmbdata __user *udata;
>         struct cmbdata data;
>         size_t size;
>         int ret;
> @@ -66,7 +66,7 @@
>         device = bdev->bd_disk->private_data;
>         if (!device)
>                 return -EINVAL;
> -       udata = (void *) args;
> +       udata = (void __user *) args;
>         size = _IOC_SIZE(no);
> 
>         if (!access_ok(VERIFY_WRITE, udata, size))
> 
 
 
> This patch, dated June 17th, appears to revert (or be reverted by) the
> code in 2.6.7, dated June 16th.  2.6.7 file is version 1.55, 2.6.5 is
> 1.53.2.3?

2.6.5 version is correct. This minor bug fix came too late for 2.6.7 but is
merged in 2.6.8-rc1.

> --- linux-2.6.5/drivers/s390/block/dasd_eckd.c  2004-07-08
> 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/block/dasd_eckd.c  2004-06-16
> 01:18:38.000000000 -0400
> @@ -7,7 +7,7 @@
>   * Bugreports.to..: <[EMAIL PROTECTED]>
>   * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
>   *
> - * $Revision: 1.53.2.3 $
> + * $Revision: 1.55 $
>   */
> 
>  #include <linux/config.h>
> @@ -983,8 +983,8 @@
>                                 return ERR_PTR(-EINVAL);
>                         count += bv->bv_len >> (device->s2b_shift + 9);
>  #if defined(CONFIG_ARCH_S390X)
> -                       if (idal_is_needed (page_address(bv->bv_page),
> bv->bv_len))
> -                               cidaw += bv->bv_len >> (device->s2b_shift +
> 9);
> +                       cidaw += idal_nr_words(page_address(bv->bv_page) +
> +                                              bv->bv_offset, bv->bv_len);
>  #endif
>                 }
>         }
> 
> 
> Same comments on this patch (except for version numbers):

Yes. same here.

> drivers/s390/block/dasd_fba.c
> --- linux-2.6.5/drivers/s390/block/dasd_fba.c   2004-07-08
> 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/block/dasd_fba.c   2004-06-16
> 01:19:37.000000000 -0400
> @@ -4,7 +4,7 @@
>   * Bugreports.to..: <[EMAIL PROTECTED]>
>   * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
>   *
> - * $Revision: 1.33.2.1 $
> + * $Revision: 1.33 $
>   */
> 
>  #include <linux/config.h>
> @@ -270,8 +270,8 @@
>                                 return ERR_PTR(-EINVAL);
>                         count += bv->bv_len >> (device->s2b_shift + 9);
>  #if defined(CONFIG_ARCH_S390X)
> -                       if (idal_is_needed (page_address(bv->bv_page),
> bv->bv_len))
> -                               cidaw += bv->bv_len / blksize;
> +                       cidaw += idal_nr_words(page_address(bv->bv_page) +
> +                                              bv->bv_offset, bv->bv_len);
>  #endif
>                 }
>         }
> 
> 
> Same comments for this one:

The 2.6.7 version is correct. This was also part of the developerworks
code drop on June 21.

> drivers/s390/block/dasd_genhd.c
> --- linux-2.6.5/drivers/s390/block/dasd_genhd.c 2004-07-08
> 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/block/dasd_genhd.c 2004-06-16
> 01:19:44.000000000 -0400
> @@ -9,7 +9,7 @@
>   *
>   * gendisk related functions for the dasd driver.
>   *
> - * $Revision: 1.47.2.2 $
> + * $Revision: 1.46 $
>   */
> 
>  #include <linux/config.h>
> @@ -152,9 +152,8 @@
>         memset(&bpart, sizeof(struct blkpg_partition), 0);
>         memset(&barg, sizeof(struct blkpg_ioctl_arg), 0);
>         barg.data = &bpart;
> -       barg.op = BLKPG_DEL_PARTITION;
>         for (bpart.pno = device->gdp->minors - 1; bpart.pno > 0;
> bpart.pno--)
> -               ioctl_by_bdev(bdev, BLKPG, (unsigned long) &barg);
> +               ioctl_by_bdev(bdev, BLKPG_DEL_PARTITION, (unsigned long)
> &barg);
> 
>         invalidate_partition(device->gdp, 0);
>         /* Matching blkdev_put to the blkdev_get in dasd_scan_partitions. */
> 
> 
> This one appears to have come out since 2.6.7:

Sorry, don't know much about crypto. If in doubt, use the 2.6.7 version.

> diff -ruN linux-2.6.5/drivers/s390/crypto/z90common.h
> linux-2.5/drivers/s390/crypto/z90common.h
> --- linux-2.6.5/drivers/s390/crypto/z90common.h Mon Jun 21 14:11:21 2004
> +++ linux-2.5/drivers/s390/crypto/z90common.h   Mon Jun 21 14:13:08 2004
> 
> 
> this appears to revert or be reverted by a patch dated June 17th.  The 2.6.7
> version
> is dated June 16th:

The 2.6.7 version is correct. You need this patch to build without warnings
with gcc-3.5. This won't be backported to 2.6.5.
 
> drivers/s390/net/lcs.h
> --- linux-2.6.5/drivers/s390/net/lcs.h  2004-07-08 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/net/lcs.h  2004-06-16 01:19:43.000000000 -0400
> @@ -6,7 +6,7 @@
>  #include <linux/workqueue.h>
>  #include <asm/ccwdev.h>
> 
> -#define VERSION_LCS_H "$Revision: 1.15.2.2 $"
> +#define VERSION_LCS_H "$Revision: 1.16 $"
> 
>  #define LCS_DBF_TEXT(level, name, text) \
>         do { \
> @@ -221,8 +221,8 @@
>                                 struct lcs_ip_mac_pair
>                                 ip_mac_pair[32];
>                                 __u32     response_data;
> -                       } lcs_ipass_ctlmsg __attribute__ ((packed));
> -               } lcs_qipassist __attribute__ ((packed));;
> +                       } lcs_ipass_ctlmsg;
> +               } lcs_qipassist;
>  #endif /*CONFIG_IP_MULTICAST */
>         } cmd __attribute__ ((packed));
>  }  __attribute__ ((packed));


> There are two many changes between the 2.6.5 and 2.6.7 version of this for
> me to know
> which should stay and which should not.  Part of it is due to the multicast
> function
> that Martin mentioned, but what about the rest?

Don't know. Try adding linux-2.6.5-s390-base-14-april2004.diff and
linux-2.6.5-s390-04-26-april2004.diff and see if there is anything
interesting left. AFAICS, there are only cosmetic changes left then.

> drivers/s390/net/qeth_main.c
> --- linux-2.6.5/drivers/s390/net/qeth_main.c    2004-07-08
> 18:50:03.000000000 -0400
> +++ linux-2.6.7/drivers/s390/net/qeth_main.c    2004-06-16
> 01:19:23.000000000 -0400
> 
> 
> There are a bunch of changes to drivers/s390/scsi/zfcp_aux.c, but I can't
> tell which ones should stay and which ones should go, since Martin said it
> was only "partially" reverted.  Or was he referring to another part of the
> tree?  Who knows?

See above.

> The same is also true for drivers/s390/scsi/zfcp_def.h.  What stays?
> 
> 
> The same is also true for drivers/s390/scsi/zfcp_fsf.c.
> 


> This one seems to have missed the 2.6.7 cutoff, or it's part of the
> multicast stuff also:

The latter. See linux-2.6.5-s390-04-26-april2004.diff.

> diff -ruN linux-2.6.5/include/net/addrconf.h
> linux-2.5/include/net/addrconf.h
> --- linux-2.6.5/include/net/addrconf.h  Mon Jun 21 14:11:21 2004
> +++ linux-2.5/include/net/addrconf.h    Mon Jun 21 01:48:23 2004
> 
> 
> 
> A number of files seem to have "lost" an ifdef between 2.6.5, and 2.6.7.  Is
> that as
> intended?
> 
> -#ifdef CONFIG_NO_IDLE_HZ
>  extern int sysctl_hz_timer;
> -#endif

Doesn't matter. #ifdef around a declaration is considered bad style, but that
does not justify a code drop.

        Arnd <><

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Attachment: pgpRWHoLDHxgk.pgp
Description: signature

Reply via email to