mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 09:40:58 +07:00
nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled
Otherwise, we get a warning or error similar to this when building with CONFIG_NFSD_V4 disabled: ERROR: "nfsd4_cld_block" [fs/nfsd/nfsd.ko] undefined! Fix this by wrapping the calls to rpc_pipefs_notifier_register and ..._unregister in another function and providing no-op replacements when CONFIG_NFSD_V4 is disabled. Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
4ca1f872cd
commit
797a9d797f
@ -31,5 +31,4 @@ struct nfsd_net {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern int nfsd_net_id;
|
extern int nfsd_net_id;
|
||||||
extern struct notifier_block nfsd4_cld_block;
|
|
||||||
#endif /* __NFSD_NETNS_H__ */
|
#endif /* __NFSD_NETNS_H__ */
|
||||||
|
@ -1032,3 +1032,15 @@ rpc_pipefs_event(struct notifier_block *nb, unsigned long event, void *ptr)
|
|||||||
struct notifier_block nfsd4_cld_block = {
|
struct notifier_block nfsd4_cld_block = {
|
||||||
.notifier_call = rpc_pipefs_event,
|
.notifier_call = rpc_pipefs_event,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int
|
||||||
|
register_cld_notifier(void)
|
||||||
|
{
|
||||||
|
return rpc_pipefs_notifier_register(&nfsd4_cld_block);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
unregister_cld_notifier(void)
|
||||||
|
{
|
||||||
|
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
|
||||||
|
}
|
||||||
|
@ -1137,7 +1137,7 @@ static int __init init_nfsd(void)
|
|||||||
int retval;
|
int retval;
|
||||||
printk(KERN_INFO "Installing knfsd (copyright (C) 1996 okir@monad.swb.de).\n");
|
printk(KERN_INFO "Installing knfsd (copyright (C) 1996 okir@monad.swb.de).\n");
|
||||||
|
|
||||||
retval = rpc_pipefs_notifier_register(&nfsd4_cld_block);
|
retval = register_cld_notifier();
|
||||||
if (retval)
|
if (retval)
|
||||||
return retval;
|
return retval;
|
||||||
retval = register_pernet_subsys(&nfsd_net_ops);
|
retval = register_pernet_subsys(&nfsd_net_ops);
|
||||||
@ -1186,7 +1186,7 @@ static int __init init_nfsd(void)
|
|||||||
out_unregister_pernet:
|
out_unregister_pernet:
|
||||||
unregister_pernet_subsys(&nfsd_net_ops);
|
unregister_pernet_subsys(&nfsd_net_ops);
|
||||||
out_unregister_notifier:
|
out_unregister_notifier:
|
||||||
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
|
unregister_cld_notifier();
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1203,7 +1203,7 @@ static void __exit exit_nfsd(void)
|
|||||||
nfsd_fault_inject_cleanup();
|
nfsd_fault_inject_cleanup();
|
||||||
unregister_filesystem(&nfsd_fs_type);
|
unregister_filesystem(&nfsd_fs_type);
|
||||||
unregister_pernet_subsys(&nfsd_net_ops);
|
unregister_pernet_subsys(&nfsd_net_ops);
|
||||||
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
|
unregister_cld_notifier();
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
|
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
|
||||||
|
@ -364,12 +364,17 @@ static inline u32 nfsd_suppattrs2(u32 minorversion)
|
|||||||
NFSD_WRITEABLE_ATTRS_WORD2
|
NFSD_WRITEABLE_ATTRS_WORD2
|
||||||
|
|
||||||
extern int nfsd4_is_junction(struct dentry *dentry);
|
extern int nfsd4_is_junction(struct dentry *dentry);
|
||||||
#else
|
extern int register_cld_notifier(void);
|
||||||
|
extern void unregister_cld_notifier(void);
|
||||||
|
#else /* CONFIG_NFSD_V4 */
|
||||||
static inline int nfsd4_is_junction(struct dentry *dentry)
|
static inline int nfsd4_is_junction(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define register_cld_notifier() 0
|
||||||
|
#define unregister_cld_notifier() do { } while(0)
|
||||||
|
|
||||||
#endif /* CONFIG_NFSD_V4 */
|
#endif /* CONFIG_NFSD_V4 */
|
||||||
|
|
||||||
#endif /* LINUX_NFSD_NFSD_H */
|
#endif /* LINUX_NFSD_NFSD_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user