linux-apfs / linux-apfs-rw

APFS module for linux, with experimental write support
GNU General Public License v2.0
510 stars 34 forks source link

Use linux/match64.h for u64 division #35

Closed xnox closed 1 year ago

xnox commented 1 year ago

Otherwise on some architectures gcc emits calls to functions from -lgcc which is not available to the kernel.

eafer commented 1 year ago

Hi, thanks for the patch, but I think a few of your problems have already been fixed on the development branch here. I guess I should push this to master soon; I didn't think many people were building this on 32-bit since the issue took so long to get noticed in the first place.

I see that you also replaced a few instances of do_div() with div_u64(). I was not aware of div_u64(), was there any particular reason for the change? Is do_div() causing build errors?

eafer commented 1 year ago

This pull request doesn't apply anymore, so I'm closing it for now. Feel free to reopen if there are other issues that I missed.

xnox commented 1 year ago

Hi, thanks for the patch, but I think a few of your problems have already been fixed on the development branch here. I guess I should push this to master soon; I didn't think many people were building this on 32-bit since the issue took so long to get noticed in the first place.

I see that you also replaced a few instances of do_div() with div_u64(). I was not aware of div_u64(), was there any particular reason for the change? Is do_div() causing build errors?

In Ubuntu, we had this patch applied for a long time. I have submitted it as an upstream pull request, since a most recent merge still required this.

I can attempt testing a devel branch, but it is best to make a tagged release please. As distributions, tend not to package untagged snapshots.

eafer commented 1 year ago

In Ubuntu, we had this patch applied for a long time.

I'm sorry, but I couldn't have known that. I didn't even know that Ubuntu was packaging this.

I can attempt testing a devel branch

These changes are on master too now.

it is best to make a tagged release please

The driver is still very experimental so I can't commit to stable releases or anything, but if it helps you I have no problem with making tags once in a while.

Luflosi commented 1 year ago

I would also welcome a tag every once in a while. Unfortunately, GitHub does not have the feature of sending a notification when a new tag is created. It would therefore be nice if you could create a GitHub release for every tag as well.

I recommend using the pattern 0.y.z for the version numbers. From https://semver.org:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

eafer commented 1 year ago

I just pushed a tag and made a release, let me know if you have any problems with it.

Luflosi commented 1 year ago

Thank you, I did not have any problems.