Skip to content
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

[5.16] blkcg_gq not found #12755

Closed
65a opened this issue Nov 12, 2021 · 6 comments
Closed

[5.16] blkcg_gq not found #12755

65a opened this issue Nov 12, 2021 · 6 comments
Labels
Type: Building Indicates an issue related to building binaries Type: Defect Incorrect behavior (e.g. crash, hang)

Comments

@65a
Copy link

65a commented Nov 12, 2021

vdev_disk.c:464:39: error: invalid use of undefined type 'struct blkcg_gq'

@65a 65a added the Type: Defect Incorrect behavior (e.g. crash, hang) label Nov 12, 2021
@65a 65a changed the title [5.15] blkcg_gq no longer exists [5.15] blkcg_gq not found Nov 12, 2021
@65a
Copy link
Author

65a commented Nov 12, 2021

Not clear it's gone, this may be a similar include shuffle

@65a
Copy link
Author

65a commented Nov 12, 2021

Maybe just needs blk-cgroup.h?

@jgottula
Copy link
Contributor

As with #12757, it would have been helpful if you'd used the issue template. This is actually a Linux kernel 5.16 compat breakage, and the issue title should be changed to reflect that.

Anyway. The relevant commit seems to be torvalds/linux@ccdf774, which removes #include <linux/blkdev.h> from <linux/backing-dev>.

Not clear it's gone, this may be a similar include shuffle

So the short version is, yes.

struct blkcg_gq is defined in <linux/blk-cgroup.h>. (It's additionally forward-declared as an opaque struct in <linux/blk_types.h> and <linux/blkdev.h>.)

module/os/linux/zfs/vdev_disk.c, where the definition error now occurs, includes <include/os/linux/kernel/linux/vfs_compat.h>, a local file which itself includes <linux/backing-dev.h>. Prior to the commit referenced above, this would have been sufficient to transitively include <linux/blkdev.h>, which in turn would pull in <linux/blk-cgroup.h>.

Now, however, either vdev_disk.c or vfs_compat.h needs to explicitly #include <linux/blkdev.h> (or possibly <linux/blk-cgroup.h>).

@65a 65a changed the title [5.15] blkcg_gq not found [5.16] blkcg_gq not found Nov 16, 2021
@65a
Copy link
Author

65a commented Nov 16, 2021

See notes on linked issue. Apologies for the confusion, both wrt 5.15 and relevant commit. Issue still seems valid as stated.

@behlendorf behlendorf added the Type: Building Indicates an issue related to building binaries label Nov 29, 2021
@szubersk
Copy link
Contributor

@65a Seems like current master builds with kernel 5.16 perfectly fine. Do you confirm?

@behlendorf
Copy link
Contributor

I'm going to go ahead and close this. This build issue was resolved in master and the 2.1.3 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Building Indicates an issue related to building binaries Type: Defect Incorrect behavior (e.g. crash, hang)
Projects
None yet
Development

No branches or pull requests

4 participants