code: func (rsc *ReplicaSetController) updateRS(old, cur interface{}) {
  	oldRS := old.(*apps.ReplicaSet)
  	curRS := cur.(*apps.ReplicaSet)
  
  	// You might imagine that we only really need to enqueue the
  	// replica set when Spec changes, but it is safer to sync any
  	// time this function is triggered. That way a full informer
  	// resync can requeue any replica set that don't yet have pods
  	// but whose last attempts at creating a pod have failed (since
  	// we don't block on creation of pods) instead of those
  	// replica sets stalling indefinitely. Enqueueing every time
  	// does result in some spurious syncs (like when Status.Replica
  	// is updated and the watch notification from it retriggers
  	// this function), but in general extra resyncs shouldn't be
  	// that bad as ReplicaSets that haven't met expectations yet won't
  	// sync, and all the listing is done using local stores.
  	if *(oldRS.Spec.Replicas) != *(curRS.Spec.Replicas) {
  		klog.V(4).Infof("%v %v updated. Desired pod count change: %d->%d", rsc.Kind, curRS.Name, *(oldRS.Spec.Replicas), *(curRS.Spec.Replicas))
  	}
  	rsc.enqueueReplicaSet(cur)
  }
docs: // callback when RS is updated