Whamcloud - gitweb
fix setup method for ext2 obd devices
authorbraam <braam>
Tue, 25 Sep 2001 06:21:18 +0000 (06:21 +0000)
committerbraam <braam>
Tue, 25 Sep 2001 06:21:18 +0000 (06:21 +0000)
remove stuff from Makefile that didn't work

lustre/include/linux/obd_class.h
lustre/obdclass/class_obd.c

index 2df81c8..50e9d82 100644 (file)
@@ -99,7 +99,9 @@ struct obd_conn {
         uint32_t oc_id;
 };
 
-typedef union {
+typedef struct {
+       uint32_t len;
+       char *   name;
         struct dentry *dentry;   /* file system obd device names */
         __u8           _uuid[16]; /* uuid obd device names */
 } obd_devicename;
index 37072fa..68fa910 100644 (file)
@@ -162,19 +162,24 @@ static int getdata(int len, void **data)
 
 
 static int obd_devicename_from_path(obd_devicename* whoami, 
-                                   char* user_string) 
+                                   uint32_t klen,
+                                   char* kname)
 {
-  struct nameidata nd;
-  int err;
-
-  err = user_path_walk(user_string, &nd);
-  if (!err) { 
-    whoami->dentry = nd.dentry;
-    path_release(&nd);
-  }
-  return err;
+       whoami->len = klen;
+       whoami->name = kname;
+
+/*     err = user_path_walk(user_string, &nd); */
+/*     if (!err) {  */
+/*             whoami->dentry = nd.dentry; */
+/*             path_release(&nd); */
+/*     } */
+/*     return err; */
+
+       return 0;
 }
 
+
+
 /* to control /dev/obdNNN */
 static int obd_class_ioctl (struct inode * inode, struct file * filp, 
                             unsigned int cmd, unsigned long arg)
@@ -332,7 +337,7 @@ static int obd_class_ioctl (struct inode * inode, struct file * filp,
         case OBD_IOC_SETUP: {
                 struct ioc_setup {
                         int setup_datalen;
-                        char *setup_data;
+                        void *setup_data;
                 } *setup;
 
                 setup = tmp_buf;
@@ -363,8 +368,16 @@ static int obd_class_ioctl (struct inode * inode, struct file * filp,
                  return err;
                }
                
+                /* get the attach data */
+                err = getdata(setup->setup_datalen, &setup->setup_data);
+                if ( err ) {
+                        EXIT;
+                        return err;
+                }
+
                err = obd_devicename_from_path(&(obddev->obd_fsname),
-                                               (char*) setup->setup_data);
+                                              setup->setup_datalen,
+                                              (char*) setup->setup_data);
                if (err) {
                  memset(&(obddev->obd_fsname), 0, sizeof(obd_devicename));
                  EXIT;