Re: [PATCH] Driver Core patches for 2.6.7

From: Greg KH
Date: Tue Jun 22 2004 - 13:16:54 EST


ChangeSet 1.1722.111.25, 2004/06/11 17:22:53-07:00, linux@xxxxxxxxxxx

[PATCH] sysfs: fs/sysfs/inode.c: modify parents ctime and mtime on creation

When a node is added to sysfs (e.g. a device plugged in via USB), the
filesystem fails to make this change visible in the parent directory's
ctime/mtime. This is in contrast to removing a device, because in that
case, sysfs makes use of the function simple_unlink from fs/libfs.c which
takes care of that. Instead of using simple_link from fs/libfs.c on
creation, sysfs implements its own mechanism. This patch hooks into the
function sysfs_create and sets the ctime and the mtime of the parent to
CURRENT_TIME.

Signed-off-by: Sebastian Henschel <linux@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <greg@xxxxxxxxx>


fs/sysfs/inode.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)


diff -Nru a/fs/sysfs/inode.c b/fs/sysfs/inode.c
--- a/fs/sysfs/inode.c Tue Jun 22 09:46:53 2004
+++ b/fs/sysfs/inode.c Tue Jun 22 09:46:53 2004
@@ -46,8 +46,13 @@
struct inode * inode = NULL;
if (dentry) {
if (!dentry->d_inode) {
- if ((inode = sysfs_new_inode(mode)))
+ if ((inode = sysfs_new_inode(mode))) {
+ if (dentry->d_parent && dentry->d_parent->d_inode) {
+ struct inode *p_inode = dentry->d_parent->d_inode;
+ p_inode->i_mtime = p_inode->i_ctime = CURRENT_TIME;
+ }
goto Proceed;
+ }
else
error = -ENOMEM;
} else

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/