Permalink
Commits on Oct 29, 2011
  1. Merge git://github.com/rustyrussell/linux

    * git://github.com/rustyrussell/linux:
      lguest: move process freezing before pending signals check
      lguest: don't allow KVM-detection cpuid.
      lguest: Allow running under paravirt-enabled KVM.
    torvalds committed Oct 29, 2011
  2. Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6

    * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
      ARM: mark empty gpio.h files empty
      gpio: Fix ARM versatile-express build failure
      of: include errno.h
    torvalds committed Oct 29, 2011
  3. Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6

    * 'spi/next' of git://git.secretlab.ca/git/linux-2.6:
      drivercore: Add helper macro for platform_driver boilerplate
      spi: irq: Remove IRQF_DISABLED
      OMAP: SPI: Fix the trying to free nonexistent resource error
      spi/spi-ep93xx: add module.h include
      spi/tegra: fix compilation error in spi-tegra.c
      spi: spi-dw: fix all sparse warnings
      spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true
      spi/spi-pl022: calculate_effective_freq() must set rate <= requested rate
      spi/spi-pl022: Don't allocate more sg than required.
      spi/spi-pl022: Use GFP_ATOMIC for allocation from tasklet
      spi/spi-pl022: Resolve formatting issues
    torvalds committed Oct 29, 2011
  4. Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6

    * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
      h8300: Move gpio.h to gpio-internal.h
      gpio: pl061: add DT binding support
      gpio: fix build error in include/asm-generic/gpio.h
      gpiolib: Ensure struct gpio is always defined
      irq: Add EXPORT_SYMBOL_GPL to function of irq generic-chip
      gpio-ml-ioh: Use NUMA_NO_NODE not GFP_KERNEL
      gpio-pch: Use NUMA_NO_NODE not GFP_KERNEL
      gpio: langwell: ensure alternate function is cleared
      gpio-pch: Support interrupt function
      gpio-pch: Save register value in suspend()
      gpio-pch: modify gpio_nums and mask
      gpio-pch: support ML7223 IOH n-Bus
      gpio-pch: add spinlock in suspend/resume processing
      gpio-pch: Delete invalid "restore" code in suspend()
      gpio-ml-ioh: Fix suspend/resume issue
      gpio-ml-ioh: Support interrupt function
      gpio-ml-ioh: Delete unnecessary code
      gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()
      gpio/nomadik: use genirq core to track enablement
      gpio/nomadik: disable clocks when unused
    torvalds committed Oct 29, 2011
  5. ARM: mark empty gpio.h files empty

    It is generally a better idea to make intentionally empty files
    contain the human-readable /* empty */ comment, also it makes
    the files play nice with "make distclean".
    
    Reported-by: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Acked-by: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
    linusw committed with glikely Oct 28, 2011
  6. gpio: Fix ARM versatile-express build failure

    A missing mach/gpio.h prevents building gpiolib on versatile express.
    
      CC      drivers/gpio/gpiolib.o
    In file included from /.../linux/include/linux/gpio.h:18:0,
                     from /.../linux/drivers/gpio/gpiolib.c:10:
    /.../linux/arch/arm/include/asm/gpio.h:5:23: fatal error: mach/gpio.h: No such file or directory
    compilation terminated.
    make[3]: *** [drivers/gpio/gpiolib.o] Error 1
    make[2]: *** [drivers/gpio] Error 2
    make[1]: *** [drivers] Error 2
    make: *** [sub-make] Error 2
    
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
    glikely committed Oct 29, 2011
  7. of: include errno.h

    When compiling ath6kl for beagleboard (omap2plus_defconfig plus
    CONFIG_ATH6KL, CONFIG_OF disable) with current linux-next compilation
    fails:
    
    include/linux/of.h:269: error: 'ENOSYS' undeclared (first use in this function)
    include/linux/of.h:276: error: 'ENOSYS' undeclared (first use in this function)
    include/linux/of.h:289: error: 'ENOSYS' undeclared (first use in this function)
    
    Fix this by including errno.h from of.h.
    
    Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
    kvalo committed with glikely Oct 6, 2011
