No ATA disks on 9.1

From: Alex Keda <admin_at_lissyara.su>
Date: Fri, 03 May 2013 00:18:45 +0400
see begin in:
http://lists.freebsd.org/pipermail/freebsd-current/2012-November/038000.html

today, I have time and try find problem commit for 9-stable

2012.05.04.15.20.00 - all work OK
2012.05.05.00.00.00 - cannot boot

it's only two kernel-related file for this period:
  Edit src/lib/libc/gen/sem_new.c
   Add delta 1.8.2.2 2012.05.04.20.45.53 jilles
  Edit src/sys/dev/pci/pci.c
   Add delta 1.425.2.8 2012.05.04.15.38.47 hselasky
  Edit src/sys/ufs/ufs/ufs_vnops.c
   Add delta 1.328.2.7 2012.05.04.15.51.23 jh


diff -Nru /usr/src/sys/dev/pci/pci.c /tmp/src/sys/dev/pci/pci.c
--- /usr/src/sys/dev/pci/pci.c  2013-05-03 00:05:19.000000000 +0400
+++ /tmp/src/sys/dev/pci/pci.c  2013-05-02 23:56:38.000000000 +0400
_at__at_ -27,7 +27,7 _at__at_
   */

  #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.425.2.7 2012/04/11 
20:50:17 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.425.2.8 2012/05/04 
15:38:47 hselasky Exp $");

  #include "opt_bus.h"

_at__at_ -2746,16 +2746,15 _at__at_
             prefetch ? RF_PREFETCHABLE : 0);
         if (res == NULL) {
                 /*
-                * If the allocation fails, clear the BAR and delete
-                * the resource list entry to force
-                * pci_alloc_resource() to allocate resources from the
-                * parent.
+                * If the allocation fails, delete the resource list entry
+                * to force pci_alloc_resource() to allocate resources
+                * from the parent.
                  */
                 resource_list_delete(rl, type, reg);
-               start = 0;
-       } else
+       } else {
                 start = rman_get_start(res);
-       pci_write_bar(dev, pm, start);
+               pci_write_bar(dev, pm, start);
+       }
         return (barlen);
  }

_at__at_ -3824,7 +3823,7 _at__at_
         if ((desc = malloc(strlen(vp) + strlen(dp) + 3, M_DEVBUF, 
M_NOWAIT)) !=
             NULL)
                 sprintf(desc, "%s, %s", vp, dp);
- out:
+out:
         if (vp != NULL)
                 free(vp, M_DEVBUF);
         if (dp != NULL)
_at__at_ -4100,7 +4099,7 _at__at_
                     count, *rid, type, rman_get_start(res));
         map = rman_get_start(res);
         pci_write_bar(child, pm, map);
-out:;
+out:
         return (res);
  }

_at__at_ -4289,19 +4288,6 _at__at_
                             type, rid, rman_get_start(rle->res));
                         return;
                 }
-
-#ifndef __PCI_BAR_ZERO_VALID
-               /*
-                * If this is a BAR, clear the BAR so it stops
-                * decoding before releasing the resource.
-                */
-               switch (type) {
-               case SYS_RES_IOPORT:
-               case SYS_RES_MEMORY:
-                       pci_write_bar(child, pci_find_bar(child, rid), 0);
-                       break;
-               }
-#endif
                 resource_list_unreserve(rl, dev, child, type, rid);
         }
         resource_list_delete(rl, type, rid);

diff -Nru /usr/src/sys/ufs/ufs/ufs_vnops.c /tmp/src/sys/ufs/ufs/ufs_vnops.c
--- /usr/src/sys/ufs/ufs/ufs_vnops.c    2013-05-03 00:05:30.000000000 +0400
+++ /tmp/src/sys/ufs/ufs/ufs_vnops.c    2013-05-02 23:56:49.000000000 +0400
_at__at_ -35,7 +35,7 _at__at_
   */

  #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_vnops.c,v 1.328.2.6 2012/05/02 
15:15:28 jh Exp $");
+__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_vnops.c,v 1.328.2.7 2012/05/04 
15:51:23 jh Exp $");

  #include "opt_quota.h"
  #include "opt_suiddir.h"
_at__at_ -528,6 +528,10 _at__at_
                 return (EINVAL);
         }
         if (vap->va_flags != VNOVAL) {
+               if ((vap->va_flags & ~(UF_NODUMP | UF_IMMUTABLE | 
UF_APPEND |
+                   UF_OPAQUE | UF_NOUNLINK | SF_ARCHIVED | SF_IMMUTABLE |
+                   SF_APPEND | SF_NOUNLINK | SF_SNAPSHOT)) != 0)
+                       return (EOPNOTSUPP);
                 if (vp->v_mount->mnt_flag & MNT_RDONLY)
                         return (EROFS);
                 /*
Received on Thu May 02 2013 - 19:01:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:37 UTC