Author: mav
Date: Thu Dec 19 01:30:29 2019
New Revision: 355893
URL: https://svnweb.freebsd.org/changeset/base/355893

Log:
  MFC r355437: Make GEOM_DEV code slightly more compact.
  
  Should be no functional change.

Modified:
  stable/12/sys/geom/geom_dev.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/geom/geom_dev.c
==============================================================================
--- stable/12/sys/geom/geom_dev.c       Thu Dec 19 01:28:05 2019        
(r355892)
+++ stable/12/sys/geom/geom_dev.c       Thu Dec 19 01:30:29 2019        
(r355893)
@@ -513,12 +513,12 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data
        i = IOCPARM_LEN(cmd);
        switch (cmd) {
        case DIOCGSECTORSIZE:
-               *(u_int *)data = cp->provider->sectorsize;
+               *(u_int *)data = pp->sectorsize;
                if (*(u_int *)data == 0)
                        error = ENOENT;
                break;
        case DIOCGMEDIASIZE:
-               *(off_t *)data = cp->provider->mediasize;
+               *(off_t *)data = pp->mediasize;
                if (*(off_t *)data == 0)
                        error = ENOENT;
                break;
@@ -591,8 +591,8 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data
        case DIOCGDELETE:
                offset = ((off_t *)data)[0];
                length = ((off_t *)data)[1];
-               if ((offset % cp->provider->sectorsize) != 0 ||
-                   (length % cp->provider->sectorsize) != 0 || length <= 0) {
+               if ((offset % pp->sectorsize) != 0 ||
+                   (length % pp->sectorsize) != 0 || length <= 0) {
                        printf("%s: offset=%jd length=%jd\n", __func__, offset,
                            length);
                        error = EINVAL;
@@ -600,14 +600,12 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data
                }
                while (length > 0) {
                        chunk = length;
-                       if (g_dev_del_max_sectors != 0 && chunk >
-                           g_dev_del_max_sectors * cp->provider->sectorsize) {
-                               chunk = g_dev_del_max_sectors *
-                                   cp->provider->sectorsize;
-                               if (cp->provider->stripesize > 0) {
+                       if (g_dev_del_max_sectors != 0 &&
+                           chunk > g_dev_del_max_sectors * pp->sectorsize) {
+                               chunk = g_dev_del_max_sectors * pp->sectorsize;
+                               if (pp->stripesize > 0) {
                                        odd = (offset + chunk +
-                                           cp->provider->stripeoffset) %
-                                           cp->provider->stripesize;
+                                           pp->stripeoffset) % pp->stripesize;
                                        if (chunk > odd)
                                                chunk -= odd;
                                }
@@ -635,10 +633,10 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data
                strlcpy(data, pp->name, i);
                break;
        case DIOCGSTRIPESIZE:
-               *(off_t *)data = cp->provider->stripesize;
+               *(off_t *)data = pp->stripesize;
                break;
        case DIOCGSTRIPEOFFSET:
-               *(off_t *)data = cp->provider->stripeoffset;
+               *(off_t *)data = pp->stripeoffset;
                break;
        case DIOCGPHYSPATH:
                error = g_io_getattr("GEOM::physpath", cp, &i, data);
@@ -690,8 +688,8 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data
                break;
        }
        default:
-               if (cp->provider->geom->ioctl != NULL) {
-                       error = cp->provider->geom->ioctl(cp->provider, cmd, 
data, fflag, td);
+               if (pp->geom->ioctl != NULL) {
+                       error = pp->geom->ioctl(pp, cmd, data, fflag, td);
                } else {
                        error = ENOIOCTL;
                }
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to