23 Nov, 2010

1 commit


18 Nov, 2010

1 commit


17 Nov, 2010

1 commit


29 Oct, 2010

1 commit


27 Oct, 2010

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
    split invalidate_inodes()
    fs: skip I_FREEING inodes in writeback_sb_inodes
    fs: fold invalidate_list into invalidate_inodes
    fs: do not drop inode_lock in dispose_list
    fs: inode split IO and LRU lists
    fs: switch bdev inode bdi's correctly
    fs: fix buffer invalidation in invalidate_list
    fsnotify: use dget_parent
    smbfs: use dget_parent
    exportfs: use dget_parent
    fs: use RCU read side protection in d_validate
    fs: clean up dentry lru modification
    fs: split __shrink_dcache_sb
    fs: improve DCACHE_REFERENCED usage
    fs: use percpu counter for nr_dentry and nr_dentry_unused
    fs: simplify __d_free
    fs: take dcache_lock inside __d_path
    fs: do not assign default i_ino in new_inode
    fs: introduce a per-cpu last_ino allocator
    new helper: ihold()
    ...

    Linus Torvalds
     
  • * 'for-2.6.37' of git://linux-nfs.org/~bfields/linux: (99 commits)
    svcrpc: svc_tcp_sendto XPT_DEAD check is redundant
    svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue
    svcrpc: assume svc_delete_xprt() called only once
    svcrpc: never clear XPT_BUSY on dead xprt
    nfsd4: fix connection allocation in sequence()
    nfsd4: only require krb5 principal for NFSv4.0 callbacks
    nfsd4: move minorversion to client
    nfsd4: delay session removal till free_client
    nfsd4: separate callback change and callback probe
    nfsd4: callback program number is per-session
    nfsd4: track backchannel connections
    nfsd4: confirm only on succesful create_session
    nfsd4: make backchannel sequence number per-session
    nfsd4: use client pointer to backchannel session
    nfsd4: move callback setup into session init code
    nfsd4: don't cache seq_misordered replies
    SUNRPC: Properly initialize sock_xprt.srcaddr in all cases
    SUNRPC: Use conventional switch statement when reclassifying sockets
    sunrpc/xprtrdma: clean up workqueue usage
    sunrpc: Turn list_for_each-s into the ..._entry-s
    ...

    Fix up trivial conflicts (two different deprecation notices added in
    separate branches) in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     
  • * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    net/sunrpc: Use static const char arrays
    nfs4: fix channel attribute sanity-checks
    NFSv4.1: Use more sensible names for 'initialize_mountpoint'
    NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure
    NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure
    NFS: client needs to maintain list of inodes with active layouts
    NFS: create and destroy inode's layout cache
    NFSv4.1: pnfs: filelayout: introduce minimal file layout driver
    NFSv4.1: pnfs: full mount/umount infrastructure
    NFS: set layout driver
    NFS: ask for layouttypes during v4 fsinfo call
    NFS: change stateid to be a union
    NFSv4.1: pnfsd, pnfs: protocol level pnfs constants
    SUNRPC: define xdr_decode_opaque_fixed
    NFSD: remove duplicate NFS4_STATEID_SIZE

    Linus Torvalds
     

26 Oct, 2010

