20 Jul, 2011

17 commits


19 Jul, 2011

2 commits

  • Add missing ->i_mutex, convert to lookup_one_len() instead of
    (broken) open-coded analog, cope with getting something like
    a//b as relative pathname. Simplify the hell out of it, while
    we are there...

    Signed-off-by: Al Viro
    Reviewed-by: Jeff Layton

    Al Viro
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    hppfs_lookup(): don't open-code lookup_one_len()
    hppfs: fix dentry leak
    cramfs: get_cramfs_inode() returns ERR_PTR() on failure
    ufs should use d_splice_alias()
    fix exofs ->get_parent()
    ceph analog of cifs build_path_from_dentry() race fix
    cifs: build_path_from_dentry() race fix

    Linus Torvalds
     

18 Jul, 2011

6 commits


17 Jul, 2011

2 commits


16 Jul, 2011

1 commit


15 Jul, 2011

2 commits


14 Jul, 2011

2 commits

  • This patch contains a few misc fixes which resolve a recently
    reported issue. This patch has been a real team effort and has
    received a lot of testing.

    The first issue is that the ail lock needs to be held over a few
    more operations. The lock thats added into gfs2_releasepage() may
    possibly be a candidate for replacing with RCU at some future
    point, but at this stage we've gone for the obvious fix.

    The second issue is that gfs2_write_inode() can end up calling
    a glock recursively when called from gfs2_evict_inode() via the
    syncing code, so it needs a guard added.

    The third issue is that we either need to not truncate the metadata
    pages of inodes which have zero link count, but which we cannot
    deallocate due to them still being in use by other nodes, or we need
    to ensure that those pages have all made it through the journal and
    ail lists first. This patch takes the former approach, but the
    latter has also been tested and there is nothing to choose between
    them performance-wise. So again, we could revise that decision
    in the future.

    Also, the inode eviction process is now better documented.

    Signed-off-by: Steven Whitehouse
    Tested-by: Bob Peterson
    Tested-by: Abhijith Das
    Reported-by: Barry J. Marson
    Reported-by: David Teigland

    Steven Whitehouse
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    SUNRPC: Fix use of static variable in rpcb_getport_async
    NFSv4.1: update nfs4_fattr_bitmap_maxsz
    SUNRPC: Fix a race between work-queue and rpc_killall_tasks
    pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs

    Linus Torvalds
     

13 Jul, 2011

4 commits


12 Jul, 2011

4 commits

  • There is a potential race during filesystem mounting which has recently
    been reported. It occurs when the userland gfs_controld is able to
    process requests fast enough that it tries to use the sysfs interface
    before the lock module is properly initialised. This is a pretty
    unusual case as normally the lock module initialisation is very quick
    compared with gfs_controld.

    This patch adds an interruptible completion which is used to ensure that
    userland will wait for the initialisation of the lock module to
    complete.

    There are other potential solutions to this problem, but this is the
    quickest at this stage and has been tested both with and without
    mount.gfs2 present in the system.

    Signed-off-by: Steven Whitehouse
    Reported-by: David Booher

    Steven Whitehouse
     
  • Right now, there is nothing that forces the log to get flushed when a node
    drops its rindex glock so that another node can grow the filesystem. If the
    log doesn't get flushed, GFS2 can corrupt the sd_log_le_rg list in the
    following way.

    A node puts an rgd on the list in rg_lo_add(), and then the rindex glock is
    dropped so the other node can grow the filesystem. When the node reacquires the
    rindex glock, that rgd gets deleted in clear_rgrpdi() before ever being
    removed from the list by gfs2_log_flush().

    This code simply forces a log flush when the rindex glock is invalidated,
    solving the problem.

    Signed-off-by: Benjamin Marzinski
    Signed-off-by: Steven Whitehouse

    Benjamin Marzinski
     
  • Attribute IDs assigned in RFC 5661 now require three bitmaps.
    Fixes hitting a BUG_ON in xdr_shrink_bufhead when getting ACLs.

    Signed-off-by: Andy Adamson
    Cc:stable@kernel.org [2.6.39]
    Signed-off-by: Trond Myklebust

    Andy Adamson
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    cifs: drop spinlock before calling cifs_put_tlink
    cifs: fix expand_dfs_referral
    cifs: move bdi_setup_and_register outside of CONFIG_CIFS_DFS_UPCALL
    cifs: factor smb_vol allocation out of cifs_setup_volume_info
    cifs: have cifs_cleanup_volume_info not take a double pointer
    cifs: fix build_unc_path_to_root to account for a prefixpath
    cifs: remove bogus call to cifs_cleanup_volume_info

    Linus Torvalds