diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-08-07 08:39:04 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-08-07 14:40:08 -0400 |
commit | efb170c22867cdc6f770de441bdefecec6712199 (patch) | |
tree | 6427257fe101016ef07ba28903d65d8f8be8e2ca /include/linux/acct.h | |
parent | 1629d0eb3ead0e0c49e4402049ec7b5b31b81cd7 (diff) | |
download | op-kernel-dev-efb170c22867cdc6f770de441bdefecec6712199.zip op-kernel-dev-efb170c22867cdc6f770de441bdefecec6712199.tar.gz |
take fs_pin stuff to fs/*
Add a new field to fs_pin - kill(pin). That's what umount and r/o remount
will be calling for all pins attached to vfsmount and superblock resp.
Called after bumping the refcount, so it won't go away under us. Dropping
the refcount is responsibility of the instance. All generic stuff moved to
fs/fs_pin.c; the next step will rip all the knowledge of kernel/acct.c from
fs/super.c and fs/namespace.c. After that - death to mnt_pin(); it was
intended to be usable as generic mechanism for code that wants to attach
objects to vfsmount, so that they would not make the sucker busy and
would get killed on umount. Never got it right; it remained acct.c-specific
all along. Now it's very close to being killable.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/acct.h')
-rw-r--r-- | include/linux/acct.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/acct.h b/include/linux/acct.h index 65a4f88..1378379 100644 --- a/include/linux/acct.h +++ b/include/linux/acct.h @@ -24,18 +24,16 @@ struct super_block; struct pacct_struct; struct pid_namespace; extern int acct_parm[]; /* for sysctl */ -extern void acct_auto_close(struct hlist_head *); -extern void acct_auto_close_mnt(struct hlist_head *); extern void acct_collect(long exitcode, int group_dead); extern void acct_process(void); extern void acct_exit_ns(struct pid_namespace *); #else -#define acct_auto_close(x) do { } while (0) -#define acct_auto_close_mnt(x) do { } while (0) #define acct_collect(x,y) do { } while (0) #define acct_process() do { } while (0) #define acct_exit_ns(ns) do { } while (0) #endif +extern void acct_auto_close(struct hlist_head *); +extern void acct_auto_close_mnt(struct hlist_head *); /* * ACCT_VERSION numbers as yet defined: |