01 Jul, 2005

1 commit


30 Jun, 2005

8 commits


29 Jun, 2005

7 commits

  • Currently in ext3 block reservation code, the global filesystem reservation
    tree lock (rsv_block) is hold during the process of searching for a space
    to make a new reservation window, including while scaning the block bitmap
    to verify if the avalible window has a free block. Holding the lock during
    bitmap scan is unnecessary and could possibly cause scalability issue and
    latency issues.

    This patch tries to address this by dropping the lock before scan the
    bitmap. Before that we need to reserve the open window in case someone
    else is targetting at the same window. Question was should we reserve the
    whole free reservable space or just the window size we need. Reserve the
    whole free reservable space will possibly force other threads which
    intended to do block allocation nearby move to another block group(cause
    bad layout). In this patch, we just reserve the desired size before drop
    the lock and scan the block bitmap. This patch fixed a ext3 reservation
    latency issue seen on a cvs check out test. Patch is tested with many fsx,
    tiobench, dbench and untar a kernel test.

    Signed-Off-By: Mingming Cao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mingming Cao
     
  • The return value of "match_int" is checked 27 out of 28 times

    In lib/parser.c
    142 /**
    143 * match_int: - scan a decimal representation of an integer from a substring_t
    144 * @s: substring_t to be scanned
    145 * @result: resulting integer on success
    146 *
    147 * Description: Attempts to parse the &substring_t @s as a decimal integer. On
    148 * success, sets @result to the integer represented by the string and returns 0.
    149 * Returns either -ENOMEM or -EINVAL on failure.
    150 */
    151 int match_int(substring_t *s, int *result)
    152 {
    153 return match_number(s, result, 0);
    154 }

    Signed-off-by: Zaur Kambarov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMBAROV, ZAUR
     
  • "dir" was dereferenced before null check

    Signed-off-by: Zaur Kambarov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMBAROV, ZAUR
     
  • In the case of buffered AIO, in the aio retry path (aio_run_iocb), when the
    retry method returns EIOCBRETRY the kicked iocb is added to the context run
    list but is never queued onto the work queue. The request therefore is
    never completed.

    This patch fixes that by adding the appropriate call to aio_queue_work in
    aio_run_aiocb so that subsequent retries will be handled by the aio worker
    thread.

    Signed-off-by: Sébastien Dugué
    Acked-by: Benjamin LaHaise
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sébastien Dugu
     
  • Looks like it sneaked back with the NFS ACL merge..

    Signed-off-by: Christoph Hellwig
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Signed-off-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka J Enberg
     
  • This up() should be down() instead.

    Signed-off-by: Wen-chien Jesse Sung
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wen-chien Jesse Sung
     

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
     

26 Jun, 2005

11 commits

  • Missed conversion in the swsusp cleanup.

    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Linus Torvalds
     
  • 1. Establish a simple API for process freezing defined in linux/include/sched.h:

    frozen(process) Check for frozen process
    freezing(process) Check if a process is being frozen
    freeze(process) Tell a process to freeze (go to refrigerator)
    thaw_process(process) Restart process
    frozen_process(process) Process is frozen now

    2. Remove all references to PF_FREEZE and PF_FROZEN from all
    kernel sources except sched.h

    3. Fix numerous locations where try_to_freeze is manually done by a driver

    4. Remove the argument that is no longer necessary from two function calls.

    5. Some whitespace cleanup

    6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
    cleared before setting PF_FROZEN, recalc_sigpending does not check
    PF_FROZEN).

    This patch does not address the problem of freeze_processes() violating the rule
    that a task may only modify its own flags by setting PF_FREEZE. This is not clean
    in an SMP environment. freeze(process) is therefore not SMP safe!

    Signed-off-by: Christoph Lameter
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Make code more readable with list_for_each_entry_safe.

    Signed-off-by: Domen Puncer
    Signed-off-by: Maximilian Attems
    Signed-off-by: Domen Puncer
    Acked-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Domen Puncer
     
  • This patch removes some unused #ifdef USE_OLD_SLOW_DIRECTORY_LISTING
    code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch contains the following cleanups:
    - make needlessly global functions static
    - provide some debugging helper functions only for appropriate
    values of CONFIG_JFFS_FS_VERBOSE

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch makes the following changes to the msdos partition code:
    - remove CONFIG_NEC98_PARTITION leftovers
    - make parse_bsd static

    This patch was already ACK'ed by Andries Brouwer.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • o Adds support for parsing core ELF32 headers.
    o I am expecting ELF32 support to go away down the line. This patch has been
    introduced for testing purposes as gdb can not parse ELF64 headers for
    i386. When a decent user space solution is available, ELF32 support
    can go away.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • From: "Vivek Goyal"

    o Support for /proc/vmcore interface. This interface exports elf core image
    either in ELF32 or ELF64 format, depending on the format in which elf headers
    have been stored by crashed kernel.
    o Added support for CONFIG_VMCORE config option.
    o Removed the dependency on /proc/kcore.

    From: "Eric W. Biederman"

    This patch has been refactored to more closely match the prevailing style in
    the affected files. And to clearly indicate the dependency between
    /proc/kcore and proc/vmcore.c

    From: Hariprasad Nellitheertha

    This patch contains the code that provides an ELF format interface to the
    previous kernel's memory post kexec reboot.

    Signed off by Hariprasad Nellitheertha
    Signed-off-by: Eric Biederman
    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • Reiserfs's readpage does not notice i/o errors. This patch makes
    reiserfs_readpage to return -EIO when i/o error appears.

    This patch makes reiserfs to not ignore I/O error on readpage.

    Signed-off-by: Qu Fuping
    Signed-off-by: Vladimir V. Saveliev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Qu Fuping
     
  • Any filesystem which is using simple_dir_operations will retunr -EINVAL for
    fsync() on a directory. Make it return zero instead.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

