linux/fs/ceph
Sage Weil 916623da10 ceph: only release unused caps with mds requests
We were releasing used caps (e.g. FILE_CACHE) from encode_inode_release
with MDS requests (e.g. setattr).  We don't carry refs on most caps, so
this code worked most of the time, but for setattr (utimes) we try to
drop Fscr.

This causes cap state to get slightly out of sync with reality, and may
result in subsequent mds revoke messages getting ignored.

Fix by only releasing unused caps.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-03-23 07:46:55 -07:00
..
crush ceph: whitespace cleanup 2009-12-03 14:59:44 -08:00
addr.c ceph: move dereference after NULL test 2010-02-23 14:26:34 -08:00
armor.c ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
auth_none.c ceph: add struct version to auth encoding 2010-02-10 15:04:48 -08:00
auth_none.h ceph: negotiate authentication protocol; implement AUTH_NONE protocol 2009-11-18 16:19:57 -08:00
auth_x_protocol.h ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
auth_x.c ceph: clean up service ticket decoding 2010-03-23 07:46:47 -07:00
auth_x.h ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
auth.c ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
auth.h ceph: allow renewal of auth credentials 2010-02-10 15:04:47 -08:00
buffer.c ceph: buffer decoding helpers 2010-02-10 15:04:39 -08:00
buffer.h ceph: buffer decoding helpers 2010-02-10 15:04:39 -08:00
caps.c ceph: only release unused caps with mds requests 2010-03-23 07:46:55 -07:00
ceph_debug.h ceph: client types 2009-10-06 11:31:07 -07:00
ceph_frag.c ceph: client types 2009-10-06 11:31:07 -07:00
ceph_frag.h ceph: client types 2009-10-06 11:31:07 -07:00
ceph_fs.c ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
ceph_fs.h ceph: v0.19 release 2010-02-17 13:56:07 -08:00
ceph_hash.c ceph: whitespace cleanup 2009-12-03 14:59:44 -08:00
ceph_hash.h ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
ceph_strings.c ceph: negotiate authentication protocol; implement AUTH_NONE protocol 2009-11-18 16:19:57 -08:00
crypto.c ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
crypto.h ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
debugfs.c ceph: use rbtree for pg pools; decode new osdmap format 2010-02-17 10:02:49 -08:00
decode.h ceph: buffer decoding helpers 2010-02-10 15:04:39 -08:00
dir.c ceph: add feature bits to connection handshake (protocol change) 2009-12-23 09:30:21 -08:00
export.c ceph: nfs re-export support 2009-10-06 11:31:13 -07:00
file.c ceph: return EBADF if waiting for caps on closed file 2010-03-01 15:28:00 -08:00
inode.c ceph: fix inode removal from snap realm when racing with migration 2010-03-20 21:33:08 -07:00
ioctl.c ceph: allow preferred osd to be get/set via layout ioctl 2009-12-03 14:59:48 -08:00
ioctl.h ceph: allow preferred osd to be get/set via layout ioctl 2009-12-03 14:59:48 -08:00
Kconfig ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
Makefile ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
mds_client.c ceph: remove bogus mds forward warning 2010-02-26 10:02:03 -08:00
mds_client.h ceph: fix iterate_caps removal race 2010-02-17 10:02:47 -08:00
mdsmap.c ceph: hex dump corrupt server data to KERN_DEBUG 2009-12-21 16:39:52 -08:00
mdsmap.h ceph: decode updated mdsmap format 2009-11-20 14:24:33 -08:00
messenger.c ceph: fix authenticator timeout 2010-03-20 21:33:09 -07:00
messenger.h ceph: reset bits on connection close 2010-03-01 15:19:51 -08:00
mon_client.c ceph: fix up unexpected message handling 2010-02-23 14:26:29 -08:00
mon_client.h ceph: use rbtree for mon statfs requests 2010-02-16 22:01:10 -08:00
msgpool.c ceph: reset front len on return to msgpool; BUG on mismatched front iov 2010-03-01 15:25:00 -08:00
msgpool.h ceph: warn on allocation from msgpool with larger front_len 2009-10-15 18:14:43 -07:00
msgr.h ceph: include type in ceph_entity_addr, filepath 2010-01-29 12:41:09 -08:00
osd_client.c ceph: fix null pointer deref of r_osd in debug output 2010-03-23 07:46:51 -07:00
osd_client.h ceph: reset osd after relevant messages timed out 2010-03-04 11:26:35 -08:00
osdmap.c ceph: fix osdmap decoding when pools include (removed) snaps 2010-03-01 15:28:00 -08:00
osdmap.h ceph: use rbtree for pg pools; decode new osdmap format 2010-02-17 10:02:49 -08:00
pagelist.c ceph: support ceph_pagelist for message payload 2009-12-23 12:12:31 -08:00
pagelist.h ceph: support ceph_pagelist for message payload 2009-12-23 12:12:31 -08:00
rados.h ceph: use rbtree for pg pools; decode new osdmap format 2010-02-17 10:02:49 -08:00
README ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
snap.c ceph: add missing locking to protect i_snap_realm_item during split 2010-03-20 21:33:07 -07:00
super.c ceph: reset osd after relevant messages timed out 2010-03-04 11:26:35 -08:00
super.h ceph: update for write_inode API change 2010-03-05 14:49:41 -08:00
types.h ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
xattr.c ceph: simplify ceph_buffer interface 2009-12-07 12:17:17 -08:00

#
# The following files are shared by (and manually synchronized
# between) the Ceph userland and kernel client.
#
# userland                  kernel
src/include/ceph_fs.h	    fs/ceph/ceph_fs.h
src/include/ceph_fs.cc	    fs/ceph/ceph_fs.c
src/include/msgr.h	    fs/ceph/msgr.h
src/include/rados.h	    fs/ceph/rados.h
src/include/ceph_strings.cc fs/ceph/ceph_strings.c
src/include/ceph_frag.h	    fs/ceph/ceph_frag.h
src/include/ceph_frag.cc    fs/ceph/ceph_frag.c
src/include/ceph_hash.h	    fs/ceph/ceph_hash.h
src/include/ceph_hash.cc    fs/ceph/ceph_hash.c
src/crush/crush.c	    fs/ceph/crush/crush.c
src/crush/crush.h	    fs/ceph/crush/crush.h
src/crush/mapper.c	    fs/ceph/crush/mapper.c
src/crush/mapper.h	    fs/ceph/crush/mapper.h
src/crush/hash.h	    fs/ceph/crush/hash.h
src/crush/hash.c	    fs/ceph/crush/hash.c