diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-09 11:55:20 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-14 08:32:51 -0400 |
commit | 049b3c10eecd0a5f3605fa3cd13f638593213ccb (patch) | |
tree | 853abc0f6cf725ae9b5c340476b7e0fb34e9ae22 /Documentation/filesystems | |
parent | 7968ce12e9645c5eb5bb3f4320e43c2e402d580c (diff) |
vfs: update documentation on ->i_dentry handling
we used to need to clean it in RCU callback freeing an inode;
in 3.2 that requirement went away. Unfortunately, it hadn't
been reflected in Documentation/filesystems/porting.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/porting | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index 8c91d1057d9a..ed9fbc23ece0 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting | |||
@@ -355,12 +355,10 @@ protects *all* the dcache state of a given dentry. | |||
355 | via rcu-walk path walk (basically, if the file can have had a path name in the | 355 | via rcu-walk path walk (basically, if the file can have had a path name in the |
356 | vfs namespace). | 356 | vfs namespace). |
357 | 357 | ||
358 | i_dentry and i_rcu share storage in a union, and the vfs expects | 358 | Even though i_dentry and i_rcu share storage in a union, we will |
359 | i_dentry to be reinitialized before it is freed, so an: | 359 | initialize the former in inode_init_always(), so just leave it alone in |
360 | 360 | the callback. It used to be necessary to clean it there, but not anymore | |
361 | INIT_LIST_HEAD(&inode->i_dentry); | 361 | (starting at 3.2). |
362 | |||
363 | must be done in the RCU callback. | ||
364 | 362 | ||
365 | -- | 363 | -- |
366 | [recommended] | 364 | [recommended] |