-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Illumos 4368 4369 #2530
Illumos 4368 4369 #2530
Conversation
If someone could give me a clue as to how to get atomic_swap_64 into spl (or zfs), I'd like to get rid of the mutex I added and switch the updating of spa_feat_refcount_cache back to using it. |
@dweeezil You should be able to map |
@behlendorf I think openzfs/spl#377 does the Right Thing. |
@dweeezil Yes, openzfs/spl#377 looks correct. If you don't mind I'll add something equivalent in libspl and refresh your patch stack as a different pull request for review. This way we can avoid adding doing something Linux specific here. |
@dweeezil I've merged #2529 after updating it to use b0bc7a8 Illumos 4370, 4371 However, making that change means you're going to need to refresh this pull request. You should no longer need to do anything Linux specific here such as add the I've spent a lot of time simply reviewing code over the last few days and I appreciate how much time you must have spent porting these changes. Thank you again for working on this! |
@behlendorf I thought I had removed |
@behlendorf I see what's going on here. Unfortunately there must have been some "commit creep" or something of that sort. The need for a 64-bit atomic swap was introduced by the bookmark feature which is/was in dweeezil/zfs:illumos-4368-4369 (#2530) but apparently some of that code must have leaked into dweeezil/zfs:illumos-4370-4371 (#2529). It's not at all clear to me how that happened. I will get #2530 refreshed ASAP based on current master to make things right and will post another note here when it's ready (along with its commit SHA). |
4369 implement zfs bookmarks 4368 zfs send filesystems from readonly pools Reviewed by: Christopher Siden <[email protected]> Reviewed by: George Wilson <[email protected]> Approved by: Garrett D'Amore <[email protected]> Ported by: Tim Chase <[email protected]> Porting notes: This patch requires an updated spl which has atomic_swap_64().
That helps explain things. I'll watch for the update so I can get it tested and merged. I'm hoping we can just work through you're entire stack over the next few weeks and get basically caught up. |
@behlendorf This pull request has been updated as dweeezil/zfs@3be8308. I just ran a few tests on a build of that commit and it appears to work properly (including typical bookmark-using operations). |
AFAIK, the rest of the stack is OK. I'm going to keep pressing forward now. I still have no idea how part of a later commit leaked into an earlier commit. I keep all the patches in "git am" format and replace the "diff" part of the patch file as required when I have to tweak a patch and use a simple script to re-apply all the "am" format files and force-push them to github. In any case, the dweeezil/zfs@3be8308 commit should hopefully represent a stable state corresponding to the illumos code base as of their issue 4369 (w.r.t. the bookmark feature). |
@behlendorf I figured out what happened and it's not at all what I expected nor what I described above. The need for |
@dweeezil OK, that makes sense and I think explains everything. I'll work on getting the bookmarks in next. |
@behlendorf I just refreshed the rest of the branches. This is the refreshed stack:
|
4369 implement zfs bookmarks
4368 zfs send filesystems from readonly pools
Reviewed by: Christopher Siden [email protected]
Reviewed by: George Wilson [email protected]
Approved by: Garrett D'Amore [email protected]
Ported by: Tim Chase [email protected]
Porting notes:
Added spa_feat_refcount_cache_lock to struct spa to protext
spa_feat_refcount_cache since zfsonlinux doesn't have an atomic_swap_64
to update it.