diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-07-05 23:09:37 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-07-05 23:09:37 +0000 |
commit | aba344fdfed81b2c03d6114c54cfd73a486aa10b (patch) | |
tree | d032d8430bf1234c3ecc6f6330d6de6e887e5963 /fs/ioctl.c | |
parent | 40c138bfc6d37dbff5339f84575db1e3cec6e34e (diff) |
Merge with Linux 2.3.9.
Diffstat (limited to 'fs/ioctl.c')
-rw-r--r-- | fs/ioctl.c | 13 |
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; |