aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-01-13 18:19:29 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-18 17:54:51 +0000
commit26396016aedeeebd42cfa833b3ae642e61154dc2 (patch)
tree896163ccfd790303f62ce989415d6241f0342e7c /meta/recipes-devtools/pseudo
parent57bab3315cca255e43abb3aced01cf29e5fcac55 (diff)
downloadopenembedded-core-26396016aedeeebd42cfa833b3ae642e61154dc2.tar.gz
pseudo: Update to the latest upstream version
Update pseudo to the latest version to resolve a number of optimization defects. The problems were present on both 64-bit and 32-bit systems, but generally only caused issues on 32-bit hosts. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/recipes-devtools/pseudo')
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch235
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb2
2 files changed, 1 insertions, 236 deletions
diff --git a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch b/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
deleted file mode 100644
index d8c229541e..0000000000
--- a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From 895fa7e359e8026a608fba052c2994e42901e45f Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@windriver.com>
-Date: Fri, 17 Dec 2010 01:23:47 +0000
-Subject: Revert "Add a cache of the last object found in pseudo_op"
-
-This reverts commit 49d4d35918d457b0e9206679ecad3b9c84f11e66.
-
-Conflicts:
-
- ChangeLog.txt
----
-diff --git a/ChangeLog.txt b/ChangeLog.txt
-index 1db8c7d..200b32e 100644
---- a/ChangeLog.txt
-+++ b/ChangeLog.txt
-@@ -9,7 +9,6 @@
- * (mhatle) as a result of profiling, optimize inode search
- * (mhatle) rearrange the pseudo_op file data operations to reduce
- the number of selects.
-- * (mhatle) add the ability to cache the last select result
- * (mhatle) change the indexing in pseudo_db.c
-
- 2010-12-14:
-diff --git a/pseudo.c b/pseudo.c
-index 3979fd8..6b965be 100644
---- a/pseudo.c
-+++ b/pseudo.c
-@@ -425,9 +425,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- int found_path = 0, found_ino = 0;
- int prefer_ino = 0;
-
-- static pseudo_msg_t cache_msg = { .op = 0 };
-- static char * cache_path = NULL;
--
- if (!msg)
- return 1;
-
-@@ -471,59 +468,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
-
- /* Lookup the full path, with inode and dev if available */
- if (msg->pathlen && msg->dev && msg->ino) {
-- if (cache_msg.pathlen == msg->pathlen &&
-- cache_msg.dev == msg->dev &&
-- cache_msg.ino == msg->ino &&
-- !strcmp(cache_path, msg->path)) {
-- /* Found it in the cache! */
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_file_exact\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
--
-- by_path = cache_msg;
-- by_ino = cache_msg;
-- /* no need to restore msg */
-- found_path = 1;
-- found_ino = 1;
-- path_by_ino = msg->path;
-- } else if (!pdb_find_file_exact(msg)) {
-+ if (!pdb_find_file_exact(msg)) {
- /* restore header contents */
- by_path = *msg;
- by_ino = *msg;
-@@ -539,51 +484,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- if (msg->pathlen) {
- /* for now, don't canonicalize paths anymore */
- /* used to do it here, but now doing it in client */
-- if (cache_msg.pathlen == msg->pathlen &&
-- !strcmp(cache_path, msg->path)) {
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_path\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
-- by_path = cache_msg;
-- found_path = 1;
-- } else if (!pdb_find_file_path(msg)) {
-+ if (!pdb_find_file_path(msg)) {
- by_path = *msg;
- found_path = 1;
- } else {
-@@ -594,51 +495,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- }
- /* search on original inode -- in case of mismatch */
- if (msg->dev && msg->ino) {
-- if (cache_msg.dev == msg->dev &&
-- cache_msg.ino == msg->ino) {
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_ino\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
-- found_ino = 1;
-- path_by_ino = cache_path;
-- } else if (!pdb_find_file_dev(&by_ino)) {
-+ if (!pdb_find_file_dev(&by_ino)) {
- found_ino = 1;
- path_by_ino = pdb_get_file_path(&by_ino);
- }
-@@ -1016,28 +873,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- break;
- }
-
-- /* Cache previous values... */
-- if (msg->op != OP_MAY_UNLINK &&
-- msg->op != OP_DID_UNLINK &&
-- msg->op != OP_CANCEL_UNLINK &&
-- msg->op != OP_UNLINK) {
--
-- cache_msg = *msg;
--
-- free(cache_path);
--
-- if (path_by_ino)
-- cache_path = strdup(path_by_ino);
-- else
-- cache_path = strdup(msg->path);
-- } else {
-- cache_msg.pathlen = 0;
-- cache_msg.dev = 0;
-- cache_msg.ino = 0;
-- free(cache_path);
-- cache_path = NULL;
-- }
--
- /* in the case of an exact match, we just used the pointer
- * rather than allocating space
- */
---
-cgit v0.8.3.3-89-gbf82
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index f9b10f0d36..df73696a7e 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -10,7 +10,7 @@ PR = "r16"
SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \
file://static_sqlite.patch \
- file://895fa7e359e8026a608fba052c2994e42901e45f.patch"
+ "
FILES_${PN} = "${libdir}/libpseudo.so ${bindir}/* ${localstatedir}/pseudo"
PROVIDES += "virtual/fakeroot"