Whamcloud - gitweb
Land b_smallfix onto HEAD (20040416_1638) (more 2.6 build fixes)
[fs/lustre-release.git] / lustre / utils / obdiolib.c
index 04dae88..b948c45 100644 (file)
@@ -38,7 +38,7 @@ obdio_iocinit (struct obdio_conn *conn)
 {
         memset (&conn->oc_data, 0, sizeof (conn->oc_data));
         conn->oc_data.ioc_version = OBD_IOCTL_VERSION;
-        conn->oc_data.ioc_cookie = conn->oc_conn_cookie;
+        conn->oc_data.ioc_dev = conn->oc_device;
         conn->oc_data.ioc_len = sizeof (conn->oc_data);
 }
 
@@ -74,7 +74,6 @@ struct obdio_conn *
 obdio_connect (int device)
 {
         struct obdio_conn  *conn;
-        int                 rc;
 
         conn = malloc (sizeof (*conn));
         if (conn == NULL) {
@@ -90,24 +89,7 @@ obdio_connect (int device)
                 goto failed;
         }
 
-        obdio_iocinit (conn);
-        conn->oc_data.ioc_dev = device;
-        rc = obdio_ioctl (conn, OBD_IOC_DEVICE);
-        if (rc != 0) {
-                fprintf (stderr, "obdio_connect: Can't set device %d: %s\n",
-                         device, strerror (errno));
-                goto failed;
-        }
-
-        obdio_iocinit (conn);
-        rc = obdio_ioctl (conn, OBD_IOC_CONNECT);
-        if (rc != 0) {
-                fprintf(stderr, "obdio_connect: Can't connect to device "
-                        "%d: %s\n", device, strerror (errno));
-                goto failed;
-        }
-
-        conn->oc_conn_cookie = conn->oc_data.ioc_cookie;
+        conn->oc_device = device;
         return (conn);
 
  failed:
@@ -124,40 +106,6 @@ obdio_disconnect (struct obdio_conn *conn, int flags)
 }
 
 int
-obdio_open (struct obdio_conn *conn, uint64_t oid, struct lustre_handle *fh)
-{
-        int    rc;
-
-        obdio_iocinit (conn);
-
-        conn->oc_data.ioc_obdo1.o_id = oid;
-        conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
-        conn->oc_data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
-
-        rc = obdio_ioctl (conn, OBD_IOC_OPEN);
-
-        if (rc == 0)
-                memcpy (fh, obdo_handle(&conn->oc_data.ioc_obdo1), sizeof (*fh));
-
-        return (rc);
-}
-
-int
-obdio_close (struct obdio_conn *conn, uint64_t oid, struct lustre_handle *fh)
-{
-        obdio_iocinit (conn);
-
-
-        conn->oc_data.ioc_obdo1.o_id = oid;
-        conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
-        memcpy (obdo_handle (&conn->oc_data.ioc_obdo1), fh, sizeof (*fh));
-        conn->oc_data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE |
-                                          OBD_MD_FLMODE | OBD_MD_FLHANDLE;
-
-        return (obdio_ioctl (conn, OBD_IOC_CLOSE));
-}
-
-int
 obdio_pread (struct obdio_conn *conn, uint64_t oid,
              char *buffer, uint32_t count, uint64_t offset)
 {
@@ -264,7 +212,6 @@ obdio_new_barrier (uint64_t oid, uint64_t id, int npeers)
 int
 obdio_setup_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
 {
-        struct lustre_handle    fh;
         struct lustre_handle    lh;
         int                     rc;
         int                     rc2;
@@ -277,19 +224,11 @@ obdio_setup_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
                 abort ();
         }
 
-        rc = obdio_open (conn, b->ob_oid, &fh);
-        if (rc != 0) {
-                fprintf (stderr, "obdio_setup_barrier "LPX64": Failed to open object: %s\n",
-                         b->ob_oid, strerror (errno));
-                return (rc);
-        }
-
         fileb = (struct obdio_barrier *) obdio_alloc_aligned_buffer (&space, getpagesize ());
         if (fileb == NULL) {
                 fprintf (stderr, "obdio_setup_barrier "LPX64": Can't allocate page buffer\n",
                          b->ob_oid);
-                rc = -1;
-                goto out_0;
+                return (-1);
         }
 
         memset (fileb, 0, getpagesize ());
@@ -299,7 +238,7 @@ obdio_setup_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
         if (rc != 0) {
                 fprintf (stderr, "obdio_setup_barrier "LPX64": Error on enqueue: %s\n",
                          b->ob_oid, strerror (errno));
-                goto out_1;
+                goto out;
         }
 
         rc = obdio_pwrite (conn, b->ob_oid, (void *)fileb, getpagesize (), 0);
@@ -313,23 +252,14 @@ obdio_setup_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
                          b->ob_oid, strerror (errno));
                 rc = rc2;
         }
- out_1:
+ out:
         free (space);
- out_0:
-        rc2 = obdio_close (conn, b->ob_oid, &fh);
-        if (rc == 0 && rc2 != 0) {
-                fprintf (stderr, "obdio_setup_barrier "LPX64": Error on close: %s\n",
-                         b->ob_oid, strerror (errno));
-                rc = rc2;
-        }
-
         return (rc);
 }
 
 int
 obdio_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
 {
-        struct lustre_handle   fh;
         struct lustre_handle   lh;
         int                    rc;
         int                    rc2;
@@ -337,19 +267,11 @@ obdio_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
         struct obdio_barrier  *fileb;
         char                  *mode;
 
-        rc = obdio_open (conn, b->ob_oid, &fh);
-        if (rc != 0) {
-                fprintf (stderr, "obdio_barrier "LPX64": Error on open: %s\n",
-                         b->ob_oid, strerror (errno));
-                return (rc);
-        }
-
         fileb = (struct obdio_barrier *) obdio_alloc_aligned_buffer (&space, getpagesize ());
         if (fileb == NULL) {
                 fprintf (stderr, "obdio_barrier "LPX64": Can't allocate page buffer\n",
                          b->ob_oid);
-                rc = -1;
-                goto out_0;
+                return (-1);
         }
 
         rc = obdio_enqueue (conn, b->ob_oid, LCK_PW, 0, getpagesize (), &lh);
@@ -450,14 +372,6 @@ obdio_barrier (struct obdio_conn *conn, struct obdio_barrier *b)
         }
  out_1:
         free (space);
- out_0:
-        rc2 = obdio_close (conn, b->ob_oid, &fh);
-        if (rc == 0 && rc2 != 0) {
-                fprintf (stderr, "obdio_barrier "LPX64": Error on close: %s\n",
-                         b->ob_oid, strerror (errno));
-                rc = rc2;
-        }
-
         return (rc);
 }