01 Apr, 2006

2 commits

  • extra path.

    Since cifs_unlink can also be called from rename path and there
    was one report of oops am making the extra check for null inode.

    Signed-off-by: Steve French

    Steve French
     
  • Fixes Samba bug 3621 and kernel.org bug 6147

    For servers which require SMB/CIFS packet signing, we were sending the
    wrong signature (all zeros) on SMB Read request. The new cifs routine
    to do signatures across an iovec was not complete - and SMB Read, unlike
    the new SMBWrite2, did not fall back to the older routine (ie use
    SendReceive vs. the more efficient SendReceive2 ie used the older
    cifs_sign_smb vs. the disabled cifs_sign_smb2) for calculating signatures.

    This finishes up cifs_sign_smb2/cifs_calc_signature2 so that the callers
    of SendReceive2 can get SMB/CIFS packet signatures.

    Now that cifs_sign_smb2 is supported, we could start using it in
    the write path but this smaller fix does not include the change
    to use SMBWrite2 when signatures are required (which when enabled
    will make more Writes more efficient and alloc less memory).
    Currently Write2 is only used when signatures are not
    required at the moment but after more testing we will enable
    that as well).

    Thanks to James Slepicka and Sam Flory for initial investigation.

    Signed-off-by: Steve French

    Steve French
     

31 Mar, 2006

2 commits


29 Mar, 2006

1 commit

  • This is a conversion to make the various file_operations structs in fs/
    const. Basically a regexp job, with a few manual fixups

    The goal is both to increase correctness (harder to accidentally write to
    shared datastructures) and reducing the false sharing of cachelines with
    things that get dirty in .data (while .rodata is nicely read only and thus
    cache clean)

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

27 Mar, 2006

3 commits


24 Mar, 2006

4 commits

  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Rewrap the overly long source code lines resulting from the previous
    patch's addition of the slab cache flag SLAB_MEM_SPREAD. This patch
    contains only formatting changes, and no function change.

    Signed-off-by: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Jackson
     
  • Mark file system inode and similar slab caches subject to SLAB_MEM_SPREAD
    memory spreading.

    If a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that's
    in a cpuset with the 'memory_spread_slab' option enabled goes to allocate
    from such a slab cache, the allocations are spread evenly over all the
    memory nodes (task->mems_allowed) allowed to that task, instead of favoring
    allocation on the node local to the current cpu.

    The following inode and similar caches are marked SLAB_MEM_SPREAD:

    file cache
    ==== =====
    fs/adfs/super.c adfs_inode_cache
    fs/affs/super.c affs_inode_cache
    fs/befs/linuxvfs.c befs_inode_cache
    fs/bfs/inode.c bfs_inode_cache
    fs/block_dev.c bdev_cache
    fs/cifs/cifsfs.c cifs_inode_cache
    fs/coda/inode.c coda_inode_cache
    fs/dquot.c dquot
    fs/efs/super.c efs_inode_cache
    fs/ext2/super.c ext2_inode_cache
    fs/ext2/xattr.c (fs/mbcache.c) ext2_xattr
    fs/ext3/super.c ext3_inode_cache
    fs/ext3/xattr.c (fs/mbcache.c) ext3_xattr
    fs/fat/cache.c fat_cache
    fs/fat/inode.c fat_inode_cache
    fs/freevxfs/vxfs_super.c vxfs_inode
    fs/hpfs/super.c hpfs_inode_cache
    fs/isofs/inode.c isofs_inode_cache
    fs/jffs/inode-v23.c jffs_fm
    fs/jffs2/super.c jffs2_i
    fs/jfs/super.c jfs_ip
    fs/minix/inode.c minix_inode_cache
    fs/ncpfs/inode.c ncp_inode_cache
    fs/nfs/direct.c nfs_direct_cache
    fs/nfs/inode.c nfs_inode_cache
    fs/ntfs/super.c ntfs_big_inode_cache_name
    fs/ntfs/super.c ntfs_inode_cache
    fs/ocfs2/dlm/dlmfs.c dlmfs_inode_cache
    fs/ocfs2/super.c ocfs2_inode_cache
    fs/proc/inode.c proc_inode_cache
    fs/qnx4/inode.c qnx4_inode_cache
    fs/reiserfs/super.c reiser_inode_cache
    fs/romfs/inode.c romfs_inode_cache
    fs/smbfs/inode.c smb_inode_cache
    fs/sysv/inode.c sysv_inode_cache
    fs/udf/super.c udf_inode_cache
    fs/ufs/super.c ufs_inode_cache
    net/socket.c sock_inode_cache
    net/sunrpc/rpc_pipe.c rpc_inode_cache

    The choice of which slab caches to so mark was quite simple. I marked
    those already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,
    inode_cache, and buffer_head, which were marked in a previous patch. Even
    though SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same
    potentially large file system i/o related slab caches as we need for memory
    spreading.

    Given that the rule now becomes "wherever you would have used a
    SLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use
    the SLAB_MEM_SPREAD flag too", this should be easy enough to maintain.
    Future file system writers will just copy one of the existing file system
    slab cache setups and tend to get it right without thinking.

    Signed-off-by: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Jackson
     
  • The meaning of MS_VERBOSE is backwards; if the bit is set, it really means,
    "don't be verbose". This is confusing and counter-intuitive.

    In addition, there is also no way to set the MS_VERBOSE flag in the
    mount(8) program in util-linux, but interesting, it does define options
    which would do the right thing if MS_SILENT were defined, which
    unfortunately we do not:

    #ifdef MS_SILENT
    { "quiet", 0, 0, MS_SILENT }, /* be quiet */
    { "loud", 0, 1, MS_SILENT }, /* print out messages. */
    #endif

    So the obvious fix is to deprecate the use of MS_VERBOSE and replace it
    with MS_SILENT.

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Theodore Ts'o
     

