HomeFreeBSD

change how d_alias is replaced by du.d_alias

Description

change how d_alias is replaced by du.d_alias

d_alias may need to be converted to du.d_alias
depending on the kernel version.
d_alias is currently in only one place in the code which
changes
"hlist_for_each_entry(dentry, &inode->i_dentry, d_alias)"
to
"hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias)"
as neccesary.

This effectively results in a double macro expansion
for code that uses the zfs headers but already has its
own macro for just d_alias (lustre in this case).

Remove the conditional code for hlist_for_each_entry
and have a macro for "d_alias -> du.d_alias" instead.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Gian-Carlo DeFazio <defazio1@llnl.gov>
Closes #14377

Details

Provenance
Gian-Carlo DeFazio <defaziogiancarlo@users.noreply.github.com>Authored on Jan 12 2023, 6:14 PM
GitHub <noreply@github.com>Committed on Jan 12 2023, 6:14 PM
Parents
rGeee9362a72cf: Activate filesystem features only in syncing context
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG80d64bb85fcf: change how d_alias is replaced by du.d_alias (authored by Gian-Carlo DeFazio <defaziogiancarlo@users.noreply.github.com>).Jan 12 2023, 6:14 PM