1. 07 Aug, 2014 3 commits
    • Al Viro's avatar
      make fs/{namespace,super}.c forget about acct.h · 8fa1f1c2
      Al Viro authored
      These externs belong in fs/internal.h.  Rename (they are not acct-specific
      anymore) and move them over there.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8fa1f1c2
    • Al Viro's avatar
      take fs_pin stuff to fs/* · efb170c2
      Al Viro authored
      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: default avatarAl Viro <viro@zeniv.linux.org.uk>
      efb170c2
    • Al Viro's avatar
      acct: get rid of acct_list · 215752fc
      Al Viro authored
      Put these suckers on per-vfsmount and per-superblock lists instead.
      Note: right now it's still acct_lock for everything, but that's
      going to change.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      215752fc
  2. 13 Oct, 2012 1 commit
  3. 13 Dec, 2011 1 commit
  4. 12 Mar, 2010 2 commits
  5. 25 Jul, 2008 1 commit
  6. 06 Feb, 2008 1 commit
    • David Fries's avatar
      system timer: fix crash in <100Hz system timer · 6ffc787a
      David Fries authored
      The kernel has a divide by zero crash when trying to run the system timer
      less than 100Hz.  The problem is x/(HZ/USER_HZ) and related.  Now
      x*(USER_HZ/HZ) will be used if HZ<USER_HZ.
      
      I'm running the Linux kernel under qemu and went to run a slower system
      timer to take less CPU (and battery) on the host.  I found that the kernel
      paniced under emulation because of a divide by zero in three places.  Here
      is the patch.  The base git was updated today 01-05-2008.  I went for a
      20Hz system time by adding config HZ_20 etc to kernel/Kconfig.hz.  With
      this patch I verified the system timer by looking at /proc/interrupts.
      
      [akpm@linux-foundation.org: partially clean up the macro maze]
      Signed-off-by: default avatarDavid Fries <david@fries.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6ffc787a
  7. 04 Dec, 2006 1 commit
  8. 01 Oct, 2006 1 commit
    • Jay Lan's avatar
      [PATCH] csa: convert CONFIG tag for extended accounting routines · 8f0ab514
      Jay Lan authored
      There were a few accounting data/macros that are used in CSA but are #ifdef'ed
      inside CONFIG_BSD_PROCESS_ACCT.  This patch is to change those ifdef's from
      CONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT.  A few defines are moved from
      kernel/acct.c and include/linux/acct.h to kernel/tsacct.c and
      include/linux/tsacct_kern.h.
      Signed-off-by: default avatarJay Lan <jlan@sgi.com>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Jes Sorensen <jes@sgi.com>
      Cc: Chris Sturtivant <csturtiv@sgi.com>
      Cc: Tony Ernst <tee@sgi.com>
      Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8f0ab514
  9. 25 Jun, 2006 2 commits
    • KaiGai Kohei's avatar
      [PATCH] pacct: avoidance to refer the last thread as a representation of the process · f6ec29a4
      KaiGai Kohei authored
      When pacct facility generate an 'ac_flag' field in accounting record, it
      refers a task_struct of the thread which died last in the process.  But any
      other task_structs are ignored.
      
      Therefore, pacct facility drops ASU flag even if root-privilege operations are
      used by any other threads except the last one.  In addition, AFORK flag is
      always set when the thread of group-leader didn't die last, although this
      process has called execve() after fork().
      
      We have a same matter in ac_exitcode.  The recorded ac_exitcode is an exit
      code of the last thread in the process.  There is a possibility this exitcode
      is not the group leader's one.
      f6ec29a4
    • KaiGai Kohei's avatar
      [PATCH] pacct: add pacct_struct to fix some pacct bugs. · 0e464814
      KaiGai Kohei authored
      The pacct facility need an i/o operation when an accounting record is
      generated.  There is a possibility to wake OOM killer up.  If OOM killer is
      activated, it kills some processes to make them release process memory
      regions.
      
      But acct_process() is called in the killed processes context before calling
      exit_mm(), so those processes cannot release own memory.  In the results, any
      processes stop in this point and it finally cause a system stall.
      0e464814
  10. 26 Apr, 2006 1 commit
  11. 25 Apr, 2006 1 commit
  12. 13 Nov, 2005 1 commit
  13. 07 Nov, 2005 1 commit
    • Al Viro's avatar
      [PATCH] saner handling of auto_acct_off() and DQUOT_OFF() in umount · 7b7b1ace
      Al Viro authored
      The way we currently deal with quota and process accounting that might
      keep vfsmount busy at umount time is inherently broken; we try to turn
      them off just in case (not quite correctly, at that) and
      
        a) pray umount doesn't fail (otherwise they'll stay turned off)
        b) pray nobody doesn anything funny just as we turn quota off
      
      Moreover, LSM provides hooks for doing the same sort of broken logics.
      
      The proper way to deal with that is to introduce the second kind of
      reference to vfsmount.  Semantics:
      
       - when the last normal reference is dropped, all special ones are
         converted to normal ones and if there had been any, cleanup is done.
       - normal reference can be cloned into a special one
       - special reference can be converted to normal one; that's a no-op if
         we'd already passed the point of no return (i.e.  mntput() had
         converted special references to normal and started cleanup).
      
      The way it works: e.g. starting process accounting converts the vfsmount
      reference pinned by the opened file into special one and turns it back
      to normal when it gets shut down; acct_auto_close() is done when no
      normal references are left.  That way it does *not* obstruct umount(2)
      and it silently gets turned off when the last normal reference to
      vfsmount is gone.  Which is exactly what we want...
      
      The same should be done by LSM module that holds some internal
      references to vfsmount and wants to shut them down on umount - it should
      make them special and security_sb_umount_close() will be called exactly
      when the last normal reference to vfsmount is gone.
      
      quota handling is even simpler - we don't use normal file IO anymore, so
      there's no need to hold vfsmounts at all.  DQUOT_OFF() is done from
      deactivate_super(), where it really belongs.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7b7b1ace
  14. 14 Oct, 2005 1 commit
  15. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4