Commits on Oct 28, 2011
  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)
      [SCSI] qla4xxx: export address/port of connection (fix udev disk names)
      [SCSI] ipr: Fix BUG on adapter dump timeout
      [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer
      [SCSI] hpsa: change confusing message to be more clear
      [SCSI] iscsi class: fix vlan configuration
      [SCSI] qla4xxx: fix data alignment and use nl helpers
      [SCSI] iscsi class: fix link local mispelling
      [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA
      [SCSI] aacraid: use lower snprintf() limit
      [SCSI] lpfc 8.3.27: Change driver version to 8.3.27
      [SCSI] lpfc 8.3.27: T10 additions for SLI4
      [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery
      [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name
      [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout
      [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes
      [SCSI] megaraid_sas: Changelog and version update
      [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic
      [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support
      [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers
      [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts
      ...
    torvalds committed Oct 28, 2011
  2. Merge branch 'for-linus' of git://ceph.newdream.net/git/ceph-client

    * 'for-linus' of git://ceph.newdream.net/git/ceph-client:
      libceph: fix double-free of page vector
      ceph: fix 32-bit ino numbers
      libceph: force resend of osd requests if we skip an osdmap
      ceph: use kernel DNS resolver
      ceph: fix ceph_monc_init memory leak
      ceph: let the set_layout ioctl set single traits
      Revert "ceph: don't truncate dirty pages in invalidate work thread"
      ceph: replace leading spaces with tabs
      libceph: warn on msg allocation failures
      libceph: don't complain on msgpool alloc failures
      libceph: always preallocate mon connection
      libceph: create messenger with client
      ceph: document ioctls
      ceph: implement (optional) max read size
      ceph: rename rsize -> rasize
      ceph: make readpages fully async
    torvalds committed Oct 28, 2011
  3. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/tiwai/sound
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
      ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
      ALSA: hda - Keep EAPD turned on for old Conexant chips
      ALSA: hda/realtek - Fix missing volume controls with ALC260
      ASoC: wm8940: Properly set codec->dapm.bias_level
      ALSA: hda - Fix pin-config for ASUS W90V
      ALSA: hda - Fix surround/CLFE headphone and speaker pins order
      ALSA: hda - Fix typo
      ALSA: Update the sound git tree URL
      ALSA: HDA: Add new revision for ALC662
      ASoC: max98095: Convert codec->hw_write to snd_soc_write
      ASoC: keep pointer to resource so it can be freed
      ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
      ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
      ASoC: da7210: Add support for line out and DAC
      ASoC: da7210: Add support for DAPM
      ALSA: hda/realtek - Fix DAC assignments of multiple speakers
      ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
      ASoC: Set sgtl5000->ldo in ldo_regulator_register
      ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
      ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
      ...
    torvalds committed Oct 28, 2011
  4. Merge branch 'next-rebase' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/jbarnes/pci
    
    * 'next-rebase' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:
      PCI: Clean-up MPS debug output
      pci: Clamp pcie_set_readrq() when using "performance" settings
      PCI: enable MPS "performance" setting to properly handle bridge MPS
      PCI: Workaround for Intel MPS errata
      PCI: Add support for PASID capability
      PCI: Add implementation for PRI capability
      PCI: Export ATS functions to modules
      PCI: Move ATS implementation into own file
      PCI / PM: Remove unnecessary error variable from acpi_dev_run_wake()
      PCI hotplug: acpiphp: Prevent deadlock on PCI-to-PCI bridge remove
      PCI / PM: Extend PME polling to all PCI devices
      PCI quirk: mmc: Always check for lower base frequency quirk for Ricoh 1180:e823
      PCI: Make pci_setup_bridge() non-static for use by arch code
      x86: constify PCI raw ops structures
      PCI: Add quirk for known incorrect MPSS
      PCI: Add Solarflare vendor ID and SFC4000 device IDs
    torvalds committed Oct 28, 2011
  5. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/cjb/mmc
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (83 commits)
      mmc: fix compile error when CONFIG_BLOCK is not enabled
      mmc: core: Cleanup eMMC4.5 conditionals
      mmc: omap_hsmmc: if multiblock reads are broken, disable them
      mmc: core: add workaround for controllers with broken multiblock reads
      mmc: core: Prevent too long response times for suspend
      mmc: recognise SDIO cards with SDIO_CCCR_REV 3.00
      mmc: sd: Handle SD3.0 cards not supporting UHS-I bus speed mode
      mmc: core: support HPI send command
      mmc: core: Add cache control for eMMC4.5 device
      mmc: core: Modify the timeout value for writing power class
      mmc: core: new discard feature support at eMMC v4.5
      mmc: core: mmc sanitize feature support for v4.5
      mmc: dw_mmc: modify DATA register offset
      mmc: sdhci-pci: add flag for devices that can support runtime PM
      mmc: omap_hsmmc: ensure pbias configuration is always done
      mmc: core: Add Power Off Notify Feature eMMC 4.5
      mmc: sdhci-s3c: fix potential NULL dereference
      mmc: replace printk with appropriate display macro
      mmc: core: Add default timeout value for CMD6
      mmc: sdhci-pci: add runtime pm support
      ...
    torvalds committed Oct 28, 2011
  6. Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/…

    …arm/kernel/git-cur/linux-2.6-arm
    
    * 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)
      ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
      ARM: gic, local timers: use the request_percpu_irq() interface
      ARM: gic: consolidate PPI handling
      ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H
      ARM: mach-s5p64x0: remove mach/memory.h
      ARM: mach-s3c64xx: remove mach/memory.h
      ARM: plat-mxc: remove mach/memory.h
      ARM: mach-prima2: remove mach/memory.h
      ARM: mach-zynq: remove mach/memory.h
      ARM: mach-bcmring: remove mach/memory.h
      ARM: mach-davinci: remove mach/memory.h
      ARM: mach-pxa: remove mach/memory.h
      ARM: mach-ixp4xx: remove mach/memory.h
      ARM: mach-h720x: remove mach/memory.h
      ARM: mach-vt8500: remove mach/memory.h
      ARM: mach-s5pc100: remove mach/memory.h
      ARM: mach-tegra: remove mach/memory.h
      ARM: plat-tcc: remove mach/memory.h
      ARM: mach-mmp: remove mach/memory.h
      ARM: mach-cns3xxx: remove mach/memory.h
      ...
    
    Fix up mostly pretty trivial conflicts in:
     - arch/arm/Kconfig
     - arch/arm/include/asm/localtimer.h
     - arch/arm/kernel/Makefile
     - arch/arm/mach-shmobile/board-ap4evb.c
     - arch/arm/mach-u300/core.c
     - arch/arm/mm/dma-mapping.c
     - arch/arm/mm/proc-v7.S
     - arch/arm/plat-omap/Kconfig
    largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP ->
    CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and
    addition of NEED_MACH_MEMORY_H next to HAVE_IDE.
    torvalds committed Oct 28, 2011
  7. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/hch/vfs-queue
    
    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue: (21 commits)
      leases: fix write-open/read-lease race
      nfs: drop unnecessary locking in llseek
      ext4: replace cut'n'pasted llseek code with generic_file_llseek_size
      vfs: add generic_file_llseek_size
      vfs: do (nearly) lockless generic_file_llseek
      direct-io: merge direct_io_walker into __blockdev_direct_IO
      direct-io: inline the complete submission path
      direct-io: separate map_bh from dio
      direct-io: use a slab cache for struct dio
      direct-io: rearrange fields in dio/dio_submit to avoid holes
      direct-io: fix a wrong comment
      direct-io: separate fields only used in the submission path from struct dio
      vfs: fix spinning prevention in prune_icache_sb
      vfs: add a comment to inode_permission()
      vfs: pass all mask flags check_acl and posix_acl_permission
      vfs: add hex format for MAY_* flag values
      vfs: indicate that the permission functions take all the MAY_* flags
      compat: sync compat_stats with statfs.
      vfs: add "device" tag to /proc/self/mountstats
      cleanup: vfs: small comment fix for block_invalidatepage
      ...
    
    Fix up trivial conflict in fs/gfs2/file.c (llseek changes)
    torvalds committed Oct 28, 2011
  8. Merge http://sucs.org/~rohan/git/gfs2-3.0-nmw

    * http://sucs.org/~rohan/git/gfs2-3.0-nmw: (24 commits)
      GFS2: Move readahead of metadata during deallocation into its own function
      GFS2: Remove two unused variables
      GFS2: Misc fixes
      GFS2: rewrite fallocate code to write blocks directly
      GFS2: speed up delete/unlink performance for large files
      GFS2: Fix off-by-one in gfs2_blk2rgrpd
      GFS2: Clean up ->page_mkwrite
      GFS2: Correctly set goal block after allocation
      GFS2: Fix AIL flush issue during fsync
      GFS2: Use cached rgrp in gfs2_rlist_add()
      GFS2: Call do_strip() directly from recursive_scan()
      GFS2: Remove obsolete assert
      GFS2: Cache the most recently used resource group in the inode
      GFS2: Make resource groups "append only" during life of fs
      GFS2: Use rbtree for resource groups and clean up bitmap buffer ref count scheme
      GFS2: Fix lseek after SEEK_DATA, SEEK_HOLE have been added
      GFS2: Clean up gfs2_create
      GFS2: Use ->dirty_inode()
      GFS2: Fix bug trap and journaled data fsync
      GFS2: Fix inode allocation error path
      ...
    torvalds committed Oct 28, 2011
  9. Merge branch '3.2-without-smb2' of git://git.samba.org/sfrench/cifs-2.6

    * '3.2-without-smb2' of git://git.samba.org/sfrench/cifs-2.6: (52 commits)
      Fix build break when freezer not configured
      Add definition for share encryption
      CIFS: Make cifs_push_locks send as many locks at once as possible
      CIFS: Send as many mandatory unlock ranges at once as possible
      CIFS: Implement caching mechanism for posix brlocks
      CIFS: Implement caching mechanism for mandatory brlocks
      CIFS: Fix DFS handling in cifs_get_file_info
      CIFS: Fix error handling in cifs_readv_complete
      [CIFS] Fixup trivial checkpatch warning
      [CIFS] Show nostrictsync and noperm mount options in /proc/mounts
      cifs, freezer: add wait_event_freezekillable and have cifs use it
      cifs: allow cifs_max_pending to be readable under /sys/module/cifs/parameters
      cifs: tune bdi.ra_pages in accordance with the rsize
      cifs: allow for larger rsize= options and change defaults
      cifs: convert cifs_readpages to use async reads
      cifs: add cifs_async_readv
      cifs: fix protocol definition for READ_RSP
      cifs: add a callback function to receive the rest of the frame
      cifs: break out 3rd receive phase into separate function
      cifs: find mid earlier in receive codepath
      ...
    torvalds committed Oct 28, 2011
  10. Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

    * 'for-linus' of git://oss.sgi.com/xfs/xfs: (69 commits)
      xfs: add AIL pushing tracepoints
      xfs: put in missed fix for merge problem
      xfs: do not flush data workqueues in xfs_flush_buftarg
      xfs: remove XFS_bflush
      xfs: remove xfs_buf_target_name
      xfs: use xfs_ioerror_alert in xfs_buf_iodone_callbacks
      xfs: clean up xfs_ioerror_alert
      xfs: clean up buffer allocation
      xfs: remove buffers from the delwri list in xfs_buf_stale
      xfs: remove XFS_BUF_STALE and XFS_BUF_SUPER_STALE
      xfs: remove XFS_BUF_SET_VTYPE and XFS_BUF_SET_VTYPE_REF
      xfs: remove XFS_BUF_FINISH_IOWAIT
      xfs: remove xfs_get_buftarg_list
      xfs: fix buffer flushing during unmount
      xfs: optimize fsync on directories
      xfs: reduce the number of log forces from tail pushing
      xfs: Don't allocate new buffers on every call to _xfs_buf_find
      xfs: simplify xfs_trans_ijoin* again
      xfs: unlock the inode before log force in xfs_change_file_space
      xfs: unlock the inode before log force in xfs_fs_nfs_commit_metadata
      ...
    torvalds committed Oct 28, 2011
  11. leases: fix write-open/read-lease race

    In setlease, we use i_writecount to decide whether we can give out a
    read lease.
    
    In open, we break leases before incrementing i_writecount.
    
    There is therefore a window between the break lease and the i_writecount
    increment when setlease could add a new read lease.
    
    This would leave us with a simultaneous write open and read lease, which
    shouldn't happen.
    
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    J. Bruce Fields committed with root Sep 21, 2011
  12. nfs: drop unnecessary locking in llseek

    This makes NFS follow the standard generic_file_llseek locking scheme.
    
    Cc: Trond.Myklebust@netapp.com
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Sep 15, 2011
  13. ext4: replace cut'n'pasted llseek code with generic_file_llseek_size

    This gives ext4 the benefits of unlocked llseek.
    
    Cc: tytso@mit.edu
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Sep 15, 2011
  14. vfs: add generic_file_llseek_size

    Add a generic_file_llseek variant to the VFS that allows passing in
    the maximum file size of the file system, instead of always
    using maxbytes from the superblock.
    
    This can be used to eliminate some cut'n'paste seek code in ext4.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Sep 15, 2011
  15. vfs: do (nearly) lockless generic_file_llseek

    The i_mutex lock use of generic _file_llseek hurts.  Independent processes
    accessing the same file synchronize over a single lock, even though
    they have no need for synchronization at all.
    
    Under high utilization this can cause llseek to scale very poorly on larger
    systems.
    
    This patch does some rethinking of the llseek locking model:
    
    First the 64bit f_pos is not necessarily atomic without locks
    on 32bit systems. This can already cause races with read() today.
    This was discussed on linux-kernel in the past and deemed acceptable.
    The patch does not change that.
    
    Let's look at the different seek variants:
    
    SEEK_SET: Doesn't really need any locking.
    If there's a race one writer wins, the other loses.
    
    For 32bit the non atomic update races against read()
    stay the same. Without a lock they can also happen
    against write() now.  The read() race was deemed
    acceptable in past discussions, and I think if it's
    ok for read it's ok for write too.
    
    => Don't need a lock.
    
    SEEK_END: This behaves like SEEK_SET plus it reads
    the maximum size too. Reading the maximum size would have the
    32bit atomic problem. But luckily we already have a way to read
    the maximum size without locking (i_size_read), so we
    can just use that instead.
    
    Without i_mutex there is no synchronization with write() anymore,
    however since the write() update is atomic on 64bit it just behaves
    like another racy SEEK_SET.  On non atomic 32bit it's the same
    as SEEK_SET.
    
    => Don't need a lock, but need to use i_size_read()
    
    SEEK_CUR: This has a read-modify-write race window
    on the same file. One could argue that any application
    doing unsynchronized seeks on the same file is already broken.
    But for the sake of not adding a regression here I'm
    using the file->f_lock to synchronize this. Using this
    lock is much better than the inode mutex because it doesn't
    synchronize between processes.
    
    => So still need a lock, but can use a f_lock.
    
    This patch implements this new scheme in generic_file_llseek.
    I dropped generic_file_llseek_unlocked and changed all callers.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Sep 15, 2011
  16. direct-io: merge direct_io_walker into __blockdev_direct_IO

    This doesn't change anything for the compiler, but hch thought it would
    make the code clearer.
    
    I moved the reference counting into its own little inline.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  17. direct-io: inline the complete submission path

    Add inlines to all the submission path functions. While this increases
    code size it also gives gcc a lot of optimization opportunities
    in this critical hotpath.
    
    In particular -- together with some other changes -- this
    allows gcc to get rid of the unnecessary clearing of
    sdio at the beginning and optimize the messy parameter passing.
    Any non inlining of a function which takes a sdio parameter
    would break this optimization because they cannot be done if the
    address of a structure is taken.
    
    Note that benefits are only seen with CONFIG_OPTIMIZE_INLINING
    and CONFIG_CC_OPTIMIZE_FOR_SIZE both set to off.
    
    This gives about 2.2% improvement on a large database benchmark
    with a high IOPS rate.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  18. direct-io: separate map_bh from dio

    Only a single b_private field in the map_bh buffer head is needed after
    the submission path. Move map_bh separately to avoid storing
    this information in the long term slab.
    
    This avoids the weird 104 byte hole in struct dio_submit which also needed
    to be memseted early.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  19. direct-io: use a slab cache for struct dio

    A direct slab call is slightly faster than kmalloc and can be better cached
    per CPU. It also avoids rounding to the next kmalloc slab.
    
    In addition this enforces cache line alignment for struct dio to avoid
    any false sharing.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  20. direct-io: rearrange fields in dio/dio_submit to avoid holes

    Fix most problems reported by pahole.
    
    There is still a weird 104 byte hole after map_bh. I'm not sure what
    causes this.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  21. direct-io: fix a wrong comment

    There's nothing on the stack, even before my changes.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  22. direct-io: separate fields only used in the submission path from stru…

    …ct dio
    
    This large, but largely mechanic, patch moves all fields in struct dio
    that are only used in the submission path into a separate on stack
    data structure. This has the advantage that the memory is very likely
    cache hot, which is not guaranteed for memory fresh out of kmalloc.
    
    This also gives gcc more optimization potential because it can easier
    determine that there are no external aliases for these variables.
    
    The sdio initialization is a initialization now instead of memset.
    This allows gcc to break sdio into individual fields and optimize
    away unnecessary zeroing (after all the functions are inlined)
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andi Kleen committed with root Aug 2, 2011
  23. vfs: fix spinning prevention in prune_icache_sb

    We need to move the inode to the end of the list to actually make the
    spinning prevention explained in the comment above it work.  With a
    plain list_move it will simply stay in place as we're always reclaiming
    from the head of the list.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Christoph Hellwig committed with root Oct 28, 2011
  24. vfs: add a comment to inode_permission()

    Acked-by: J. Bruce Fields <bfields@redhat.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andreas Gruenbacher <agruen@kernel.org>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andreas Gruenbacher committed with root Oct 23, 2011
  25. vfs: pass all mask flags check_acl and posix_acl_permission

    Acked-by: J. Bruce Fields <bfields@redhat.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andreas Gruenbacher <agruen@kernel.org>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andreas Gruenbacher committed with root Oct 23, 2011
  26. vfs: add hex format for MAY_* flag values

    We are going to add more flags and having them in hex format
    make it simpler
    
    Acked-by: J. Bruce Fields <bfields@redhat.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    kvaneesh committed with root Oct 23, 2011
  27. vfs: indicate that the permission functions take all the MAY_* flags

    Acked-by: J. Bruce Fields <bfields@redhat.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andreas Gruenbacher <agruen@kernel.org>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Andreas Gruenbacher committed with root Oct 23, 2011
  28. compat: sync compat_stats with statfs.

    This was found by inspection while tracking a similar
    bug in compat_statfs64, that has been fixed in mainline
    since decemeber.
    
    - This fixes a bug where not all of the f_spare fields
      were cleared on mips and s390.
    - Add the f_flags field to struct compat_statfs
    - Copy f_flags to userspace in case someone cares.
    - Use __clear_user to copy the f_spare field to userspace
      to ensure that all of the elements of f_spare are cleared.
      On some architectures f_spare is has 5 ints and on some
      architectures f_spare only has 4 ints.  Which makes
      the previous technique of clearing each int individually
      broken.
    
    I don't expect anyone actually uses the old statfs system
    call anymore but if they do let them benefit from having
    the compat and the native version working the same.
    
    Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    ebiederm committed with root Oct 17, 2011