Messages in this thread Patch in this message | | | Date | Thu, 19 Sep 2002 17:58:06 -0700 | From | Greg KH <> | Subject | Re: [BK PATCH] More PCI Hotplug changes for 2.4.20-pre7 |
| |
# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.683 -> 1.684 # drivers/hotplug/pci_hotplug_core.c 1.5 -> 1.6 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/09/18 scottm@somanetworks.com 1.684 # [PATCH] Small pcihpfs dnotify fix # # I've been working on a userspace daemon to go with my CompactPCI driver, # and yesterday I discovered an oversight in pci_hp_change_slot_info - it # doesn't call dnotify_parent, so dnotify based clients basically don't # work against pcihpfs. The following patch (against 2.5 BK) reworks # things to just update the mtime (since we're modifying the file after # all), and then call dnotify_parent. # -------------------------------------------- # diff -Nru a/drivers/hotplug/pci_hotplug_core.c b/drivers/hotplug/pci_hotplug_core.c --- a/drivers/hotplug/pci_hotplug_core.c Thu Sep 19 17:19:10 2002 +++ b/drivers/hotplug/pci_hotplug_core.c Thu Sep 19 17:19:10 2002 @@ -37,6 +37,7 @@ #include <linux/smp_lock.h> #include <linux/init.h> #include <linux/pci.h> +#include <linux/dnotify.h> #include <asm/uaccess.h> #include "pci_hotplug.h" @@ -1006,10 +1007,13 @@ return 0; } -static inline void update_inode_time (struct inode *inode) +static inline void update_dentry_inode_time (struct dentry *dentry) { - if (inode) - inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; + struct inode *inode = dentry->d_inode; + if (inode) { + inode->i_mtime = CURRENT_TIME; + dnotify_parent(dentry, DN_MODIFY); + } } /** @@ -1044,16 +1048,16 @@ core = temp->core_priv; if ((core->power_dentry) && (temp->info->power_status != info->power_status)) - update_inode_time (core->power_dentry->d_inode); + update_dentry_inode_time (core->power_dentry); if ((core->attention_dentry) && (temp->info->attention_status != info->attention_status)) - update_inode_time (core->attention_dentry->d_inode); + update_dentry_inode_time (core->attention_dentry); if ((core->latch_dentry) && (temp->info->latch_status != info->latch_status)) - update_inode_time (core->latch_dentry->d_inode); + update_dentry_inode_time (core->latch_dentry); if ((core->adapter_dentry) && (temp->info->adapter_status != info->adapter_status)) - update_inode_time (core->adapter_dentry->d_inode); + update_dentry_inode_time (core->adapter_dentry); memcpy (temp->info, info, sizeof (struct hotplug_slot_info)); spin_unlock (&list_lock); - 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/
| |