[OSy] cteni souboru v kernelu

Lubomír Bulej bulej at dsrg.mff.cuni.cz
Fri Mar 30 11:11:26 CEST 2007


Dobry den,

> piseme modul do linuxoveho kernelu (file system) a narazil jsem na
> takovy mensi problem, ktery jsem nedokazal vyresit ani s pomoci
> dokumentace ani s pomoci googlu :-(
> Zajimalo by me, jak se z kernelu da cist nejaky soubor (znam path). Je
> mozne pouzivat normalni user space funkce typu open, read apod.? Objevil
> jsem zdrojaky jednoho file systemu, kde se to tak pouziva, ale na
> spouste mistech jsem si zase precetl, ze je to spatne, ale nebylo tam
> napsane spravne reseni.
>  

http://kernelnewbies.org/FAQ/WhyWritingFilesFromKernelIsBad
http://uwsg.iu.edu/hypermail/linux/kernel/0005.3/0061.html

http://www.kevinboone.com/linux_kernel_file_1.html
http://lxr.linux.no/source/sound/sound_firmware.c

Chtel bych poukazat na to, ze uz ani quota tento postup nepouziva, a ze
zpusobm jakym se natahuje firmware ve funkci do_mod_firmware_load() je podle
soucasnych zvyklosti rovnez deprecated.

Z vyse uvedeneho plyne, ze neexistuje spravny zpusob, jak cist z kernelu
soubory, protoze byste se tomu predevsim meli vyhnout a pouzit jiny
mechanizmus (sysfs, device, ioctl) pro komunikaci s userspacem. Pokud je to
opravdu nezbytne, je nutne pouzit funkce VFS, ktere operuji primo se
strukturou souboru, nikoliv s file deskriptory.


Lubos Bulej




More information about the NSWI004 mailing list