08 Mar, 2010

2 commits

  • Constify struct sysfs_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Acked-by: David Teigland
    Acked-by: Matt Domsch
    Acked-by: Maciej Sosnowski
    Acked-by: Hans J. Koch
    Acked-by: Pekka Enberg
    Acked-by: Jens Axboe
    Acked-by: Stephen Hemminger
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     
  • Passing the attribute to the low level IO functions allows all kinds
    of cleanups, by sharing low level IO code without requiring
    an own function for every piece of data.

    Also drivers can extend the attributes with own data fields
    and use that in the low level function.

    This makes the class attributes the same as sysdev_class attributes
    and plain attributes.

    This will allow further cleanups in drivers.

    Full tree sweep converting all users.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     

07 Mar, 2010

2 commits

  • * 'for-2.6.34' of git://linux-nfs.org/~bfields/linux: (22 commits)
    nfsd4: fix minor memory leak
    svcrpc: treat uid's as unsigned
    nfsd: ensure sockets are closed on error
    Revert "sunrpc: move the close processing after do recvfrom method"
    Revert "sunrpc: fix peername failed on closed listener"
    sunrpc: remove unnecessary svc_xprt_put
    NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN
    xfs_export_operations.commit_metadata
    commit_metadata export operation replacing nfsd_sync_dir
    lockd: don't clear sm_monitored on nsm_reboot_lookup
    lockd: release reference to nsm_handle in nlm_host_rebooted
    nfsd: Use vfs_fsync_range() in nfsd_commit
    NFSD: Create PF_INET6 listener in write_ports
    SUNRPC: NFS kernel APIs shouldn't return ENOENT for "transport not found"
    SUNRPC: Bury "#ifdef IPV6" in svc_create_xprt()
    NFSD: Support AF_INET6 in svc_addsock() function
    SUNRPC: Use rpc_pton() in ip_map_parse()
    nfsd: 4.1 has an rfc number
    nfsd41: Create the recovery entry for the NFSv4.1 client
    nfsd: use vfs_fsync for non-directories
    ...

    Linus Torvalds
     
  • The macro any_online_node() is prone to producing sparse warnings due to
    the local symbol 'node'. Since all the in-tree users are really
    requesting the first online node (the mask argument is either
    NODE_MASK_ALL or node_online_map) just use the first_online_node macro and
    remove the any_online_node macro since there are no users.

    Signed-off-by: H Hartley Sweeten
    Acked-by: David Rientjes
    Reviewed-by: KAMEZAWA Hiroyuki
    Cc: Mel Gorman
    Cc: Lee Schermerhorn
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Dave Hansen
    Cc: Milton Miller
    Cc: Nathan Fontenot
    Cc: Geoff Levand
    Cc: Grant Likely
    Cc: J. Bruce Fields
    Cc: Neil Brown
    Cc: Trond Myklebust
    Cc: David S. Miller
    Cc: Benny Halevy
    Cc: Chuck Lever
    Cc: Ricardo Labiaga
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     

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

2 commits

  • Resolve merge conflict in fs/xfs/linux-2.6/xfs_export.c.

    J. Bruce Fields
     
  • * '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

2 commits


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

6 commits

  • One the changes in commit d7979ae4a "svc: Move close processing to a
    single place" is:

    err_delete:
    - svc_delete_socket(svsk);
    + set_bit(SK_CLOSE, &svsk->sk_flags);
    return -EAGAIN;

    This is insufficient. The recvfrom methods must always call
    svc_xprt_received on completion so that the socket gets re-queued if
    there is any more work to do. This particular path did not make that
    call because it actually destroyed the svsk, making requeue pointless.
    When the svc_delete_socket was change to just set a bit, we should have
    added a call to svc_xprt_received,

    This is the problem that b0401d7253 attempted to fix, incorrectly.

    Signed-off-by: J. Bruce Fields

    Neil Brown
     
  • 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
     
  • This reverts commit b0401d725334a94d57335790b8ac2404144748ee, which
    moved svc_delete_xprt() outside of XPT_BUSY, and allowed it to be called
    after svc_xpt_recived(), removing its last reference and destroying it
    after it had already been queued for future processing.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • This reverts commit b292cf9ce70d221c3f04ff62db5ab13d9a249ca8. The
    commit that it attempted to patch up,
    b0401d725334a94d57335790b8ac2404144748ee, was fundamentally wrong, and
    will also be reverted.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • * '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

16 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