History of appfsd.c of 475a868eaeae0c87

History of file appfsd.c at check-in 475a868eaeae0c87

2020-05-15
01:25
Use an environment variable to control debug logging at runtime file: [4ff2357fbb] check-in: [2374e0de64] user: rkeene, branch: trunk, size: 57754 [annotate] [blame] [check-ins using] [diff]
2020-05-12
15:09
Improve debug logging flexibility file: [b81dc3008d] check-in: [e722919c08] user: rkeene, branch: trunk, size: 57664 [annotate] [blame] [check-ins using] [diff]
2019-12-13
00:33
Cleaned up code in preparation for Windows build file: [0494c72e1d] check-in: [fdf89fd103] user: rkeene, branch: trunk, size: 57414 [annotate] [blame] [check-ins using] [diff]
2017-02-22
23:03
Fixed reference counting with the "exec" target file: [b7dddfc0b8] check-in: [fc81c2f879] user: rkeene, branch: trunk, size: 56325 [annotate] [blame] [check-ins using] [diff]
2017-02-06
15:57
Added support for a Tcl "exec" target to be compiled in file: [99975a5e76] check-in: [3d73fc5750] user: rkeene, branch: trunk, size: 56251 [annotate] [blame] [check-ins using] [diff]
2016-07-10
19:05
Fixed typo in debug message file: [f0663dcc45] check-in: [936a791a4a] user: rkeene, branch: trunk, size: 54643 [annotate] [blame] [check-ins using] [diff]
19:05
Updated to finalize a thread that terminated even if there are no current Tcl interpreters associated with it file: [9b20b616c9] check-in: [b03c6db3d1] user: rkeene, branch: trunk, size: 54642 [annotate] [blame] [check-ins using] [diff]
2015-11-19
16:01
Updated initializer to be explicitly unsigned file: [33db21bdfd] check-in: [f905360d64] user: rkeene, branch: trunk, size: 54639 [annotate] [blame] [check-ins using] [diff]
2015-10-14
17:48
Updated to set resource limits for number of open files at startup, if possible file: [55077e4885] check-in: [ea36882e15] user: rkeene, branch: trunk, size: 54638 [annotate] [blame] [check-ins using] [diff]
17:47
Changed mount options to remove "direct_io", which breaks mmap and performed additional cleanups file: [6b6df68529] check-in: [1c47ca9097] user: rkeene, branch: trunk, size: 53475 [annotate] [blame] [check-ins using] [diff]
2015-07-31
03:02
Fixed inode lookup and determination of a file being packaged or not file: [647fdab61a] check-in: [1e2435553a] user: rkeene, branch: trunk, size: 53476 [annotate] [blame] [check-ins using] [diff]
2015-05-12
13:30
Updated to be more subtle with differing inodes, only differ them if the files are different file: [388927f9ca] check-in: [3021e03379] user: rkeene, branch: trunk, size: 53044 [annotate] [blame] [check-ins using] [diff]
2015-05-05
21:58
Updated to give each file owned by a different UID their own inode so the VFS will (maybe) think they are different files file: [59919e0d2e] check-in: [ed7fabb181] user: rkeene, branch: trunk, size: 52917 [annotate] [blame] [check-ins using] [diff]
2015-03-20
01:50
Updated to set umask on startup file: [6a6fdd4f92] check-in: [01c5bfc689] user: rkeene, branch: trunk, size: 52887 [annotate] [blame] [check-ins using] [diff]
2015-03-19
16:09
Allow administrators to provide additional/replaced permissions for files, fixed suidRoot setting file: [fe7e6328bd] check-in: [e9fcc6d8f5] user: rkeene, branch: trunk, size: 52838 [annotate] [blame] [check-ins using] [diff]
2015-03-18
17:20
Added basic support for removing the world/group permissions from files file: [3e9adabf49] check-in: [152a83b125] user: rkeene, branch: trunk, size: 52494 [annotate] [blame] [check-ins using] [diff]
2014-12-29
03:49
Updated to exit in success from "-h" and to ignore the "-v" option file: [7c511aec25] check-in: [ff9238cef4] user: rkeene, branch: trunk, size: 51885 [annotate] [blame] [check-ins using] [diff]
2014-11-18
03:07
Added ignored option for "rw" for fstab support file: [bb0851401c] check-in: [a2d245a487] user: rkeene, branch: trunk, size: 51801 [annotate] [blame] [check-ins using] [diff]
02:56
Added licensing information (MIT License) file: [0194f4a093] check-in: [9dd5234a64] user: rkeene, branch: trunk, size: 51624 [annotate] [blame] [check-ins using] [diff]
01:06
Moved option parsing to a separate function and added help, set default directory time to start time file: [dafdf12fdd] check-in: [7324be78ca] user: rkeene, branch: trunk, size: 50509 [annotate] [blame] [check-ins using] [diff]
2014-11-17
20:37
Updated to include entire error stack on error for --tcl mode in AppFSd file: [276d2f6247] check-in: [4b2e0bf187] user: rkeene, branch: trunk, size: 47743 [annotate] [blame] [check-ins using] [diff]
2014-11-15
19:34
Updated inode generation to be FNV-1a file: [cbe8db4a9d] check-in: [fac74d236f] user: rkeene, branch: trunk, size: 47705 [annotate] [blame] [check-ins using] [diff]
19:17
Added missing Tcl_Preserve() call file: [430dbcdf6b] check-in: [71bdb44ec6] user: rkeene, branch: trunk, size: 47480 [annotate] [blame] [check-ins using] [diff]
17:33
Added symlink creation support file: [ce9351a270] check-in: [f6af28366e] user: rkeene, branch: trunk, size: 47437 [annotate] [blame] [check-ins using] [diff]
17:20
Updated to flush cache before exiting in exit path mode and allow short reads without returning an error as they seem to be expected file: [1c0ba85f13] check-in: [67735b9ee3] user: rkeene, branch: trunk, size: 46943 [annotate] [blame] [check-ins using] [diff]
16:46
Added more debugging, renamed appfs_terminate_interp for with more accurate name, fixed FUSE read/write to use pread/pwrite and return no short reads as is required by FUSE, added call to Tcl_FinalizeThread() on thread termination file: [69177869fa] check-in: [d5bfe6710c] user: rkeene, branch: trunk, size: 46937 [annotate] [blame] [check-ins using] [diff]
2014-11-14
21:46
Updated to support unthreaded Tcl and fixed a memory leak with home directory determination file: [1768754e26] check-in: [6af0168ed8] user: rkeene, branch: trunk, size: 44446 [annotate] [blame] [check-ins using] [diff]
17:26
Made exit path ifdef more consistent file: [b7668e46f2] check-in: [2bb04fd22b] user: rkeene, branch: trunk, size: 41461 [annotate] [blame] [check-ins using] [diff]
17:25
Made an optional exit path and removed decrementing of reference counters file: [3133466dff] check-in: [ec17efd4bb] user: rkeene, branch: trunk, size: 41380 [annotate] [blame] [check-ins using] [diff]
06:13
Updated to decrement reference count for objects as we are done with them file: [4a8cebc0f0] check-in: [651fd8051a] user: rkeene, branch: trunk, size: 40684 [annotate] [blame] [check-ins using] [diff]
05:20
Added back completely needed operation file: [cb5c5230cc] check-in: [84483d5933] user: rkeene, branch: trunk, size: 40381 [annotate] [blame] [check-ins using] [diff]
04:19
Fixed signed-ness issue and removed unessecary operation file: [293b50199a] check-in: [d43f3e4da3] user: rkeene, branch: trunk, size: 40354 [annotate] [blame] [check-ins using] [diff]
04:05
Tweaked hashing algorithm, added destructor for threads so that as threads terminate they are cleaned up file: [6216c87bde] check-in: [770584ac09] user: rkeene, branch: trunk, size: 40372 [annotate] [blame] [check-ins using] [diff]
2014-11-12
05:54
Updated to call Tcl_Preserve/Tcl_Release as appropriate file: [e49bb6021f] check-in: [d9f1a05711] user: rkeene, branch: trunk, size: 39050 [annotate] [blame] [check-ins using] [diff]
05:46
Fixed actual problem with interruptions (which was really unrelated) -- Tcl notifier thread is terminated on fork() called by fuse_main(), since we create a Tcl interpreter for testing before calling fuse_main() the notifier dies and is not restarted. We now terminate it before fork(). file: [3ceaeb1976] check-in: [0819a7a89c] user: rkeene, branch: trunk, size: 38500 [annotate] [blame] [check-ins using] [diff]
05:09
Removed interruption support, there is no clean way to implement it file: [30750361ba] check-in: [39025b67ed] user: rkeene, branch: trunk, size: 38466 [annotate] [blame] [check-ins using] [diff]
2014-11-11
19:10
Added SIGUSR1 handling for terminating a thread file: [843bfcfd7e] check-in: [6eb9af02d5] user: rkeene, branch: trunk, size: 38819 [annotate] [blame] [check-ins using] [diff]
17:48
Updated to not continue to reset interpreters forever after a restart request file: [65feda12d8] check-in: [65a6138eb6] user: rkeene, branch: trunk, size: 38365 [annotate] [blame] [check-ins using] [diff]
17:43
Added support for hot-restart of AppFSd on SIGUP file: [2fbbb1d1a2] check-in: [b6ea13d9c3] user: rkeene, branch: trunk, size: 38202 [annotate] [blame] [check-ins using] [diff]
2014-11-10
20:09
Updated to include attribute caching since we now disable all FUSE attribute caching file: [5e5056a24c] check-in: [89eabdaec1] user: rkeene, branch: trunk, size: 36804 [annotate] [blame] [check-ins using] [diff]
07:17
Updated to not attempt to drop the reference count on the last home directory object until we're about to actually give up the reference file: [a0dcafd0c9] check-in: [f6ecb0ed91] user: rkeene, branch: trunk, size: 30899 [annotate] [blame] [check-ins using] [diff]
07:11
Updated ownership/group and disabled all caching so that things are consistent (and slow!) file: [7148f823cb] check-in: [6e3b24c68c] user: rkeene, branch: trunk, size: 30899 [annotate] [blame] [check-ins using] [diff]
06:47
Made home directory part user-servicable via config file file: [126129663c] check-in: [dde1c0a38d] user: rkeene, branch: trunk, size: 30857 [annotate] [blame] [check-ins using] [diff]
05:30
Simplified user fsuid switching file: [1dcdd9bb28] check-in: [9562d42ae1] user: rkeene, branch: tcl-ops, size: 30267 [annotate] [blame] [check-ins using] [diff]
05:02
Minor re-ordering so that FUSE things can be "near" each other file: [405b834b47] check-in: [f4e6b62dfb] user: rkeene, branch: tcl-ops, size: 30786 [annotate] [blame] [check-ins using] [diff]
04:52
Added initial PKI support file: [423ee145a2] check-in: [9279433b2f] user: rkeene, branch: tcl-ops, size: 30786 [annotate] [blame] [check-ins using] [diff]
04:22
More work towards getting the user multiplexing right file: [d452ee8ca8] check-in: [d3bb0824ec] user: rkeene, branch: tcl-ops, size: 30362 [annotate] [blame] [check-ins using] [diff]
03:34
Updated to cache last home directory looked up and to setfsuid()/setfsgid() before accessing the filesystem so that we may be the right user file: [9cae19dbb7] check-in: [63e41c262c] user: rkeene, branch: tcl-ops, size: 29395 [annotate] [blame] [check-ins using] [diff]
03:11
Nearly completely working write support file: [227a45ec34] check-in: [2160c4189b] user: rkeene, branch: tcl-ops, size: 27472 [annotate] [blame] [check-ins using] [diff]
2014-11-09
09:04
More work towards a writable solution file: [070b2bd8e3] check-in: [1adf504f9a] user: rkeene, branch: tcl-ops, size: 26591 [annotate] [blame] [check-ins using] [diff]
08:01
Added a truncate action file: [6a9a58fb18] check-in: [8ea4ed266f] user: rkeene, branch: tcl-ops, size: 25508 [annotate] [blame] [check-ins using] [diff]
07:52
Began adding support for other types of files as well as added creat() and mknod() support file: [ba1c738961] check-in: [80bcdf4cb8] user: rkeene, branch: tcl-ops, size: 24617 [annotate] [blame] [check-ins using] [diff]
02:09
Updated to create a Tcl interpreter at startup before starting FUSE loop to catch Tcl errors early file: [ade95f924e] check-in: [3c90001701] user: rkeene, branch: tcl-ops, size: 23072 [annotate] [blame] [check-ins using] [diff]
2014-11-07
13:19
Added more reliable write support file: [c5ca9c2598] check-in: [d836b9fc43] user: rkeene, branch: tcl-ops, size: 21952 [annotate] [blame] [check-ins using] [diff]
12:26
Added basic write support file: [5b32138d43] check-in: [db5fcbef28] user: rkeene, branch: tcl-ops, size: 21884 [annotate] [blame] [check-ins using] [diff]
12:13
Added basic "open" support file: [a228e5eaeb] check-in: [ebbca87b7e] user: rkeene, branch: tcl-ops, size: 21295 [annotate] [blame] [check-ins using] [diff]
11:36
Add "getattr" implementation file: [70718fd2dc] check-in: [d64c2e9bf7] user: rkeene, branch: tcl-ops, size: 20662 [annotate] [blame] [check-ins using] [diff]
08:48
Added basic "getchildren" implementation in Tcl file: [16b07e2510] check-in: [ee13ee5aa4] user: rkeene, branch: tcl-ops, size: 17248 [annotate] [blame] [check-ins using] [diff]
07:20
Converted global variables to not be part of a struct file: [a9240a597b] check-in: [f277407cbc] user: rkeene, branch: tcl-ops, size: 18409 [annotate] [blame] [check-ins using] [diff]
07:15
Clarified --cachedir file: [2188b35dbc] check-in: [684f97bc4e] user: rkeene, branch: tcl-ops, size: 18674 [annotate] [blame] [check-ins using] [diff]
07:14
Added a "--cachedir" option for use when not using FUSE and added the same option to "appfs-cache" file: [9e818b560b] check-in: [ddd31f22a4] user: rkeene, branch: tcl-ops, size: 18565 [annotate] [blame] [check-ins using] [diff]
06:52
Added appropriate subtype file: [b204b9e307] check-in: [8eb7be2398] user: rkeene, branch: tcl-ops, size: 17951 [annotate] [blame] [check-ins using] [diff]
06:48
More work towards adding support for automatic options file: [99b621ee4d] check-in: [317348f60e] user: rkeene, branch: tcl-ops, size: 17936 [annotate] [blame] [check-ins using] [diff]
06:47
Added start of supplying default options file: [71ddae3095] check-in: [a7e9dac6ce] user: rkeene, branch: tcl-ops, size: 17823 [annotate] [blame] [check-ins using] [diff]
06:14
Added comments file: [616c3164a5] check-in: [83dcb7cd52] user: rkeene, branch: tcl-ops, size: 17514 [annotate] [blame] [check-ins using] [diff]
05:06
Updated to include a Tcl interface via AppFSd file: [e20407f29f] check-in: [4b04c967f7] user: rkeene, branch: tcl-ops, size: 13983 [annotate] [blame] [check-ins using] [diff]
04:52
Added support for an "appfs-cache" script calling sqlite3 directly in appfsd file: [206ee97d58] check-in: [c374111c37] user: rkeene, branch: tcl-ops, size: 13895 [annotate] [blame] [check-ins using] [diff]
2014-11-06
18:29
Minor update file: [169ff6cab0] check-in: [5bd7399e05] user: rkeene, branch: tcl-ops, size: 12948 [annotate] [blame] [check-ins using] [diff]
17:11
Work towards gutting AppFSd to rewrite file: [8dc47d059d] check-in: [aca3a93d56] user: rkeene, branch: tcl-ops, size: 12966 [annotate] [blame] [check-ins using] [diff]
16:20
Merged in internal_sha1 branch since we should use that as the basis going forward file: [a8794a7145] check-in: [5ffd966f05] user: rkeene, branch: tcl-ops, size: 27158 [annotate] [blame] [check-ins using] [diff]
03:05
Updated to use package name instead of hash for looking up extra files file: [251c8531b4] check-in: [98449bcf3e] user: rkeene, branch: trunk, size: 26692 [annotate] [blame] [check-ins using] [diff]
02:49
Updated to indicate only that packaged files are writable file: [430cff4a7a] check-in: [97e72202db] user: rkeene, branch: trunk, size: 25657 [annotate] [blame] [check-ins using] [diff]
02:29
Updated to use C-based implementation of SHA1 file: [f25bb5c801] check-in: [853a9068a7] user: rkeene, branch: internal_sha1, size: 25894 [annotate] [blame] [check-ins using] [diff]
2014-11-05
21:41
Added "package" command back, needed for older versions of "http" package file: [72840611b5] check-in: [b1167b6699] user: rkeene, branch: trunk, size: 25428 [annotate] [blame] [check-ins using] [diff]
18:39
Updated to hide commands which are not used and may cause slow-ness file: [7ccc07ce2d] check-in: [c3c642f5c8] user: rkeene, branch: trunk, size: 25476 [annotate] [blame] [check-ins using] [diff]
2014-11-03
23:19
Deleted: Updated packages branch to be a completely isolated branch check-in: [6136db979d] user: rkeene, branch: packages, size: 0
19:07
Updated to not crash upon Tcl initialization failure file: [e3ba0e89d2] check-in: [85c5ea8446] user: rkeene, branch: trunk, size: 24974 [annotate] [blame] [check-ins using] [diff]
2014-10-12
02:54
Added start of writability file: [5ba05dc7d6] check-in: [5c1bbda2c6] user: rkeene, branch: trunk, size: 24800 [annotate] [blame] [check-ins using] [diff]
2014-09-18
17:48
Updated to only emit debugging output for debugging builds file: [4990aac269] check-in: [ddfec93915] user: rkeene, branch: trunk, size: 22255 [annotate] [blame] [check-ins using] [diff]
17:32
Added inode support (computed, for now) and fixed a memory leak file: [45ff02ebc8] check-in: [dd6c402d76] user: rkeene, branch: trunk, size: 22198 [annotate] [blame] [check-ins using] [diff]
05:14
Added support for a "platform" symlink pointing to the current platform file: [7ee6ccc5a2] check-in: [7ef423f980] user: rkeene, branch: trunk, size: 21506 [annotate] [blame] [check-ins using] [diff]
2014-09-13
05:15
Updated to commit package change as a single transaction file: [f1b76341ae] check-in: [86819aa4e1] user: rkeene, branch: trunk, size: 20435 [annotate] [blame] [check-ins using] [diff]
2014-09-11
19:57
Added symlink support file: [56848bb56b] check-in: [859535511c] user: rkeene, branch: trunk, size: 20435 [annotate] [blame] [check-ins using] [diff]
2014-09-10
07:52
Implemented basic close mechanism file: [343214a386] check-in: [e236f4717a] user: rkeene, branch: trunk, size: 19120 [annotate] [blame] [check-ins using] [diff]
07:47
Removed dead code file: [3805f48036] check-in: [fdd60b8c90] user: rkeene, branch: trunk, size: 18898 [annotate] [blame] [check-ins using] [diff]
07:22
Renamed appfs.c → appfsd.c. Renamed fuse daemon as "appfsd" file: [2342477e32] check-in: [0e19d8e3c2] user: rkeene, branch: trunk, size: 21363 [annotate] [blame] [check-ins using] [diff]
04:02
Reorganized file: [c11522a03a] check-in: [1f01cf90b5] user: rkeene, branch: trunk, size: 23096 [annotate] [blame] [check-ins using] [diff]
04:01
Reduced redundant code file: [3c07efd857] check-in: [041086f3fb] user: rkeene, branch: trunk, size: 23096 [annotate] [blame] [check-ins using] [diff]
2014-09-09
08:23
Added a default time to psuedo entries file: [799a556739] check-in: [ef5acff5c9] user: rkeene, branch: trunk, size: 24618 [annotate] [blame] [check-ins using] [diff]
08:19
Updated to keep track of the upstream OS name and CPU file: [4cd4495e1d] check-in: [ed608e7fee] user: rkeene, branch: trunk, size: 24353 [annotate] [blame] [check-ins using] [diff]
07:33
Updated to create separate interpreters per thread file: [9a50e0345b] check-in: [cf4ca88d48] user: rkeene, branch: trunk, size: 24299 [annotate] [blame] [check-ins using] [diff]
06:46
Implemented basic open() and read() file: [4ed6fa78a6] check-in: [a7c7a7a363] user: rkeene, branch: trunk, size: 23773 [annotate] [blame] [check-ins using] [diff]
06:10
Added executable bit file: [62dbc078fa] check-in: [99c9d35a89] user: rkeene, branch: trunk, size: 22291 [annotate] [blame] [check-ins using] [diff]
06:01
Updated with basic functionality file: [fb14cea935] check-in: [f66a795908] user: rkeene, branch: trunk, size: 22054 [annotate] [blame] [check-ins using] [diff]
03:51
Updated to supply valid linked list for children and added readdir implementation file: [190e7becb3] check-in: [f31f4f56c6] user: rkeene, branch: trunk, size: 12143 [annotate] [blame] [check-ins using] [diff]
03:43
More work on getting children processed file: [0c5019ef32] check-in: [b437874cfb] user: rkeene, branch: trunk, size: 11774 [annotate] [blame] [check-ins using] [diff]
2014-09-08
07:17
More work towards parsing directory entries file: [4d722642c3] check-in: [85bda525b9] user: rkeene, branch: trunk, size: 10204 [annotate] [blame] [check-ins using] [diff]
06:48
More work towards reading package data file: [e4290f9d3b] check-in: [e37bc482a9] user: rkeene, branch: trunk, size: 9595 [annotate] [blame] [check-ins using] [diff]
06:12
Updated to print packages file: [0ffa90a2b2] check-in: [654957c655] user: rkeene, branch: trunk, size: 8253 [annotate] [blame] [check-ins using] [diff]
04:34
More work towards SQLite3 integration file: [d2a493f839] check-in: [76ac4557f6] user: rkeene, branch: trunk, size: 6492 [annotate] [blame] [check-ins using] [diff]
04:25
Working on creating an SQLite interface file: [8a456b75d5] check-in: [676f99c72e] user: rkeene, branch: trunk, size: 6052 [annotate] [blame] [check-ins using] [diff]
03:18
More rework file: [4ce583b799] check-in: [ebf9995a42] user: rkeene, branch: trunk, size: 5816 [annotate] [blame] [check-ins using] [diff]
02:55
Removed warnings file: [09f9ed7337] check-in: [eed618f01c] user: rkeene, branch: trunk, size: 5443 [annotate] [blame] [check-ins using] [diff]
02:33
Updated to populate SQLite database with all package data file: [4b3327c544] check-in: [48a551bede] user: rkeene, branch: trunk, size: 5425 [annotate] [blame] [check-ins using] [diff]
01:24
More work on basics file: [1eae70cf2b] check-in: [a189f64907] user: rkeene, branch: trunk, size: 4846 [annotate] [blame] [check-ins using] [diff]
2014-09-07
10:44
Working on making the Tcl result usable by C file: [c35d6d98f1] check-in: [9b31b33a93] user: rkeene, branch: trunk, size: 4847 [annotate] [blame] [check-ins using] [diff]
10:38
Updated to use Tcl to do all the heavy lifting file: [8303f7df05] check-in: [1ef1b92a15] user: rkeene, branch: trunk, size: 4835 [annotate] [blame] [check-ins using] [diff]
06:42
Updated to use PKG_CONFIG file: [566a5d022c] check-in: [777947ec3d] user: rkeene, branch: trunk, size: 1128 [annotate] [blame] [check-ins using] [diff]
06:36
Added: Added start of appfs file: [c3eac4ab1b] check-in: [40155f7235] user: rkeene, branch: trunk, size: 1157 [annotate] [blame] [check-ins using]