From 49088ad21aea794aecd5df928f21e7872ee36280 Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Thu, 27 Nov 2014 16:23:12 -0500 Subject: [PATCH] volser: Break callbacks to the target of VolClone With the "-stayup" release mechanism, clients may have callbacks to the target of VolClone rather than the target of VolRestore, so also break callbacks there. This could cause clients to not be notified of a volume release done with -stayup and have stale contents. Change-Id: I94009f4b9382471a3615d2a729e4ee3955a14d44 Reviewed-on: http://gerrit.openafs.org/11619 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Jeffrey Altman --- src/volser/volprocs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/volser/volprocs.c b/src/volser/volprocs.c index 941342a52..a1383a703 100644 --- a/src/volser/volprocs.c +++ b/src/volser/volprocs.c @@ -849,6 +849,10 @@ VolClone(struct rx_call *acid, afs_int32 atrans, VolumeId purgeId, #ifdef AFS_DEMAND_ATTACH_FS salv_vp = NULL; #endif + + /* Clients could have callbacks to the clone ID */ + FSYNC_VolOp(newId, NULL, FSYNC_VOL_BREAKCBKS, 0l, NULL); + if (TRELE(tt)) { tt = (struct volser_trans *)0; error = VOLSERTRELE_ERROR; -- 2.39.5