Re: Reading a file inside the device driver.

From: Theodore Y. Ts'o (tytso@MIT.EDU)
Date: Wed Jul 26 2000 - 16:12:06 EST


   Date: Wed, 26 Jul 2000 20:09:15 +0100 (BST)
   From: Tigran Aivazian <tigran@veritas.com>

> There are games you can play to get around this, but such approaches are
> fragile and complicated, and not what I'd recommend.

   ok, then I'd recommend it instead :)

   Vinay, have a look at how fs/exec.c:sys_uselib() (uselib(2) system
   call) works by using name lookup and then dentry_open() and
   file->f_op->read().

sys_uselib doesn't actually try to use f_op->read. For that, you have
to look at kernel_read(); note the magic calls to set_fs(get_ds()) and
setfs(old_fs). This does work, but it's not something which I suspect
we want to encourage wide-spread usage of in the kernel.

In general, it's far better to do file i/o outside the kernel than
inside the kernel, if it is at all possible.

                                                - Ted

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:22 EST