diff options
Diffstat (limited to 'fs/notify/fsnotify.c')
| -rw-r--r-- | fs/notify/fsnotify.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c index 57ecadd85abf..20dc218707ca 100644 --- a/fs/notify/fsnotify.c +++ b/fs/notify/fsnotify.c | |||
| @@ -84,16 +84,17 @@ void __fsnotify_update_child_dentry_flags(struct inode *inode) | |||
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | /* Notify this dentry's parent about a child's events. */ | 86 | /* Notify this dentry's parent about a child's events. */ |
| 87 | void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask) | 87 | int __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask) |
| 88 | { | 88 | { |
| 89 | struct dentry *parent; | 89 | struct dentry *parent; |
| 90 | struct inode *p_inode; | 90 | struct inode *p_inode; |
| 91 | int ret = 0; | ||
| 91 | 92 | ||
| 92 | if (!dentry) | 93 | if (!dentry) |
| 93 | dentry = path->dentry; | 94 | dentry = path->dentry; |
| 94 | 95 | ||
| 95 | if (!(dentry->d_flags & DCACHE_FSNOTIFY_PARENT_WATCHED)) | 96 | if (!(dentry->d_flags & DCACHE_FSNOTIFY_PARENT_WATCHED)) |
| 96 | return; | 97 | return 0; |
| 97 | 98 | ||
| 98 | parent = dget_parent(dentry); | 99 | parent = dget_parent(dentry); |
| 99 | p_inode = parent->d_inode; | 100 | p_inode = parent->d_inode; |
| @@ -106,14 +107,16 @@ void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask) | |||
| 106 | mask |= FS_EVENT_ON_CHILD; | 107 | mask |= FS_EVENT_ON_CHILD; |
| 107 | 108 | ||
| 108 | if (path) | 109 | if (path) |
| 109 | fsnotify(p_inode, mask, path, FSNOTIFY_EVENT_PATH, | 110 | ret = fsnotify(p_inode, mask, path, FSNOTIFY_EVENT_PATH, |
| 110 | dentry->d_name.name, 0); | 111 | dentry->d_name.name, 0); |
| 111 | else | 112 | else |
| 112 | fsnotify(p_inode, mask, dentry->d_inode, FSNOTIFY_EVENT_INODE, | 113 | ret = fsnotify(p_inode, mask, dentry->d_inode, FSNOTIFY_EVENT_INODE, |
| 113 | dentry->d_name.name, 0); | 114 | dentry->d_name.name, 0); |
| 114 | } | 115 | } |
| 115 | 116 | ||
| 116 | dput(parent); | 117 | dput(parent); |
| 118 | |||
| 119 | return ret; | ||
| 117 | } | 120 | } |
| 118 | EXPORT_SYMBOL_GPL(__fsnotify_parent); | 121 | EXPORT_SYMBOL_GPL(__fsnotify_parent); |
| 119 | 122 | ||
