diff options
-rw-r--r-- | fs/namei.c | 2 | ||||
-rw-r--r-- | fs/notify/fsnotify.c | 5 | ||||
-rw-r--r-- | fs/notify/notification.c | 4 | ||||
-rw-r--r-- | include/linux/fsnotify.h | 12 | ||||
-rw-r--r-- | include/linux/fsnotify_backend.h | 9 |
5 files changed, 17 insertions, 15 deletions
diff --git a/fs/namei.c b/fs/namei.c index 868d0cb9d473..3479b176a4cd 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -2635,7 +2635,7 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
2635 | { | 2635 | { |
2636 | int error; | 2636 | int error; |
2637 | int is_dir = S_ISDIR(old_dentry->d_inode->i_mode); | 2637 | int is_dir = S_ISDIR(old_dentry->d_inode->i_mode); |
2638 | const char *old_name; | 2638 | const unsigned char *old_name; |
2639 | 2639 | ||
2640 | if (old_dentry->d_inode == new_dentry->d_inode) | 2640 | if (old_dentry->d_inode == new_dentry->d_inode) |
2641 | return 0; | 2641 | return 0; |
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c index 54d58d5f72c1..c5adf833bf6a 100644 --- a/fs/notify/fsnotify.c +++ b/fs/notify/fsnotify.c | |||
@@ -171,7 +171,7 @@ void __fsnotify_flush_ignored_mask(struct inode *inode, void *data, int data_is) | |||
171 | 171 | ||
172 | static void send_to_group(struct fsnotify_group *group, struct inode *to_tell, | 172 | static void send_to_group(struct fsnotify_group *group, struct inode *to_tell, |
173 | struct vfsmount *mnt, __u32 mask, void *data, | 173 | struct vfsmount *mnt, __u32 mask, void *data, |
174 | int data_is, u32 cookie, const char *file_name, | 174 | int data_is, u32 cookie, const unsigned char *file_name, |
175 | struct fsnotify_event **event) | 175 | struct fsnotify_event **event) |
176 | { | 176 | { |
177 | if (!group->ops->should_send_event(group, to_tell, mnt, mask, | 177 | if (!group->ops->should_send_event(group, to_tell, mnt, mask, |
@@ -206,7 +206,8 @@ static bool needed_by_vfsmount(__u32 test_mask, struct vfsmount *mnt) | |||
206 | * out to all of the registered fsnotify_group. Those groups can then use the | 206 | * out to all of the registered fsnotify_group. Those groups can then use the |
207 | * notification event in whatever means they feel necessary. | 207 | * notification event in whatever means they feel necessary. |
208 | */ | 208 | */ |
209 | void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const char *file_name, u32 cookie) | 209 | void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, |
210 | const unsigned char *file_name, u32 cookie) | ||
210 | { | 211 | { |
211 | struct fsnotify_group *group; | 212 | struct fsnotify_group *group; |
212 | struct fsnotify_event *event = NULL; | 213 | struct fsnotify_event *event = NULL; |
diff --git a/fs/notify/notification.c b/fs/notify/notification.c index 2d50a40ab1e4..b35faafacd38 100644 --- a/fs/notify/notification.c +++ b/fs/notify/notification.c | |||
@@ -370,8 +370,8 @@ struct fsnotify_event *fsnotify_clone_event(struct fsnotify_event *old_event) | |||
370 | * @name the filename, if available | 370 | * @name the filename, if available |
371 | */ | 371 | */ |
372 | struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, void *data, | 372 | struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, void *data, |
373 | int data_type, const char *name, u32 cookie, | 373 | int data_type, const unsigned char *name, |
374 | gfp_t gfp) | 374 | u32 cookie, gfp_t gfp) |
375 | { | 375 | { |
376 | struct fsnotify_event *event; | 376 | struct fsnotify_event *event; |
377 | 377 | ||
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h index 06c0e50c7968..b8cf161f5a6d 100644 --- a/include/linux/fsnotify.h +++ b/include/linux/fsnotify.h | |||
@@ -59,14 +59,14 @@ static inline void fsnotify_link_count(struct inode *inode) | |||
59 | * fsnotify_move - file old_name at old_dir was moved to new_name at new_dir | 59 | * fsnotify_move - file old_name at old_dir was moved to new_name at new_dir |
60 | */ | 60 | */ |
61 | static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir, | 61 | static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir, |
62 | const char *old_name, | 62 | const unsigned char *old_name, |
63 | int isdir, struct inode *target, struct dentry *moved) | 63 | int isdir, struct inode *target, struct dentry *moved) |
64 | { | 64 | { |
65 | struct inode *source = moved->d_inode; | 65 | struct inode *source = moved->d_inode; |
66 | u32 fs_cookie = fsnotify_get_cookie(); | 66 | u32 fs_cookie = fsnotify_get_cookie(); |
67 | __u32 old_dir_mask = (FS_EVENT_ON_CHILD | FS_MOVED_FROM); | 67 | __u32 old_dir_mask = (FS_EVENT_ON_CHILD | FS_MOVED_FROM); |
68 | __u32 new_dir_mask = (FS_EVENT_ON_CHILD | FS_MOVED_TO); | 68 | __u32 new_dir_mask = (FS_EVENT_ON_CHILD | FS_MOVED_TO); |
69 | const char *new_name = moved->d_name.name; | 69 | const unsigned char *new_name = moved->d_name.name; |
70 | 70 | ||
71 | if (old_dir == new_dir) | 71 | if (old_dir == new_dir) |
72 | old_dir_mask |= FS_DN_RENAME; | 72 | old_dir_mask |= FS_DN_RENAME; |
@@ -290,7 +290,7 @@ static inline void fsnotify_change(struct dentry *dentry, unsigned int ia_valid) | |||
290 | /* | 290 | /* |
291 | * fsnotify_oldname_init - save off the old filename before we change it | 291 | * fsnotify_oldname_init - save off the old filename before we change it |
292 | */ | 292 | */ |
293 | static inline const char *fsnotify_oldname_init(const char *name) | 293 | static inline const unsigned char *fsnotify_oldname_init(const unsigned char *name) |
294 | { | 294 | { |
295 | return kstrdup(name, GFP_KERNEL); | 295 | return kstrdup(name, GFP_KERNEL); |
296 | } | 296 | } |
@@ -298,19 +298,19 @@ static inline const char *fsnotify_oldname_init(const char *name) | |||
298 | /* | 298 | /* |
299 | * fsnotify_oldname_free - free the name we got from fsnotify_oldname_init | 299 | * fsnotify_oldname_free - free the name we got from fsnotify_oldname_init |
300 | */ | 300 | */ |
301 | static inline void fsnotify_oldname_free(const char *old_name) | 301 | static inline void fsnotify_oldname_free(const unsigned char *old_name) |
302 | { | 302 | { |
303 | kfree(old_name); | 303 | kfree(old_name); |
304 | } | 304 | } |
305 | 305 | ||
306 | #else /* CONFIG_FSNOTIFY */ | 306 | #else /* CONFIG_FSNOTIFY */ |
307 | 307 | ||
308 | static inline const char *fsnotify_oldname_init(const char *name) | 308 | static inline const char *fsnotify_oldname_init(const unsigned char *name) |
309 | { | 309 | { |
310 | return NULL; | 310 | return NULL; |
311 | } | 311 | } |
312 | 312 | ||
313 | static inline void fsnotify_oldname_free(const char *old_name) | 313 | static inline void fsnotify_oldname_free(const unsigned char *old_name) |
314 | { | 314 | { |
315 | } | 315 | } |
316 | 316 | ||
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index afc690192972..efe9ba321cf2 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h | |||
@@ -220,7 +220,7 @@ struct fsnotify_event { | |||
220 | __u32 mask; /* the type of access, bitwise OR for FS_* event types */ | 220 | __u32 mask; /* the type of access, bitwise OR for FS_* event types */ |
221 | 221 | ||
222 | u32 sync_cookie; /* used to corrolate events, namely inotify mv events */ | 222 | u32 sync_cookie; /* used to corrolate events, namely inotify mv events */ |
223 | char *file_name; | 223 | const unsigned char *file_name; |
224 | size_t name_len; | 224 | size_t name_len; |
225 | struct pid *tgid; | 225 | struct pid *tgid; |
226 | 226 | ||
@@ -283,7 +283,7 @@ struct fsnotify_mark { | |||
283 | 283 | ||
284 | /* main fsnotify call to send events */ | 284 | /* main fsnotify call to send events */ |
285 | extern void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, | 285 | extern void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, |
286 | const char *name, u32 cookie); | 286 | const unsigned char *name, u32 cookie); |
287 | extern void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask); | 287 | extern void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask); |
288 | extern void __fsnotify_inode_delete(struct inode *inode); | 288 | extern void __fsnotify_inode_delete(struct inode *inode); |
289 | extern void __fsnotify_vfsmount_delete(struct vfsmount *mnt); | 289 | extern void __fsnotify_vfsmount_delete(struct vfsmount *mnt); |
@@ -402,7 +402,8 @@ extern void fsnotify_unmount_inodes(struct list_head *list); | |||
402 | 402 | ||
403 | /* put here because inotify does some weird stuff when destroying watches */ | 403 | /* put here because inotify does some weird stuff when destroying watches */ |
404 | extern struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, | 404 | extern struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, |
405 | void *data, int data_is, const char *name, | 405 | void *data, int data_is, |
406 | const unsigned char *name, | ||
406 | u32 cookie, gfp_t gfp); | 407 | u32 cookie, gfp_t gfp); |
407 | 408 | ||
408 | /* fanotify likes to change events after they are on lists... */ | 409 | /* fanotify likes to change events after they are on lists... */ |
@@ -413,7 +414,7 @@ extern int fsnotify_replace_event(struct fsnotify_event_holder *old_holder, | |||
413 | #else | 414 | #else |
414 | 415 | ||
415 | static inline void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, | 416 | static inline void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, |
416 | const char *name, u32 cookie) | 417 | const unsigned char *name, u32 cookie) |
417 | {} | 418 | {} |
418 | 419 | ||
419 | static inline void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask) | 420 | static inline void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask) |