linux_old1/fs/ceph
Yan, Zheng 5dda377cf0 ceph: set i_head_snapc when getting CEPH_CAP_FILE_WR reference
In most cases that snap context is needed, we are holding
reference of CEPH_CAP_FILE_WR. So we can set ceph inode's
i_head_snapc when getting the CEPH_CAP_FILE_WR reference,
and make codes get snap context from i_head_snapc. This makes
the code simpler.

Another benefit of this change is that we can handle snap
notification more elegantly. Especially when snap context
is updated while someone else is doing write. The old queue
cap_snap code may set cap_snap's context to ether the old
context or the new snap context, depending on if i_head_snapc
is set. The new queue capp_snap code always set cap_snap's
context to the old snap context.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-06-25 11:49:28 +03:00
..
Kconfig ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
Makefile ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
acl.c ceph: acl: Remove unused function 2015-02-19 13:31:38 +03:00
addr.c ceph: set i_head_snapc when getting CEPH_CAP_FILE_WR reference 2015-06-25 11:49:28 +03:00
cache.c ceph: fscache: Wait for completion of object initialization 2014-04-03 10:33:53 +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: set i_head_snapc when getting CEPH_CAP_FILE_WR reference 2015-06-25 11:49:28 +03: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 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
export.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
file.c ceph: set i_head_snapc when getting CEPH_CAP_FILE_WR reference 2015-06-25 11:49:28 +03:00
inode.c ceph: check OSD caps before read/write 2015-06-25 11:49:28 +03:00
ioctl.c ceph: fix divide-by-zero in __validate_layout() 2014-10-14 12:57:05 -07:00
ioctl.h ceph: fully initialize new layout 2012-05-16 14:28:27 -05:00
locks.c Revert "locks: keep a count of locks on the flctx lists" 2015-02-16 14:32:03 -05:00
mds_client.c ceph: check OSD caps before read/write 2015-06-25 11:49:28 +03:00
mds_client.h ceph: check OSD caps before read/write 2015-06-25 11:49:28 +03:00
mdsmap.c fs/ceph: replace pr_warning by pr_warn 2014-06-06 16:08:06 -07:00
snap.c ceph: set i_head_snapc when getting CEPH_CAP_FILE_WR reference 2015-06-25 11:49:28 +03:00
strings.c ceph: rename snapshot support 2015-04-22 18:33:41 +03:00
super.c ceph: check OSD caps before read/write 2015-06-25 11:49:28 +03:00
super.h ceph: use empty snap context for uninline_data and get_pool_perm 2015-06-25 11:49:28 +03:00
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00