linux/fs/ceph
Yan, Zheng 6c93df5db6 ceph: don't call truncate_pagecache in ceph_writepages_start
truncate_pagecache() may decrease inode's reference. This can cause
deadlock if inode's last reference is dropped and iput_final() wants
to evict the inode. (evict() calls inode_wait_for_writeback(), which
waits for ceph_writepages_start() to return).

The fix is use work thead to truncate dirty pages. Also add 'forced
umount' check to ceph_update_writeable_page(), which prevents new
pages getting dirty.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-05-26 01:15:32 +02:00
..
acl.c posix acls: Remove duplicate xattr name definitions 2015-12-06 21:25:17 -05:00
addr.c ceph: don't call truncate_pagecache in ceph_writepages_start 2016-05-26 01:15:32 +02:00
cache.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2016-01-24 12:34:13 -08:00
cache.h ceph: fscache: add an interface to synchronize object store limit 2014-04-03 10:33:53 +08:00
caps.c ceph: renew caps for read/write if mds session got killed. 2016-05-26 01:15:31 +02:00
ceph_frag.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
debugfs.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
dir.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
export.c ceph: fix security xattr deadlock 2016-03-25 18:51:55 +01:00
file.c ceph: renew caps for read/write if mds session got killed. 2016-05-26 01:15:31 +02:00
inode.c ceph: don't call truncate_pagecache in ceph_writepages_start 2016-05-26 01:15:32 +02:00
ioctl.c libceph: a major OSD client update 2016-05-26 01:14:03 +02:00
ioctl.h ceph: fully initialize new layout 2012-05-16 14:28:27 -05:00
Kconfig ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
locks.c Move locks API users to locks_lock_inode_wait() 2015-10-22 14:57:36 -04:00
Makefile ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
mds_client.c ceph: don't call truncate_pagecache in ceph_writepages_start 2016-05-26 01:15:32 +02:00
mds_client.h mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
mdsmap.c ceph: CEPH_FEATURE_MDSENC support 2016-05-26 01:15:31 +02:00
snap.c ceph: kill ceph_empty_snapc 2016-03-25 18:51:52 +01:00
strings.c ceph: rename snapshot support 2015-04-22 18:33:41 +03:00
super.c ceph: CEPH_FEATURE_MDSENC support 2016-05-26 01:15:31 +02:00
super.h ceph: renew caps for read/write if mds session got killed. 2016-05-26 01:15:31 +02:00
xattr.c libceph: a major OSD client update 2016-05-26 01:14:03 +02:00