On Tue, 2023-05-02 at 13:11 -0400, Tom Rix wrote: > gcc with W=1 and ! CONFIG_PROC_FS > fs/nfsd/nfsctl.c:161:30: error: ‘exports_proc_ops’ > defined but not used [-Werror=unused-const-variable=] > 161 | static const struct proc_ops exports_proc_ops = { > | ^~~~~~~~~~~~~~~~ > > The only use of exports_proc_ops is when CONFIG_PROC_FS > is defined, so its definition should be likewise conditional. > > Signed-off-by: Tom Rix <trix@xxxxxxxxxx> > --- > fs/nfsd/nfsctl.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) > > diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c > index 7b8f17ee5224..c159817d1282 100644 > --- a/fs/nfsd/nfsctl.c > +++ b/fs/nfsd/nfsctl.c > @@ -153,18 +153,6 @@ static int exports_net_open(struct net *net, struct file *file) > return 0; > } > > -static int exports_proc_open(struct inode *inode, struct file *file) > -{ > - return exports_net_open(current->nsproxy->net_ns, file); > -} > - > -static const struct proc_ops exports_proc_ops = { > - .proc_open = exports_proc_open, > - .proc_read = seq_read, > - .proc_lseek = seq_lseek, > - .proc_release = seq_release, > -}; > - > static int exports_nfsd_open(struct inode *inode, struct file *file) > { > return exports_net_open(inode->i_sb->s_fs_info, file); > @@ -1458,6 +1446,19 @@ static struct file_system_type nfsd_fs_type = { > MODULE_ALIAS_FS("nfsd"); > > #ifdef CONFIG_PROC_FS > + > +static int exports_proc_open(struct inode *inode, struct file *file) > +{ > + return exports_net_open(current->nsproxy->net_ns, file); > +} > + > +static const struct proc_ops exports_proc_ops = { > + .proc_open = exports_proc_open, > + .proc_read = seq_read, > + .proc_lseek = seq_lseek, > + .proc_release = seq_release, > +}; > + > static int create_proc_exports_entry(void) > { > struct proc_dir_entry *entry; Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>