acct: new lifetime rules
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 7 Aug 2014 11:51:03 +0000 (07:51 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 7 Aug 2014 18:40:08 +0000 (14:40 -0400)
commitb8f00e6be46f4c9a112e05fd692712873c4c4048
treef37aaef1d0fdfd9649f3ab14ee09de5f7100030d
parent9df7fa16ee956bf0cdf4a711eac827be92d584bc
acct: new lifetime rules

Do not reuse bsd_acct_struct after closing the damn thing.
Structure lifetime is controlled by refcount now.  We also
have a mutex in there, held over closing and writing (the
file is O_APPEND, so we are not losing any concurrency).

As the result, we do not need to bother with get_file()/fput()
on log write anymore.  Moreover, do_acct_process() only needs
acct itself; file and pidns are picked from it.

Killed instances are distinguished by having NULL ->ns.
Refcount is protected by acct_lock; anybody taking the
mutex needs to grab a reference first.

The things will get a lot simpler in the next commits - this
is just the minimal chunk switching to the new lifetime rules.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
kernel/acct.c