16 Apr, 2016

4 commits

  • Now it's ready to move the mempool based SG chained allocator code from
    SCSI driver to lib/sg_pool.c, which will be compiled only based on a Kconfig
    symbol CONFIG_SG_POOL.

    SCSI selects CONFIG_SG_POOL.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Ming Lin
    Reviewed-by: Sagi Grimberg
    Signed-off-by: Martin K. Petersen

    Ming Lin
     
  • Rename SCSI_MAX_SG_SEGMENTS to SG_CHUNK_SIZE, which means the amount
    we fit into a single scatterlist chunk.

    Rename SCSI_MAX_SG_CHAIN_SEGMENTS to SG_MAX_SEGMENTS.

    Will move these 2 generic definitions to scatterlist.h later.

    Reviewed-by: Christoph Hellwig
    Acked-by: Bart Van Assche (for ib_srp changes)
    Signed-off-by: Ming Lin
    Acked-by: Tejun Heo
    Reviewed-by: Sagi Grimberg
    Signed-off-by: Martin K. Petersen

    Ming Lin
     
  • VPD pages 0x0 and 0x83 are mandatory even for SPC-2, so we should be
    lowering the restriction to avoid having to whitelist every SPC-2
    compliant device.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     
  • Add intermediate STARGET_REMOVE state to scsi_target_state to avoid
    running into the BUG_ON() in scsi_target_reap(). The STARGET_REMOVE
    state is only valid in the path from scsi_remove_target() to
    scsi_target_destroy() indicating this target is going to be removed.

    This re-fixes the problem introduced in commits bc3f02a795d3 ("[SCSI]
    scsi_remove_target: fix softlockup regression on hot remove") and
    40998193560d ("scsi: restart list search after unlock in
    scsi_remove_target") in a more comprehensive way.

    [mkp: Included James' fix for scsi_target_destroy()]

    Signed-off-by: Johannes Thumshirn
    Fixes: 40998193560dab6c3ce8d25f4fa58a23e252ef38
    Cc: stable@vger.kernel.org
    Reported-by: Sergey Senozhatsky
    Tested-by: Sergey Senozhatsky
    Reviewed-by: Ewan D. Milne
    Reviewed-by: Hannes Reinecke
    Reviewed-by: James Bottomley
    Signed-off-by: Martin K. Petersen

    Johannes Thumshirn
     

12 Apr, 2016

3 commits

  • Add new trace functions for ZBC_IN and ZBC_OUT.

    Reviewed-by: Doug Gilbert
    Reviewed-by: Ewan D. Milne
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     
  • scsi_opcode_name() is displaying the opcode, not the service
    action.

    Reviewed-by: Ewan D. Milne
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     
  • On larger installations it is useful to disable automatic LUN scanning,
    and only add the required LUNs via udev rules. This can speed up bootup
    dramatically.

    This patch introduces a new scan module parameter value 'manual', which
    works like 'none', but can be overridden by setting the 'rescan' value
    from scsi_scan_target to 'SCSI_SCAN_MANUAL'. And it updates all
    relevant callers to set the 'rescan' value to 'SCSI_SCAN_MANUAL' if
    invoked via the 'scan' option in sysfs.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Ewan D. Milne
    Tested-by: Laurence Oberman
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

10 Apr, 2016

5 commits

  • Pull USB fixes from Greg KH:
    "Here are some USB fixes and new device ids for 4.6-rc3.

    Nothing major, the normal USB gadget fixes and usb-serial driver ids,
    along with some other fixes mixed in. All except the USB serial ids
    have been tested in linux-next, the id additions should be fine as
    they are 'trivial'"

    * tag 'usb-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (25 commits)
    USB: option: add "D-Link DWM-221 B1" device id
    USB: serial: cp210x: Adding GE Healthcare Device ID
    USB: serial: ftdi_sio: Add support for ICP DAS I-756xU devices
    usb: dwc3: keystone: drop dma_mask configuration
    usb: gadget: udc-core: remove manual dma configuration
    usb: dwc3: pci: add ID for one more Intel Broxton platform
    usb: renesas_usbhs: fix to avoid using a disabled ep in usbhsg_queue_done()
    usb: dwc2: do not override forced dr_mode in gadget setup
    usb: gadget: f_midi: unlock on error
    USB: digi_acceleport: do sanity checking for the number of ports
    USB: cypress_m8: add endpoint sanity check
    USB: mct_u232: add sanity checking in probe
    usb: fix regression in SuperSpeed endpoint descriptor parsing
    USB: usbip: fix potential out-of-bounds write
    usb: renesas_usbhs: disable TX IRQ before starting TX DMAC transfer
    usb: renesas_usbhs: avoid NULL pointer derefernce in usbhsf_pkt_handler()
    usb: gadget: f_midi: Fixed a bug when buflen was smaller than wMaxPacketSize
    usb: phy: qcom-8x16: fix regulator API abuse
    usb: ch9: Fix SSP Device Cap wFunctionalitySupport type
    usb: gadget: composite: Access SSP Dev Cap fields properly
    ...

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is a set of eight fixes.

    Two are trivial gcc-6 updates (brace additions and unused variable
    removal). There's a couple of cxlflash regressions, a correction for
    sd being overly chatty on revalidation (causing excess log increases).
    A VPD issue which could crash USB devices because they seem very
    intolerant to VPD inquiries, an ALUA deadlock fix and a mpt3sas buffer
    overrun fix"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: Do not attach VPD to devices that don't support it
    sd: Fix excessive capacity printing on devices with blocks bigger than 512 bytes
    scsi_dh_alua: Fix a recently introduced deadlock
    scsi: Declare local symbols static
    cxlflash: Move to exponential back-off when cmd_room is not available
    cxlflash: Fix regression issue with re-ordering patch
    mpt3sas: Don't overreach ioc->reply_post[] during initialization
    aacraid: add missing curly braces

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Stale SKB data pointer access across pskb_may_pull() calls in L2TP,
    from Haishuang Yan.

    2) Fix multicast frame handling in mac80211 AP code, from Felix
    Fietkau.

    3) mac80211 station hashtable insert errors not handled properly, fix
    from Johannes Berg.

    4) Fix TX descriptor count limit handling in e1000, from Alexander
    Duyck.

    5) Revert a buggy netdev refcount fix in netpoll, from Bjorn Helgaas.

    6) Must assign rtnl_link_ops of the device before registering it, fix
    in ip6_tunnel from Thadeu Lima de Souza Cascardo.

    7) Memory leak fix in tc action net exit, from WANG Cong.

    8) Add missing AF_KCM entries to name tables, from Dexuan Cui.

    9) Fix regression in GRE handling of csums wrt. FOU, from Alexander
    Duyck.

    10) Fix memory allocation alignment and congestion map corruption in
    RDS, from Shamir Rabinovitch.

    11) Fix default qdisc regression in tuntap driver, from Jason Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
    bridge, netem: mark mailing lists as moderated
    tuntap: restore default qdisc
    mpls: find_outdev: check for err ptr in addition to NULL check
    ipv6: Count in extension headers in skb->network_header
    RDS: fix congestion map corruption for PAGE_SIZE > 4k
    RDS: memory allocated must be align to 8
    GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU
    net: add the AF_KCM entries to family name tables
    MAINTAINERS: intel-wired-lan list is moderated
    lib/test_bpf: Add additional BPF_ADD tests
    lib/test_bpf: Add test to check for result of 32-bit add that overflows
    lib/test_bpf: Add tests for unsigned BPF_JGT
    lib/test_bpf: Fix JMP_JSET tests
    VSOCK: Detach QP check should filter out non matching QPs.
    stmmac: fix adjust link call in case of a switch is attached
    af_packet: tone down the Tx-ring unsupported spew.
    net_sched: fix a memory leak in tc action
    samples/bpf: Enable powerpc support
    samples/bpf: Use llc in PATH, rather than a hardcoded value
    samples/bpf: Fix build breakage with map_perf_test_user.c
    ...

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "These are bug fixes, including a really old fsync bug, and a few trace
    points to help us track down problems in the quota code"

    * 'for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix file/data loss caused by fsync after rename and new inode
    btrfs: Reset IO error counters before start of device replacing
    btrfs: Add qgroup tracing
    Btrfs: don't use src fd for printk
    btrfs: fallback to vmalloc in btrfs_compare_tree
    btrfs: handle non-fatal errors in btrfs_qgroup_inherit()
    btrfs: Output more info for enospc_debug mount option
    Btrfs: fix invalid reference in replace_path
    Btrfs: Improve FL_KEEP_SIZE handling in fallocate

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:

    - compile-time fixes (warnings and failures)

    - a bug in iommu core code which could cause the group->domain pointer
    to be falsly cleared

    - fix in scatterlist handling of the ARM common DMA-API code

    - stall detection fix for the Rockchip IOMMU driver

    * tag 'iommu-fixes-v4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/vt-d: Silence an uninitialized variable warning
    iommu/rockchip: Fix "is stall active" check
    iommu: Don't overwrite domain pointer when there is no default_domain
    iommu/dma: Restore scatterlist offsets correctly
    iommu: provide of_xlate pointer unconditionally

    Linus Torvalds
     

