Files
kernel/include/linux
NeilBrown 756daf263e VFS: replace {, total_}link_count in task_struct with pointer to nameidata
task_struct currently contains two ad-hoc members for use by the VFS:
link_count and total_link_count.  These are only interesting to fs/namei.c,
so exposing them explicitly is poor layering.  Incidentally, link_count
isn't used anymore, so it can just die.

This patches replaces those with a single pointer to 'struct nameidata'.
This structure represents the current filename lookup of which
there can only be one per process, and is a natural place to
store total_link_count.

This will allow the current "nameidata" argument to all
follow_link operations to be removed as current->nameidata
can be used instead in the _very_ few instances that care about
it at all.

As there are occasional circumstances where pathname lookup can
recurse, such as through kern_path_locked, we always save and old
current->nameidata (if there is one) when setting a new value, and
make sure any active link_counts are preserved.

follow_mount and follow_automount now get a 'struct nameidata *'
rather than 'int flags' so that they can directly access
total_link_count, rather than going through 'current'.

Suggested-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-05-10 22:20:14 -04:00
..
2015-03-29 16:17:10 +01:00
2015-04-07 11:17:34 +02:00
2015-03-25 20:28:11 -04:00
2015-04-17 09:03:53 -04:00
2015-05-04 13:09:55 -06:00
2015-04-17 08:31:12 -06:00
2015-03-11 15:56:59 -07:00
2015-04-16 12:33:51 +09:30
2015-02-12 18:54:15 -08:00
2015-03-02 16:43:41 -05:00
2015-02-18 15:08:33 +01:00
2015-03-16 21:45:54 +11:00
2015-04-03 16:18:02 +02:00
2015-02-13 21:21:36 -08:00
2015-04-14 16:49:05 -07:00
2015-03-25 11:44:52 +01:00
2015-04-17 09:04:07 -04:00
2015-03-31 12:04:12 +02:00
2015-04-23 14:36:28 -04:00
2015-03-11 17:56:28 -04:00
2015-04-12 21:03:31 +02:00
2015-02-17 14:34:52 -08:00
2015-02-24 08:44:16 +01:00
2015-03-26 18:18:20 +01:00
2015-04-25 15:49:49 -04:00
2015-02-13 21:21:41 -08:00
2015-03-11 21:55:28 -04:00
2015-04-11 15:53:35 -04:00
2015-02-13 21:21:35 -08:00
2015-03-25 13:28:58 +01:00
2015-04-11 22:29:44 -04:00
2015-03-24 09:48:14 -07:00
2015-04-15 16:35:20 -07:00