aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-08-19more PSEUDO_ROOT_PATHseebs/xattrdbPeter Seebach
2015-08-19one more free of a pseudo_root_path valuePeter Seebach
2015-08-19one more extra freePeter Seebach
2015-08-19more double-free fixesPeter Seebach
2015-08-19one more excess freePeter Seebach
2015-08-19shell typoPeter Seebach
2015-08-19reduce alloc/free cycles for paths.Peter Seebach
2015-08-19slight cleanups and rename for op timePeter Seebach
2015-08-19performance hackPeter Seebach
2015-08-19more profiling tweaksPeter Seebach
2015-08-18fix a missing test for RESULT_SUCCEEDPeter Seebach
2015-08-18more typosPeter Seebach
2015-08-18stupid typosPeter Seebach
2015-08-18try to avoid wrapped lstat from pseudo_utilPeter Seebach
2015-08-18sanity check thingPeter Seebach
2015-08-18use l[gs]etxattr for xattrdbPeter Seebach
2015-08-17sanitize wrapper timePeter Seebach
2015-08-17fix ifdef to correct feature testPeter Seebach
2015-08-17more profiling cleanup, stop using wrapper for xattrPeter Seebach
2015-08-17profiling typo fixes etc.Peter Seebach
2015-08-17dependency fixPeter Seebach
2015-08-17first pass of xattrdbPeter Seebach
2015-08-14offsets.c: #ifndefPeter Seebach
Turns out that we're now specifying _LARGEFILE64_SOURCE in cflags by default which can break the build of offsets, which #defined it manually. Add #ifndef.
2015-08-14profiling cleanupPeter Seebach
Use the structure rather than a bunch of separate variables.
2015-08-13Initial pass on some client profiling.Peter Seebach
The client doesn't have a good way to report performance info, so we add one. Format is fairly naive; dump raw bits into a file at offsets determined by PID, pick up previous data and add more to them so that long builds won't end up wiping out data.
2015-07-171.6.7: fix mkfifopseudo-1.6.7PSEUDO_1_6_7Peter Seebach
Worked for trivial cases, but spuriously closed fd 0 and had other issues. Separated implementations out.
2015-07-161.6.6 (fifo and xattr improvements)pseudo-1.6.6PSEUDO_1_6_6Peter Seebach
2015-07-16Allow fifosPeter Seebach
Some years back, there was a historical reason (lost to the mists of time) for which we had problems if we allowed actual creation of fifos, but so far as we know we don't expect any problems with them now, and there's a bitbake change which would like to be able to use fifos for logging, so let's try enabling them and see what happens.
2015-07-16pseudo.c: Don't truncate xattr data.Peter Seebach
In the case where an "oldpath" is actually the data for an xattr operation, don't truncate it. Trailing slashes should only be removed from things which are actually filenames.
2015-05-04reduce spurious messages about trailing slashespseudo-1.6.5PSEUDO_1_6_5Peter Seebach
There was supposed to be a check for filenames showing up with a trailing slash when the file was not a directory. What actually made it in was a check for a mismatch between "is a directory" and "has trailing slash", which produced spurious messages saying the path had a trailing slash whenever a directory path did *not* have a trailing slash. But that's valid and should not produce diagnostics. Let alone thousands of diagnostics. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
2015-01-22pseudo 1.6.4pseudo-1.6.4PSEUDO_1_6_4Peter Seebach
2015-01-22configure: handle nonexistent prefixPeter Seebach
The (cd $prefix; pwd) only works when the prefix already exists. Check for prefix existing before doing that.
2015-01-151.6.3pseudo-1.6.3PSEUDO_1_6_3Peter Seebach
2015-01-15Clean up the path allocation a bit morePeter Seebach
Having the same logic twice was sorta bugging me. Now the function-like-macro is sorta bugging me, and I'll just let it.
2015-01-14Make --without-passwd-fallback workPeter Seebach
This is derived in significant part from contributions to oe-core by Peter A. Bigot. I reworked the path routine a bit to use an already duplicated string instead of allocating copies of parts of it. The first issue was just that there was a missing antimagic() around some of the path operations. The second is that we wanted to have a way to provide a fallback password file which isn't the host's, but which can be used in the case where the target filesystem hasn't got a password yet, for bootstrapping purposes. (So there's a minimal password file that just has root, basically.) Also, I noticed a design flaw, which is that if you ended up calling pseudo_pwd_lck_open() twice in a row, the second time through, pseudo would first check whether it had a path name for the file (it does), and thus not allocate one, then call the close routine (which frees it and nulls the pointer), then open a new one... and not have a file name, so the next attempt to close it wouldn't unlink the file. This shouldn't ever come up in real code, but it was bugging me. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
2015-01-05Try to handle trailing slashesPeter Seebach
It turns out that "a/" is equivalent to "a/.", and that in particular it should fail when a is not a directory. Pseudo's been silently stripping them and this breaks things. Attempt to fix that, lightly tested.
2014-10-03call this 1.6.2Peter Seebach
2014-10-03Possibly fix strange corruptionsPeter Seebach
Trying to track down problems which sometimes result in files showing up as nameless files, producing clashes later. Looks like there were two issues; one is we were creating links for files that we'd already found by inode. The other is that rename was sending bogus LINK messages in some cases. Also simplified the find_file_dev path to extract the path as part of the initial operation, since there wasn't any case where that wasn't being done immediately afterwards.
2014-10-03further fixups for did_unlinkPeter Seebach
So it turns out that the sanity checks should be skipped on did_unlink, because otherwise if an inode gets reused for a different file type, it'll get nuked. This is pretty rare, but appears to bite us occasionally during debug stripping.
2014-10-03pseudo.c: Suppress probably-spurious diagnosticsPeter Seebach
It turns out that, in the fairly common case where the did-unlink stuff has saved us from worse problems, pseudo produces probably-spurious error messages about the path mismatch when the did-unlink shows up. Change that into a debug message. Also fix a typo in a comment.
2014-10-02pseudo_db.c: use bind_int64 for inodesPeter Seebach
XFS apparently has 64-bit inodes. Our inode data path was *almost* 64-bit clean. This doesn't require a database format change because sqlite3 doesn't distinguish, but it will probably invalidate existing files.db things on XFS. But they were broken anyway.
2014-07-181.6.1pseudo-1.6.1PSEUDO_1_6_1Peter Seebach
2014-07-18be less chattyPeter Seebach
2014-07-17linux/portdefs.h: fix non-x86 buildPeter Seebach
The assumption that a host is either x86_64 or x86_32 does not hold well on target systems.
2014-07-11symbol version tweakspseudo-1.6.0PSEUDO_1_6_0Peter Seebach
We don't want to pick up newer memcpy because pseudo sometimes has to run host binaries even when built against a newer libc.
2014-07-10make xattr work on DarwinSeebs
More complicated, because we actually need to make com.apple stuff work probably.
2014-07-10don't pass -L/usr/libSeebs
The sqlite flags don't need to be present if they don't have meaningful values. I think.
2014-06-13Use constant initializer for staticPeter Seebach
strlen(array) isn't a constant expression, even though gcc can sometimes figure it out at compile time.
2014-06-13Don't follow symlinks for lutimes()Peter Seebach
Also for lstat, but that probably never matters because in Linux you will never actually call lstat without working really hard at it, because you end up calling __lxstat anyway. (Was already doing the right thing for Darwin.)
2014-05-27Typo fixPeter Seebach
So it turns out that if you fix a bug inside an #ifdef that hasn't applied to anything in years, it doesn't actually fix the bug.