Simple Procfs question: Triggering an "action" when opening a directory instead of a file (with seqfile.h)???
Hello everybody :)
I need some help on this one, I couldn't find anything on google or in the archives of the mailing list. Here it goes:
I want to trigger an action when "opening" a directory of the procfs. This is easy for files, but how is it done for directories...???
With files this is simple, all we have to do is to change some structs:
static struct file_operations FILE_fops = {
open: FILE_open,
read: seq_read,
llseek: seq_lseek,
release: seq_release,
};
and
static struct seq_operations FILE_ops = {
start: FILE_start,
next: FILE_next, stop: FILE_stop, show: FILE_show
};
and insert some code.
But for directories, the same doesn't work:
tipcDir = proc_mkdir("tipc",&proc_root);
if (tipcDir) {
tipcDir->proc_fops = &tipcDir_fops;}
...
because when tyring to enter the directory of tipcDir, it says "tipc not a directory", probably because I try to use a "fops" (file operation). But I can't find any other ways to do this
Any ideas?
Quoted 7 lines · Jean-Guillaume
Hello everybody :)
I need some help on this one, I couldn't find anything on google or in the archives of the mailing list. Here it goes:
I want to trigger an action when "opening" a directory of the procfs. This is easy for files, but how is it done for directories...???
With a separate filesystem. Don't do that on procfs, it's messy enough as it is.
Quoted 9 lines · [email protected] wrote:
Quoted 3 lines · Jean-Guillaume
Hello everybody :)
Quoted 10 lines
Quoted 5 lines
I need some help on this one, I couldn't find anything on google or in the archives of the mailing list. Here it goes:
I want to trigger an action when "opening" a directory of the procfs. This is easy for files, but how is it done for directories...???
With a separate filesystem. Don't do that on procfs, it's messy enough as it is.
lol, ok then :)
I have indeed noticed some funny things with the procfs. Like, doing a "ls" on my tipc dir said the directory was empty, but I could do a "vi /proc/tipc/file" and see the content of file. Invisible file? :)
ProcFs: FORCING remove_proc_entry even if the directory is used (busy) ??
In reply to Jean-GuillaumeHi all,
I have a program that automaticaly recreate a directory in /proc,
based on some events. To do this, I do a remove_proc_entry, and then recreate the directory.
However, if someone is using a console and is currently IN my /proc
directory, remove_proc_entry fails, saying that the dir is "busy".
Any way to force the deletion? Or any ideas for workarounds?
Many thanks
Jena-Guillaume