summaryrefslogtreecommitdiffstats
path: root/fs/ioctl.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-07-05 23:09:37 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-07-05 23:09:37 +0000
commitaba344fdfed81b2c03d6114c54cfd73a486aa10b (patch)
treed032d8430bf1234c3ecc6f6330d6de6e887e5963 /fs/ioctl.c
parent40c138bfc6d37dbff5339f84575db1e3cec6e34e (diff)
Merge with Linux 2.3.9.
Diffstat (limited to 'fs/ioctl.c')
-rw-r--r--fs/ioctl.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/fs/ioctl.c b/fs/ioctl.c
index 8d18e453a..e9f8e09b6 100644
--- a/fs/ioctl.c
+++ b/fs/ioctl.c
@@ -18,14 +18,21 @@ static int file_ioctl(struct file *filp,unsigned int cmd,unsigned long arg)
switch (cmd) {
case FIBMAP:
+ {
+ struct buffer_head tmp;
+
if (inode->i_op == NULL)
return -EBADF;
- if (inode->i_op->bmap == NULL)
+ if (inode->i_op->get_block == NULL)
return -EINVAL;
if ((error = get_user(block, (int *) arg)) != 0)
return error;
- block = inode->i_op->bmap(inode,block);
- return put_user(block, (int *) arg);
+
+ tmp.b_state = 0;
+ tmp.b_blocknr = 0;
+ inode->i_op->get_block(inode, block, &tmp, 0);
+ return put_user(tmp.b_blocknr, (int *) arg);
+ }
case FIGETBSZ:
if (inode->i_sb == NULL)
return -EBADF;