06 Mar, 2010

8 commits

  • * 'nfs-for-2.6.34' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (44 commits)
    NFS: Remove requirement for inode->i_mutex from nfs_invalidate_mapping
    NFS: Clean up nfs_sync_mapping
    NFS: Simplify nfs_wb_page()
    NFS: Replace __nfs_write_mapping with sync_inode()
    NFS: Simplify nfs_wb_page_cancel()
    NFS: Ensure inode is always marked I_DIRTY_DATASYNC, if it has unstable pages
    NFS: Run COMMIT as an asynchronous RPC call when wbc->for_background is set
    NFS: Reduce the number of unnecessary COMMIT calls
    NFS: Add a count of the number of unstable writes carried by an inode
    NFS: Cleanup - move nfs_write_inode() into fs/nfs/write.c
    nfs41 fix NFS4ERR_CLID_INUSE for exchange id
    NFS: Fix an allocation-under-spinlock bug
    SUNRPC: Handle EINVAL error returns from the TCP connect operation
    NFSv4.1: Various fixes to the sequence flag error handling
    nfs4: renewd renew operations should take/put a client reference
    nfs41: renewd sequence operations should take/put client reference
    nfs: prevent backlogging of renewd requests
    nfs: kill renewd before clearing client minor version
    NFS: Make close(2) asynchronous when closing NFS O_DIRECT files
    NFS: Improve NFS iostat byte count accuracy for writes
    ...

    Linus Torvalds
     
  • This patch adds 9P2010.L protocol negotiation with the server

    Signed-off-by: Sripathi Kodi
    Signed-off-by: Eric Van Hensbergen

    Sripathi Kodi
     
  • Removes 'dotu' variable and make everything dependent
    on 'proto_version' field.

    Signed-off-by: Sripathi Kodi
    Signed-off-by: Eric Van Hensbergen

    Sripathi Kodi
     
  • Add new mount V9FS mount option to specify protocol version

    This patch adds a new mount option to specify protocol version.
    With this option it is possible to use "-o version=" switch to
    specify 9P protocol version to use. Valid options for version
    are:
    9p2000
    9p2000.u
    9p2010.L

    Signed-off-by: Sripathi Kodi
    Signed-off-by: Eric Van Hensbergen

    Sripathi Kodi
     
  • With this patch we have

    # mount -t 9p -o trans=virtio virtio2 /mnt/
    # mount -t 9p -o trans=virtio virtio2 /mnt/
    mount: virtio2 already mounted or /mnt/ busy
    mount: according to mtab, virtio2 is already mounted on /mnt
    # mount -t 9p -o trans=virtio virtio3 /mnt/ -o debug=0xfff
    mount: special device virtio3 does not exist

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Eric Van Hensbergen

    Aneesh Kumar K.V
     
  • Use a list to track the channel instead of statically
    allocated array

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Eric Van Hensbergen

    Aneesh Kumar K.V
     
  • This is needed for supporting multiple mount points.

    We can find out the device names to be used with mount by checking

    /sys/devices/virtio-pci/virtio*/device file

    if the device file have value 9 then the specific virtio device can
    be used for mounting.

    ex:
    #cat /sys/devices/virtio-pci/virtio1/device
    9

    now we can mount using
    # mount -t 9p -o trans=virtio virtio1 /mnt/

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Eric Van Hensbergen

    Aneesh Kumar K.V
     
  • Trond Myklebust
     

05 Mar, 2010

1 commit

  • * '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

    Linus Torvalds
     

04 Mar, 2010

1 commit


03 Mar, 2010

1 commit


02 Mar, 2010

1 commit

  • Fix the following build error when IGMP_SNOOPING is not enabled.
    In file included from net/bridge/br.c:24:
    net/bridge/br_private.h: In function 'br_multicast_is_router':
    net/bridge/br_private.h:361: error: 'struct net_bridge' has no member named 'multicast_router'
    net/bridge/br_private.h:362: error: 'struct net_bridge' has no member named 'multicast_router'
    net/bridge/br_private.h:363: error: 'struct net_bridge' has no member named 'multicast_router_timer'

    Signed-off-by: Sridhar Samudrala
    Acked-by: Randy Dunlap
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Sridhar Samudrala
     

