linux-stable/fs/ceph
Sage Weil 01a92f174f ceph: reuse request message when replaying against recovering mds
Replayed rename operations (after an mds failure/recovery) were broken
because the request paths were regenerated from the dentry names, which
get mangled when d_move() is called.

Instead, resend the previous request message when replaying completed
operations.  Just make sure the REPLAY flag is set and the target ino is
filled in.

This fixes problems with workloads doing renames when the MDS restarts,
where the rename operation appears to succeed, but on mds restart then
fails (leading to client confusion, app breakage, etc.).

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 10:30:17 -07:00
..
crush ceph: fix crush device 'out' threshold to 1.0, not 0.1 2010-07-05 09:44:17 -07:00
addr.c ceph: use ceph_sb_to_client instead of ceph_client 2010-05-17 15:25:17 -07:00
armor.c ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
auth.c ceph: renew auth tickets before they expire 2010-05-29 09:12:39 -07:00
auth.h ceph: renew auth tickets before they expire 2010-05-29 09:12:39 -07:00
auth_none.c ceph: renew auth tickets before they expire 2010-05-29 09:12:39 -07:00
auth_none.h ceph: add missing #includes 2010-05-03 10:49:24 -07:00
auth_x.c ceph: fix leak of mon authorizer 2010-07-05 15:36:49 -07:00
auth_x.h ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
auth_x_protocol.h ceph: add support for auth_x authentication protocol 2010-02-11 11:48:45 -08:00
buffer.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
buffer.h ceph: buffer decoding helpers 2010-02-10 15:04:39 -08:00
caps.c ceph: fix caps usage accounting for import (non-reserved) case 2010-06-29 09:31:56 -07:00
ceph_debug.h
ceph_frag.c
ceph_frag.h
ceph_fs.c ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
ceph_fs.h ceph: make lease code DN specific 2010-05-29 09:12:42 -07: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: cleanup pool op strings 2010-05-17 15:25:41 -07:00
crypto.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
crypto.h ceph: aes crypto and base64 encode/decode helpers 2010-02-10 15:04:46 -08:00
debugfs.c ceph: fix caps debugfs entry 2010-06-24 09:47:36 -07:00
decode.h ceph: buffer decoding helpers 2010-02-10 15:04:39 -08:00
dir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2010-05-30 08:56:39 -07:00
export.c fs/ceph: Use ERR_CAST 2010-05-29 09:12:41 -07:00
file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2010-05-30 08:56:39 -07:00
inode.c ceph: handle splice_dentry/d_materialize_unique error in readdir_prepopulate 2010-06-21 16:04:10 -07:00
ioctl.c ceph: use ceph_sb_to_client instead of ceph_client 2010-05-17 15:25:17 -07: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: reuse request message when replaying against recovering mds 2010-07-16 10:30:17 -07:00
mds_client.h ceph: try to send partial cap release on cap message on missing inode 2010-06-10 13:30:25 -07: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 creation of ipv6 sockets 2010-07-09 15:00:20 -07:00
messenger.h ceph: close out mds, osd connections before stopping auth 2010-05-29 09:42:03 -07:00
mon_client.c ceph: some endianity fixes 2010-06-13 10:34:36 -07:00
mon_client.h ceph: reuse mon subscribe message instead of allocated anew 2010-05-21 16:26:11 -07:00
msgpool.c ceph: all allocation functions should get gfp_mask 2010-05-17 15:25:42 -07:00
msgpool.h ceph: name msgpools; useful error messages 2010-05-17 15:25:24 -07:00
msgr.h ceph: resync headers with userland 2010-05-17 15:25:38 -07:00
osd_client.c ceph: fix map handler error path 2010-06-13 10:34:36 -07:00
osd_client.h ceph: resubmit requests on pg mapping change (not just primary change) 2010-05-11 09:53:56 -07:00
osdmap.c ceph: add kfree() to error path 2010-07-08 08:03:24 -07:00
osdmap.h ceph: resubmit requests on pg mapping change (not just primary change) 2010-05-11 09:53:56 -07:00
pagelist.c ceph: use __page_cache_alloc and add_to_page_cache_lru 2010-05-17 15:25:12 -07:00
pagelist.h ceph: support ceph_pagelist for message payload 2009-12-23 12:12:31 -08:00
rados.h ceph: resync headers with userland 2010-05-17 15:25:38 -07:00
README ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
snap.c ceph: use ceph_sb_to_client instead of ceph_client 2010-05-17 15:25:17 -07:00
super.c ceph: fix atomic64_t initialization on ia64 2010-06-10 13:29:50 -07:00
super.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2010-05-30 08:56:39 -07:00
types.h ceph: make object hash a pg_pool property 2009-11-06 21:55:25 -08:00
xattr.c ceph: use ceph. prefix for virtual xattrs 2010-05-17 15:25:37 -07: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