Hi Linus, Please pull the following Ceph updates from git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git for-linus This includes both the first pile of Ceph patches (which I sent to torvalds@vger, sigh) and a few new patches that add support for fscache for Ceph. That includes a few fscache core fixes that David Howells asked go through the Ceph tree. (Thanks go to Milosz Tanski for putting this feature together.) This first batch of patches (included here) had (has) several important RBD bug fixes, hole punch support, several different cleanups in the page cache interactions, improvements in the truncate code (new truncate mutex to avoid shenanigans with i_mutex), and a series of fixes in the synchronous striping read/write code. On top of that is a random collection of small fixes all across the tree (error code checks and error path cleanup, obsolete wq flags, etc.). Thanks! sage ---------------------------------------------------------------- Dan Carpenter (4): ceph: cleanup types in striped_read() libceph: fix error handling in handle_reply() libceph: potential NULL dereference in ceph_osdc_handle_map() libceph: create_singlethread_workqueue() doesn't return ERR_PTRs David Howells (3): FS-Cache: Add interface to check consistency of a cached object CacheFiles: Implement interface to check cache consistency FS-Cache: Fix heading in documentation Jingoo Han (1): block: rbd: use NULL instead of 0 Josh Durgin (3): rbd: fix I/O error propagation for reads rbd: fix buffer size for writes to images with snapshots rbd: fix null dereference in dout Li Wang (2): ceph: punch hole support ceph: remove useless variable revoked_rdcache Milosz Tanski (10): ceph: Remove bogus check in invalidatepage ceph: cleanup the logic in ceph_invalidatepage fscache: Netfs function for cleanup post readpages Merge tag 'fscache-fixes-for-ceph' into wip-fscache ceph: use fscache as a local presisent cache ceph: clean PgPrivate2 on returning from readpages ceph: ceph_readpage_to_fscache didn't check if marked ceph: page still marked private_2 ceph: Do not do invalidate if the filesystem is mounted nofsc ceph: trivial buildbot warnings fix Nathaniel Yazdani (1): ceph: fix null pointer dereference Sage Weil (4): ceph: replace hold_mutex flag with goto Merge remote-tracking branch 'linus/master' into testing ceph: fix fallocate division libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc Sha Zhengju (1): ceph: use vfs __set_page_dirty_nobuffers interface instead of doing it inside filesystem Tejun Heo (1): ceph: WQ_NON_REENTRANT is meaningless and going away Yan, Zheng (8): ceph: drop CAP_LINK_SHARED when sending "link" request to MDS ceph: wake up writer if vmtruncate work get blocked ceph: trim deleted inode ceph: fix freeing inode vs removing session caps race ceph: introduce i_truncate_mutex ceph: fix request max size ceph: remove ceph_lookup_inode() ceph: use d_invalidate() to invalidate aliases majianpeng (7): ceph: Don't forget the 'up_read(&osdc->map_sem)' if met error. libceph: unregister request in __map_request failed and nofail == false ceph: Don't use ceph-sync-mode for synchronous-fs. ceph: Add check returned value on func ceph_calc_ceph_pg. ceph: Move the place for EOLDSNAPC handle in ceph_aio_write to easily understand ceph: fix bugs about handling short-read for sync read mode. ceph: allow sync_read/write return partial successed size of read/write. Documentation/filesystems/caching/backend-api.txt | 9 + Documentation/filesystems/caching/netfs-api.txt | 37 +- drivers/block/rbd.c | 36 +- fs/cachefiles/interface.c | 26 ++ fs/cachefiles/internal.h | 1 + fs/cachefiles/xattr.c | 36 ++ fs/ceph/Kconfig | 9 + fs/ceph/Makefile | 1 + fs/ceph/addr.c | 116 ++++--- fs/ceph/cache.c | 398 ++++++++++++++++++++++ fs/ceph/cache.h | 159 +++++++++ fs/ceph/caps.c | 87 ++++- fs/ceph/dir.c | 2 + fs/ceph/file.c | 299 +++++++++++++--- fs/ceph/inode.c | 46 ++- fs/ceph/ioctl.c | 12 +- fs/ceph/mds_client.c | 34 ++ fs/ceph/super.c | 35 +- fs/ceph/super.h | 17 + fs/fscache/cookie.c | 71 ++++ fs/fscache/internal.h | 6 + fs/fscache/page.c | 71 ++-- include/linux/fscache-cache.h | 4 + include/linux/fscache.h | 42 +++ net/ceph/messenger.c | 2 +- net/ceph/osd_client.c | 27 +- net/ceph/osdmap.c | 2 +- 27 files changed, 1396 insertions(+), 189 deletions(-) create mode 100644 fs/ceph/cache.c create mode 100644 fs/ceph/cache.h -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html