All of lore.kernel.org
 help / color / mirror / Atom feed
From: aq <aquynh@gmail.com>
To: Rusty Russell <rusty@rustcorp.com.au>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: [PATCH] xenstore library revert and fixes
Date: Tue, 14 Jun 2005 21:50:18 -0700	[thread overview]
Message-ID: <9cde8bff05061421506359c456@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1031 bytes --]

This patch reverts changes in the last patch on xenstore library
(which puts xs_ prefix to some private functions). Besides, it move
some part of xs_lib.h to xs.h, and fixes a typo on macro definition in
xs_lib.h (_XR_LIB_H). And xs_lib.h will not be installed into
/usr/include any more.

Is this fine, Rusty?

Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>


$ diffstat xenstore.patch 
 Makefile                        |    2 +-
 tools/xenstore/Makefile         |    1 -
 tools/xenstore/fake_libxc.c     |    2 +-
 tools/xenstore/xenstored_core.c |   18 +++++++++---------
 tools/xenstore/xenstored_test.h |    2 +-
 tools/xenstore/xs.c             |   14 +++++++-------
 tools/xenstore/xs.h             |   22 +++++++++++++++++++---
 tools/xenstore/xs_lib.c         |    8 ++++----
 tools/xenstore/xs_lib.h         |   30 ++++++++----------------------
 tools/xenstore/xs_random.c      |    8 ++++----
 tools/xenstore/xs_test.c        |    4 ++--
 11 files changed, 56 insertions(+), 55 deletions(-)

[-- Attachment #2: xenstore.patch --]
[-- Type: application/octet-stream, Size: 11872 bytes --]

===== Makefile 1.97 vs edited =====
--- 1.97/Makefile	2005-06-10 17:42:25 +09:00
+++ edited/Makefile	2005-06-15 12:11:53 +09:00
@@ -166,7 +166,7 @@
 	rm -rf $(D)/usr/$(LIBDIR)/share/xen $(D)/usr/$(LIBDIR)/libxenstore*
 	rm -rf $(D)/var/run/xen* $(D)/var/lib/xen*
 	rm -rf $(D)/usr/include/xcs_proto.h $(D)/usr/include/xc.h
-	rm -rf $(D)/usr/include/xs_lib.h $(D)/usr/include/xs.h
+	rm -rf $(D)/usr/include/xs.h
 	rm -rf $(D)/usr/sbin/xcs $(D)/usr/sbin/xcsdump $(D)/usr/sbin/xen*
 	rm -rf $(D)/usr/sbin/netfix
 	rm -rf $(D)/usr/sbin/xfrd $(D)/usr/sbin/xm
===== tools/xenstore/Makefile 1.4 vs edited =====
--- 1.4/tools/xenstore/Makefile	2005-06-10 17:42:25 +09:00
+++ edited/tools/xenstore/Makefile	2005-06-15 11:57:42 +09:00
@@ -97,6 +97,5 @@
 	$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
 	$(INSTALL_DATA) libxenstore.a $(DESTDIR)/usr/$(LIBDIR)
 	$(INSTALL_DATA) xs.h $(DESTDIR)/usr/include
-	$(INSTALL_DATA) xs_lib.h $(DESTDIR)/usr/include
 
 -include $(PROG_DEP)
===== tools/xenstore/fake_libxc.c 1.2 vs edited =====
--- 1.2/tools/xenstore/fake_libxc.c	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/fake_libxc.c	2005-06-15 12:02:53 +09:00
@@ -71,7 +71,7 @@
 		return fd;
 
 	memset(page, 0, sizeof(page));
-	if (!xs_write_all(fd, page, sizeof(page)))
+	if (!write_all(fd, page, sizeof(page)))
 		barf_perror("Failed to write /tmp/xcmap page");
 	
 	return fd;
===== tools/xenstore/xenstored_core.c 1.3 vs edited =====
--- 1.3/tools/xenstore/xenstored_core.c	2005-06-11 00:17:59 +09:00
+++ edited/tools/xenstore/xenstored_core.c	2005-06-15 12:06:03 +09:00
@@ -81,7 +81,7 @@
 		errno = ENOSPC;
 		return false;
 	}
-	return xs_write_all(fd, contents, len);
+	return write_all(fd, contents, len);
 }
 
 int test_mkdir(const char *dir, int perms);
