| Function report | 
| Source Code: fs\notify\dnotify\dnotify.c | Create Date:2022-07-28 20:17:10 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:When a process calls fcntl to attach a dnotify watch to a directory it ends* up here. Allocate both a mark for fsnotify to add and a dnotify_struct to be* attached to the fsnotify_mark.
Proto:int fcntl_dirnotify(int fd, struct file *filp, unsigned long arg)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| int | fd | |
| struct file * | filp | |
| unsigned long | arg | 
| 261 | new_fsn_mark = NULL | 
| 262 | dn = NULL | 
| 264 | If Not dir_notify_enable Then | 
| 270 | If (arg & ~Don't remove notifier ) == 0 Then | 
| 277 | inode = file_inode(filp) | 
| 289 | error = security_path_notify( & f_path, mask, FSNOTIFY_OBJ_TYPE_INODE) | 
| 296 | If Not dn Then | 
| 303 | If Not new_dn_mark Then | 
| 309 | new_fsn_mark = fsn_mark | 
| 312 | dn = NULL | 
| 315 | mutex_lock( & protect marks_list ) | 
| 318 | fsn_mark = Given a list of marks, find the mark associated with given group. If found* take a reference to that mark and return it, else return NULL. | 
| 319 | If fsn_mark Then | 
| 322 | Else | 
| 323 | error = fsnotify_add_inode_mark_locked(new_fsn_mark, inode, 0) | 
| 324 | If error Then | 
| 326 | Go to out_err | 
| 329 | fsn_mark = new_fsn_mark | 
| 330 | dn_mark = new_dn_mark | 
| 332 | new_fsn_mark = NULL | 
| 357 | __f_setown(filp, task_pid(current process), PIDTYPE_TGID, 0) | 
| 369 | out : | 
| 375 | If destroy Then Free fsnotify mark | 
| 378 | out_err : | 
| 379 | If new_fsn_mark Then fsnotify_put_mark(new_fsn_mark) | 
| 381 | If dn Then kmem_cache_free(dnotify_struct_cache, dn) | 
| 383 | Return error | 
| Name | Describe | 
|---|---|
| do_fcntl | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |