}
} /* obdfs_to_inode */
-static void inline obdfs_set_size (struct inode *inode, obd_size size)
-{
- inode->i_size = size;
- inode->i_blocks = (inode->i_size + inode->i_sb->s_blocksize - 1) >>
- inode->i_sb->s_blocksize_bits;
- inode->i_bytes = inode->i_size &
- ((1 << inode->i_sb->s_blocksize_bits) - 1);
-} /* obdfs_set_size */
-
#define NOLOCK 0
#define LOCKED 1
int setup_rdev;
void *setup_data;
} *setup;
- char *user_path;
setup = tmp_buf;
EXIT;
return err;
}
- user_path = setup->setup_data;
/* get the attach data */
err = getdata(setup->setup_datalen, &setup->setup_data);
return err;
}
obddev->obd_rdev = setup->setup_rdev;
- obddev->obd_user_name = user_path;
+ obddev->obd_user_name = (char *)setup->setup_data;
/* do the setup */
- CDEBUG(D_PSDEV, "Setup %d, type %s device %x\n", dev,
- obddev->obd_type->typ_name, setup->setup_rdev);
if ( !OBT(obddev) || !OBP(obddev, setup) ) {
obddev->obd_type->typ_refcnt++;
CDEBUG(D_PSDEV, "Dev %d refcount now %d\n",
return 0;
}
+ CDEBUG(D_PSDEV, "Setup %d, type %s device %x, %s, len %d\n", dev,
+ obddev->obd_type->typ_name, setup->setup_rdev,
+ obddev->obd_user_name, setup->setup_datalen);
+
err = OBP(obddev, setup)(obddev, 0, NULL);
if ( err ) {
obddev->obd_flags |= OBD_SET_UP;
EXIT;
}
- OBD_FREE(setup->setup_data, setup->setup_datalen);
+ // OBD_FREE(setup->setup_data, setup->setup_datalen);
return err;
}
case OBD_IOC_CLEANUP: {
# Get going....
-# $::device = "/dev/obd0" unless defined $::device;
Device($::device);
sub readl {
printf "setting up %s, device %x\n", $arg, $::st->rdev();
if ( $arg ) {
$data = $arg;
- $datalen = 4 + length($arg)+1; # need null character also
+ $datalen = length($arg)+1; # need null character also
}
my $packed = pack("iip", $datalen, $::st->rdev(), $data);