1. 12 12月, 2009 22 次提交
  2. 11 12月, 2009 2 次提交
  3. 10 12月, 2009 11 次提交
    • J
      quota: Implement quota format with 64-bit space and inode limits · 498c6015
      Jan Kara 提交于
      So far the maximum quota space limit was 4TB. Apparently this isn't enough
      for Lustre guys anymore. So implement new quota format which raises block
      limits to 2^64 bytes. Also store number of inodes and inode limits in
      64-bit variables as 2^32 files isn't that insanely high anymore.
      
      The first version of the patch has been developed by Andrew Perepechko
      <Andrew.Perepechko@Sun.COM>.
      
      CC: Andrew.Perepechko@Sun.COM
      Signed-off-by: NJan Kara <jack@suse.cz>
      498c6015
    • J
      quota: Move definition of QFMT_OCFS2 to linux/quota.h · 30673930
      Jan Kara 提交于
      Move definition of this constant to linux/quota.h so that it
      cannot clash with other format IDs.
      
      CC: Joel Becker <joel.becker@oracle.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      30673930
    • A
      ext3: Unify log messages in ext3 · 4cf46b67
      Alexey Fisher 提交于
      Make messages produced by ext3 more unified. It should be
      easy to parse.
      
      dmesg before patch:
      [ 4893.684892] reservations ON
      [ 4893.684896] xip option not supported
      [ 4893.684964] EXT3-fs warning: maximal mount count reached, running
      e2fsck is recommended
      
      dmesg after patch:
      [  873.300792] EXT3-fs (loop0): using internal journaln
      [  873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode
      [  924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0.
      [  723.755642] EXT3-fs (loop0): error: bad blocksize 8192
      [  357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2?
      [  873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended
      [  924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0.
      Signed-off-by: NAlexey Fisher <bug-track@fisher-privat.net>
      Signed-off-by: NJan Kara <jack@suse.cz>
      4cf46b67
    • J
      ext2: Explicitly assign values to on-disk enum of filetypes · ad888a1f
      Jan Blunck 提交于
      It is somewhat dangerous to use a straight enum here, because this will
      reassign values of later variables if one of the earlier ones is removed.
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Cc: Andreas Dilger <adilger@sun.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      ad888a1f
    • A
      const: struct quota_format_ops · 1472da5f
      Alexey Dobriyan 提交于
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      1472da5f
    • C
      kill wait_on_page_writeback_range · 94004ed7
      Christoph Hellwig 提交于
      All callers really want the more logical filemap_fdatawait_range interface,
      so convert them to use it and merge wait_on_page_writeback_range into
      filemap_fdatawait_range.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      94004ed7
    • H
      hrtimer: move timer stats helper functions to hrtimer.c · 5f201907
      Heiko Carstens 提交于
      There is no reason to make timer_stats_hrtimer_set_start_info and
      friends visible to the rest of the kernel. So move all of them to
      hrtimer.c.  Also make timer_stats_hrtimer_set_start_info a static
      inline function so it gets inlined and we avoid another function call.
      Based on a patch by Thomas Gleixner.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      LKML-Reference: <20091210095629.GC4144@osiris.boeblingen.de.ibm.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      5f201907
    • T
      hrtimer: Tune hrtimer_interrupt hang logic · 41d2e494
      Thomas Gleixner 提交于
      The hrtimer_interrupt hang logic adjusts min_delta_ns based on the
      execution time of the hrtimer callbacks.
      
      This is error-prone for virtual machines, where a guest vcpu can be
      scheduled out during the execution of the callbacks (and the callbacks
      themselves can do operations that translate to blocking operations in
      the hypervisor), which in can lead to large min_delta_ns rendering the
      system unusable.
      
      Replace the current heuristics with something more reliable. Allow the
      interrupt code to try 3 times to catch up with the lost time. If that
      fails use the total time spent in the interrupt handler to defer the
      next timer interrupt so the system can catch up with other things
      which got delayed. Limit that deferment to 100ms.
      
      The retry events and the maximum time spent in the interrupt handler
      are recorded and exposed via /proc/timer_list
      
      Inspired by a patch from Marcelo.
      Reported-by: NMichael Tokarev <mjt@tls.msk.ru>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Cc: kvm@vger.kernel.org
      41d2e494
    • M
      sched: Mark sched_clock() as notrace · 1bbfa6f2
      Mike Frysinger 提交于
      The core ftrace code (trace_clock_local) calls sched_clock()
      directly, so we don't want to recurisvely trigger the ftrace
      code.  Rather than update every sched_clock() definition, tag
      the prototype for everyone as notrace.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      LKML-Reference: <1260407223-10900-1-git-send-email-vapier@gentoo.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1bbfa6f2
    • J
      tracing: Add full state to trace_seq · d184b31c
      Johannes Berg 提交于
      The trace_seq buffer might fill up, and right now one needs to check the
      return value of each printf into the buffer to check for that.
      
      Instead, have the buffer keep track of whether it is full or not, and
      reject more input if it is full or would have overflowed with an input
      that wasn't added.
      
      Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      d184b31c
    • S
      tracing: Buffer the output of seq_file in case of filled buffer · a63ce5b3
      Steven Rostedt 提交于
      If the seq_read fills the buffer it will call s_start again on the next
      itertation with the same position. This causes a problem with the
      function_graph tracer because it consumes the iteration in order to
      determine leaf functions.
      
      What happens is that the iterator stores the entry, and the function
      graph plugin will look at the next entry. If that next entry is a return
      of the same function and task, then the function is a leaf and the
      function_graph plugin calls ring_buffer_read which moves the ring buffer
      iterator forward (the trace iterator still points to the function start
      entry).
      
      The copying of the trace_seq to the seq_file buffer will fail if the
      seq_file buffer is full. The seq_read will not show this entry.
      The next read by userspace will cause seq_read to again call s_start
      which will reuse the trace iterator entry (the function start entry).
      But the function return entry was already consumed. The function graph
      plugin will think that this entry is a nested function and not a leaf.
      
      To solve this, the trace code now checks the return status of the
      seq_printf (trace_print_seq). If the writing to the seq_file buffer
      fails, we set a flag in the iterator (leftover) and we do not reset
      the trace_seq buffer. On the next call to s_start, we check the leftover
      flag, and if it is set, we just reuse the trace_seq buffer and do not
      call into the plugin print functions.
      
      Before this patch:
      
       2)               |      fput() {
       2)               |        __fput() {
       2)   0.550 us    |          inotify_inode_queue_event();
       2)               |          __fsnotify_parent() {
       2)   0.540 us    |          inotify_dentry_parent_queue_event();
      
      After the patch:
      
       2)               |      fput() {
       2)               |        __fput() {
       2)   0.550 us    |          inotify_inode_queue_event();
       2)   0.548 us    |          __fsnotify_parent();
       2)   0.540 us    |          inotify_dentry_parent_queue_event();
      
      [
        Updated the patch to fix a missing return 0 from the trace_print_seq()
        stub when CONFIG_TRACING is disabled.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      ]
      Reported-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      a63ce5b3
  4. 09 12月, 2009 5 次提交