diff options
| -rw-r--r-- | fs/ceph/caps.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index da5b56e14cc7..6fbdc1a0afbe 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c | |||
| @@ -657,6 +657,10 @@ void ceph_add_cap(struct inode *inode, | |||
| 657 | session->s_nr_caps++; | 657 | session->s_nr_caps++; |
| 658 | spin_unlock(&session->s_cap_lock); | 658 | spin_unlock(&session->s_cap_lock); |
| 659 | } else { | 659 | } else { |
| 660 | spin_lock(&session->s_cap_lock); | ||
| 661 | list_move_tail(&cap->session_caps, &session->s_caps); | ||
| 662 | spin_unlock(&session->s_cap_lock); | ||
| 663 | |||
| 660 | if (cap->cap_gen < session->s_cap_gen) | 664 | if (cap->cap_gen < session->s_cap_gen) |
| 661 | cap->issued = cap->implemented = CEPH_CAP_PIN; | 665 | cap->issued = cap->implemented = CEPH_CAP_PIN; |
| 662 | 666 | ||
