-
Notifications
You must be signed in to change notification settings - Fork 16
Prevent nesting of volumes with overlay
driver from exceeding kernel limit
#38
Conversation
this just makes it easier to run with `fly execute`; it'll be overridden with the proper image in the pipeline Signed-off-by: Alex Suraci <asuraci@vmware.com> Co-authored-by: Vikram Yadav <vyadav@vmware.com>
Signed-off-by: Alex Suraci <asuraci@vmware.com> Co-authored-by: Vikram Yadav <vyadav@vmware.com>
when creating a copy of a copy, instead of nesting, copy the parent's upper dir into the child's upper dir and then set the child's parent to the grandparent. this keeps the depth from growing unbounded, which is important considering the kernel has a hardcoded depth limit of 2. the trade-off is that we'll copy the upper directory contents in this situation, but hopefully the upper directory will usually be small enough for this to not matter much. (in any case, there doesn't seem to be a better choice. sadly.) concourse/concourse#5799 Signed-off-by: Alex Suraci <asuraci@vmware.com> Co-authored-by: Vikram Yadav <vyadav@vmware.com>
use filesystem types, since the Overlay driver cares a lot more about the handle and parent relationship subsequent commit will redo the mount recovery so that we don't need the layerDirOld/workDirOld methods Signed-off-by: Alex Suraci <asuraci@vmware.com> Co-authored-by: Vikram Yadav <vyadav@vmware.com>
now that we can trust that volumes only ever have a parent (and not a grandparent), recovery can be done in just two passes. adds a Recover(Filesystem) method to the Driver interface. Signed-off-by: Alex Suraci <asuraci@vmware.com> Co-authored-by: Vikram Yadav <vyadav@vmware.com>
Based on the changes to Overlay recover, the workers would need to be recreated to ensure the recover method works |
@xtreme-sameer-vohra They seem to be passing in CI? 🤔 That's the error you should see without the fix. How are you running the tests? |
hmm interesting, I ran it on ci using
and the error is from creating the first child volume. It looks like it didn't get far enough to try to created the doubly nested one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm !
@xtreme-sameer-vohra 👻 spooky 👻 I re-ran the build a few times to be sure, and they passed. Would be nice to know why that happened, but I guess I'll merge anyway. 🤷♂️ |
overlay
driver from exceeding kernel limit
No description provided.