09 May, 2007

2 commits


05 Dec, 2006

1 commit


30 Nov, 2006

1 commit


22 Nov, 2006

1 commit


21 Oct, 2006

1 commit

  • Separate out the concept of "queue congestion" from "backing-dev congestion".
    Congestion is a backing-dev concept, not a queue concept.

    The blk_* congestion functions are retained, as wrappers around the core
    backing-dev congestion functions.

    This proper layering is needed so that NFS can cleanly use the congestion
    functions, and so that CONFIG_BLOCK=n actually links.

    Cc: "Thomas Maier"
    Cc: "Jens Axboe"
    Cc: Trond Myklebust
    Cc: David Howells
    Cc: Peter Osterlund
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

04 Oct, 2006

1 commit

  • This patch converts several if () BUG(); construct to BUG_ON();
    which occupies less space, uses unlikely and is safer when
    BUG() is disabled. S_ISREG() has no side effects, so the
    conversion is safe.

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Adrian Bunk

    Eric Sesterhenn
     

30 Sep, 2006

1 commit

  • ReiserFS does periodic cleanup of old transactions in order to limit the
    length of time a journal replay may take after a crash. Sometimes, writing
    metadata from an old (already committed) transaction may require committing
    a newer transaction, which also requires writing all data=ordered buffers.
    This can cause very long stalls on journal_begin.

    This patch makes sure new transactions will not need to be committed before
    trying a periodic reclaim of an old transaction. It is low risk because if
    a bad decision is made, it just means a slightly longer journal replay
    after a crash.

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     

01 Jul, 2006

1 commit


27 Jun, 2006

1 commit

  • This patch converts the combination of list_del(A) and list_add(A, B) to
    list_move(A, B) under fs/.

    Cc: Ian Kent
    Acked-by: Joel Becker
    Cc: Neil Brown
    Cc: Hans Reiser
    Cc: Urban Widmark
    Acked-by: David Howells
    Acked-by: Mark Fasheh
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

26 Mar, 2006

1 commit

  • Reiserfs does not handle transaction ID overflow correctly. Transaction ID
    == 0 causes reiserfs to crash. The patch fixes all places where the
    transaction ID is incremented.

    Signed-off-by: Alexander Zarochentsev
    Signed-off-by: Hans Reiser
    Cc: Chris Mason
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Zarochentsev
     

03 Mar, 2006

1 commit


02 Feb, 2006

6 commits

  • reiserfs: journal_transaction_should_end should increase the count of
    blocks allocated so the transaction subsystem can keep new writers from
    creating a transaction that is too large.

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • write_ordered_buffers should handle dirty non-uptodate buffers without a
    BUG()

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • In data=journal mode, reiserfs writepage needs to make sure not to trigger
    transactions while being run under PF_MEMALLOC. This patch makes sure to
    redirty the page instead of forcing a transaction start in this case.

    Also, calling filemap_fdata* in order to trigger io on the block device can
    cause lock inversions on the page lock. Instead, do simple batching from
    flush_commit_list.

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • After a transaction has closed but before it has finished commit, there is
    a window where data=ordered mode requires invalidatepage to pin pages
    instead of freeing them. This patch fixes a race between the
    invalidatepage checks and data=ordered writeback, and it also adds a check
    to the reiserfs write_ordered_buffers routines to write any anonymous
    buffers that were dirtied after its first writeback loop.

    That bug works like this:

    proc1: transaction closes and a new one starts
    proc1: write_ordered_buffers starts processing data=ordered list
    proc1: buffer A is cleaned and written
    proc2: buffer A is dirtied by another process
    proc2: File is truncated to zero, page A goes through invalidatepage
    proc2: reiserfs_invalidatepage sees dirty buffer A with reiserfs
    journal head, pins it
    proc1: write_ordered_buffers frees the journal head on buffer A

    At this point, buffer A stays dirty forever

    Signed-off-by: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • This patch replaces yield and retry loop with __GFP_NOFAIL in
    alloc_journal_list().

    Signed-off-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     
  • Remove kmalloc() wrapper from fs/reiserfs/. Please note that a reiserfs
    /proc entry format is changed because kmalloc statistics is removed.

    Signed-off-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     

