forked from Minki/linux
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 struct notifier_block nfsd4_cld_block;
|
||||
#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 = {
|
||||
.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;
|
||||
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)
|
||||
return retval;
|
||||
retval = register_pernet_subsys(&nfsd_net_ops);
|
||||
@ -1186,7 +1186,7 @@ out_free_slabs:
|
||||
out_unregister_pernet:
|
||||
unregister_pernet_subsys(&nfsd_net_ops);
|
||||
out_unregister_notifier:
|
||||
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
|
||||
unregister_cld_notifier();
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -1203,7 +1203,7 @@ static void __exit exit_nfsd(void)
|
||||
nfsd_fault_inject_cleanup();
|
||||
unregister_filesystem(&nfsd_fs_type);
|
||||
unregister_pernet_subsys(&nfsd_net_ops);
|
||||
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
|
||||
unregister_cld_notifier();
|
||||
}
|
||||
|
||||
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
|
||||
|
@ -364,12 +364,17 @@ static inline u32 nfsd_suppattrs2(u32 minorversion)
|
||||
NFSD_WRITEABLE_ATTRS_WORD2
|
||||
|
||||
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)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define register_cld_notifier() 0
|
||||
#define unregister_cld_notifier() do { } while(0)
|
||||
|
||||
#endif /* CONFIG_NFSD_V4 */
|
||||
|
||||
#endif /* LINUX_NFSD_NFSD_H */
|
||||
|
Loading…
Reference in New Issue
Block a user