25 Jun, 2005

1 commit


24 Jun, 2005

11 commits

  • Another rollup of patches which give various symbols static scope

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch reworks filemap_xip.c with the goal to reduce code duplication
    from mm/filemap.c. It applies agains 2.6.12-rc6-mm1. Instead of
    implementing the aio functions, this one implements the synchronous
    read/write functions only. For readv and writev, the generic fallback is
    used. For aio, we rely on the application doing the fallback. Since our
    "synchronous" function does memcpy immediately anyway, there is no
    performance difference between using the fallbacks or implementing each
    operation.

    Signed-off-by: Carsten Otte
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Carsten Otte
     
  • These are the ext2 related parts. Ext2 now uses the xip_* file operations
    along with the get_xip_page aop when mounted with -o xip.

    Signed-off-by: Carsten Otte
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Carsten Otte
     
  • - generic_file* file operations do no longer have a xip/non-xip split
    - filemap_xip.c implements a new set of fops that require get_xip_page
    aop to work proper. all new fops are exported GPL-only (don't like to
    see whatever code use those except GPL modules)
    - __xip_unmap now uses page_check_address, which is no longer static
    in rmap.c, and defined in linux/rmap.h
    - mm/filemap.h is now much more clean, plainly having just Linus'
    inline funcs moved here from filemap.c
    - fix includes in filemap_xip to make it build cleanly on i386

    Signed-off-by: Carsten Otte
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Carsten Otte
     
  • This patch updates some comments to match code changes.

    Signed-off-by: Martin Waitz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Waitz
     
  • Set the recovery directory via /proc/fs/nfsd/nfs4recoverydir.

    It may be changed any time, but is used only on startup.

    Signed-off-by: Andy Adamson
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • This patch adds the code to create and remove client subdirectories from the
    recovery directory, as described in the previous patch comment.

    Signed-off-by: Andy Adamson
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • NFSv4 clients are required to know what state they have on the server so that
    they can reclaim it on server reboot. However, it is possible for
    pathalogical combinations of server reboots and network partitions to leave a
    client in a state where it cannot know whether it has lost its state on the
    server.

    For this reason, rfc3530 requires that we store some information about clients
    to stable storage.

    So we maintain a directory /var/lib/nfs/v4recovery with a subdirectory for
    each client with active state. We leave open the possibility of including
    files underneath each such subdirectory with information about the client, but
    for now the subdirectories are empty.

    We create a client subdirectory whenever a client makes its first non-reclaim
    open_confirm.

    We remove a client subdirectory whenever either
    a) its lease expires, or
    b) the grace period ends without it reclaiming anything.
    When handling reclaims, we allow the reclaim if and only if the client doing
    the reclaim has a subdirectory.

    This patch adds just the code to scan the recovery directory on nfsd startup.

    Signed-off-by: Andy Adamson
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • The cb_parsed field is only used by probe_callback, to determine whether the
    callback information has been filled in by setclientid. But there is no way
    that probe_callback() can be called without that having already happened, so
    that check is superfluous, as is cb_parsed.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • >From the language of rfc3530 section 8.1.3 (e.g., the suggestion that a
    "process id" might be a reasonable lockowner value) it's conceivable that a
    client might want to use the same lockowner string on multiple files, so we may
    as well allow that. We expect each use of open_to_lockowner to create a
    distinct seqid stream, though.

    For now we're also allowing multiple uses of open_to_lockowner with the same
    open, though it seems unlikely clients would actually do that.

    Also add a comment reminding myself of some very non-scalable data structures.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Trivial renaming patch:

    I can never remember, while looking at various lists relating the nfsd4 state
    structures, which are the "heads" and which are items on other lists, or which
    structures are actually on the various lists. The following convention helps
    me: given structures foo and bar, with foo containing the head of a list of
    bars, use "bars" for the name of the head of the list contained in the struct
    foo, and use "per_foo" for the entries in the struct bars.

    Already done for struct nfs4_file; go ahead and do it for the other nfsd4
    state structures.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown