1. 15 4月, 2011 7 次提交
  2. 13 4月, 2011 2 次提交
    • L
      vfs: Re-introduce s_uuid in the superblock · 0bba0169
      Linus Torvalds 提交于
      Gaah.  When commit be85bcca reverted the export of file system uuid
      via /proc/<pid>/mountinfo, it also unintentionally removed the s_uuid
      field in struct super_block.
      
      I didn't mean to do that, since filesystems have been taught to fill it
      in (and we want to keep it for future re-introduction in the mountinfo
      file).
      
      Stupid of me. This adds it back in.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0bba0169
    • L
      Revert "vfs: Export file system uuid via /proc/<pid>/mountinfo" · be85bcca
      Linus Torvalds 提交于
      This reverts commit 93f1c20b.
      
      It turns out that libmount misparses it because it adds a '-' character
      in the uuid string, which libmount then incorrectly confuses with the
      separator string (" - ") at the end of all the optional arguments.
      
      Upstream libmount (in the util-linux tree) has been fixed, but until
      that fix actually percolates up to users, we'd better not expose this
      change in the kernel.
      
      Let's revisit this later (possibly by exposing the UUID without any '-'
      characters in it, avoiding the user-space bug).
      Reported-by: NDave Jones <davej@redhat.com>
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Karel Zak <kzak@redhat.com>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Miklos Szeredi <mszeredi@suse.cz>
      Cc: Eric Sandeen <sandeen@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      be85bcca
  3. 12 4月, 2011 5 次提交
  4. 08 4月, 2011 1 次提交
  5. 07 4月, 2011 1 次提交
  6. 06 4月, 2011 3 次提交
    • M
      dm: improve block integrity support · a63a5cf8
      Mike Snitzer 提交于
      The current block integrity (DIF/DIX) support in DM is verifying that
      all devices' integrity profiles match during DM device resume (which
      is past the point of no return).  To some degree that is unavoidable
      (stacked DM devices force this late checking).  But for most DM
      devices (which aren't stacking on other DM devices) the ideal time to
      verify all integrity profiles match is during table load.
      
      Introduce the notion of an "initialized" integrity profile: a profile
      that was blk_integrity_register()'d with a non-NULL 'blk_integrity'
      template.  Add blk_integrity_is_initialized() to allow checking if a
      profile was initialized.
      
      Update DM integrity support to:
      - check all devices with _initialized_ integrity profiles match
        during table load; uninitialized profiles (e.g. for underlying DM
        device(s) of a stacked DM device) are ignored.
      - disallow a table load that would result in an integrity profile that
        conflicts with a DM device's existing (in-use) integrity profile
      - avoid clearing an existing integrity profile
      - validate all integrity profiles match during resume; but if they
        don't all we can do is report the mismatch (during resume we're past
        the point of no return)
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      a63a5cf8
    • J
      fs: export empty_aops · 7dcda1c9
      Jens Axboe 提交于
      With the ->sync_page() hook gone, we have a few users that
      add their own static address_space_operations without any
      functions defined.
      
      fs/inode.c already has an empty_aops that it uses for init
      purposes. Lets export that and use it in the places where
      an otherwise empty aops was defined.
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      7dcda1c9
    • J
      block: get rid of elv_insert() interface · b710a480
      Jens Axboe 提交于
      Merge it with __elv_add_request(), it's pretty pointless to
      have a function with only two callers. The main interface
      is elv_add_request()/__elv_add_request().
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      b710a480
  7. 05 4月, 2011 3 次提交
  8. 04 4月, 2011 4 次提交
  9. 02 4月, 2011 3 次提交
    • W
      sctp: fix auth_hmacs field's length of struct sctp_cookie · 028dba0a
      Wei Yongjun 提交于
      auth_hmacs field of struct sctp_cookie is used for store
      Requested HMAC Algorithm Parameter, and each HMAC Identifier
      is 2 bytes, so the length should be:
        SCTP_AUTH_NUM_HMACS * sizeof(__u16) + 2
      Signed-off-by: NWei Yongjun <yjwei@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      028dba0a
    • M
      net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM · 4dd5ffe4
      Michał Mirosław 提交于
      dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
      changeable and driver is converted to hw_features and friends. Fix this.
      
      (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
      ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.
      Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4dd5ffe4
    • A
      usbnet: use eth%d name for known ethernet devices · c261344d
      Arnd Bergmann 提交于
      The documentation for the USB ethernet devices suggests that
      only some devices are supposed to use usb0 as the network interface
      name instead of eth0. The logic used there, and documented in
      Kconfig for CDC is that eth0 will be used when the mac address
      is a globally assigned one, but usb0 is used for the locally
      managed range that is typically used on point-to-point links.
      
      Unfortunately, this has caused a lot of pain on the smsc95xx
      device that is used on the popular pandaboard without an
      EEPROM to store the MAC address, which causes the driver to
      call random_ether_address().
      
      Obviously, there should be a proper MAC addressed assigned to
      the device, and discussions are ongoing about how to solve
      this, but this patch at least makes sure that the default
      interface naming gets a little saner and matches what the
      user can expect based on the documentation, including for
      new devices.
      
      The approach taken here is to flag whether a device might be a
      point-to-point link with the new FLAG_POINTTOPOINT setting in
      the usbnet driver_info. A driver can set both FLAG_POINTTOPOINT
      and FLAG_ETHER if it is not sure (e.g. cdc_ether), or just one
      of the two.  The usbnet framework only looks at the MAC address
      for device naming if both flags are set, otherwise it trusts the
      flag.
      Signed-off-by: NArnd Bergmann <arnd.bergmann@linaro.org>
      Tested-by: NAndy Green <andy.green@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c261344d
  10. 01 4月, 2011 3 次提交
  11. 31 3月, 2011 5 次提交
    • L
      Fix common misspellings · 25985edc
      Lucas De Marchi 提交于
      Fixes generated by 'codespell' and manually reviewed.
      Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
      25985edc
    • P
      perf: Fix task context scheduling · ab711fe0
      Peter Zijlstra 提交于
      Jiri reported:
      
       |
       | - once an event is created by sys_perf_event_open, task context
       |   is created and it stays even if the event is closed, until the
       |   task is finished ... thats what I see in code and I assume it's
       |   correct
       |
       | - when the task opens event, perf_sched_events jump label is
       |   incremented and following callbacks are started from scheduler
       |
       |         __perf_event_task_sched_in
       |         __perf_event_task_sched_out
       |
       |   These callback *in/out set/unset cpuctx->task_ctx value to the
       |   task context.
       |
       | - close is called on event on CPU 0:
       |         - the task is scheduled on CPU 0
       |         - __perf_event_task_sched_in is called
       |         - cpuctx->task_ctx is set
       |         - perf_sched_events jump label is decremented and == 0
       |         - __perf_event_task_sched_out is not called
       |         - cpuctx->task_ctx on CPU 0 stays set
       |
       | - exit is called on CPU 1:
       |         - the task is scheduled on CPU 1
       |         - perf_event_exit_task is called
       |         - task_ctx_sched_out unsets cpuctx->task_ctx on CPU 1
       |         - put_ctx destroys the context
       |
       | - another call of perf_rotate_context on CPU 0 will use invalid
       |   task_ctx pointer, and eventualy panic.
       |
      
      Cure this the simplest possibly way by partially reverting the
      jump_label optimization for the sched_out case.
      Reported-and-tested-by: NJiri Olsa <jolsa@redhat.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: <stable@kernel.org> # .37+
      LKML-Reference: <1301520405.4859.213.camel@twins>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ab711fe0
    • B
      x86, amd-nb: Rename CPU PCI id define for F4 · cb6c8520
      Borislav Petkov 提交于
      With increasing number of PCI function ids, add the PCI function
      id in the define name instead of its symbolic name in the BKDG
      for more clarity. This renames function 4 define.
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      LKML-Reference: <20110330183447.GA3668@aftab>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cb6c8520
    • P
      connector: convert to synchronous netlink message processing · 04f482fa
      Patrick McHardy 提交于
      Commits 01a16b21 (netlink: kill eff_cap from struct netlink_skb_parms)
      and c53fa1ed (netlink: kill loginuid/sessionid/sid members from struct
      netlink_skb_parms) removed some members from struct netlink_skb_parms
      that depend on the current context, all netlink users are now required
      to do synchronous message processing.
      
      connector however queues received messages and processes them in a work
      queue, which is not valid anymore. This patch converts connector to do
      synchronous message processing by invoking the registered callback handler
      directly from the netlink receive function.
      
      In order to avoid invoking the callback with connector locks held, a
      reference count is added to struct cn_callback_entry, the reference
      is taken when finding a matching callback entry on the device's queue_list
      and released after the callback handler has been invoked.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Acked-by: NEvgeniy Polyakov <zbr@ioremap.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      04f482fa
    • P
      atm/solos-pci: Don't flap VCs when carrier state changes · c031235b
      Philip A. Prindeville 提交于
      Don't flap VCs when carrier state changes; higher-level protocols
      can detect loss of connectivity and act accordingly. This is more
      consistent with how other network interfaces work.
      
      We no longer use release_vccs() so we can delete it.
      
      release_vccs() was duplicated from net/atm/common.c; make the
      corresponding function exported, since other code duplicates it
      and could leverage it if it were public.
      Signed-off-by: NPhilip A. Prindeville <philipp@redfish-solutions.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c031235b
  12. 30 3月, 2011 3 次提交
    • A
      net/usb: Ethernet quirks for the LG-VL600 4G modem · 7a635ea9
      Andrzej Zaborowski 提交于
      This adds a driver for the CDC Ethernet part of this modem.  The
      device's ID is blacklisted in cdc_ether.c and is white-listed in
      this new driver because of the quirks needed to make it useful.
      The modem's firmware exposes a CDC ACM port for modem control and a
      CDC Ethernet port for network data.  The descriptors look fine but
      both ports actually are some sort of multiplexers requiring non-
      standard headers added/removed from every packet or they get
      ignored.  All information is based on a usb traffic log from a
      Windows machine.
      
      On the Verizon 4G network I've seen speeds up to 1.1MB/s so far with
      this driver, a speed-o-meter site reports 16.2Mbps/10.5Mbps.
      Userspace scripts are required to talk to the CDC ACM port.
      Signed-off-by: NAndrzej Zaborowski <balrogg@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7a635ea9
    • T
      net: gre: provide multicast mappings for ipv4 and ipv6 · 93ca3bb5
      Timo Teräs 提交于
      My commit 6d55cb91 (gre: fix hard header destination
      address checking) broke multicast.
      
      The reason is that ip_gre used to get ipgre_header() calls with
      zero destination if we have NOARP or multicast destination. Instead
      the actual target was decided at ipgre_tunnel_xmit() time based on
      per-protocol dissection.
      
      Instead of allowing the "abuse" of ->header() calls with invalid
      destination, this creates multicast mappings for ip_gre. This also
      fixes "ip neigh show nud noarp" to display the proper multicast
      mappings used by the gre device.
      Reported-by: NDoug Kehn <rdkehn@yahoo.com>
      Signed-off-by: NTimo Teräs <timo.teras@iki.fi>
      Acked-by: NDoug Kehn <rdkehn@yahoo.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93ca3bb5
    • D
      net: Fix warnings caused by MAX_SKB_FRAGS change. · eec00954
      David S. Miller 提交于
      After commit a715dea3 ("net: Always
      allocate at least 16 skb frags regardless of page size"), the value
      of MAX_SKB_FRAGS can now take on either an "unsigned long" or an
      "int" value.
      
      This causes warnings like:
      
      net/packet/af_packet.c: In function ‘tpacket_fill_skb’:
      net/packet/af_packet.c:948: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘int’
      
      Fix by forcing the constant to be unsigned long, otherwise we have
      a situation where the type of a system wide constant is variable.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eec00954