05 Jul, 2012

1 commit

  • The newly released HID protocol for win8 multitouch devices is capable
    of transmitting more information about each touch. In particular, it
    includes details useful for touch alignment. This patch completes the
    MT protocol with the ABS_MT_TOOL_X/Y events, and documents how to map
    win8 devices.

    Cc: Stephane Chatty
    Cc: Benjamin Tissoires
    Cc: Peter Hutterer
    Acked-by: Chase Douglas
    Signed-off-by: Henrik Rydberg

    Henrik Rydberg
     

29 Jun, 2012

23 commits


04 Jun, 2012

1 commit


03 Jun, 2012

13 commits

  • Linus Torvalds
     
  • Pull device-mapper updates from Alasdair G Kergon:
    "Improve multipath's retrying mechanism in some defined circumstances
    and provide a simple reserve/release mechanism for userspace tools to
    access thin provisioning metadata while the pool is in use."

    * tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
    dm thin: provide userspace access to pool metadata
    dm thin: use slab mempools
    dm mpath: allow ioctls to trigger pg init
    dm mpath: delay retry of bypassed pg
    dm mpath: reduce size of struct multipath

    Linus Torvalds
     
  • This patch implements two new messages that can be sent to the thin
    pool target allowing it to take a snapshot of the _metadata_. This,
    read-only snapshot can be accessed by userland, concurrently with the
    live target.

    Only one metadata snapshot can be held at a time. The pool's status
    line will give the block location for the current msnap.

    Since version 0.1.5 of the userland thin provisioning tools, the
    thin_dump program displays the msnap as follows:

    thin_dump -m

    Available here: https://github.com/jthornber/thin-provisioning-tools

    Now that userland can access the metadata we can do various things
    that have traditionally been kernel side tasks:

    i) Incremental backups.

    By using metadata snapshots we can work out what blocks have
    changed over time. Combined with data snapshots we can ensure
    the data doesn't change while we back it up.

    A short proof of concept script can be found here:

    https://github.com/jthornber/thinp-test-suite/blob/master/incremental_backup_example.rb

    ii) Migration of thin devices from one pool to another.

    iii) Merging snapshots back into an external origin.

    iv) Asyncronous replication.

    Signed-off-by: Joe Thornber
    Signed-off-by: Alasdair G Kergon

    Joe Thornber
     
  • Use dedicated caches prefixed with a "dm_" name rather than relying on
    kmalloc mempools backed by generic slab caches so the memory usage of
    thin provisioning (and any leaks) can be accounted for independently.

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • After the failure of a group of paths, any alternative paths that
    need initialising do not become available until further I/O is sent to
    the device. Until this has happened, ioctls return -EAGAIN.

    With this patch, new paths are made available in response to an ioctl
    too. The processing of the ioctl gets delayed until this has happened.

    Instead of returning an error, we submit a work item to kmultipathd
    (that will potentially activate the new path) and retry in ten
    milliseconds.

    Note that the patch doesn't retry an ioctl if the ioctl itself fails due
    to a path failure. Such retries should be handled intelligently by the
    code that generated the ioctl in the first place, noting that some SCSI
    commands should not be retried because they are not idempotent (XOR write
    commands). For commands that could be retried, there is a danger that
    if the device rejected the SCSI command, the path could be errorneously
    marked as failed, and the request would be retried on another path which
    might fail too. It can be determined if the failure happens on the
    device or on the SCSI controller, but there is no guarantee that all
    SCSI drivers set these flags correctly.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • If I/O needs retrying and only bypassed priority groups are available,
    set the pg_init_delay_retry flag to wait before retrying.

    If, for example, the reason for the bypass is that the controller is
    getting reset or there is a firmware upgrade happening, retrying right
    away would cause a flood of log messages and retries for what could be a
    few seconds or even several minutes.

    Signed-off-by: Mike Christie
    Acked-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Christie
     
  • Move multipath structure's 'lock' and 'queue_size' members to eliminate
    two 4-byte holes. Also use a bit within a single unsigned int for each
    existing flag (saves 8-bytes). This allows future flags to be added
    without each consuming an unsigned int.

    Signed-off-by: Mike Snitzer
    Acked-by: Hannes Reinecke
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • Pull networking updates from David Miller:

    1) Make syn floods consume significantly less resources by

    a) Not pre-COW'ing routing metrics for SYN/ACKs
    b) Mirroring the device queue mapping of the SYN for the SYN/ACK
    reply.

    Both from Eric Dumazet.

    2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.

    3) Validate the length requested when building a paged SKB for a
    socket, so we don't overrun the page vector accidently. From Jason
    Wang.

    4) When netlabel is disabled, we abort all IP option processing when we
    see a CIPSO option. This isn't the right thing to do, we should
    simply skip over it and continue processing the remaining options
    (if any). Fix from Paul Moore.

    5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel
    Apfelbaum.

    6) 8139cp enables the receiver before the ring address is properly
    programmed, which potentially lets the device crap over random
    memory. Fix from Jason Wang.

    7) e1000/e1000e fixes for i217 RST handling, and an improper buffer
    address reference in jumbo RX frame processing from Bruce Allan and
    Sebastian Andrzej Siewior, respectively.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    fec_mpc52xx: fix timestamp filtering
    mcs7830: Implement link state detection
    e1000e: fix Rapid Start Technology support for i217
    e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats()
    r8169: call netif_napi_del at errpaths and at driver unload
    tcp: reflect SYN queue_mapping into SYNACK packets
    tcp: do not create inetpeer on SYNACK message
    8139cp/8139too: terminate the eeprom access with the right opmode
    8139cp: set ring address before enabling receiver
    cipso: handle CIPSO options correctly when NetLabel is disabled
    net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()
    bql: Avoid possible inconsistent calculation.
    bql: Avoid unneeded limit decrement.
    bql: Fix POSDIFF() to integer overflow aware.
    net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP
    net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap
    net/mlx4_core: Fixes for VF / Guest startup flow
    net/mlx4_en: Fix improper use of "port" parameter in mlx4_en_event
    net/mlx4_core: Fix number of EQs used in ICM initialisation
    net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int

    Linus Torvalds
     
  • Pull straggler x86 fixes from Peter Anvin:
    "Three groups of patches:

    - EFI boot stub documentation and the ability to print error messages;
    - Removal for PTRACE_ARCH_PRCTL for x32 (obsolete interface which
    should never have been ported, and the port is broken and
    potentially dangerous.)
    - ftrace stack corruption fixes. I'm not super-happy about the
    technical implementation, but it is probably the least invasive in
    the short term. In the future I would like a single method for
    nesting the debug stack, however."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32
    x86, efi: Add EFI boot stub documentation
    x86, efi; Add EFI boot stub console support
    x86, efi: Only close open files in error path
    ftrace/x86: Do not change stacks in DEBUG when calling lockdep
    x86: Allow nesting of the debug stack IDT setting
    x86: Reset the debug_stack update counter
    ftrace: Use breakpoint method to update ftrace caller
    ftrace: Synchronize variable setting with breakpoints

    Linus Torvalds
     
  • This reverts the tty layer change to use per-tty locking, because it's
    not correct yet, and fixing it will require some more deep surgery.

    The main revert is d29f3ef39be4 ("tty_lock: Localise the lock"), but
    there are several smaller commits that built upon it, they also get
    reverted here. The list of reverted commits is:

    fde86d310886 - tty: add lockdep annotations
    8f6576ad476b - tty: fix ldisc lock inversion trace
    d3ca8b64b97e - pty: Fix lock inversion
    b1d679afd766 - tty: drop the pty lock during hangup
    abcefe5fc357 - tty/amiserial: Add missing argument for tty_unlock()
    fd11b42e3598 - cris: fix missing tty arg in wait_event_interruptible_tty call
    d29f3ef39be4 - tty_lock: Localise the lock

    The revert had a trivial conflict in the 68360serial.c staging driver
    that got removed in the meantime.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • skb_defer_rx_timestamp was called with a freshly allocated skb but must
    be called with rskb instead.

    Signed-off-by: Stephan Gatzka
    Cc: stable
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Stephan Gatzka
     
  • Add .status callback that detects link state changes.
    Tested with MCS7832CV-AA chip (9710:7830, identified as rev.C by the driver).
    Fixes https://bugzilla.kernel.org/show_bug.cgi?id=28532

    Signed-off-by: Ondrej Zary
    Signed-off-by: David S. Miller

    Ondrej Zary
     
  • Pull vfs fix and a fix from the signal changes for frv from Al Viro.

    The __kernel_nlink_t for powerpc got scrogged because 64-bit powerpc
    actually depended on the default "unsigned long", while 32-bit powerpc
    had an explicit override to "unsigned short". Al didn't notice, and
    made both of them be the unsigned short.

    The frv signal fix is fallout from simplifying the do_notify_resume()
    code, and leaving an extra parenthesis.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    powerpc: Fix size of st_nlink on 64bit

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    frv: Remove bogus closing parenthesis

    Linus Torvalds
     

02 Jun, 2012

2 commits