7 commits

  • Signed-off-by: Joe Perches
    Signed-off-by: Trond Myklebust

    Joe Perches
     
  • Instead of always assigning an increasing inode number in new_inode
    move the call to assign it into those callers that actually need it.
    For now callers that need it is estimated conservatively, that is
    the call is added to all filesystems that do not assign an i_ino
    by themselves. For a few more filesystems we can avoid assigning
    any inode number given that they aren't user visible, and for others
    it could be done lazily when an inode number is actually needed,
    but that's left for later patches.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Dave Chinner
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • The only caller (svc_send) has already checked XPT_DEAD.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • If any xprt marked DEAD is also left BUSY for the rest of its life, then
    the XPT_DEAD check here is superfluous--we'll get the same result from
    the XPT_BUSY check just after.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • As long as DEAD exports are left BUSY, and svc_delete_xprt is called
    only with BUSY held, then svc_delete_xprt() will never be called on an
    xprt that is already DEAD.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • Once an xprt has been deleted, there's no reason to allow it to be
    enqueued--at worst, that might cause the xprt to be re-added to some
    global list, resulting in later corruption.

    Also, note this leaves us with no need for the reference-count
    manipulation here.

    Reviewed-by: NeilBrown
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)
    SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred
    nfs: fix unchecked value
    Ask for time_delta during fsinfo probe
    Revalidate caches on lock
    SUNRPC: After calling xprt_release(), we must restart from call_reserve
    NFSv4: Fix up the 'dircount' hint in encode_readdir
    NFSv4: Clean up nfs4_decode_dirent
    NFSv4: nfs4_decode_dirent must clear entry->fattr->valid
    NFSv4: Fix a regression in decode_getfattr
    NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer
    NFS: Ensure we check all allocation return values in new readdir code
    NFS: Readdir plus in v4
    NFS: introduce generic decode_getattr function
    NFS: check xdr_decode for errors
    NFS: nfs_readdir_filler catch all errors
    NFS: readdir with vmapped pages
    NFS: remove page size checking code
    NFS: decode_dirent should use an xdr_stream
    SUNRPC: Add a helper function xdr_inline_peek
    NFS: remove readdir plus limit
    ...

    Linus Torvalds
     

25 Oct, 2010

