22 Apr, 2008

1 commit

  • * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:
    Deprecate the asm/semaphore.h files in feature-removal-schedule.
    Convert asm/semaphore.h users to linux/semaphore.h
    security: Remove unnecessary inclusions of asm/semaphore.h
    lib: Remove unnecessary inclusions of asm/semaphore.h
    kernel: Remove unnecessary inclusions of asm/semaphore.h
    include: Remove unnecessary inclusions of asm/semaphore.h
    fs: Remove unnecessary inclusions of asm/semaphore.h
    drivers: Remove unnecessary inclusions of asm/semaphore.h
    net: Remove unnecessary inclusions of asm/semaphore.h
    arch: Remove unnecessary inclusions of asm/semaphore.h

    Linus Torvalds
     

19 Apr, 2008

3 commits


18 Apr, 2008

36 commits

  • Lachlan McIlroy
     
  • associated comment about gcc behavior really aren't needed; all of these
    functions are marked STATIC which includes noinline, and the stack usage
    won't be a problem.

    This effectively just removes the forward declarations and moves
    xfs_ioctl() back to the end of the file.

    SGI-PV: 971186
    SGI-Modid: xfs-linux-melb:xfs-kern:30534a

    Signed-off-by: Eric Sandeen
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    Lachlan McIlroy
     
  • HAVE_SPLICE was part of the infrastructure for building 2.4 and 2.6
    kernels out of the same tree. Now we don't build 2.4 kernels this

    SGI-PV: 971046
    SGI-Modid: xfs-linux-melb:xfs-kern:30878a

    Signed-off-by: Donald Douwsma
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    Donald Douwsma
     
  • There is no point to the CONFIG_XFS_SECURITY option; it disables the
    ability to set security attributes at runtime, but it does not actually
    slim down or remove any code for runtime. Just remove it and always allow
    security attributes to be set.

    SGI-PV: 980310
    SGI-Modid: xfs-linux-melb:xfs-kern:30877a

    Signed-off-by: Eric Sandeen
    Signed-off-by: Tim Shimmin
    Signed-off-by: Lachlan McIlroy

    Eric Sandeen
     
  • Fix up xfs_bmap_compute_maxlevels() to account for the case when we go
    from using attr2 to using attr1. In that case attr1 will no longer
    necessarily be at m_attr_offset>>3, but could be at a different value for
    di_forkoff. Therefore, we return the worst case scenario using MINDBTPTRS
    and MINABTPTRS, as this function is used for determining the maximum log
    space.

    SGI-PV: 979606
    SGI-Modid: xfs-linux-melb:xfs-kern:30862a

    Signed-off-by: Tim Shimmin
    Signed-off-by: Eric Sandeen
    Signed-off-by: Lachlan McIlroy

    Tim Shimmin
     
  • In the case where we mount a filesystem which was previously using the
    attr2 format as attr1, returning the default mp->m_attroffset instead of
    the per-inode di_forkoff for inline attribute fit calculations, may result
    in corruption, if for example, the data fork is already taking more space
    than the default fork offset and we try to add an extended attribute. Fix
    tested by xfstests/186.

    SGI-PV: 979606
    SGI-Modid: xfs-linux-melb:xfs-kern:30861a

    Signed-off-by: Eric Sandeen
    Signed-off-by: Tim Shimmin
    Signed-off-by: Lachlan McIlroy

    Eric Sandeen
     
  • On success, we still need to join the inode to the current transaction in
    xfs_itruncate_finish(). Fixes regression from error handling changes.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30845a

    Signed-off-by: David Chinner
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfssyncd triggers the logging of superblock counters every 30s if the
    filesystem is made with lazy-count=1. This will prevent disks from idling
    and spinning down as there will be a log write every 30s. With the way
    counter recovery works for lazy-count=1, this code is unnecessary and
    provides no real benefit, so just remove it.

    SGI-PV: 980145
    SGI-Modid: xfs-linux-melb:xfs-kern:30840a

    Signed-off-by: David Chinner
    Signed-off-by: Barry Naujok
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Fix a logic error in xfs_alloc_ag_vextent_near(). This is a regression
    introduced by the error handling changes.

    SGI-PV: 890084
    SGI-Modid: xfs-linux-melb:xfs-kern:30838a

    Signed-off-by: David Chinner
    Signed-off-by: Barry Naujok
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfsbdstrat() made all I/Os error out, good or bad. Fix it.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30836a

    Signed-off-by: David Chinner
    Signed-off-by: Donald Douwsma
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Unmounting the log can fail. unlikely, but it can. Catch all the error
    conditions an make sure it's propagated upwards.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30833a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_log_force() is declared to return an error, but we almost never check
    it. We don't need to check it in most cases; if there's a log I/O error
    then we'll be shutting down the filesystem anyway and that means we'll
    catch the error somewhere else.

    However, on certain calls we should be returning an error - sync
    transactions, fsync, sync writes, etc. so this isn't a pure black and
    white distinction. Hence make xfs_log_force() a void function that issues
    a warning to the syslog on error, and call _xfs_log_force() in all the
    places where we actually care about the error status returned.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30832a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_buf_associate_memory() can fail, but the return is never checked.
    Propagate the error through XFS_BUF_SET_PTR() so that failures are
    detected.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30831a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_inactive() fails to report errors when committing the inactive
    transaction. Hence we can get silent failures either finishing off the
    truncation or committing the transaction. Even if we get errors, we need
    to continue, so simply warn loudly to the system if we get errors here.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30830a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Catch errors from xfs_imap() in log recovery when we might be trying to
    map an invalid inode number due to a corrupted log.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30829a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Mark it void.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30828a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_iflush_fork() never returns an error. Mark it void and clean up the
    code calling it that checks for errors.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30827a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • On unwritten I/O completion, we fail to propagate an error when converting
    the extent to a written extent. This means that the I/O silently fails.
    propagate the error onto the ioend so that the inode is marked with an
    error appropriately.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30826a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_bdwrite() cannot return an error; it only queues buffers to the
    delayed write list and as such never encounters anything that can fail.
    Mark it void.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30825a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_bawrite() can return immediate error status on async writes. Unlike
    xfsbdstrat() we don't ever check the error on the buffer after the call,
    so we currently do not catch errors at all here. Ensure we catch and
    propagate or warn to the syslog about up-front async write errors.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30824a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfsbdstrat() is declared to return an error. That is never checked because
    the error is propagated by the xfs_buf_t that is passed through the
    function.

    Mark xfsbdstrat() as returning void and comment the prototype on the
    methods needed for error checking.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30823a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • SGI-PV: 976035
    SGI-Modid: xfs-linux-melb:xfs-kern:30804a

    Signed-off-by: Barry Naujok
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    Barry Naujok
     
  • xfs_bmap_last_offset() can fail and return an error.
    xfs_iomap_write_allocate() fails to detect and propagate the error.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30802a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_free_extent() can fail, but log recovery never bothers to check if it
    successfully free the extent it was supposed to. This could lead to silent
    corruption during log recovery. Abort log recovery if we fail to free an
    extent.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30801a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • block_truncate_page() can return errors that we currently ignore and
    silently discard. We should not ever get errors reported here - an error
    indicates a bug somewhere else. Hence catch the error and issue a stack
    dump to the syslog because we cannot propagate the error any further up
    the call chain.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30800a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Mark it void.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30798a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_alloc_compute_aligned() returns a value based on a comparison of the
    computed extent length and the minimum length allowed. This is only used
    by some callers - the other four return parameters are used more often.
    Hence move the comparison to the code that actually needs to do it and
    make xfs_alloc_compute_aligned() a void function.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30797a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_alloc_search_busy() returns an index into the busy array if the extent
    was found in the array. This is never checked, and the
    xfs_alloc_search_busy() does a log force to prevent reuse of the extent
    before the free transaction hits the disk. Hence the return value is
    useless. Declare the function void and remove the slot number from the
    tracing as well.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30796a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_trans_commit() can return errors when there are problems in the
    transaction subsystem. They are indicative that the entire transaction may
    be incomplete, and hence the error should be propagated as there is a good
    possibility that there is something fatally wrong in the filesystem. Catch
    and propagate or warn about commit errors in the places where they are
    currently ignored.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30795a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_trans_reserve() reports errors that should not be ignored. For
    example, a shutdown filesystem will report errors through
    xfs_trans_reserve() to prevent further changes from being attempted on a
    damaged filesystem. Catch and propagate all error conditions from
    xfs_trans_reserve().

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30794a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Removing an ACL can return an error. Propagate it.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30793a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Propagate the error status from xfs_acl_setmode() so that callers know if
    the ACl was set correctly or not.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30792a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Truncating the quota files can silently fail. Ensure that truncation
    errors are propagated to the callers.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30791a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • When turning off quota, we need to write various transactions to the log
    to ensure that they are cleanly removed in the case of a crash. We need to
    check that the transactions hit the disk correctly. If we fail to write
    the final quota off transaction, we are corrupt in memory and so the only
    option is to shut the filesystem down at this point.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30790a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • Warn to the syslog if we fail to reset the quota flags in the superblock
    when a quota check fails.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30789a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_qm_mount_quotas() returns an error status that is ignored. If we fail
    to mount quotas, we continue with quota's turned off, which is all handled
    inside xfs_qm_mount_quotas(). Mark it as void to indicate that errors need
    not be returned to the callers.

    SGI-PV: 980084
    SGI-Modid: xfs-linux-melb:xfs-kern:30788a

    Signed-off-by: David Chinner
    Signed-off-by: Niv Sardi
    Signed-off-by: Lachlan McIlroy

    David Chinner