23 Mar, 2006

1 commit

  • Semaphore to mutex conversion.

    The conversion was generated via scripts, and the result was validated
    automatically via a script as well.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Ingo Molnar
    Cc: Al Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

22 Mar, 2006

1 commit


10 Mar, 2006

1 commit


05 Mar, 2006

1 commit

  • session when multiply mounted.

    Fixes slow response when cifs client is mounted to shares on multiple
    servers and oplock break occurs (usually due to attempt to multiply open a
    file). When treeids on mutiple mounted shares match and we find the wrong
    match first, we searched for the wrong cached files to send oplock break
    response for which usually meant that no matching file was found and thus
    the server would have to timeout the notification. Oplock break timeout is
    about 20 seconds on some servers so this could cause significantly slower
    performance on file open calls in a few cases (in particular when multiple
    shares are mounted from multiple servers, tree ids match, and we have a
    cached file which is later opened multiple times). This was the most
    important of the bugs that was found and fixed at Connectathon
    (interoperability testing event) this week.

    Acked-by: Shaggy (shaggy@austin.ibm.com)
    Signed-off-by: Steve French (sfrench@us.ibm.com)

    Steve French
     

04 Mar, 2006

1 commit


03 Mar, 2006

3 commits


02 Mar, 2006

3 commits


01 Mar, 2006

2 commits


28 Feb, 2006

1 commit


27 Feb, 2006

1 commit


24 Feb, 2006

1 commit


23 Feb, 2006

2 commits


22 Feb, 2006

1 commit


16 Feb, 2006

1 commit


15 Feb, 2006

1 commit


14 Feb, 2006

1 commit

  • The cifs session setup code has three cases, and a fourth for backlevel
    LANMAN2 style session setup needed to be added. This new session setup
    implmentation will eventually replace the other three and should be
    easier to read while fixing a few minor problems (not setting
    the LARGE READ/WRITEX flags when NTLMSSP was negotiated for example) and
    adding support for NTLMv2 (which will be added with the next patch. In the
    meantime, this code is marked in an CONFIG_CIFS_EXPERIMENTAL block and will
    not be turned on by default until it is tested against more server types.

    Signed-off-by: Steve French

    Steve French
     

10 Feb, 2006

2 commits


28 Jan, 2006

2 commits


25 Jan, 2006

1 commit


24 Jan, 2006

1 commit