3 commits

  • Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Rob Leslie reports seeing the following Oops after his Kerberos session
    expired.

    BUG: unable to handle kernel NULL pointer dereference at 00000058
    IP: [] rpcauth_refreshcred+0x11/0x12c [sunrpc]
    *pde = 00000000
    Oops: 0000 [#1]
    last sysfs file: /sys/devices/platform/pc87360.26144/temp3_input
    Modules linked in: autofs4 authenc esp4 xfrm4_mode_transport ipt_LOG ipt_REJECT xt_limit xt_state ipt_REDIRECT xt_owner xt_HL xt_hl xt_tcpudp xt_mark cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark geodewdt deflate ctr twofish_generic twofish_i586 twofish_common camellia serpent blowfish cast5 cbc xcbc rmd160 sha512_generic sha1_generic hmac crypto_null af_key rpcsec_gss_krb5 nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc ip_gre sit tunnel4 dummy ext3 jbd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables pc8736x_gpio nsc_gpio pc87360 hwmon_vid loop aes_i586 aes_generic sha256_generic dm_crypt cs5535_gpio serio_raw cs5535_mfgpt hifn_795x des_generic geode_rng rng_core led_class ext4 mbcache jbd2 crc16 dm_mirror dm_region_hash dm_log dm_snapshot dm_mod sd_mod crc_t10dif ide_pci_generic cs5536 amd74xx ide_core pata_cs5536 ata_generic libata usb_storage via_rhine mii scsi_mod btrfs zlib_deflate crc32c libcrc32c [last unloaded: scsi_wait_scan]

    Pid: 12875, comm: sudo Not tainted 2.6.36-net5501 #1 /
    EIP: 0060:[] EFLAGS: 00010292 CPU: 0
    EIP is at rpcauth_refreshcred+0x11/0x12c [sunrpc]
    EAX: 00000000 EBX: defb13a0 ECX: 00000006 EDX: e18683b8
    ESI: defb13a0 EDI: 00000000 EBP: 00000000 ESP: de571d58
    DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
    Process sudo (pid: 12875, ti=de570000 task=decd1430 task.ti=de570000)
    Stack:
    e186e008 00000000 defb13a0 0000000d deda6000 e1868f22 e196f12b defb13a0
    defb13d8 00000000 00000000 e186e0aa 00000000 defb13a0 de571dac 00000000
    e186956c de571e34 debea5c0 de571dc8 e186967a 00000000 debea5c0 de571e34
    Call Trace:
    [] ? rpc_wake_up_next+0x114/0x11b [sunrpc]
    [] ? call_decode+0x24a/0x5af [sunrpc]
    [] ? nfs4_xdr_dec_access+0x0/0xa2 [nfs]
    [] ? __rpc_execute+0x62/0x17b [sunrpc]
    [] ? rpc_run_task+0x91/0x97 [sunrpc]
    [] ? rpc_call_sync+0x40/0x5b [sunrpc]
    [] ? nfs4_proc_access+0x10a/0x176 [nfs]
    [] ? nfs_do_access+0x2b1/0x2c0 [nfs]
    [] ? rpcauth_lookupcred+0x62/0x84 [sunrpc]
    [] ? nfs_permission+0xad/0x13b [nfs]
    [] ? exec_permission+0x15/0x4b
    [] ? link_path_walk+0x4f/0x456
    [] ? path_walk+0x4c/0xa8
    [] ? do_path_lookup+0x1f/0x68
    [] ? user_path_at+0x37/0x5f
    [] ? handle_mm_fault+0x229/0x55b
    [] ? sys_faccessat+0x93/0x146
    [] ? sys_access+0xf/0x13
    [] ? syscall_call+0x7/0xb
    Code: 0f 94 c2 84 d2 74 09 8b 44 24 0c e8 6a e9 8b de 83 c4 14 89 d8 5b 5e 5f 5d c3 55 57 56 53 83 ec 1c fc 89 c6 8b 40 10 89 44 24 04 58 58 85 db 0f 85 d4 00 00 00 0f b7 46 70 8b 56 20 89 c5 83
    EIP: [] rpcauth_refreshcred+0x11/0x12c [sunrpc] SS:ESP 0068:de571d58
    CR2: 0000000000000058

    This appears to be caused by the function rpc_verify_header() first
    calling xprt_release(), then doing a call_refresh. If we release the
    transport slot, we should _always_ jump back to call_reserve before
    calling anything else.

    Signed-off-by: Trond Myklebust
    Cc: stable@kernel.org

    Trond Myklebust
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    Update broken web addresses in arch directory.
    Update broken web addresses in the kernel.
    Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget
    Revert "Fix typo: configuation => configuration" partially
    ida: document IDA_BITMAP_LONGS calculation
    ext2: fix a typo on comment in ext2/inode.c
    drivers/scsi: Remove unnecessary casts of private_data
    drivers/s390: Remove unnecessary casts of private_data
    net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data
    drivers/infiniband: Remove unnecessary casts of private_data
    drivers/gpu/drm: Remove unnecessary casts of private_data
    kernel/pm_qos_params.c: Remove unnecessary casts of private_data
    fs/ecryptfs: Remove unnecessary casts of private_data
    fs/seq_file.c: Remove unnecessary casts of private_data
    arm: uengine.c: remove C99 comments
    arm: scoop.c: remove C99 comments
    Fix typo configue => configure in comments
    Fix typo: configuation => configuration
    Fix typo interrest[ing|ed] => interest[ing|ed]
    Fix various typos of valid in comments
    ...

    Fix up trivial conflicts in:
    drivers/char/ipmi/ipmi_si_intf.c
    drivers/usb/gadget/rndis.c
    net/irda/irnet/irnet_ppp.c

    Linus Torvalds
     

24 Oct, 2010

2 commits

  • We sometimes need to be able to read ahead in an xdr_stream without
    incrementing the current pointer position.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)
    bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
    vlan: Calling vlan_hwaccel_do_receive() is always valid.
    tproxy: use the interface primary IP address as a default value for --on-ip
    tproxy: added IPv6 support to the socket match
    cxgb3: function namespace cleanup
    tproxy: added IPv6 support to the TPROXY target
    tproxy: added IPv6 socket lookup function to nf_tproxy_core
    be2net: Changes to use only priority codes allowed by f/w
    tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled
    tproxy: added tproxy sockopt interface in the IPV6 layer
    tproxy: added udp6_lib_lookup function
    tproxy: added const specifiers to udp lookup functions
    tproxy: split off ipv6 defragmentation to a separate module
    l2tp: small cleanup
    nf_nat: restrict ICMP translation for embedded header
    can: mcp251x: fix generation of error frames
    can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set
    can-raw: add msg_flags to distinguish local traffic
    9p: client code cleanup
    rds: make local functions/variables static
    ...

    Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and
    drivers/net/wireless/ath/ath9k/debug.c as per David

    Linus Torvalds
     

