[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