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
This commit is contained in:
parent
eee9362a72
commit
80d64bb85f
|
@ -35,6 +35,10 @@
|
||||||
#define d_make_root(inode) d_alloc_root(inode)
|
#define d_make_root(inode) d_alloc_root(inode)
|
||||||
#endif /* HAVE_D_MAKE_ROOT */
|
#endif /* HAVE_D_MAKE_ROOT */
|
||||||
|
|
||||||
|
#ifdef HAVE_DENTRY_D_U_ALIASES
|
||||||
|
#define d_alias d_u.d_alias
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 2.6.30 API change,
|
* 2.6.30 API change,
|
||||||
* The const keyword was added to the 'struct dentry_operations' in
|
* The const keyword was added to the 'struct dentry_operations' in
|
||||||
|
@ -70,11 +74,7 @@ zpl_d_drop_aliases(struct inode *inode)
|
||||||
{
|
{
|
||||||
struct dentry *dentry;
|
struct dentry *dentry;
|
||||||
spin_lock(&inode->i_lock);
|
spin_lock(&inode->i_lock);
|
||||||
#ifdef HAVE_DENTRY_D_U_ALIASES
|
|
||||||
hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
|
|
||||||
#else
|
|
||||||
hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
|
hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
|
||||||
#endif
|
|
||||||
if (!IS_ROOT(dentry) && !d_mountpoint(dentry) &&
|
if (!IS_ROOT(dentry) && !d_mountpoint(dentry) &&
|
||||||
(dentry->d_inode == inode)) {
|
(dentry->d_inode == inode)) {
|
||||||
d_drop(dentry);
|
d_drop(dentry);
|
||||||
|
|
Loading…
Reference in New Issue