1. 06 Mar, 2010 2 commits
    • Jeff Layton's avatar
      cifs: add a CIFSSMBQFileInfo function · bcd5357f
      Jeff Layton authored
      ...to get inode attributes via filehandle instead of by path.
      
      In some places, we need to revalidate an inode on an open filehandle,
      but we can't necessarily guarantee that the dentry associated with it
      will still be valid. When we have an open filehandle already, it makes
      more sense to do a filehandle based operation anyway.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      bcd5357f
    • Jeff Layton's avatar
      cifs: overhaul cifs_revalidate and rename to cifs_revalidate_dentry · df2cf170
      Jeff Layton authored
      cifs_revalidate is renamed to cifs_revalidate_dentry as a later patch
      will add a by-filehandle variant.
      
      Add a new "invalid_mapping" flag to the cifsInodeInfo that indicates
      that the pagecache is considered invalid. Add a new routine to check
      inode attributes whenever they're updated and set that flag if the inode
      has changed on the server.
      
      cifs_revalidate_dentry is then changed to just update the attrcache if
      needed and then to zap the pagecache if it's not valid.
      
      There are some other behavior changes in here as well. Open files are
      now allowed to have their caches invalidated. I see no reason why we'd
      want to keep stale data around just because a file is open. Also,
      cifs_revalidate_cache uses the server_eof for revalidating the file
      size since that should more closely match the size of the file on the
      server.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      df2cf170
  2. 04 Mar, 2010 14 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · 64ba9926
      Linus Torvalds authored
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        exofs: groups support
        exofs: Prepare for groups
        exofs: Error recovery if object is missing from storage
        exofs: convert io_state to use pages array instead of bio at input
        exofs: RAID0 support
        exofs: Define on-disk per-inode optional layout attribute
        exofs: unindent exofs_sbi_read
        exofs: Move layout related members to a layout structure
        exofs: Recover in the case of read-passed-end-of-file
        exofs: Micro-optimize exofs_i_info
        exofs: debug print even less
      64ba9926
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 6895210e
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Make prom entry spinlock NMI safe.
        sparc64: Kill off old sys_perfctr system call and state.
        sparc: Update defconfigs.
        sparc: Provide io{read,write}{16,32}be().
      6895210e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 · 4c10c937
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: (49 commits)
        drivers/ide: Fix continuation line formats
        ide: fixed section mismatch warning in cmd640.c
        ide: ide_timing_compute() fixup
        ide: make ide_get_best_pio_mode() static
        via82cxxx: use ->pio_mode value to determine pair device speed
        tx493xide: use ->pio_mode value to determine pair device speed
        siimage: use ->pio_mode value to determine pair device speed
        palm_bk3710: use ->pio_mode value to determine pair device speed
        it821x: use ->pio_mode value to determine pair device speed
        cs5536: use ->pio_mode value to determine pair device speed
        cs5535: use ->pio_mode value to determine pair device speed
        cmd64x: fix handling of address setup timings
        amd74xx: use ->pio_mode value to determine pair device speed
        alim15x3: fix handling of UDMA enable bit
        alim15x3: fix handling of DMA timings
        alim15x3: fix handling of command timings
        alim15x3: fix handling of address setup timings
        ide-timings: use ->pio_mode value to determine fastest PIO speed
        ide: change ->set_dma_mode method parameters
        ide: change ->set_pio_mode method parameters
        ...
      4c10c937
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · 9bb67696
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (28 commits)
        ioat: cleanup ->timer_fn() and ->cleanup_fn() prototypes
        ioat3: interrupt coalescing
        ioat: close potential BUG_ON race in the descriptor cleanup path
        ioat2: kill pending flag
        ioat3: use ioat2_quiesce()
        ioat3: cleanup, don't enable DCA completion writes
        DMAENGINE: COH 901 318 lli sg offset fix
        DMAENGINE: COH 901 318 configure channel direction
        DMAENGINE: COH 901 318 remove irq counting
        DMAENGINE: COH 901 318 descriptor pool refactoring
        DMAENGINE: COH 901 318 cleanups
        dma: Add MPC512x DMA driver
        Debugging options for the DMA engine subsystem
        iop-adma: redundant/wrong tests in iop_*_count()?
        dmatest: fix handling of an even number of xor_sources
        dmatest: correct raid6 PQ test
        fsldma: Fix cookie issues
        fsldma: Fix cookie issues
        dma: cases IPU_PIX_FMT_BGRA32, BGR32 and ABGR32 are the same in ipu_ch_param_set_size()
        dma: make Open Firmware device id constant
        ...
      9bb67696
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 0f2cc4ec
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
        init: Open /dev/console from rootfs
        mqueue: fix typo "failues" -> "failures"
        mqueue: only set error codes if they are really necessary
        mqueue: simplify do_open() error handling
        mqueue: apply mathematics distributivity on mq_bytes calculation
        mqueue: remove unneeded info->messages initialization
        mqueue: fix mq_open() file descriptor leak on user-space processes
        fix race in d_splice_alias()
        set S_DEAD on unlink() and non-directory rename() victims
        vfs: add NOFOLLOW flag to umount(2)
        get rid of ->mnt_parent in tomoyo/realpath
        hppfs can use existing proc_mnt, no need for do_kern_mount() in there
        Mirror MS_KERNMOUNT in ->mnt_flags
        get rid of useless vfsmount_lock use in put_mnt_ns()
        Take vfsmount_lock to fs/internal.h
        get rid of insanity with namespace roots in tomoyo
        take check for new events in namespace (guts of mounts_poll()) to namespace.c
        Don't mess with generic_permission() under ->d_lock in hpfs
        sanitize const/signedness for udf
        nilfs: sanitize const/signedness in dealing with ->d_name.name
        ...
      
      Fix up fairly trivial (famous last words...) conflicts in
      drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
      0f2cc4ec
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/battery-2.6 · 1fae4cfb
      Linus Torvalds authored
      * git://git.infradead.org/battery-2.6:
        power_supply: bq27x00: fix voltage and current units
        power_supply: bq27x00: add status and time properties
        power_supply: bq27x00: add BQ27500 support
        power_supply: bq27x00: fix temperature conversion
        power_supply: bq27x00: remove unused struct fields
        power_supply: bq27x00: remove double endian swap
        da9030_battery: fix spelling in comment
        wm97xx_battery: Clean up some warnings
      1fae4cfb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · c8bf9fec
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (27 commits)
        Regulators: wm8400 - cleanup platform driver data handling
        Regulators: wm8994 - clean up driver data after removal
        Regulators: wm831x-xxx - clean up driver data after removal
        Regulators: pcap-regulator - clean up driver data after removal
        Regulators: max8660 - annotate probe and remove methods
        Regulators: max1586 - annotate probe and remove methods
        Regulators: lp3971 - fail if platform data was not supplied
        Regulators: tps6507x-regulator - mark probe method as __devinit
        Regulators: tps65023-regulator - mark probe method as __devinit
        Regulators: twl-regulator - mark probe function as __devinit
        Regulators: fixed - annotate probe and remove methods
        Regulators: ab3100 - fix probe and remove annotations
        Regulators: virtual - use sysfs attribute groups
        twl6030: regulator: Configure STATE register instead of REMAP
        regulator: Provide optional dummy regulator for consumers
        regulator: Assume regulators are enabled if they don't report anything
        regulator: Convert fixed voltage regulator to use enable_time()
        regulator: Add WM8994 regulator support
        regulator: enable max8649 regulator driver
        regulator: trivial: fix typos in user-visible Kconfig text
        ...
      c8bf9fec
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 · a2e28fc1
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
        pcmcia: disable pcmcia ioctl for !ARM, prepare for removal
        pcmcia: CodingStyle fixes
        pcmcia: alchemy: fixup wrong comments
        pcmcia: remove irq_list parameter from pd6729
        yenta_socket: ENE CB712 CardBus bridge needs special treatment with Echo Audio Indigo soundcards
      a2e28fc1
    • Linus Torvalds's avatar
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 03a2c4d7
      Linus Torvalds authored
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (151 commits)
        vga_switcheroo: disable default y by new rules.
        drm/nouveau: fix *staging* driver build with switcheroo off.
        drm/radeon: fix typo in Makefile
        vga_switcheroo: fix build on platforms with no ACPI
        drm/radeon: Fix printf type warning in 64bit system.
        drm/radeon/kms: bump the KMS version number for square tiling support.
        vga_switcheroo: initial implementation (v15)
        drm/radeon/kms: do not disable audio engine twice
        Revert "drm/radeon/kms: disable HDMI audio for now on rv710/rv730"
        drm/radeon/kms: do not preset audio stuff and start timer when not using audio
        drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 page and beyond
        drm/ttm: fix function prototype to match implementation
        drm/radeon: use ALIGN instead of open coding it
        drm/radeon/kms: initialize set_surface_reg reg for rs600 asic
        drm/i915: Use a dmi quirk to skip a broken SDVO TV output.
        drm/i915: enable/disable LVDS port at DPMS time
        drm/i915: check for multiple write domains in pin_and_relocate
        drm/i915: clean-up i915_gem_flush_gpu_write_domain
        drm/i915: reuse i915_gpu_idle helper
        drm/i915: ensure lru ordering of fence_list
        ...
      
      Fixed trivial conflicts in drivers/gpu/vga/Kconfig
      03a2c4d7
    • Dan Williams's avatar
      Merge branch 'coh' into dmaengine · dd58ffcf
      Dan Williams authored
      dd58ffcf
    • Dan Williams's avatar
      ioat: cleanup ->timer_fn() and ->cleanup_fn() prototypes · aa4d72ae
      Dan Williams authored
      If the calling convention of ->timer_fn() and ->cleanup_fn() are unified
      across hardware versions we can drop parameters to ioat_init_channel() and
      unify ioat_is_dma_complete() implementations.
      
      Both ->timer_fn() and ->cleanup_fn() are modified to expect a struct
      dma_chan pointer.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      aa4d72ae
    • Dan Williams's avatar
      ioat3: interrupt coalescing · b9cc9869
      Dan Williams authored
      The hardware automatically disables further interrupts after each event
      until rearmed.  This allows a delay to be injected between the occurence
      of the interrupt and the running of the cleanup routine.  The delay is
      scaled by the descriptor backlog and then written to the INTRDELAY
      register which specifies the number of microseconds to hold off
      interrupt delivery after an interrupt event occurs.  According to
      powertop this reduces the interrupt rate from ~5000 intr/s to ~150
      intr/s per without affecting throughput (simple dd to a raid6 array).
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      b9cc9869
    • Dan Williams's avatar
      ioat: close potential BUG_ON race in the descriptor cleanup path · aa75db00
      Dan Williams authored
      Since ioat_cleanup_preamble() and the update of the last completed
      descriptor are not synchronized there is a chance that two cleanup threads
      can see descriptors to clean.  If the first cleans up all pending
      descriptors then the second will trigger the BUG_ON.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      aa75db00
    • Linus Torvalds's avatar
      Prioritize synchronous signals over 'normal' signals · a27341cd
      Linus Torvalds authored
      This makes sure that we pick the synchronous signals caused by a
      processor fault over any pending regular asynchronous signals sent to
      use by [t]kill().
      
      This is not strictly required semantics, but it makes it _much_ easier
      for programs like Wine that expect to find the fault information in the
      signal stack.
      
      Without this, if a non-synchronous signal gets picked first, the delayed
      asynchronous signal will have its signal context pointing to the new
      signal invocation, rather than the instruction that caused the SIGSEGV
      or SIGBUS in the first place.
      
      This is not all that pretty, and we're discussing making the synchronous
      signals more explicit rather than have these kinds of implicit
      preferences of SIGSEGV and friends.  See for example
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=15395
      
      for some of the discussion.  But in the meantime this is a simple and
      fairly straightforward work-around, and the whole
      
      	if (x & Y)
      		x &= Y;
      
      thing can be compiled into (and gcc does do it) just three instructions:
      
      	movq    %rdx, %rax
      	andl    $Y, %eax
      	cmovne  %rax, %rdx
      
      so it is at least a simple solution to a subtle issue.
      Reported-and-tested-by: default avatarPavel Vilim <wylda@volny.cz>
      Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a27341cd
  3. 03 Mar, 2010 24 commits