On 22.10.2013 21:47, John Baldwin wrote:
On Tuesday, October 22, 2013 6:21:21 am Alexander Motin wrote:
Author: mav
Date: Tue Oct 22 10:21:20 2013
New Revision: 256884
URL: http://svnweb.freebsd.org/changeset/base/256884

Log:
   Remove Giant-locked drivers support (DISKFLAG_NEEDSGIANT flag) from disk(9).

   Since at least FreeBSD 7 we had only four of them in the base tree, and
   in head branch, thanks to jhb@, we have no any for more then a year.

I had this additional change in my local branch, what do you think of it?  We
should probably keep it unless we bump DISK_VERSION and drop support for older
disk structures.  I think we could probably merge it to 10 along with your
change as well:

It looks good to me, while I don't know how much useful can it be. I am not sure how many old binary drivers are there and how many of them survive switch from earlier FreeBSD versions to 10.x. But since it cost almost nothing I have no objections.

--- //depot/vendor/freebsd/src/sys/geom/geom_disk.c
+++ //depot/user/jhb/cleanup/sys/geom/geom_disk.c
@@ -654,6 +654,13 @@
                    dp->d_name, dp->d_unit);
                return;
        }
+       if (dp->d_flags & DISKFLAG_RESERVED) {
+               printf("WARNING: Attempt to add non-MPSAFE disk %s%d\n",
+                   dp->d_name, dp->d_unit);
+               printf("WARNING: Ignoring disk %s%d\n",
+                   dp->d_name, dp->d_unit);
+               return;
+       }
        KASSERT(dp->d_strategy != NULL, ("disk_create need d_strategy"));
        KASSERT(dp->d_name != NULL, ("disk_create need d_name"));
        KASSERT(*dp->d_name != 0, ("disk_create need d_name"));
--- //depot/vendor/freebsd/src/sys/geom/geom_disk.h
+++ //depot/user/jhb/cleanup/sys/geom/geom_disk.h
@@ -102,6 +102,7 @@
        void                    *d_drv1;
  };

+#define DISKFLAG_RESERVED      0x1     /* Was NEEDSGIANT */
  #define DISKFLAG_OPEN         0x2
  #define DISKFLAG_CANDELETE    0x4
  #define DISKFLAG_CANFLUSHCACHE        0x8



--
Alexander Motin
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to