01 Mar, 2010

3 commits

  • Conflicts:
    drivers/firmware/iscsi_ibft.c

    David S. Miller
     
  • We use scm_send and scm_recv on both unix domain and
    netlink sockets, but only unix domain sockets support
    everything required for file descriptor passing,
    so error if someone attempts to pass file descriptors
    over netlink sockets.

    Cc: stable@kernel.org
    Signed-off-by: Eric W. Biederman
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits)
    rcu: Fix accelerated GPs for last non-dynticked CPU
    rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot
    rcu: Fix accelerated grace periods for last non-dynticked CPU
    rcu: Export rcu_scheduler_active
    rcu: Make rcu_read_lock_sched_held() take boot time into account
    rcu: Make lockdep_rcu_dereference() message less alarmist
    sched, cgroups: Fix module export
    rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information
    rcu: Fix rcutorture mod_timer argument to delay one jiffy
    rcu: Fix deadlock in TREE_PREEMPT_RCU CPU stall detection
    rcu: Convert to raw_spinlocks
    rcu: Stop overflowing signed integers
    rcu: Use canonical URL for Mathieu's dissertation
    rcu: Accelerate grace period if last non-dynticked CPU
    rcu: Fix citation of Mathieu's dissertation
    rcu: Documentation update for CONFIG_PROVE_RCU
    security: Apply lockdep-based checking to rcu_dereference() uses
    idr: Apply lockdep-based diagnostics to rcu_dereference() uses
    radix-tree: Disable RCU lockdep checking in radix tree
    vfs: Abstract rcu_dereference_check for files-fdtable use
    ...

    Linus Torvalds
     

28 Feb, 2010