@@ -443,9 +443,9 @@
 	if (!strings)
 		return NULL;
 
-	*num = xs_count_strings(strings, size);
+	*num = count_strings(strings, size);
 	ret = talloc_array(node, struct xs_permissions, *num);
-	if (!xs_strings_to_perms(ret, *num, strings))
+	if (!strings_to_perms(ret, *num, strings))
 		corrupt(NULL, "Permissions corrupt for %s", node);
 
 	return ret;
@@ -460,7 +460,7 @@
 	char buffer[MAX_STRLEN(domid_t) + 1];
 
 	for (*len = 0, i = 0; i < num; i++) {
-		if (!xs_perm_to_string(&perms[i], buffer))
+		if (!perm_to_string(&perms[i], buffer))
 			return NULL;
 
 		strings = talloc_realloc(node, strings, char,
@@ -506,7 +506,7 @@
 	if (!fd)
 		return NULL;
 	talloc_set_destructor(tmppath, destroy_path);
-	if (!xs_write_all(*fd, contents, len))
+	if (!write_all(*fd, contents, len))
 		return NULL;
 
 	return tmppath;
@@ -721,14 +721,14 @@
 	permstr = perms_to_strings(dir, &perms, 1, &len);
 	fd = talloc_open(node_permfile(conn->transaction, node),
 			 O_WRONLY|O_CREAT|O_EXCL, 0640);
-	if (!fd || !xs_write_all(*fd, permstr, len))
+	if (!fd || !write_all(*fd, permstr, len))
 		return false;
 
 	if (data) {
 		char *datapath = node_datafile(conn->transaction, node);
 
 		fd = talloc_open(datapath, O_WRONLY|O_CREAT|O_EXCL, 0640);
-		if (!fd || !xs_write_all(*fd, data, datalen))
+		if (!fd || !write_all(*fd, data, datalen))
 			return false;
 	}
 
@@ -878,7 +878,7 @@
 	char *node;
 	struct xs_permissions *perms;
 
-	num = xs_count_strings(in->buffer, in->used);
+	num = count_strings(in->buffer, in->used);
 	if (num < 2)
 		return send_error(conn, EINVAL);
 
@@ -898,7 +898,7 @@
 		return send_error(conn, errno);
 
 	perms = talloc_array(node, struct xs_permissions, num);
-	if (!xs_strings_to_perms(perms, num, in->buffer))
+	if (!strings_to_perms(perms, num, in->buffer))
 		return send_error(conn, errno);
 
 	if (!set_perms(conn->transaction, node, perms, num))
===== tools/xenstore/xenstored_test.h 1.2 vs edited =====
--- 1.2/tools/xenstore/xenstored_test.h	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/xenstored_test.h	2005-06-15 12:02:53 +09:00
@@ -21,7 +21,7 @@
 
 #ifdef TESTING
 bool test_write_all(int fd, void *contents, unsigned int len);
-#define xs_write_all test_write_all
+#define write_all test_write_all
 
 int test_mkdir(const char *dir, int perms);
 #define mkdir test_mkdir
===== tools/xenstore/xs.c 1.2 vs edited =====
--- 1.2/tools/xenstore/xs.c	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/xs.c	2005-06-15 12:06:03 +09:00
@@ -118,7 +118,7 @@
 
 #ifdef XSTEST
 #define read_all read_all_choice
-#define xs_write_all write_all_choice
+#define write_all write_all_choice
 #endif
 
 static int get_error(const char *errorstring)
@@ -179,11 +179,11 @@
 	ignorepipe.sa_flags = 0;
 	sigaction(SIGPIPE, &ignorepipe, &oldact);
 
-	if (!xs_write_all(h->fd, &msg, sizeof(msg)))
+	if (!write_all(h->fd, &msg, sizeof(msg)))
 		goto fail;
 
 	for (i = 0; i < num_vecs; i++)
-		if (!xs_write_all(h->fd, iovec[i].iov_base, iovec[i].iov_len))
+		if (!write_all(h->fd, iovec[i].iov_base, iovec[i].iov_len))
 			goto fail;
 
 	/* Watches can have fired before reply comes: daemon detects
@@ -253,7 +253,7 @@
 		return NULL;
 
 	/* Count the strings. */
-	*num = xs_count_strings(strings, len);
+	*num = count_strings(strings, len);
 
 	/* Transfer to one big alloc for easy freeing. */
 	ret = malloc(*num * sizeof(char *) + len);
@@ -342,7 +342,7 @@
 		return NULL;
 
 	/* Count the strings: each one perms then domid. */
-	*num = xs_count_strings(strings, len);
+	*num = count_strings(strings, len);
 
 	/* Transfer to one big alloc for easy freeing. */
 	ret = malloc(*num * sizeof(struct xs_permissions));
@@ -351,7 +351,7 @@
 		return NULL;
 	}
 
-	if (!xs_strings_to_perms(ret, *num, strings)) {
+	if (!strings_to_perms(ret, *num, strings)) {
 		free_no_errno(ret);
 		ret = NULL;
 	}
@@ -376,7 +376,7 @@
 	for (i = 0; i < num_perms; i++) {
 		char buffer[MAX_STRLEN(domid_t)+1];
 
-		if (!xs_perm_to_string(&perms[i], buffer))
+		if (!perm_to_string(&perms[i], buffer))
 			goto unwind;
 
 		iov[i+1].iov_base = strdup(buffer);
===== tools/xenstore/xs.h 1.1 vs edited =====
--- 1.1/tools/xenstore/xs.h	2005-06-07 19:57:29 +09:00
+++ edited/tools/xenstore/xs.h	2005-06-15 13:22:36 +09:00
@@ -1,8 +1,7 @@
-#ifndef _XS_H
-#define _XS_H
 /* 
     Xen Store Daemon providing simple tree-like database.
     Copyright (C) 2005 Rusty Russell IBM Corporation
+    Modifies 2005 Nguyen Anh Quynh <aquynh@gmail.com>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -18,9 +17,26 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
+#ifndef _XS_H
+#define _XS_H
+
+#include <xc.h>
 
 /* On failure, these routines set errno. */
-#include "xs_lib.h"
+enum xs_perm_type {
+	XS_PERM_NONE = 0,
+	XS_PERM_READ = 1,
+	XS_PERM_WRITE = 2,
+	/* Internal use. */
+	XS_PERM_CREATE = 4,
+	XS_PERM_OWNER = 8
+};
+
+struct xs_permissions
+{
+	domid_t id;
+	enum xs_perm_type perms;
+};
 
 struct xs_handle;
 
===== tools/xenstore/xs_lib.c 1.2 vs edited =====
--- 1.2/tools/xenstore/xs_lib.c	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/xs_lib.c	2005-06-15 12:06:03 +09:00
@@ -48,7 +48,7 @@
 }
 
 /* Simple routines for writing to sockets, etc. */
-bool xs_write_all(int fd, const void *data, unsigned int len)
+bool write_all(int fd, const void *data, unsigned int len)
 {
 	while (len) {
 		int done;
@@ -66,7 +66,7 @@
 }
 
 /* Convert strings to permissions.  False if a problem. */
-bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
+bool strings_to_perms(struct xs_permissions *perms, unsigned int num,
 		      const char *strings)
 {
 	const char *p;
@@ -104,7 +104,7 @@
 }
 
 /* Convert permissions to a string (up to len MAX_STRLEN(domid_t)+1). */
-bool xs_perm_to_string(const struct xs_permissions *perm, char *buffer)
+bool perm_to_string(const struct xs_permissions *perm, char *buffer)
 {
 	switch (perm->perms) {
 	case XS_PERM_WRITE:
@@ -128,7 +128,7 @@
 }
 
 /* Given a string and a length, count how many strings (nul terms). */
-unsigned int xs_count_strings(const char *strings, unsigned int len)
+unsigned int count_strings(const char *strings, unsigned int len)
 {
 	unsigned int num;
 	const char *p;
===== tools/xenstore/xs_lib.h 1.2 vs edited =====
--- 1.2/tools/xenstore/xs_lib.h	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/xs_lib.h	2005-06-15 12:22:04 +09:00
@@ -1,5 +1,3 @@
-#ifndef _XR_LIB_H
-#define _XR_LIB_H
 /* 
     Common routines between Xen store user library and daemon.
     Copyright (C) 2005 Rusty Russell IBM Corporation
@@ -18,26 +16,14 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
+#ifndef _XS_LIB_H
+#define _XS_LIB_H
+
 #include <stdbool.h>
 #include <limits.h>
-#include <xc.h>
+#include "xs.h"
 
 /* Bitmask of permissions. */
-enum xs_perm_type {
-	XS_PERM_NONE = 0,
-	XS_PERM_READ = 1,
-	XS_PERM_WRITE = 2,
-	/* Internal use. */
-	XS_PERM_CREATE = 4,
-	XS_PERM_OWNER = 8,
-};
-
-struct xs_permissions
-{
-	domid_t id;
-	enum xs_perm_type perms;
-};
-
 /* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
 #define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
 
@@ -48,16 +34,16 @@
 const char *xs_daemon_transactions(void);
 
 /* Simple write function: loops for you. */
-bool xs_write_all(int fd, const void *data, unsigned int len);
+bool write_all(int fd, const void *data, unsigned int len);
 
 /* Convert strings to permissions.  False if a problem. */
-bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
+bool strings_to_perms(struct xs_permissions *perms, unsigned int num,
 		      const char *strings);
 
 /* Convert permissions to a string (up to len MAX_STRLEN(domid_t)+1). */
-bool xs_perm_to_string(const struct xs_permissions *perm, char *buffer);
+bool perm_to_string(const struct xs_permissions *perm, char *buffer);
 
 /* Given a string and a length, count how many strings (nul terms). */
-unsigned int xs_count_strings(const char *strings, unsigned int len);
+unsigned int count_strings(const char *strings, unsigned int len);
 
 #endif /* _XS_LIB_H */
===== tools/xenstore/xs_random.c 1.2 vs edited =====
--- 1.2/tools/xenstore/xs_random.c	2005-06-10 22:49:32 +09:00
+++ edited/tools/xenstore/xs_random.c	2005-06-15 12:06:03 +09:00
@@ -223,10 +223,10 @@
 		release_file(perms, size);
 		return ret;
 	}
-	*num = xs_count_strings(perms, size);
+	*num = count_strings(perms, size);
 
 	ret = new_array(struct xs_permissions, *num);
-	if (!xs_strings_to_perms(ret, *num, perms))
+	if (!strings_to_perms(ret, *num, perms))
 		barf("Reading permissions from %s", permfile);
 	release_file(perms, size);
 	return ret;
@@ -267,7 +267,7 @@
 	for (i = 0; i < num; i++) {
 		char buffer[100];
 
-		if (!xs_perm_to_string(&perms[i], buffer)) {
+		if (!perm_to_string(&perms[i], buffer)) {
 			int saved_errno = errno;
 			close(fd);
 			errno = saved_errno;
@@ -536,7 +536,7 @@
 		ret = talloc_asprintf_append(ret, "%s%s: ", spacing, dir[i]);
 		for (j = 0; j < numperms; j++) {
 			char buffer[100];
-			if (!xs_perm_to_string(&perms[j], buffer))
+			if (!perm_to_string(&perms[j], buffer))
 				barf("perm to string");
 			ret = talloc_asprintf_append(ret, "%s ", buffer);
 		}
===== tools/xenstore/xs_test.c 1.3 vs edited =====
--- 1.3/tools/xenstore/xs_test.c	2005-06-11 00:17:59 +09:00
+++ edited/tools/xenstore/xs_test.c	2005-06-15 12:05:15 +09:00
@@ -153,7 +153,7 @@
 {
 	if (fd == -2)
 		return write_all_shmem(fd, data, len);
-	return xs_write_all(fd, data, len);
+	return write_all(fd, data, len);
 }
 
 /* We want access to internal functions. */
@@ -491,7 +491,7 @@
 		printf("%s%s: ", spacing, dir[i]);
 		for (j = 0; j < numperms; j++) {
 			char buffer[100];
-			if (!xs_perm_to_string(&perms[j], buffer))
+			if (!perm_to_string(&perms[j], buffer))
 				barf("perm to string");
 			printf("%s ", buffer);
 		}

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

             reply	other threads:[~2005-06-15  4:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-15  4:50 aq [this message]
2005-06-15  6:33 ` [PATCH] xenstore library revert and fixes Rusty Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9cde8bff05061421506359c456@mail.gmail.com \
    --to=aquynh@gmail.com \
    --cc=rusty@rustcorp.com.au \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.