Ok, I read what you and Arnd wrote, then went back to my comparisons between
2.6.5 and 2.6.7.  Your explanations didn't help me figure out what is needed
to get a current 2.6.7 kernel because of:
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"
2. You talk of partial reversions, but I have no way of knowing what parts
of what patch were reverted, and which were kept.

I just made some notes on things that were at least confusing, and I'm
including them here.  I was sometimes not consistent between using the
published IBM patch to illustrate, and sometimes using the 2.6.5-2.6.7 diff
to illustrate.

If you want to know how I generated this to start with, I put on all the
2.6.5 patches, and then did a find for files that had just been modified.  I
put those names in a file, and then did this:

for file in `cat filelist`
  do echo $file
     diff -uws linux-2.6.5/$file linux-2.6.7/$file
  done 2>&1 | less

This gets real long, so I apologize for that.

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.


- - - - - - - - - - - - - - -

Is this the patch Martin partially reverted?  I think it's the shared IPV6
card stuff.

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?

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?

--- 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):

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:

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. */



Same comments for this one:

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:

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



As did this one:
diff -ruN linux-2.6.5/drivers/s390/crypto/z90crypt.h
linux-2.5/drivers/s390/crypto/z90crypt.h
--- linux-2.6.5/drivers/s390/crypto/z90crypt.h  Mon Jun 21 14:11:21 2004
+++ linux-2.5/drivers/s390/crypto/z90crypt.h    Wed Jun 16 21:45:12 2004


And this one:
diff -ruN linux-2.6.5/drivers/s390/crypto/z90hardware.c
linux-2.5/drivers/s390/crypto/z90hardware.c
--- linux-2.6.5/drivers/s390/crypto/z90hardware.c       Mon Jun 21 14:11:21
2004
+++ linux-2.5/drivers/s390/crypto/z90hardware.c Mon Jun 21 14:13:08 2004


And this one:

diff -ruN linux-2.6.5/drivers/s390/crypto/z90main.c
linux-2.5/drivers/s390/crypto/z90main.c
--- linux-2.6.5/drivers/s390/crypto/z90main.c   Mon Jun 21 14:11:22 2004
+++ linux-2.5/drivers/s390/crypto/z90main.c     Wed Jun 16 21:45:12 2004



this appears to revert or be reverted by a patch dated June 17th.  The 2.6.7
version
is dated June 16th:

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?

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?


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:

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



Mark Post

-----Original Message-----
From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Martin
Schwidefsky
Sent: Monday, July 12, 2004 7:31 AM
To: [EMAIL PROTECTED]
Subject: Re: Linux 2.6.7 Patch Status


> The only significant exceptions I know of for 2.6.7 are these:
> - The shared-IPv6-card patch:
>   linux-2.6.5-s390-base-14-april2004.diff
>   Sadly, no one has so far come up with a solution that can be
>   merged into the official kernel, so you have to apply this
>   to be able to use IPv6 with multiple VM guests on one card.
> - The lost-dirty-bit fix:
>   linux-2.6.5-s390-04-16-april2004.diff
>   This came too late for 2.6.7 but is integrated in the latest
>   BitKeeper snapshots, like many other less important bug fixes.
> - The xip2fs filesystem (you know the story...).
>
> We're always trying to minimize the number of these patches, but 
> probably some more work should be put into documenting the state. If 
> you have found anything else in the DeveloperWorks stream that is not 
> in the real kernel, please tell!

I have three more patches for 2.6.7 in my list
- The kerntypes patch
  linux-2.6.5-s390-base-12-april2004.diff
  This patch hasn't been accepted into the official BitKeeper because
  the discussion how to do post mortem problem determination isn't
  finished yet. Redhat has its own "crash" analysis tool whereas we
  at ibm prefer "lcrash".
- The multicast notifier patch
  linux-2.6.5-s390-04-26-april2004.diff
  This patch adds another multicast notifier chain that reports all
  addresses. The standard notifier doesn't report all. The final
  solution will be to merge these two notifiers but this might affect
  other network drivers so we introduces this interim solution.
- The zfcp module_exit vs. lun/port object kfree patch
  This is part of the patch linux-2.6.5-s390-base-07-april2004.diff
  I reverted a part of the patch to get the rest of the zfcp patches
  integrated into the official BitKeeper. Greg strongly objected
  against the kfree trick so we had to remove it.

Currently I have 4 patches pending against BitKeeper, these are the above
patches without the dirty bit patch and the xip2fs patch. The dirty bit
patch has been added to -bk shortly after the release of 2.6.7 and the
xip2fs is currently reworked based on suggestions from Andrew Morton.

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Sch�naicherstr. 220, D-71032 B�blingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: [EMAIL PROTECTED]

----------------------------------------------------------------------
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

----------------------------------------------------------------------
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

Reply via email to