18 commits

  • NETIF_F_NTUPLE flag setting introduced a bug: non-ntuple flags
    like LRO may be successfully set, before ioctl(2) returns failure
    to userspace.

    The set-flags operation should be all-or-none, rather than leaving
    things in an inconsistent state prior to reporting failure to
    userspace.

    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Jeff Garzik
     
  • The Inode field in /proc/net/{tcp,udp,packet,raw,...} is useful to know the types of
    file descriptors associated to a process. Actually lsof utility uses the field.
    Unfortunately, unlike /proc/net/{tcp,udp,packet,raw,...}, /proc/net/netlink doesn't have the field.
    This patch adds the field to /proc/net/netlink.

    Signed-off-by: Masatake YAMATO
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Masatake YAMATO
     
  • David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch allows the user to the IGMP parameters related to the
    snooping function of the bridge. This includes various time
    values and retransmission limits.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch allows the user to control the hash elasticity/max
    parameters. The elasticity setting does not take effect until
    the next new multicast group is added. At which point it is
    checked and if after rehashing it still can't be satisfied then
    snooping will be disabled.

    The max setting on the other hand takes effect immediately. It
    must be a power of two and cannot be set to a value less than the
    current number of multicast group entries. This is the only way
    to shrink the multicast hash.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch allows the user to disable IGMP snooping completely
    through a sysfs toggle. It also allows the user to reenable
    snooping when it has been automatically disabled due to hash
    collisions. If the collisions have not been resolved however
    the system will refuse to reenable snooping.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch allows the user to forcibly enable/disable ports as
    having multicast routers attached. A port with a multicast router
    will receive all multicast traffic.

    The value 0 disables it completely. The default is 1 which lets
    the system automatically detect the presence of routers (currently
    this is limited to picking up queries), and 2 means that the port
    will always receive all multicast traffic.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch finally hooks up the multicast snooping module to the
    data path. In particular, all multicast packets passing through
    the bridge are fed into the module and switched by it.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch hooks up the bridge start/stop and add/delete/disable
    port functions to the new multicast module.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch adds code to perform selective multicast forwarding.

    We forward multicast traffic to a set of ports plus all multicast
    router ports. In order to avoid duplications among these two
    sets of ports, we order all ports by the numeric value of their
    pointers. The two lists are then walked in lock-step to eliminate
    duplicates.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch adds the core functionality of IGMP snooping support
    without actually hooking it up. So this patch should be a no-op
    as far as the bridge's external behaviour is concerned.

    All the new code and data is controlled by the Kconfig option
    BRIDGE_IGMP_SNOOPING. A run-time toggle is also available.

    The multicast switching is done using an hash table that is
    lockless on the read-side through RCU. On the write-side the
    new multicast_lock is used for all operations. The hash table
    supports dynamic growth/rehashing.

    The hash table will be rehashed if any chain length exceeds a
    preset limit. If rehashing does not reduce the maximum chain
    length then snooping will be disabled.

    These features may be added in future (in no particular order):

    * IGMPv3 source support
    * Non-querier router detection
    * IPv6

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch moves the main loop body in br_flood into the function
    may_deliver. The code that clones an skb and delivers it is moved
    into the deliver_clone function.

    This allows this to be reused by the future multicast forward
    function.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • this patch makes BR_INPUT_SKB_CB available on the xmit path so
    that we could avoid passing the br pointer around for the purpose
    of collecting device statistics.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • When the packet is delivered to the local bridge device we may
    end up cloning it unnecessarily if no bridge port can receive
    the packet in br_flood.

    This patch avoids this by moving the skb_clone into br_flood.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch allows tail-call on the call to br_pass_frame_up
    in br_handle_frame_finish. This is now possible because of the
    previous patch to call br_pass_frame_up last.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • At the moment we deliver to the local bridge port via the function
    br_pass_frame_up before all other ports. There is no requirement
    for this.

    For the purpose of IGMP snooping, it would be more convenient if
    we did the local port last. Therefore this patch rearranges the
    bridge input processing so that the local bridge port gets to see
    the packet last (if at all).

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The pointer data can point to the variable ctv.
    Access to data happens when ctv is already out of scope.

    Signed-off-by: Johann Felix Soden
    Signed-off-by: Marcel Holtmann

    Johann Felix Soden
     

27 Feb, 2010

