JosiahWI commented on code in PR #11628:
URL: https://github.com/apache/trafficserver/pull/11628#discussion_r1702225077


##########
src/iocore/cache/P_CacheVol.h:
##########
@@ -73,34 +66,7 @@ struct DiskStripe;
 struct CacheVol;
 class CacheEvacuateDocVC;
 
-// Key and Earliest key for each fragment that needs to be evacuated
-struct EvacuationKey {
-  SLink<EvacuationKey> link;
-  CryptoHash           key;
-  CryptoHash           earliest_key;
-};
-
-struct EvacuationBlock {
-  union {
-    unsigned int init;
-    struct {
-      unsigned int done          : 1; // has been evacuated
-      unsigned int pinned        : 1; // check pinning timeout
-      unsigned int evacuate_head : 1; // check pinning timeout
-      unsigned int unused        : 29;
-    } f;
-  };
-
-  int readers;
-  Dir dir;
-  Dir new_dir;
-  // we need to have a list of evacuationkeys because of collision.
-  EvacuationKey       evac_frags;
-  CacheEvacuateDocVC *earliest_evacuator;
-  LINK(EvacuationBlock, link);
-};
-
-class StripeSM : public Continuation, public Stripe
+class StripeSM : public Continuation, public Stripe, public PreservationTable

Review Comment:
   I don't think it's presently an issue for it to be `isA`, but I'm also 
thinking it should be `hasA`. My reason was that I want to add a constructor, 
but bringing in some logic from outside `StateSM` is another great reason. The 
question is whether to do it immediately in this PR. I didn't do it yet because 
the added delegation is more complicated than doing the superclass and 
minimizing the changes minimizes risk, but I think it'd be fine to do it now if 
you think that's better.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to