diff options
Diffstat (limited to 'fs/ceph/caps.c')
-rw-r--r-- | fs/ceph/caps.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index dfb509f53542..93c1afe3f0b3 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c | |||
@@ -697,10 +697,15 @@ static void __touch_cap(struct ceph_cap *cap) | |||
697 | { | 697 | { |
698 | struct ceph_mds_session *s = cap->session; | 698 | struct ceph_mds_session *s = cap->session; |
699 | 699 | ||
700 | dout("__touch_cap %p cap %p mds%d\n", &cap->ci->vfs_inode, cap, | ||
701 | s->s_mds); | ||
702 | spin_lock(&s->s_cap_lock); | 700 | spin_lock(&s->s_cap_lock); |
703 | list_move_tail(&cap->session_caps, &s->s_caps); | 701 | if (!s->s_iterating_caps) { |
702 | dout("__touch_cap %p cap %p mds%d\n", &cap->ci->vfs_inode, cap, | ||
703 | s->s_mds); | ||
704 | list_move_tail(&cap->session_caps, &s->s_caps); | ||
705 | } else { | ||
706 | dout("__touch_cap %p cap %p mds%d NOP, iterating over caps\n", | ||
707 | &cap->ci->vfs_inode, cap, s->s_mds); | ||
708 | } | ||
704 | spin_unlock(&s->s_cap_lock); | 709 | spin_unlock(&s->s_cap_lock); |
705 | } | 710 | } |
706 | 711 | ||