12 Jan, 2006

1 commit

  • Sometimes we call do_journal_end() with t_refcount == 0. If quota is
    turned on and we happen to have some inode with preallocation bad things
    happen as we try to use the current handle for quota operations. Checks
    for t_refcount in journal_begin() fail and we Oops. We raise t_refcount to
    make those checks happy. We should not cause any bad as all the needed
    quota blocks should be already attached to the transaction (they were
    attached to the transaction when we allocated those preallocation blocks).

    Signed-off-by: Jan Kara
    Cc: Jeff Mahoney
    Cc: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     

15 Dec, 2005

1 commit

  • This should have been part of the original io error patch, but got
    dropped somewhere along the way.

    It's extremely important when handling the i/o error in the journal to
    not commit the transaction with corrupt data. This patch adds that code
    back in.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     

30 Nov, 2005

1 commit

  • If an external device is used for a journal, by default it will use the
    entire device. The reiserfs journal code allocates structures per journal
    block when it mounts the file system. If the journal device is too large,
    and memory cannot be allocated for the structures, it will continue and
    ultimately panic when it can't pull one off the free list.

    This patch handles the allocation failure gracefully and prints an error
    message at mount time.

    Changes: Updated error message to be more descriptive to the user.

    Discussed and approved on ReiserFS Mailing List, Nov 28.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     

11 Sep, 2005

1 commit

  • Use schedule_timeout_{,un}interruptible() instead of
    set_current_state()/schedule_timeout() to reduce kernel size. Also use helper
    functions to convert between human time units and jiffies rather than constant
    HZ division to avoid rounding errors.

    Signed-off-by: Nishanth Aravamudan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nishanth Aravamudan
     

08 Sep, 2005

1 commit


28 Jul, 2005

1 commit

  • `gcc -W' likes to complain if the static keyword is not at the beginning of
    the declaration. This patch fixes all remaining occurrences of "inline
    static" up with "static inline" in the entire kernel tree (140 occurrences in
    47 files).

    While making this change I came across a few lines with trailing whitespace
    that I also fixed up, I have also added or removed a blank line or two here
    and there, but there are no functional changes in the patch.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     

13 Jul, 2005

1 commit

  • This was a pure indentation change, using:

    scripts/Lindent fs/reiserfs/*.c include/linux/reiserfs_*.h

    to make reiserfs match the regular Linux indentation style. As Jeff
    Mahoney writes:

    The ReiserFS code is a mix of a number of different coding styles, sometimes
    different even from line-to-line. Since the code has been relatively stable
    for quite some time and there are few outstanding patches to be applied, it
    is time to reformat the code to conform to the Linux style standard outlined
    in Documentation/CodingStyle.

    This patch contains the result of running scripts/Lindent against
    fs/reiserfs/*.c and include/linux/reiserfs_*.h. There are places where the
    code can be made to look better, but I'd rather keep those patches separate
    so that there isn't a subtle by-hand hand accident in the middle of a huge
    patch. To be clear: This patch is reformatting *only*.

    A number of patches may follow that continue to make the code more consistent
    with the Linux coding style.

    Hans wasn't particularly enthusiastic about these patches, but said he
    wouldn't really oppose them either.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

28 Jun, 2005

1 commit

  • This updates the CFQ io scheduler to the new time sliced design (cfq
    v3). It provides full process fairness, while giving excellent
    aggregate system throughput even for many competing processes. It
    supports io priorities, either inherited from the cpu nice value or set
    directly with the ioprio_get/set syscalls. The latter closely mimic
    set/getpriority.

    This import is based on my latest from -mm.

    Signed-off-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Jens Axboe
     

24 Jun, 2005

1 commit


01 May, 2005

2 commits


17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds