14 Aug, 2014

1 commit

  • Pull Ceph updates from Sage Weil:
    "There is a lot of refactoring and hardening of the libceph and rbd
    code here from Ilya that fix various smaller bugs, and a few more
    important fixes with clone overlap. The main fix is a critical change
    to the request_fn handling to not sleep that was exposed by the recent
    mutex changes (which will also go to the 3.16 stable series).

    Yan Zheng has several fixes in here for CephFS fixing ACL handling,
    time stamps, and request resends when the MDS restarts.

    Finally, there are a few cleanups from Himangi Saraogi based on
    Coccinelle"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (39 commits)
    libceph: set last_piece in ceph_msg_data_pages_cursor_init() correctly
    rbd: remove extra newlines from rbd_warn() messages
    rbd: allocate img_request with GFP_NOIO instead GFP_ATOMIC
    rbd: rework rbd_request_fn()
    ceph: fix kick_requests()
    ceph: fix append mode write
    ceph: fix sizeof(struct tYpO *) typo
    ceph: remove redundant memset(0)
    rbd: take snap_id into account when reading in parent info
    rbd: do not read in parent info before snap context
    rbd: update mapping size only on refresh
    rbd: harden rbd_dev_refresh() and callers a bit
    rbd: split rbd_dev_spec_update() into two functions
    rbd: remove unnecessary asserts in rbd_dev_image_probe()
    rbd: introduce rbd_dev_header_info()
    rbd: show the entire chain of parent images
    ceph: replace comma with a semicolon
    rbd: use rbd_segment_name_free() instead of kfree()
    ceph: check zero length in ceph_sync_read()
    ceph: reset r_resend_mds after receiving -ESTALE
    ...

    Linus Torvalds
     

08 Aug, 2014

1 commit

  • There are a few d_obtain_alias callers that are using it to get the
    root of a filesystem which may already have an alias somewhere else.

    This is not the same as the filehandle-lookup case, and none of them
    actually need DCACHE_DISCONNECTED set.

    It isn't really a serious problem, but it would really be clearer if we
    reserved DCACHE_DISCONNECTED for those cases where it's actually needed.

    In the btrfs case this was causing a spurious printk from
    nfsd/nfsfh.c:fh_verify when it found an unexpected DCACHE_DISCONNECTED
    dentry. Josef worked around this by unsetting DCACHE_DISCONNECTED
    manually in 3a0dfa6a12e "Btrfs: unset DCACHE_DISCONNECTED when mounting
    default subvol", and this replaces that workaround.

    Cc: Josef Bacik
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Al Viro

    J. Bruce Fields
     

07 Aug, 2014

1 commit


28 Jul, 2014

3 commits


24 Jul, 2014

1 commit

  • Replace a comma between expression statements by a semicolon. This changes
    the semantics of the code, but given the current indentation appears to be
    what is intended.

    A simplified version of the Coccinelle semantic patch that performs this
    transformation is as follows:
    //
    @r@
    expression e1,e2;
    @@

    e1
    -,
    +;
    e2;
    //

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Ilya Dryomov

    Himangi Saraogi
     

21 Jul, 2014

1 commit


14 Jul, 2014

1 commit


08 Jul, 2014

4 commits


13 Jun, 2014

2 commits

  • Pull Ceph updates from Sage Weil:
    "This has a mix of bug fixes and cleanups.

    Alex's patch fixes a rare race in RBD. Ilya's patches fix an ENOENT
    check when a second rbd image is mapped and a couple memory leaks.
    Zheng fixes several issues with fragmented directories and multiple
    MDSs. Josh fixes a spin/sleep issue, and Josh and Guangliang's
    patches fix setting and unsetting RBD images read-only.

    Naturally there are several other cleanups mixed in for good measure"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (23 commits)
    rbd: only set disk to read-only once
    rbd: move calls that may sleep out of spin lock range
    rbd: add ioctl for rbd
    ceph: use truncate_pagecache() instead of truncate_inode_pages()
    ceph: include time stamp in every MDS request
    rbd: fix ida/idr memory leak
    rbd: use reference counts for image requests
    rbd: fix osd_request memory leak in __rbd_dev_header_watch_sync()
    rbd: make sure we have latest osdmap on 'rbd map'
    libceph: add ceph_monc_wait_osdmap()
    libceph: mon_get_version request infrastructure
    libceph: recognize poolop requests in debugfs
    ceph: refactor readpage_nounlock() to make the logic clearer
    mds: check cap ID when handling cap export message
    ceph: remember subtree root dirfrag's auth MDS
    ceph: introduce ceph_fill_fragtree()
    ceph: handle cap import atomically
    ceph: pre-allocate ceph_cap struct for ceph_add_cap()
    ceph: update inode fields according to issued caps
    rbd: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
    ...

    Linus Torvalds
     
  • Pull vfs updates from Al Viro:
    "This the bunch that sat in -next + lock_parent() fix. This is the
    minimal set; there's more pending stuff.

    In particular, I really hope to get acct.c fixes merged this cycle -
    we need that to deal sanely with delayed-mntput stuff. In the next
    pile, hopefully - that series is fairly short and localized
    (kernel/acct.c, fs/super.c and fs/namespace.c). In this pile: more
    iov_iter work. Most of prereqs for ->splice_write with sane locking
    order are there and Kent's dio rewrite would also fit nicely on top of
    this pile"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (70 commits)
    lock_parent: don't step on stale ->d_parent of all-but-freed one
    kill generic_file_splice_write()
    ceph: switch to iter_file_splice_write()
    shmem: switch to iter_file_splice_write()
    nfs: switch to iter_splice_write_file()
    fs/splice.c: remove unneeded exports
    ocfs2: switch to iter_file_splice_write()
    ->splice_write() via ->write_iter()
    bio_vec-backed iov_iter
    optimize copy_page_{to,from}_iter()
    bury generic_file_aio_{read,write}
    lustre: get rid of messing with iovecs
    ceph: switch to ->write_iter()
    ceph_sync_direct_write: stop poking into iov_iter guts
    ceph_sync_read: stop poking into iov_iter guts
    new helper: copy_page_from_iter()
    fuse: switch to ->write_iter()
    btrfs: switch to ->write_iter()
    ocfs2: switch to ->write_iter()
    xfs: switch to ->write_iter()
    ...

    Linus Torvalds
     

12 Jun, 2014

1 commit


08 Jun, 2014

1 commit


07 Jun, 2014

2 commits


06 Jun, 2014

11 commits


02 Jun, 2014

1 commit

  • Currently, the fl_owner isn't set for flock locks. Some filesystems use
    byte-range locks to simulate flock locks and there is a common idiom in
    those that does:

    fl->fl_owner = (fl_owner_t)filp;
    fl->fl_start = 0;
    fl->fl_end = OFFSET_MAX;

    Since flock locks are generally "owned" by the open file description,
    move this into the common flock lock setup code. The fl_start and fl_end
    fields are already set appropriately, so remove the unneeded setting of
    that in flock ops in those filesystems as well.

    Finally, the lease code also sets the fl_owner as if they were owned by
    the process and not the open file description. This is incorrect as
    leases have the same ownership semantics as flock locks. Set them the
    same way. The lease code doesn't actually use the fl_owner value for
    anything, so this is more for consistency's sake than a bugfix.

    Reported-by: Trond Myklebust
    Signed-off-by: Jeff Layton
    Acked-by: Greg Kroah-Hartman (Staging portion)
    Acked-by: J. Bruce Fields

    Jeff Layton
     

07 May, 2014

9 commits