Messages in this thread Patch in this message | | | Date | Sun, 12 Dec 2010 13:42:47 +0100 | From | Rodolfo Giometti <> | Subject | fsnotify & sysfs |
| |
Hello,
I know that a sysfs file may be pollable but I'm asking to myself how it could be difficult adding notifying support also.
Maybe adding a call to the fsnotify subsystem within the sysfs_notify() function as follow can do the trick?
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index da3fefe..afee69f 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -484,8 +486,10 @@ void sysfs_notify(struct kobject *k, const char *dir, const sd = sysfs_find_dirent(sd, NULL, dir); if (sd && attr) sd = sysfs_find_dirent(sd, NULL, attr); - if (sd) + if (sd) { sysfs_notify_dirent(sd); + fsnotify_change(dentry, ATTR_SIZE); + } mutex_unlock(&sysfs_mutex); } However my problem is how to get the struct dentry pointer needed by fsnotify_change() related to the struct sysfs_dirent pointer passed to sysfs_notify(). :(
Can you please give me any advice about to solve it?
Another question: in file linux/fs/sysfs/file.c I see:
#include <linux/fsnotify.h>
but none of its functions are called into file.c... maybe it's a mistake?
Thanks in advance,
Rodolfo
--
GNU/Linux Solutions e-mail: giometti@enneenne.com Linux Device Driver giometti@linux.it Embedded Systems phone: +39 349 2432127 UNIX programming skype: rodolfo.giometti Freelance ICT Italia - Consulente ICT Italia - www.consulenti-ict.it
| |