Messages in this thread | | | Subject | Re: opening files in /proc, and modules | From | Michael Rothwell <> | Date | 08 Mar 2001 11:35:42 -0500 |
| |
Figured it out -- I think. This appears to be the answer:
In struct proc_dir_entry,set the fill_inode function pointer to a callback to handle refcounts.
struct proc_dir_entry { ... void (*fill_inode)(struct inode *, int); ... };
void fill_inode_cb(struct inode *i, int v) { if (v==0) { MOD_DEC_USE_COUNT; return; }; if (v==1) { MOD_INC_USE_COUNT; return; }; };
... right? :)
On 08 Mar 2001 11:01:28 -0500, Michael Rothwell wrote: > How can I detect that open() has been called on a file in procfs that a > module provides? If I modprobe my module, open one or more if its proc > entries, then rmmod the module while the proc files are still open, then > the deletion of those entries is deferred. When I close the file(s), the > kernel oopses. I need to be able to detect open() and close() in order > to increment/decrement the reference count for my module, to prevent it > from being rmmoded when in use. Any tips? > > Thanks! > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |