cluster: STABLE3 - rgmanager: drop obsoleted tools
Fabio M. Di Nitto
fabbione@fedoraproject.org
Thu Jul 9 06:59:00 GMT 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=2e3e473fb82564c4b340576145eb74564de7fc15
Commit: 2e3e473fb82564c4b340576145eb74564de7fc15
Parent: 7bbf2de22435d690b1a84bbd6064cec59c8e98a0
Author: Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate: Thu Jul 9 08:46:34 2009 +0200
Committer: Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Thu Jul 9 08:46:34 2009 +0200
rgmanager: drop obsoleted tools
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
rgmanager/man/cluarp.8 | 15 ---
rgmanager/man/clunfsops.8 | 14 --
rgmanager/src/resources/nfsexport.sh | 7 -
rgmanager/src/utils/Makefile | 2 -
rgmanager/src/utils/cluarp.c | 158 ------------------------
rgmanager/src/utils/clunfsops.c | 224 ----------------------------------
rgmanager/src/utils/syscall.h | 165 -------------------------
7 files changed, 0 insertions(+), 585 deletions(-)
diff --git a/rgmanager/man/cluarp.8 b/rgmanager/man/cluarp.8
deleted file mode 100644
index 5bc912e..0000000
--- a/rgmanager/man/cluarp.8
+++ /dev/null
@@ -1,15 +0,0 @@
-.TH "cluarp" "8" "Jan 2005" "" "Red Hat Cluster Suite Internal Commands"
-.SH "NAME"
-cluarp \- Send a gratuitous ARP
-.SH "WARNING"
-Use of this command can cause the cluster to malfunction. Do not run this
-without instructions from Red Hat Support.
-.SH "DESCRIPTION"
-.PP
-The
-.B cluarp
-command is an internal command used to broadcast new ARP information when
-a service IP address is configured by the Service Manager.
-
-.SH "SEE ALSO"
-arp(8)
diff --git a/rgmanager/man/clunfsops.8 b/rgmanager/man/clunfsops.8
deleted file mode 100644
index ba768e4..0000000
--- a/rgmanager/man/clunfsops.8
+++ /dev/null
@@ -1,14 +0,0 @@
-.TH "clunfsops" "8" "Jan 2005" "" "Red Hat Cluster Suite Internal Commands"
-.SH "NAME"
-clunfsops \- Manipulate NFS
-.SH "WARNING"
-Use of this command can cause the cluster to malfunction. Do not run this
-without instructions from Red Hat Support.
-.SH "DESCRIPTION"
-.PP
-The
-.B clunfsops
-command is an internal command used to manipulate clustered NFS services.
-
-.SH "SEE ALSO"
-nfs(5), rpc.nfsd(8)
diff --git a/rgmanager/src/resources/nfsexport.sh b/rgmanager/src/resources/nfsexport.sh
index cd5bfdf..b013a5e 100644
--- a/rgmanager/src/resources/nfsexport.sh
+++ b/rgmanager/src/resources/nfsexport.sh
@@ -235,11 +235,4 @@ validate-all)
;;
esac
-#
-# Flush NFS request queue. This might be done in the ip resource in the
-# future, but keep this around for now.
-#
-# clunfsops $nfsop_arg -d ${OCF_RESKEY_device}
-#
-
exit $rv
diff --git a/rgmanager/src/utils/Makefile b/rgmanager/src/utils/Makefile
index 48f3885..b2073c3 100644
--- a/rgmanager/src/utils/Makefile
+++ b/rgmanager/src/utils/Makefile
@@ -15,8 +15,6 @@ include $(OBJDIR)/make/clean.mk
include $(OBJDIR)/make/install.mk
include $(OBJDIR)/make/uninstall.mk
-DISABLEDTARGETS= cluarp
-
CFLAGS += -fPIC -D_GNU_SOURCE
CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${dlmincdir}
CFLAGS += -I${logtincdir} -I${ncursesincdir}
diff --git a/rgmanager/src/utils/cluarp.c b/rgmanager/src/utils/cluarp.c
deleted file mode 100644
index 08f123e..0000000
--- a/rgmanager/src/utils/cluarp.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/** @file
- * Utility to generate a gratuitous ARP request on a given interface.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/socket.h>
-#include <netinet/if_ether.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-#define IP_ADDR_LEN 4
-#define DEFAULT_DEVICE "eth0"
-#define SA_DATA_LEN 14 /* Taken from include/linux/socket.h */
-
-/**
- * ARP frame structure.
- */
-struct arp_frame {
- u_char ether_dest_hw_addr[ETH_ALEN];
- u_char ether_src_hw_addr[ETH_ALEN];
- u_short ether_packet_type;
- u_short arp_hw_type;
- u_short arp_proto_type;
- u_char arp_hlen;
- u_char arp_plen;
- u_short op;
- u_char arp_sender_ha[ETH_ALEN];
- u_char arp_sender_ip[IP_ADDR_LEN];
- u_char arp_target_ha[ETH_ALEN];
- u_char arp_target_ip[IP_ADDR_LEN];
- u_char padding[18];
-};
-
-
-/**
- * Display usage information.
- */
-void usage(void)
-{
- fprintf(stdout,
- "myarp <src_ip> <src_hw> <targ_ip> <targ_hw> [device]\n");
-}
-
-
-/**
- * Change a hardware ethernet address into an array of characters.
- * Warning: Unchecked bounds in copy_to.
- *
- * @param addr_string NULL-terminated string in the format:
- * "aa:bb:cc:dd:ee:ff"
- * @param copy_to Pre-allocated array of at least 6 bytes,
- * preferrably set to 0.
- */
-void
-parse_hw_addr(char *addr_string, u_char *copy_to)
-{
- char *c = addr_string, p, result=' ';
- int i;
-
- for (i = 0; i < ETH_ALEN; i++) {
- /* first digit */
- if (*c == ':')
- c++;
- p = tolower(*c++);
- if (isdigit(p))
- result = p - '0';
- else if (p >= 'a' && p <= 'z')
- result = p - 'a' + 10;
- *copy_to = result << 4;
- /* second digit */
- if (*c == ':')
- c++;
- p = tolower(*c++);
- if (isdigit(p))
- result = p - '0';
- else if (p >= 'a' && p <= 'z')
- result = p - 'a' + 10;
- *copy_to++ |= result;
- }
- return;
-}
-
-
-/**
- * Change an IP address into an array of characters.
- * Warning: Unchecked bounds in copy_to.
- *
- * @param addr_string NULL-terminated string in the format:
- * "10.1.2.3" (standard IPv4 dotted-quad).
- * @param copy_to Pre-allocated array of at least 4 bytes,
- * preferrably set to 0.
- */
-void
-parse_ip_addr(char *addr_string, u_char *copy_to)
-{
- unsigned long inaddr;
-
- inaddr = inet_addr(addr_string);
- memcpy(copy_to, &inaddr, IP_ADDR_LEN);
-
-}
-
-
-/**
- * Driver for cluarp.
- *
- * @return 0 on success, 1 on any failure.
- */
-int
-main(int argc, char **argv)
-{
-
- int s;
- struct arp_frame arp_packet;
- struct sockaddr sockaddr;
-/* unsigned long inaddr; */
-
- if ((argc != 5) && (argc != 6)) {
- usage();
- exit(1);
- }
-
- bzero(&arp_packet, sizeof(struct arp_frame));
-
- parse_ip_addr(argv[1], arp_packet.arp_sender_ip);
- parse_hw_addr(argv[2], arp_packet.ether_src_hw_addr);
- parse_hw_addr(argv[2], arp_packet.arp_sender_ha);
- parse_ip_addr(argv[3], arp_packet.arp_target_ip);
- parse_hw_addr(argv[4], arp_packet.ether_dest_hw_addr);
- parse_hw_addr(argv[4], arp_packet.arp_target_ha);
-
- arp_packet.ether_packet_type = htons(ETH_P_ARP);
- arp_packet.arp_hw_type = htons(ETH_P_802_3);
- arp_packet.arp_proto_type = htons(ETH_P_IP);
- arp_packet.arp_hlen = ETH_ALEN;
- arp_packet.arp_plen = IP_ADDR_LEN;
- arp_packet.op = htons(ARPOP_REPLY);
-
- s = socket(AF_PACKET,SOCK_PACKET,htons(ETH_P_RARP));
-
- if (argc == 5)
- strncpy(sockaddr.sa_data, DEFAULT_DEVICE, SA_DATA_LEN);
- else
- strncpy(sockaddr.sa_data, argv[5], SA_DATA_LEN);
-
- if (sendto(s, &arp_packet, sizeof(struct arp_frame), 0,
- &sockaddr, sizeof(struct sockaddr)) < 0) {
- perror("sendto");
- exit(1);
- }
- exit(0);
-}
-
-
diff --git a/rgmanager/src/utils/clunfsops.c b/rgmanager/src/utils/clunfsops.c
deleted file mode 100644
index 2a2d16a..0000000
--- a/rgmanager/src/utils/clunfsops.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/** @file
- * This program simply parses command line args and then calls the
- * corresponding system call.
- * These operations are for NFS failover semantics in an attempt to
- * shield clients from unnecessary stale file handle errors.
- *
- * File Origin - this command was reverse-engineered by starting with the
- * GPL syscall interfaces defined in <linux/nfsd/syscall.h>.
- */
-
-#ifdef X86_64
-#define __ASM_SYSTEM_H
-#define __ASM_X86_64_PROCESSOR_H
-#endif
-
-
-#define _LVM_H_INCLUDE /* XXX */
-#include <linux/list.h>
-#include <linux/kdev_t.h>
-#undef _LVM_H_INCLUDE
-#include <linux/socket.h>
-#include <linux/types.h>
-
-#ifdef S390
-#define __ssize_t_defined
-#endif
-
-#include <linux/unistd.h>
-/*
- * lhh - someone thought it would be cute to remove the #ifdef __KERNEL__
- * around some of the system includes. Now we have to fudge the #inclusion
- * of linux/types.h _AS_ sys/types.h just to compile.
- */
-#define _SYS_TYPES_H
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/param.h>
-#include <signal.h>
-#include <syslog.h>
-
-/* XXX - should be this file,
-#include <linux/nfsd/syscall.h>
- */
-/*
- * But, temporarily include this file to simplify the build on
- * systems which aren't yet installed and therefore don't have the
- * header file w/ updated defines for new nfs syscalls.
- */
-#include "syscall.h"
-
-/*
- * Cluster include
- */
-#include <logging.h>
-
-
-/* Forward routine declarations. */
-static void usage(const char * cmd);
-int validateDevice(char *name);
-int nfsctl(int cmd, struct nfsctl_arg * argp, void * resp);
-
-/* Program Globals */
-static int verbose = 0;
-static char *cmdname;
-
-static void
-usage(const char * cmd)
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "usage: %s [-ehsv] "
- "[-d deviceName] "
- "\n", cmd);
- fprintf(stderr, "Options:\n");
- fprintf(stderr, "-e\t\tInitiate flush of pending requests.\n");
- fprintf(stderr, "-h\t\tPrints this help message.\n");
- fprintf(stderr, "-s\t\tCancel pending flush of pending requests.\n");
- fprintf(stderr, "-v\t\tIncreases verbose debugging level.\n");
- fprintf(stderr, "\n");
- fprintf(stderr, "NOTE: this command will only successfully run\n");
- fprintf(stderr, " if the correspoinding NFS kernel patches\n");
- fprintf(stderr, " are built into the kernel.\n");
- fprintf(stderr, "\n");
- exit(1);
-}
-
-int
-main(int argc, char** argv)
-{
- extern char * optarg;
- extern int optind, opterr, optopt;
- int errors = 0;
- int errno_save = 0;
- int nfsSyscallNum = 0;
- char *nfsSyscallString = "BOGUS";
- char *deviceName = NULL;
- int c;
- struct nfsctl_arg nfsctlarg;
- int retval;
-
- if (geteuid() != (uid_t)0) {
- logt_print_and_print(LOG_ERR, "%s must be run as the root user.\n",
- argv[0]);
- exit(1);
- }
- if ((cmdname = strrchr(argv[0], '/')) == NULL) {
- cmdname = argv[0];
- }
- else{
- ++cmdname;
- }
-
- while ((c = getopt(argc, argv, "d:ehsv")) != -1) {
- switch(c) {
- case 'd': deviceName = optarg;
- break;
- case 'e':
- nfsSyscallNum = NFSCTL_FODROP;
- nfsSyscallString = "NFSCTL_FODROP";
- break;
- case 'h': usage(cmdname);
- break;
- case 's':
- nfsSyscallNum = NFSCTL_STOPFODROP;
- nfsSyscallString = "NFSCTL_STOPFODROP";
- break;
- case 'v': ++verbose;
- break;
- default: ++errors;
- break;
- }
- }
- if (nfsSyscallNum == 0) {
- logt_print_and_print(LOG_ERR, "%s: No NFS syscall has been "
- "specified.\n",cmdname);
- ++errors;
- }
- if (deviceName == NULL) {
- logt_print_and_print(LOG_ERR, "%s: No device name has been "
- "specified.\n", cmdname);
- ++errors;
- }
- if (validateDevice(deviceName)) {
- ++errors;
- }
- if (errors) {
- usage(cmdname);
- }
- if (verbose) {
- printf("Calling: nfsSyscall = %s, deviceName = %s.\n",
- nfsSyscallString, deviceName);
- }
- /*
- * Setup the data structure expected by the kernel.
- */
- memset(&nfsctlarg, 0, sizeof(struct nfsctl_arg));
- nfsctlarg.ca_version = NFSCTL_VERSION;
- strncpy(nfsctlarg.ca_fodrop.fo_dev, deviceName,
- sizeof(nfsctlarg.ca_fodrop.fo_dev));
- nfsctlarg.ca_fodrop.fo_timeout = 1000; /* range 600-1200 */
- /*
- * Jump into the kernel syscall.
- */
- retval = nfsctl(nfsSyscallNum, &nfsctlarg, NULL);
- if (retval != 0) {
- /* logt_print_and_print calls syslog(), which modifies errno */
- errno_save = errno;
- logt_print_and_print(LOG_WARNING, "#72: %s: NFS syscall %s failed: "
- "%s.\n", cmdname, nfsSyscallString,
- strerror(errno_save));
- if (errno_save == EINVAL) {
- logt_print_and_print(LOG_WARNING,
- "#73: %s: Kernel may not "
- "have NFS failover enhancements.\n",
- cmdname);
- }
- exit(errno_save);
- }
- else {
- if (verbose) {
- printf("SUCCESS: nfsSyscall = %s, deviceName = %s.\n",
- nfsSyscallString, deviceName);
- }
- }
- exit(0);
-}
-
-/*
- * Validate the device parameter. Make sure it refers to a block
- * device special file.
- * Returns: 0=success, nonzero=error.
- */
-int
-validateDevice(char *name) {
- struct stat stat_st, *stat_ptr;
- stat_ptr = &stat_st;
-
- if (stat(name, stat_ptr) < 0) {
- logt_print_and_print(LOG_ERR, "%s: Unable to stat %s.\n", cmdname, name);
- return(1);
- }
- /*
- * Verify that its a block or character special file.
- */
- if (S_ISBLK(stat_st.st_mode) == 0) {
- logt_print_and_print(LOG_ERR, "%s: %s is not a block special file.\n", cmdname, name);
- return(1);
- }
- return(0); // success
-}
-
-/*
- * Routine to format make appropriate NFS syscall.
- * Leveraged from nfs-utils.
- */
-int
-nfsctl(int cmd, struct nfsctl_arg * argp, void * resp)
-{
- return syscall (__NR_nfsservctl, cmd, argp, resp);
-}
-
diff --git a/rgmanager/src/utils/syscall.h b/rgmanager/src/utils/syscall.h
deleted file mode 100644
index 4c2541e..0000000
--- a/rgmanager/src/utils/syscall.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/** @file
- * Taken from: /usr/include/linux/nfsd/syscall.h (we hope).
- *
- * This file holds all declarations for the knfsd syscall interface.
- */
-
-#ifndef NFSD_SYSCALL_H
-#define NFSD_SYSCALL_H
-
-#include <asm/types.h>
-# include <linux/config.h>
-# include <linux/types.h>
-# include <linux/in.h>
-#include <linux/posix_types.h>
-#include <linux/nfsd/const.h>
-#include <linux/nfsd/export.h>
-// TIMXXX - took out to pacify user level compilation.
-//#include <linux/nfsd/nfsfh.h>
-#include <linux/nfsd/auth.h>
-
-/*
- * Version of the syscall interface
- */
-#define NFSCTL_VERSION 0x0201
-
-/*
- * These are the commands understood by nfsctl().
- */
-#define NFSCTL_SVC 0 /* This is a server process. */
-#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */
-#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */
-#define NFSCTL_EXPORT 3 /* export a file system. */
-#define NFSCTL_UNEXPORT 4 /* unexport a file system. */
-#define NFSCTL_UGIDUPDATE 5 /* update a client's uid/gid map. */
-#define NFSCTL_GETFH 6 /* get an fh by ino (used by mountd) */
-#define NFSCTL_GETFD 7 /* get an fh by path (used by mountd) */
-#define NFSCTL_GETFS 8 /* get an fh by path with max FH len */
-#define NFSCTL_FODROP 50 /* drop requests during failover */
-#define NFSCTL_STOPFODROP 51 /* stop dropping requests */
-#define NFSCTL_FOLOCKS 52 /* drop locks for failover */
-#define NFSCTL_FOGRACE 53 /* set grace period for failover */
-#define NFSCTL_FOSERV 54 /* remove service mon for failover */
-#define NFSCTL_FO_MIN NFSCTL_FODROP
-#define NFSCTL_FO_MAX NFSCTL_FOSERV
-
-/* SVC */
-struct nfsctl_svc {
- unsigned short svc_port;
- int svc_nthreads;
-};
-
-/* ADDCLIENT/DELCLIENT */
-struct nfsctl_client {
- char cl_ident[NFSCLNT_IDMAX+1];
- int cl_naddr;
- struct in_addr cl_addrlist[NFSCLNT_ADDRMAX];
- int cl_fhkeytype;
- int cl_fhkeylen;
- unsigned char cl_fhkey[NFSCLNT_KEYMAX];
-};
-
-/* EXPORT/UNEXPORT */
-struct nfsctl_export {
- char ex_client[NFSCLNT_IDMAX+1];
- char ex_path[NFS_MAXPATHLEN+1];
- __kernel_dev_t ex_dev;
- __kernel_ino_t ex_ino;
- int ex_flags;
- __kernel_uid_t ex_anon_uid;
- __kernel_gid_t ex_anon_gid;
-};
-
-/* UGIDUPDATE */
-struct nfsctl_uidmap {
- char * ug_ident;
- __kernel_uid_t ug_uidbase;
- int ug_uidlen;
- __kernel_uid_t * ug_udimap;
- __kernel_gid_t ug_gidbase;
- int ug_gidlen;
- __kernel_gid_t * ug_gdimap;
-};
-
-/* GETFH */
-struct nfsctl_fhparm {
- struct sockaddr gf_addr;
- __kernel_dev_t gf_dev;
- __kernel_ino_t gf_ino;
- int gf_version;
-};
-
-/* GETFD */
-struct nfsctl_fdparm {
- struct sockaddr gd_addr;
- char gd_path[NFS_MAXPATHLEN+1];
- int gd_version;
-};
-
-/* GETFS - GET Filehandle with Size */
-struct nfsctl_fsparm {
- struct sockaddr gd_addr;
- char gd_path[NFS_MAXPATHLEN+1];
- int gd_maxlen;
-};
-
-/* FODROP/STOPFODROP */
-struct nfsctl_fodrop {
- char fo_dev[NFS_MAXPATHLEN+1];
- __u32 fo_timeout;
-};
-
-/*
- * This is the argument union.
- */
-struct nfsctl_arg {
- int ca_version; /* safeguard */
- union {
- struct nfsctl_svc u_svc;
- struct nfsctl_client u_client;
- struct nfsctl_export u_export;
- struct nfsctl_uidmap u_umap;
- struct nfsctl_fhparm u_getfh;
- struct nfsctl_fdparm u_getfd;
- struct nfsctl_fsparm u_getfs;
- struct nfsctl_fodrop u_fodrop;
- } u;
-#define ca_svc u.u_svc
-#define ca_client u.u_client
-#define ca_export u.u_export
-#define ca_umap u.u_umap
-#define ca_getfh u.u_getfh
-#define ca_getfd u.u_getfd
-#define ca_getfs u.u_getfs
-#define ca_authd u.u_authd
-#define ca_fodrop u.u_fodrop
-};
-
-// TIMXXX - took out to pacify user level compilation.
-//union nfsctl_res {
- //__u8 cr_getfh[NFS_FHSIZE];
- //struct knfsd_fh cr_getfs;
-//};
-
-#ifdef __KERNEL__
-/*
- * Kernel syscall implementation.
- */
-#if defined(CONFIG_NFSD) || defined(CONFIG_NFSD_MODULE)
-extern asmlinkage long sys_nfsservctl(int, void *, void *);
-#else
-#define sys_nfsservctl sys_ni_syscall
-#endif
-extern int exp_addclient(struct nfsctl_client *ncp);
-extern int exp_delclient(struct nfsctl_client *ncp);
-extern int exp_export(struct nfsctl_export *nxp);
-extern int exp_unexport(struct nfsctl_export *nxp);
-extern int exp_fodrop(struct nfsctl_fodrop *nfp);
-extern int exp_stopfodrop(struct nfsctl_fodrop *nfp);
-extern int nfsd_lockd_founlock(struct nfsctl_fodrop *nfp);
-extern int nfsd_lockd_fograce(struct nfsctl_fodrop *nfp);
-extern int nfsd_lockd_foservice(struct nfsctl_fodrop *nfp);
-
-#endif /* __KERNEL__ */
-
-#endif /* NFSD_SYSCALL_H */
More information about the Cluster-cvs
mailing list