diff options
author | kato <kato@FreeBSD.org> | 1997-08-23 07:41:02 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1997-08-23 07:41:02 +0000 |
commit | c2d70f740042782abd9b85859d58a2718bf25459 (patch) | |
tree | 4dff3cf847f57b3ebfe04eb5b0eb49419c49444c /sys | |
parent | daea96682ac0a2bfa5eb16641f5769723eb55bfa (diff) | |
download | FreeBSD-src-c2d70f740042782abd9b85859d58a2718bf25459.zip FreeBSD-src-c2d70f740042782abd9b85859d58a2718bf25459.tar.gz |
Added sysctl args vfs.ext2fs.doclusterread and
vfs.ext2fs.doclusterwrite which control cluster read/write operation
on ext2fs filesystem.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/gnu/ext2fs/ext2_extern.h | 13 | ||||
-rw-r--r-- | sys/gnu/ext2fs/ext2_vnops.c | 24 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_extern.h | 13 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vnops.c | 24 |
4 files changed, 56 insertions, 18 deletions
diff --git a/sys/gnu/ext2fs/ext2_extern.h b/sys/gnu/ext2fs/ext2_extern.h index 34171b2..f00cd1e 100644 --- a/sys/gnu/ext2fs/ext2_extern.h +++ b/sys/gnu/ext2fs/ext2_extern.h @@ -42,6 +42,19 @@ #ifndef _SYS_GNU_EXT2FS_EXT2_EXTERN_H_ #define _SYS_GNU_EXT2FS_EXT2_EXTERN_H_ +/* + * Sysctl values for the ext2fs filesystem. + */ +#define EXT2FS_CLUSTERREAD 1 /* cluster reading enabled */ +#define EXT2FS_CLUSTERWRITE 2 /* cluster writing enable */ +#define EXT2FS_MAXID 3 /* number of valid ext2fs ids */ + +#define EXT2FS_NAMES {\ + {0, 0}, \ + { "doclusterread", CTLTYPE_INT }, \ + { "doculsterwrite", CTLTYPE_INT }, \ +} + struct dinode; struct ext2_inode; struct inode; diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c index 9fa6e3a..4045fb6 100644 --- a/sys/gnu/ext2fs/ext2_vnops.c +++ b/sys/gnu/ext2fs/ext2_vnops.c @@ -236,24 +236,30 @@ static struct vnodeopv_desc ext2fs_fifoop_opv_desc = /* * Enabling cluster read/write operations. */ +#if defined(__FreeBSD__) +static int doclusterread = 1; +static int doclusterwrite = 1; +#include <sys/sysctl.h> +SYSCTL_NODE(_vfs, MOUNT_EXT2FS, ext2fs, CTLFLAG_RW, 0, "EXT2FS filesystem"); +SYSCTL_INT(_vfs_ext2fs, EXT2FS_CLUSTERREAD, doclusterread, + CTLFLAG_RW, &doclusterread, 0, ""); +SYSCTL_INT(_vfs_ext2fs, EXT2FS_CLUSTERWRITE, doclusterwrite, + CTLFLAG_RW, &doclusterwrite, 0, ""); +#else /* !FreeBSD */ #ifdef DEBUG +static int doclusterread = 0; +static int doclusterwrite = 1; #include <sys/sysctl.h> -static int doclusterread = 1; SYSCTL_INT(_debug, 11, doclusterread, CTLFLAG_RW, &doclusterread, 0, ""); -static int doclusterwrite = 1; SYSCTL_INT(_debug, 12, doclusterwrite, CTLFLAG_RW, &doclusterwrite, 0, ""); -#endif - -#if defined(__FreeBSD__) -#define doclusterwrite 1 -#define doclusterread 1 -#else +#else /* !DEBUG */ /* doclusterwrite is being tested note that reallocblks is called when it's on, but this is not implemented */ #define doclusterwrite 0 /* doclusterread should work with new pagemove */ #define doclusterread 1 -#endif +#endif /* DEBUG */ +#endif /* FreeBSD */ #include <gnu/ext2fs/ext2_readwrite.c> diff --git a/sys/gnu/fs/ext2fs/ext2_extern.h b/sys/gnu/fs/ext2fs/ext2_extern.h index 34171b2..f00cd1e 100644 --- a/sys/gnu/fs/ext2fs/ext2_extern.h +++ b/sys/gnu/fs/ext2fs/ext2_extern.h @@ -42,6 +42,19 @@ #ifndef _SYS_GNU_EXT2FS_EXT2_EXTERN_H_ #define _SYS_GNU_EXT2FS_EXT2_EXTERN_H_ +/* + * Sysctl values for the ext2fs filesystem. + */ +#define EXT2FS_CLUSTERREAD 1 /* cluster reading enabled */ +#define EXT2FS_CLUSTERWRITE 2 /* cluster writing enable */ +#define EXT2FS_MAXID 3 /* number of valid ext2fs ids */ + +#define EXT2FS_NAMES {\ + {0, 0}, \ + { "doclusterread", CTLTYPE_INT }, \ + { "doculsterwrite", CTLTYPE_INT }, \ +} + struct dinode; struct ext2_inode; struct inode; diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c index 9fa6e3a..4045fb6 100644 --- a/sys/gnu/fs/ext2fs/ext2_vnops.c +++ b/sys/gnu/fs/ext2fs/ext2_vnops.c @@ -236,24 +236,30 @@ static struct vnodeopv_desc ext2fs_fifoop_opv_desc = /* * Enabling cluster read/write operations. */ +#if defined(__FreeBSD__) +static int doclusterread = 1; +static int doclusterwrite = 1; +#include <sys/sysctl.h> +SYSCTL_NODE(_vfs, MOUNT_EXT2FS, ext2fs, CTLFLAG_RW, 0, "EXT2FS filesystem"); +SYSCTL_INT(_vfs_ext2fs, EXT2FS_CLUSTERREAD, doclusterread, + CTLFLAG_RW, &doclusterread, 0, ""); +SYSCTL_INT(_vfs_ext2fs, EXT2FS_CLUSTERWRITE, doclusterwrite, + CTLFLAG_RW, &doclusterwrite, 0, ""); +#else /* !FreeBSD */ #ifdef DEBUG +static int doclusterread = 0; +static int doclusterwrite = 1; #include <sys/sysctl.h> -static int doclusterread = 1; SYSCTL_INT(_debug, 11, doclusterread, CTLFLAG_RW, &doclusterread, 0, ""); -static int doclusterwrite = 1; SYSCTL_INT(_debug, 12, doclusterwrite, CTLFLAG_RW, &doclusterwrite, 0, ""); -#endif - -#if defined(__FreeBSD__) -#define doclusterwrite 1 -#define doclusterread 1 -#else +#else /* !DEBUG */ /* doclusterwrite is being tested note that reallocblks is called when it's on, but this is not implemented */ #define doclusterwrite 0 /* doclusterread should work with new pagemove */ #define doclusterread 1 -#endif +#endif /* DEBUG */ +#endif /* FreeBSD */ #include <gnu/ext2fs/ext2_readwrite.c> |