diff options
Diffstat (limited to 'fs/ceph/snap.c')
| -rw-r--r-- | fs/ceph/snap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index 041c27ea8de1..f74193da0e09 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c | |||
| @@ -616,7 +616,8 @@ int __ceph_finish_cap_snap(struct ceph_inode_info *ci, | |||
| 616 | capsnap->size); | 616 | capsnap->size); |
| 617 | 617 | ||
| 618 | spin_lock(&mdsc->snap_flush_lock); | 618 | spin_lock(&mdsc->snap_flush_lock); |
| 619 | list_add_tail(&ci->i_snap_flush_item, &mdsc->snap_flush_list); | 619 | if (list_empty(&ci->i_snap_flush_item)) |
| 620 | list_add_tail(&ci->i_snap_flush_item, &mdsc->snap_flush_list); | ||
| 620 | spin_unlock(&mdsc->snap_flush_lock); | 621 | spin_unlock(&mdsc->snap_flush_lock); |
| 621 | return 1; /* caller may want to ceph_flush_snaps */ | 622 | return 1; /* caller may want to ceph_flush_snaps */ |
| 622 | } | 623 | } |
