char *this_char;
if (!options)
- goto out;
+ return;
for (this_char = strtok (options, ",");
this_char != NULL;
this_char = strtok (NULL, ",")) {
CDEBUG(D_SUPER, "this_char %s\n", this_char);
- if ( (!*dev && (*dev = obdfs_read_opt("device", this_char))) ||
+ if ( (!*dev && (*dev = obdfs_read_opt("device", this_char)))||
(!*vers && (*vers = obdfs_read_opt("version", this_char))) )
continue;
}
-
- out:
- if (!*dev) {
- *dev = "/dev/obd0";
- }
}
static int obdfs_getdev(char *devpath, int *dev)
sbi->osi_obd = obddev;
sbi->osi_ops = sbi->osi_obd->obd_type->typ_ops;
- error = sbi->osi_ops->o_connect(sbi->osi_obd, &sbi->osi_conn_info);
+ sbi->osi_conn.oc_dev = obddev;
+ error = sbi->osi_ops->o_connect(&sbi->osi_conn);
if ( error ) {
printk("OBDFS: cannot connect to %s\n", device);
goto error;
sbi->osi_super = sb;
- error = sbi->osi_ops->o_get_info(sbi->osi_conn_info.conn_id,
+ error = sbi->osi_ops->o_get_info(&sbi->osi_conn,
strlen("blocksize"),
"blocksize",
&scratch, (void *)&blocksize);
goto error;
}
- error = sbi->osi_ops->o_get_info(sbi->osi_conn_info.conn_id,
+ error = sbi->osi_ops->o_get_info(&sbi->osi_conn,
strlen("blocksize_bits"),
"blocksize_bits",
&scratch, (void *)&blocksize_bits);
goto error;
}
- error = sbi->osi_ops->o_get_info(sbi->osi_conn_info.conn_id,
+ error = sbi->osi_ops->o_get_info(&sbi->osi_conn,
strlen("root_ino"),
"root_ino",
&scratch, (void *)&root_ino);
int error;
ENTRY;
- error = IOPS(inode, getattr)(IID(inode), inode->i_ino, inode);
+ error = IOPS(inode, getattr)(IID(inode), inode);
if (error) {
printk("obdfs_read_inode: obd_getattr fails (%d)\n", error);
return;
}
-
+ CDEBUG(D_INODE, "ino %ld, COWFL %x\n", inode->i_ino, inode->i_flags & 0x0010000);
IDEBUG(inode);
inode->i_op = &obdfs_inode_ops;
return;
{
int error;
- error = IOPS(inode, setattr)(IID(inode), inode->i_ino, inode);
+ error = IOPS(inode, setattr)(IID(inode), inode);
if (error) {
printk("obdfs_write_inode: obd_setattr fails (%d)\n", error);
return;
}
-
+
return;
}
int error;
ENTRY;
- error = IOPS(inode, destroy)(IID(inode), inode->i_ino);
+ error = IOPS(inode, destroy)(IID(inode), inode);
if (error) {
printk("obdfs_delete_node: ibd_destroy fails (%d)\n", error);
return;
inode_to_iattr(inode, &saved_copy);
inode_setattr(inode, iattr);
- error = IOPS(inode, setattr)(IID(inode), inode->i_ino, inode);
+ error = IOPS(inode, setattr)(IID(inode), inode);
if ( error ) {
inode_setattr(inode, &saved_copy);
printk("obdfs_notify_change: obd_setattr fails (%d)\n", error);
return error;
}
+
+ CDEBUG(D_INODE, "inode blocks now %ld\n", inode->i_blocks);
EXIT;
return error;
}