remove stuff from Makefile that didn't work
+typedef struct {
+ uint32_t len;
+ char * name;
struct dentry *dentry; /* file system obd device names */
__u8 _uuid[16]; /* uuid obd device names */
} obd_devicename;
struct dentry *dentry; /* file system obd device names */
__u8 _uuid[16]; /* uuid obd device names */
} obd_devicename;
static int obd_devicename_from_path(obd_devicename* whoami,
static int obd_devicename_from_path(obd_devicename* whoami,
+ 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)
/* to control /dev/obdNNN */
static int obd_class_ioctl (struct inode * inode, struct file * filp,
unsigned int cmd, unsigned long arg)
case OBD_IOC_SETUP: {
struct ioc_setup {
int setup_datalen;
case OBD_IOC_SETUP: {
struct ioc_setup {
int setup_datalen;
} *setup;
setup = tmp_buf;
} *setup;
setup = tmp_buf;
+ /* 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),
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;
if (err) {
memset(&(obddev->obd_fsname), 0, sizeof(obd_devicename));
EXIT;