diff options
author | Sage Weil <sage@newdream.net> | 2010-09-17 08:03:08 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-09-17 08:03:08 -0700 |
commit | e835124c2be289515b918f2688ced4249e2de566 (patch) | |
tree | 1bf9bc86a2d1c3e9508dc304830a3bb42ad7de9b /fs/ceph/snap.c | |
parent | ae00d4f37f4df56821331deb1028748110dd6dc9 (diff) | |
download | op-kernel-dev-e835124c2be289515b918f2688ced4249e2de566.zip op-kernel-dev-e835124c2be289515b918f2688ced4249e2de566.tar.gz |
ceph: only send one flushsnap per cap_snap per mds session
Sending multiple flushsnap messages is problematic because we ignore
the response if the tid doesn't match, and the server may only respond to
each one once. It's also a waste.
So, skip cap_snaps that are already on the flushing list, unless the caller
tells us to resend (because we are reconnecting).
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/snap.c')
-rw-r--r-- | fs/ceph/snap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index 9e6eef1..190b6c4 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c @@ -717,7 +717,7 @@ static void flush_snaps(struct ceph_mds_client *mdsc) igrab(inode); spin_unlock(&mdsc->snap_flush_lock); spin_lock(&inode->i_lock); - __ceph_flush_snaps(ci, &session); + __ceph_flush_snaps(ci, &session, 0); spin_unlock(&inode->i_lock); iput(inode); spin_lock(&mdsc->snap_flush_lock); |