diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index 3360a131490f5..1354bc1d7f3a3 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c @@ -665,7 +665,7 @@ int ceph_update_snap_trace(struct ceph_mds_client *mdsc, struct ceph_mds_snap_realm *ri; /* encoded */ __le64 *snaps; /* encoded */ __le64 *prior_parent_snaps; /* encoded */ - struct ceph_snap_realm *realm = NULL; + struct ceph_snap_realm *realm; struct ceph_snap_realm *first_realm = NULL; int invalidate = 0; int err = -ENOMEM; @@ -673,6 +673,7 @@ int ceph_update_snap_trace(struct ceph_mds_client *mdsc, dout("update_snap_trace deletion=%d\n", deletion); more: + realm = NULL; ceph_decode_need(&p, e, sizeof(*ri), bad); ri = p; p += sizeof(*ri);