xfs
[Top] [All Lists]

Re: 2.5.70-mm5: XFS compile error if CONFIG_SYSCTL && !CONFIG_PROC_FS

To: Adrian Bunk <bunk@xxxxxxxxx>
Subject: Re: 2.5.70-mm5: XFS compile error if CONFIG_SYSCTL && !CONFIG_PROC_FS
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sun, 8 Jun 2003 12:01:59 +0100
Cc: lord@xxxxxxx, linux-xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <20030607140844.GM15311@xxxxxxxxx>; from bunk@xxxxxxxxx on Sat, Jun 07, 2003 at 04:08:44PM +0200
Mail-followup-to: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Adrian Bunk <bunk@xxxxxxxxx>, lord@xxxxxxx, linux-xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20030607140844.GM15311@xxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.2.5.1i
On Sat, Jun 07, 2003 at 04:08:44PM +0200, Adrian Bunk wrote:
> I'm getting the following compile error in 2.5.70-mm5 if CONFIG_SYSCTL 
> && !CONFIG_PROC_FS:
> 
> <--  snip  -->
> 
> ...
>   CC      fs/xfs/linux/xfs_sysctl.o
> fs/xfs/linux/xfs_sysctl.c: In function `xfs_stats_clear_proc_handler':
> fs/xfs/linux/xfs_sysctl.c:61: `xfsstats' undeclared (first use in this 
> function)
> fs/xfs/linux/xfs_sysctl.c:61: (Each undeclared identifier is reported only 
> once
> fs/xfs/linux/xfs_sysctl.c:61: for each function it appears in.)
> make[2]: *** [fs/xfs/linux/xfs_sysctl.o] Error 1

This should fix it:


--- 1.10/fs/xfs/linux/xfs_sysctl.c      Mon May 19 20:29:41 2003
+++ edited/fs/xfs/linux/xfs_sysctl.c    Sat Jun  7 12:01:27 2003
@@ -36,12 +36,12 @@
 #include <linux/proc_fs.h>
 
 
-STATIC ulong xfs_min[XFS_PARAM] = { 0, 0, 0, 0, 0,   0, HZ };
-STATIC ulong xfs_max[XFS_PARAM] = { 1, 1, 1, 1, 127, 3, HZ * 60 };
+STATIC ulong xfs_min[XFS_PARAM] = { 0, 0, 0, 0, 0, HZ, 0 };
+STATIC ulong xfs_max[XFS_PARAM] = {  1, 1, 1, 127, 3, HZ * 60, 1 };
 
 static struct ctl_table_header *xfs_table_header;
 
-
+#ifdef CONFIG_PROC_FS
 STATIC int
 xfs_stats_clear_proc_handler(
        ctl_table       *ctl,
@@ -66,35 +66,39 @@
 
        return ret;
 }
+#endif /* CONFIG_PROC_FS */
 
 STATIC ctl_table xfs_table[] = {
-       {XFS_STATS_CLEAR, "stats_clear", &xfs_params.stats_clear,
-       sizeof(ulong), 0644, NULL, &xfs_stats_clear_proc_handler,
-       &sysctl_intvec, NULL, &xfs_min[0], &xfs_max[0]},
-
        {XFS_RESTRICT_CHOWN, "restrict_chown", &xfs_params.restrict_chown,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
-       &sysctl_intvec, NULL, &xfs_min[1], &xfs_max[1]},
+       &sysctl_intvec, NULL, &xfs_min[0], &xfs_max[0]},
 
        {XFS_SGID_INHERIT, "irix_sgid_inherit", &xfs_params.sgid_inherit,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
-       &sysctl_intvec, NULL, &xfs_min[2], &xfs_max[2]},
+       &sysctl_intvec, NULL, &xfs_min[1], &xfs_max[1]},
 
        {XFS_SYMLINK_MODE, "irix_symlink_mode", &xfs_params.symlink_mode,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
-       &sysctl_intvec, NULL, &xfs_min[3], &xfs_max[3]},
+       &sysctl_intvec, NULL, &xfs_min[2], &xfs_max[2]},
 
        {XFS_PANIC_MASK, "panic_mask", &xfs_params.panic_mask,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
-       &sysctl_intvec, NULL, &xfs_min[4], &xfs_max[4]},
+       &sysctl_intvec, NULL, &xfs_min[3], &xfs_max[3]},
 
        {XFS_ERRLEVEL, "error_level", &xfs_params.error_level,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
-       &sysctl_intvec, NULL, &xfs_min[5], &xfs_max[5]},
+       &sysctl_intvec, NULL, &xfs_min[4], &xfs_max[4]},
 
        {XFS_SYNC_INTERVAL, "sync_interval", &xfs_params.sync_interval,
        sizeof(ulong), 0644, NULL, &proc_doulongvec_minmax,
+       &sysctl_intvec, NULL, &xfs_min[5], &xfs_max[5]},
+
+       /* please keep this the last entry */
+#ifdef CONFIG_PROC_FS
+       {XFS_STATS_CLEAR, "stats_clear", &xfs_params.stats_clear,
+       sizeof(ulong), 0644, NULL, &xfs_stats_clear_proc_handler,
        &sysctl_intvec, NULL, &xfs_min[6], &xfs_max[6]},
+#endif
 
        {0}
 };
===== fs/xfs/linux/xfs_sysctl.h 1.8 vs edited =====
--- 1.8/fs/xfs/linux/xfs_sysctl.h       Mon May 19 20:29:41 2003
+++ edited/fs/xfs/linux/xfs_sysctl.h    Sat Jun  7 12:01:07 2003
@@ -42,7 +42,6 @@
 #define XFS_PARAM      (sizeof(struct xfs_param) / sizeof(ulong))
 
 typedef struct xfs_param {
-       ulong   stats_clear;    /* Reset all XFS statistics to zero.     */
        ulong   restrict_chown; /* Root/non-root can give away files.    */
        ulong   sgid_inherit;   /* Inherit ISGID bit if process' GID is  */
                                /*  not a member of the parent dir GID.  */
@@ -50,6 +49,7 @@
        ulong   panic_mask;     /* bitmask to specify panics on errors.  */
        ulong   error_level;    /* Degree of reporting for internal probs*/
        ulong   sync_interval;  /* time between sync calls               */
+       ulong   stats_clear;    /* Reset all XFS statistics to zero.     */
 } xfs_param_t;
 
 /*
@@ -68,13 +68,13 @@
  */
 
 enum {
-       XFS_STATS_CLEAR = 1,
-       XFS_RESTRICT_CHOWN = 2,
-       XFS_SGID_INHERIT = 3,
-       XFS_SYMLINK_MODE = 4,
-       XFS_PANIC_MASK = 5,
-       XFS_ERRLEVEL = 6,
-       XFS_SYNC_INTERVAL = 7,
+       XFS_RESTRICT_CHOWN = 1,
+       XFS_SGID_INHERIT = 2,
+       XFS_SYMLINK_MODE = 3,
+       XFS_PANIC_MASK = 4,
+       XFS_ERRLEVEL = 5,
+       XFS_SYNC_INTERVAL = 6,
+       XFS_STATS_CLEAR = 7,
 };
 
 extern xfs_param_t     xfs_params;


<Prev in Thread] Current Thread [Next in Thread>