From: Linus Torvalds Date: Wed, 10 May 2017 15:42:33 +0000 (-0700) Subject: Merge tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-client X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=26c5eaa1326e9703effd01e7cc3cc0d4ad4b3c19;p=openwrt%2Fstaging%2Fblogic.git Merge tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-client Pull ceph updates from Ilya Dryomov: "The two main items are support for disabling automatic rbd exclusive lock transfers from myself and the long awaited -ENOSPC handling series from Jeff. The former will allow rbd users to take advantage of exclusive lock's built-in blacklist/break-lock functionality while staying in control of who owns the lock. With the latter in place, we will abort filesystem writes on -ENOSPC instead of having them block indefinitely. Beyond that we've got the usual pile of filesystem fixes from Zheng, some refcount_t conversion patches from Elena and a patch for an ancient open() flags handling bug from Alexander" * tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-client: (31 commits) ceph: fix memory leak in __ceph_setxattr() ceph: fix file open flags on ppc64 ceph: choose readdir frag based on previous readdir reply rbd: exclusive map option rbd: return ResponseMessage result from rbd_handle_request_lock() rbd: kill rbd_is_lock_supported() rbd: support updating the lock cookie without releasing the lock rbd: store lock cookie rbd: ignore unlock errors rbd: fix error handling around rbd_init_disk() rbd: move rbd_unregister_watch() call into rbd_dev_image_release() rbd: move rbd_dev_destroy() call out of rbd_dev_image_release() ceph: when seeing write errors on an inode, switch to sync writes Revert "ceph: SetPageError() for writeback pages if writepages fails" ceph: handle epoch barriers in cap messages libceph: add an epoch_barrier field to struct ceph_osd_client libceph: abort already submitted but abortable requests when map or pool goes full libceph: allow requests to return immediately on full conditions if caller wishes libceph: remove req->r_replay_version ceph: make seeky readdir more efficient ... --- 26c5eaa1326e9703effd01e7cc3cc0d4ad4b3c19 diff --cc fs/ceph/addr.c index 9ecb2fd348cb,e253102b43cd..1e71e6ca5ddf --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@@ -700,12 -704,9 +704,9 @@@ static void writepages_finish(struct ce if (atomic_long_dec_return(&fsc->writeback_count) < CONGESTION_OFF_THRESH( fsc->mount_options->congestion_kb)) - clear_bdi_congested(&fsc->backing_dev_info, + clear_bdi_congested(inode_to_bdi(inode), BLK_RW_ASYNC); - if (rc < 0) - SetPageError(page); - ceph_put_snap_context(page_snap_context(page)); page->private = 0; ClearPagePrivate(page);