23 Oct, 2010

2 commits

  • * 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:
    vfs: make no_llseek the default
    vfs: don't use BKL in default_llseek
    llseek: automatically add .llseek fop
    libfs: use generic_file_llseek for simple_attr
    mac80211: disallow seeks in minstrel debug code
    lirc: make chardev nonseekable
    viotape: use noop_llseek
    raw: use explicit llseek file operations
    ibmasmfs: use generic_file_llseek
    spufs: use llseek in all file operations
    arm/omap: use generic_file_llseek in iommu_debug
    lkdtm: use generic_file_llseek in debugfs
    net/wireless: use generic_file_llseek in debugfs
    drm: use noop_llseek

    Linus Torvalds
     
  • * 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:
    BKL: introduce CONFIG_BKL.
    dabusb: remove the BKL
    sunrpc: remove the big kernel lock
    init/main.c: remove BKL notations
    blktrace: remove the big kernel lock
    rtmutex-tester: make it build without BKL
    dvb-core: kill the big kernel lock
    dvb/bt8xx: kill the big kernel lock
    tlclk: remove big kernel lock
    fix rawctl compat ioctls breakage on amd64 and itanic
    uml: kill big kernel lock
    parisc: remove big kernel lock
    cris: autoconvert trivial BKL users
    alpha: kill big kernel lock
    isapnp: BKL removal
    s390/block: kill the big kernel lock
    hpet: kill BKL, add compat_ioctl

    Linus Torvalds
     

21 Oct, 2010

3 commits

  • The source address field in the transport's sock_xprt is initialized
    ONLY IF the RPC application passed a pointer to a source address
    during the call to rpc_create(). However, xs_bind() subsequently uses
    the value of this field without regard to whether the source address
    was initialized during transport creation or not.

    So far we've been lucky: the uninitialized value of this field is
    zeroes. xs_bind(), until recently, used only the sin[6]_addr field in
    this sockaddr, and all zeroes is a valid value for this: it means
    ANYADDR. This is a happy coincidence.

    However, xs_bind() now wants to use the sa_family field as well, and
    expects it to be initialized to something other than zero.

    Therefore, the source address sockaddr field should be fully
    initialized at transport create time in _every_ case, not just when
    the RPC application wants to use a specific bind address.

    Bruce added a workaround for this missing initialization by adjusting
    commit 6bc9638a, but the "right" way to do this is to ensure that the
    source address sockaddr is always correctly initialized from the
    get-go.

    This patch doesn't introduce a behavior change. It's simply a
    clean-up of Bruce's fix, to prevent future problems of this kind. It
    may look like overkill, but

    a) it clearly documents the default initial value of this field,

    b) it doesn't assume that the sockaddr_storage memory is first
    initialized to any particular value, and

    c) it will fail verbosely if some unknown address family is passed
    in

    Originally introduced by commit d3bc9a1d.

    Signed-off-by: Chuck Lever
    Signed-off-by: J. Bruce Fields

    Chuck Lever
     
  • Clean up.

    Defensive coding: If "family" is ever something that is neither
    AF_INET nor AF_INET6, xs_reclassify_socket6() is not the appropriate
    default action. Choose to do nothing in that case.

    Introduced by commit 6bc9638a.

    Signed-off-by: Chuck Lever
    Signed-off-by: J. Bruce Fields

    Chuck Lever
     
  • * Create and use svc_rdma_wq instead of using the system workqueue and
    flush_scheduled_work(). This workqueue is necessary to serve as
    flushing domain for rdma->sc_work which is used to destroy itself
    and thus can't be flushed explicitly.

    * Replace cancel_delayed_work() + flush_scheduled_work() with
    cancel_delayed_work_sync().

    * Implement synchronous connect in xprt_rdma_connect() using
    flush_delayed_work() on the rdma_connect work instead of using
    flush_scheduled_work().

    This is to prepare for the deprecation and removal of
    flush_scheduled_work().

    Signed-off-by: Tejun Heo
    Signed-off-by: J. Bruce Fields

    Tejun Heo
     

19 Oct, 2010

16 commits