09 Apr, 2016

2 commits


08 Apr, 2016

3 commits

  • Pull ext4 bugfixes from Ted Ts'o:
    "These changes contains a fix for overlayfs interacting with some
    (badly behaved) dentry code in various file systems. These have been
    reviewed by Al and the respective file system mtinainers and are going
    through the ext4 tree for convenience.

    This also has a few ext4 encryption bug fixes that were discovered in
    Android testing (yes, we will need to get these sync'ed up with the
    fs/crypto code; I'll take care of that). It also has some bug fixes
    and a change to ignore the legacy quota options to allow for xfstests
    regression testing of ext4's internal quota feature and to be more
    consistent with how xfs handles this case"

    * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: ignore quota mount options if the quota feature is enabled
    ext4 crypto: fix some error handling
    ext4: avoid calling dquot_get_next_id() if quota is not enabled
    ext4: retry block allocation for failed DIO and DAX writes
    ext4: add lockdep annotations for i_data_sem
    ext4: allow readdir()'s of large empty directories to be interrupted
    btrfs: fix crash/invalid memory access on fsync when using overlayfs
    ext4 crypto: use dget_parent() in ext4_d_revalidate()
    ext4: use file_dentry()
    ext4: use dget_parent() in ext4_file_open()
    nfs: use file_dentry()
    fs: add file_dentry()
    ext4 crypto: don't let data integrity writebacks fail with ENOMEM
    ext4: check if in-inode xattr is corrupted in ext4_expand_extra_isize_ea()

    Linus Torvalds
     
  • Pull virtio/qemu fixes from Michael S Tsirkin:
    "A couple of fixes for virtio and for the new QEMU fw cfg driver"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio: add VIRTIO_CONFIG_S_NEEDS_RESET device status bit
    MAINTAINERS: add entry for QEMU
    firmware: qemu_fw_cfg.c: hold ACPI global lock during device access
    virtio: virtio 1.0 cs04 spec compliance for reset
    qemu_fw_cfg: don't leak kobj on init error

    Linus Torvalds
     
  • This patch fixes an issue I found in which we were dropping frames if we
    had enabled checksums on GRE headers that were encapsulated by either FOU
    or GUE. Without this patch I was barely able to get 1 Gb/s of throughput.
    With this patch applied I am now at least getting around 6 Gb/s.

    The issue is due to the fact that with FOU or GUE applied we do not provide
    a transport offset pointing to the GRE header, nor do we offload it in
    software as the GRE header is completely skipped by GSO and treated like a
    VXLAN or GENEVE type header. As such we need to prevent the stack from
    generating it and also prevent GRE from generating it via any interface we
    create.

    Fixes: c3483384ee511 ("gro: Allow tunnel stacking in the case of FOU/GUE")
    Signed-off-by: Alexander Duyck
    Signed-off-by: David S. Miller

    Alexander Duyck
     

07 Apr, 2016

3 commits

  • The VIRTIO 1.0 specification added the DEVICE_NEEDS_RESET device status
    bit in "VIRTIO-98: Add DEVICE_NEEDS_RESET". This patch defines the
    device status bit in the uapi header file so that both the kernel and
    userspace applications can use it.

    The bit is currently unused by the virtio guest drivers and vhost.
    According to the spec "a good implementation will try to recover by
    issuing a reset". This is not attempted here because it requires
    auditing the virtio drivers to ensure there are no resource leaks or
    crashes if the device needs to be reset mid-operation.

    See "2.1 Device Status Field" in the VIRTIO 1.0 specification for
    details.

    Signed-off-by: Stefan Hajnoczi
    Signed-off-by: Michael S. Tsirkin

    Stefan Hajnoczi
     
  • Lots of misc bug fixes for radeon and amdgpu and one for ttm.
    - fix vram info fetching on Fiji and unposted boards
    - additional vblank fixes from the conversion to drm_vblank_on/off
    - UVD dGPU suspend and resume fixes
    - lots of powerplay fixes
    - fix a fence leak in the pageflip code
    - ttm fix for platforms where CPU is 32 bit, but physical addresses are >32bits

    * 'drm-fixes-4.6' of git://people.freedesktop.org/~agd5f/linux: (21 commits)
    drm/amdgpu: total vram size also reduces pin size
    drm/amd/powerplay: add uvd/vce dpm enabling flag default.
    drm/amd/powerplay: fix issue that resume back, dpm can't work on FIJI.
    drm/amdgpu: save and restore the firwmware cache part when suspend resume
    drm/amdgpu: save and restore UVD context with suspend and resume
    drm/ttm: use phys_addr_t for ttm_bus_placement
    drm/radeon: Only call drm_vblank_on/off between drm_vblank_init/cleanup
    drm/amdgpu: fence wait old rcu slot
    drm/amdgpu: fix leaking fence in the pageflip code
    drm/amdgpu: print vram type rather than just DDR
    drm/amdgpu/gmc: use proper register for vram type on Fiji
    drm/amdgpu/gmc: move vram type fetching into sw_init
    drm/amdgpu: Set vblank_disable_allowed = true
    drm/radeon: Set vblank_disable_allowed = true
    drm/amd/powerplay: Need to change boot to performance state in resume.
    drm/amd/powerplay: add new Fiji function for not setting same ps.
    drm/amdgpu: check dpm state before pm system fs initialized.
    drm/amd/powerplay: notify amdgpu whether dpm is enabled or not.
    drm/amdgpu: Not support disable dpm in powerplay.
    drm/amdgpu: add an cgs interface to notify amdgpu the dpm state.
    ...

    Dave Airlie
     
  • Fixes: ddf97ccdd7cb ("net_sched: add network namespace support for tc actions")
    Reported-by: Dmitry Vyukov
    Tested-by: Dmitry Vyukov
    Cc: Jamal Hadi Salim
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     

06 Apr, 2016

3 commits

  • imx-drm: stricter plane parameter checking, dw_hdmi-imx and dmfc fixes

    - Check whether plane parameters comply with IPU IDMAC limitations and
    fix planar YUV 4:2:0 U/V offsets and stride
    - Cleanup encoder in dw_hdmi-imx bind error path and
    remove a superfluous platform_set_drvdata in dw_hdmi-imx
    - DMFC setup fixes: lock the ipu_dmfc_init_channel function against
    concurrent use, rename it to ipu_dmfc_config_wait4eot, and call
    it after the FIFO size has been determined.

    * tag 'imx-drm-next-2016-04-01' of git://git.pengutronix.de/git/pza/linux:
    drm/imx: Don't set a gamma table size
    drm/imx: ipuv3-plane: Configure DMFC wait4eot bit after slots are determined
    gpu: ipu-v3: ipu-dmfc: Rename ipu_dmfc_init_channel to ipu_dmfc_config_wait4eot
    gpu: ipu-v3: ipu-dmfc: Make function ipu_dmfc_init_channel() return void
    gpu: ipu-v3: ipu-dmfc: Protect function ipu_dmfc_init_channel() with mutex
    drm/imx: dw_hdmi: Don't call platform_set_drvdata()
    drm/imx: dw_hdmi: Call drm_encoder_cleanup() in error path
    drm/imx: ipuv3-plane: fix planar YUV 4:2:0 support
    drm/imx: ipuv3-plane: Add more thorough checks for plane parameter limitations
    gpu: ipu-cpmem: modify ipu_cpmem_set_yuv_planar_full for better control

    Dave Airlie
     
  • Pull KVM fixes from Paolo Bonzini:
    "Miscellaneous bugfixes.

    The ARM and s390 fixes are for new regressions from the merge window,
    others are usual stable material"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    compiler-gcc: disable -ftracer for __noclone functions
    kvm: x86: make lapic hrtimer pinned
    s390/mm/kvm: fix mis-merge in gmap handling
    kvm: set page dirty only if page has been writable
    KVM: x86: reduce default value of halt_poll_ns parameter
    KVM: Hyper-V: do not do hypercall userspace exits if SynIC is disabled
    KVM: x86: Inject pending interrupt even if pending nmi exist
    arm64: KVM: Register CPU notifiers when the kernel runs at HYP
    arm64: kvm: 4.6-rc1: Fix VTCR_EL2 VS setting

    Linus Torvalds
     
  • Use list_* helpers in sctp_list_dequeue, more readable.

    Signed-off-by: Marcelo Ricardo Leitner
    Signed-off-by: David S. Miller

    Marcelo Ricardo Leitner
     

05 Apr, 2016

10 commits

  • -ftracer can duplicate asm blocks causing compilation to fail in
    noclone functions. For example, KVM declares a global variable
    in an asm like

    asm("2: ... \n
    .pushsection data \n
    .global vmx_return \n
    vmx_return: .long 2b");

    and -ftracer causes a double declaration.

    Cc: Andrew Morton
    Cc: Michal Marek
    Cc: stable@vger.kernel.org
    Cc: kvm@vger.kernel.org
    Reported-by: Linda Walsh
    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • iommu drivers that support the standard DT bindings use a of_xlate
    callback pointer, but that is only part of struct iommu_ops when
    CONFIG_OF_IOMMU is enabled, leading to build errors in randconfig
    builds when that is not provided:

    drivers/iommu/mtk_iommu.c:497:2: error: unknown field 'of_xlate' specified in initializer
    .of_xlate = mtk_iommu_of_xlate,
    ^
    drivers/iommu/mtk_iommu.c:497:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
    .of_xlate = mtk_iommu_of_xlate,
    ^~~~~~~~~~~~~~~~~~
    drivers/iommu/mtk_iommu.c:497:14: note: (near initialization for 'mtk_iommu_ops.domain_get_attr')

    We can work around it by adding more #ifdefs in each driver, but
    it seems nicer to just allow setting the pointer even if it is
    unused. This makes the driver code look nicer, and it gives better
    compile-time coverage when test building on other architectures.

    Signed-off-by: Arnd Bergmann
    Fixes: 0df4fabe208d ("iommu/mediatek: Add mt8173 IOMMU driver")
    Reviewed-by: Robin Murphy
    Signed-off-by: Joerg Roedel

    Arnd Bergmann
     
  • James Bottomley
     
  • The patch "scsi: rescan VPD attributes" introduced a regression in which
    devices that don't support VPD were being scanned for VPD attributes
    anyway. This could cause issues for some devices and should be avoided
    so the check for scsi_level has been moved out of scsi_add_lun and into
    scsi_attach_vpd so that all callers will not scan VPD for devices that
    don't support it.

    [mkp: Merge fix]

    Fixes: 09e2b0b14690 ("scsi: rescan VPD attributes")
    Cc: #v4.5+
    Suggested-by: Alexander Duyck
    Signed-off-by: Hannes Reinecke
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     
  • Add documentation for the flag for duplication check.

    Fixes the following warning when running make htmldocs:
    warning: Enum value 'RX_FLAG_DUP_VALIDATED' not described in enum 'mac80211_rx_flags'

    Signed-off-by: Luis de Bethencourt
    [fix description]
    Signed-off-by: Johannes Berg

    Luis de Bethencourt
     
  • Fixes ttm on platforms like PPC460 where the CPU
    is in 32-bit mode, but the physical addresses are
    >32 bits.

    Extracted from a patch by Hans Verkuil.

    Tested-by: Julian Margetson
    Acked-by: Thomas Hellstrom
    Reviewed-by: Christian König
    Cc: Thomas Hellstrom
    Cc: Julian Margetson
    Cc: Hans Verkuil
    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Merge PAGE_CACHE_SIZE removal patches from Kirill Shutemov:
    "PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
    ago with promise that one day it will be possible to implement page
    cache with bigger chunks than PAGE_SIZE.

    This promise never materialized. And unlikely will.

    Let's stop pretending that pages in page cache are special. They are
    not.

    The first patch with most changes has been done with coccinelle. The
    second is manual fixups on top.

    The third patch removes macros definition"

    [ I was planning to apply this just before rc2, but then I spaced out,
    so here it is right _after_ rc2 instead.

    As Kirill suggested as a possibility, I could have decided to only
    merge the first two patches, and leave the old interfaces for
    compatibility, but I'd rather get it all done and any out-of-tree
    modules and patches can trivially do the converstion while still also
    working with older kernels, so there is little reason to try to
    maintain the redundant legacy model. - Linus ]

    * PAGE_CACHE_SIZE-removal:
    mm: drop PAGE_CACHE_* and page_cache_{get,release} definition
    mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage
    mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros

    Linus Torvalds
     
  • All users gone. We can remove these macros.

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Michal Hocko
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Mostly direct substitution with occasional adjustment or removing
    outdated comments.

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Michal Hocko
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
    ago with promise that one day it will be possible to implement page
    cache with bigger chunks than PAGE_SIZE.

    This promise never materialized. And unlikely will.

    We have many places where PAGE_CACHE_SIZE assumed to be equal to
    PAGE_SIZE. And it's constant source of confusion on whether
    PAGE_CACHE_* or PAGE_* constant should be used in a particular case,
    especially on the border between fs and mm.

    Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much
    breakage to be doable.

    Let's stop pretending that pages in page cache are special. They are
    not.

    The changes are pretty straight-forward:

    - << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> ;

    - >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> ;

    - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN};

    - page_cache_get() -> get_page();

    - page_cache_release() -> put_page();

    This patch contains automated changes generated with coccinelle using
    script below. For some reason, coccinelle doesn't patch header files.
    I've called spatch for them manually.

    The only adjustment after coccinelle is revert of changes to
    PAGE_CAHCE_ALIGN definition: we are going to drop it later.

    There are few places in the code where coccinelle didn't reach. I'll
    fix them manually in a separate patch. Comments and documentation also
    will be addressed with the separate patch.

    virtual patch

    @@
    expression E;
    @@
    - E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
    + E

    @@
    expression E;
    @@
    - E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
    + E

    @@
    @@
    - PAGE_CACHE_SHIFT
    + PAGE_SHIFT

    @@
    @@
    - PAGE_CACHE_SIZE
    + PAGE_SIZE

    @@
    @@
    - PAGE_CACHE_MASK
    + PAGE_MASK

    @@
    expression E;
    @@
    - PAGE_CACHE_ALIGN(E)
    + PAGE_ALIGN(E)

    @@
    expression E;
    @@
    - page_cache_get(E)
    + get_page(E)

    @@
    expression E;
    @@
    - page_cache_release(E)
    + put_page(E)

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Michal Hocko
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

04 Apr, 2016

1 commit

  • This patch adds tracepoints to the qgroup code on both the reporting side
    (insert_dirty_extents) and the accounting side. Taken together it allows us
    to see what qgroup operations have happened, and what their result was.

    Signed-off-by: Mark Fasheh
    Reviewed-by: David Sterba
    Signed-off-by: David Sterba

    Mark Fasheh
     

03 Apr, 2016

3 commits

  • Pull core kernel fixes from Ingo Molnar:
    "This contains the nohz/atomic cleanup/fix for the fetch_or() ugliness
    you noted during the original nohz pull request, plus there's also
    misc fixes:

    - fix liblockdep build bug
    - fix uapi header build bug
    - print more lockdep hash collision info to help debug recent reports
    of hash collisions
    - update MAINTAINERS email address"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    MAINTAINERS: Update my email address
    locking/lockdep: Print chain_key collision information
    uapi/linux/stddef.h: Provide __always_inline to userspace headers
    tools/lib/lockdep: Fix unsupported 'basename -s' in run_tests.sh
    locking/atomic, sched: Unexport fetch_or()
    timers/nohz: Convert tick dependency mask to atomic_t
    locking/atomic: Introduce atomic_fetch_or()

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "This includes fixes from HCH for -rc1 configfs default_groups
    conversion changes that ended up breaking some iscsi-target
    default_groups, along with Sagi's ib_drain_qp() conversion for
    iser-target to use the common caller now available to RDMA kernel
    consumers in v4.6+ code"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target: add a new add_wwn_groups fabrics method
    target: initialize the nacl base CIT begfore init_nodeacl
    target: remove ->fabric_cleanup_nodeacl
    iser-target: Use ib_drain_qp

    Linus Torvalds
     
  • Pull configfs fix from Christoph Hellwig:
    "A trivial fix to the recently introduced binary attribute helper
    macros"

    * tag 'configfs-for-linus-2' of git://git.infradead.org/users/hch/configfs:
    configfs: fix CONFIGFS_BIN_ATTR_[RW]O definitions

    Linus Torvalds
     

02 Apr, 2016

3 commits

  • Pull networking fixes from David Miller:

    1) Missing device reference in IPSEC input path results in crashes
    during device unregistration. From Subash Abhinov Kasiviswanathan.

    2) Per-queue ISR register writes not being done properly in macb
    driver, from Cyrille Pitchen.

    3) Stats accounting bugs in bcmgenet, from Patri Gynther.

    4) Lightweight tunnel's TTL and TOS were swapped in netlink dumps, from
    Quentin Armitage.

    5) SXGBE driver has off-by-one in probe error paths, from Rasmus
    Villemoes.

    6) Fix race in save/swap/delete options in netfilter ipset, from
    Vishwanath Pai.

    7) Ageing time of bridge not set properly when not operating over a
    switchdev device. Fix from Haishuang Yan.

    8) Fix GRO regression wrt nested FOU/GUE based tunnels, from Alexander
    Duyck.

    9) IPV6 UDP code bumps wrong stats, from Eric Dumazet.

    10) FEC driver should only access registers that actually exist on the
    given chipset, fix from Fabio Estevam.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
    net: mvneta: fix changing MTU when using per-cpu processing
    stmmac: fix MDIO settings
    Revert "stmmac: Fix 'eth0: No PHY found' regression"
    stmmac: fix TX normal DESC
    net: mvneta: use cache_line_size() to get cacheline size
    net: mvpp2: use cache_line_size() to get cacheline size
    net: mvpp2: fix maybe-uninitialized warning
    tun, bpf: fix suspicious RCU usage in tun_{attach, detach}_filter
    net: usb: cdc_ncm: adding Telit LE910 V2 mobile broadband card
    rtnl: fix msg size calculation in if_nlmsg_size()
    fec: Do not access unexisting register in Coldfire
    net: mvneta: replace MVNETA_CPU_D_CACHE_LINE_SIZE with L1_CACHE_BYTES
    net: mvpp2: replace MVPP2_CPU_D_CACHE_LINE_SIZE with L1_CACHE_BYTES
    net: dsa: mv88e6xxx: Clear the PDOWN bit on setup
    net: dsa: mv88e6xxx: Introduce _mv88e6xxx_phy_page_{read, write}
    bpf: make padding in bpf_tunnel_key explicit
    ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates
    bnxt_en: Fix ethtool -a reporting.
    bnxt_en: Fix typo in bnxt_hwrm_set_pause_common().
    bnxt_en: Implement proper firmware message padding.
    ...

    Linus Torvalds
     
  • Page isolation has not failed if the fin pfn extends beyond the end pfn
    and test_pages_isolated checks this correctly. Fix the tracepoint to
    report the same result as the actual check function.

    Signed-off-by: Lucas Stach
    Acked-by: Vlastimil Babka
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lucas Stach
     
  • The return value of pmd_trans_huge_lock() is a pointer, not a boolean
    value, so use NULL instead of false as the return value.

    Signed-off-by: Chen Gang
    Acked-by: Kirill A. Shutemov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gang