7 commits

  • The Bluetooth SIG PTS test case: TC_AG_ACS_BV_10_I, rejects eSCO with
    "Unsupported Feature or Parameter Value" (0x11). This patch adds case
    for SCO fallback.

    2007-09-20 12:20:37.787747 > HCI Event: Number of Completed Packets (0x13) plen 5
    handle 38 packets 1
    2007-09-20 12:20:37.842154 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
    handle 38 voice setting 0x0060
    2007-09-20 12:20:37.847037 > HCI Event: Command Status (0x0f) plen 4
    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
    2007-09-20 12:20:37.855233 > HCI Event: Max Slots Change (0x1b) plen 3
    handle 38 slots 1
    2007-09-20 12:20:39.913354 > HCI Event: Synchronous Connect Complete (0x2c) plen 17
    status 0x11 handle 38 bdaddr 00:16:93:01:01:7A type eSCO
    Error: Unsupported Feature or Parameter Value
    2007-09-20 12:20:39.922629 > HCI Event: Max Slots Change (0x1b) plen 3
    handle 38 slots 5
    2007-09-20 12:20:58.126886 < ACL data: handle 38 flags 0x02 dlen 8
    L2CAP(d): cid 0x0041 len 4 [psm 0]
    0000: 0b 53 01 b8 .S..
    2007-09-20 12:20:58.130138 > HCI Event: Number of Completed Packets (0x13) plen 5
    handle 38 packets 1

    Signed-off-by: Stephen Coe
    Signed-off-by: Marcel Holtmann

    Stephen Coe
     
  • With the Bluetooth 3.0 specification and the introduction of alternate
    MAC/PHY (AMP) support, it is required to differentiate between primary
    BR/EDR controllers and 802.11 AMP controllers. So introduce a special
    type inside HCI device for differentiation.

    For now all AMP controllers will be treated as raw devices until an
    AMP manager has been implemented.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • The output of the inquiry cache is only useful for debugging purposes
    and so move it into debugfs.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • The hdev->type is misnamed and should be actually hdev->bus instead. So
    convert it now.

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • commit e8469ed959c373c2ff9e6f488aa5a14971aebe1f
    Author: Patrick McHardy
    Date: Tue Feb 23 20:41:30 2010 +0100

    Support specifying the initial device flags when creating a device though
    rtnl_link. Devices allocated by rtnl_create_link() are marked as INITIALIZING
    in order to surpress netlink registration notifications. To complete setup,
    rtnl_configure_link() must be called, which performs the device flag changes
    and invokes the deferred notifiers if everything went well.

    Two examples:

    # add macvlan to eth0
    #
    $ ip link add link eth0 up allmulticast on type macvlan

    [LINK]11: macvlan0@eth0: mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 26:f8:84:02:f9:2a brd ff:ff:ff:ff:ff:ff
    [ROUTE]ff00::/8 dev macvlan0 table local metric 256 mtu 1500 advmss 1440 hoplimit 0
    [ROUTE]fe80::/64 dev macvlan0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
    [LINK]11: macvlan0@eth0: mtu 1500
    link/ether 26:f8:84:02:f9:2a
    [ADDR]11: macvlan0 inet6 fe80::24f8:84ff:fe02:f92a/64 scope link
    valid_lft forever preferred_lft forever
    [ROUTE]local fe80::24f8:84ff:fe02:f92a via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 0
    [ROUTE]default via fe80::215:e9ff:fef0:10f8 dev macvlan0 proto kernel metric 1024 mtu 1500 advmss 1440 hoplimit 0
    [NEIGH]fe80::215:e9ff:fef0:10f8 dev macvlan0 lladdr 00:15:e9:f0:10:f8 router STALE
    [ROUTE]2001:6f8:974::/64 dev macvlan0 proto kernel metric 256 expires 0sec mtu 1500 advmss 1440 hoplimit 0
    [PREFIX]prefix 2001:6f8:974::/64 dev macvlan0 onlink autoconf valid 14400 preferred 131084
    [ADDR]11: macvlan0 inet6 2001:6f8:974:0:24f8:84ff:fe02:f92a/64 scope global dynamic
    valid_lft 86399sec preferred_lft 14399sec

    # add VLAN to eth1, eth1 is down
    #
    $ ip link add link eth1 up type vlan id 1000
    RTNETLINK answers: Network is down

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Split dev_change_flags() into two functions: __dev_change_flags() to
    perform the actual changes and __dev_notify_flags() to invoke netdevice
    notifiers. This will be used by rtnl_link to defer netlink notifications
    until the device has been fully configured.

    This changes ordering of some operations, in particular:

    - netlink notifications are sent after all changes have been performed.
    As a side effect this surpresses one unnecessary netlink message when
    the IFF_UP and other flags are changed simultaneously.

    - The NETDEV_UP/NETDEV_DOWN and NETDEV_CHANGE notifiers are invoked
    after all changes have been performed. Their relative is unchanged.

    - net_dmaengine_put() is invoked before the NETDEV_DOWN notifier instead
    of afterwards. This should not make any difference since both RX and TX
    are already shut down at this point.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • In order to support specifying device flags during device creation,
    we must be able to roll back device registration in case setting the
    flags fails without sending any notifications related to the device
    to userspace.

    This patch changes rollback_registered_many() and register_netdevice()
    to manually send netlink notifications for devices not handled by
    rtnl_link and allows to defer notifications for devices handled by
    rtnl_link until setup is complete.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy