Thu, 01 Feb 2024 11:57:28 -0500 |
Josef 'Jeff' Sipek |
objstore: add a per-page lock
default tip
|
Thu, 01 Feb 2024 11:54:09 -0500 |
Josef 'Jeff' Sipek |
objstore: add a page cache lock to serialize accesses to the free lists
|
Thu, 01 Feb 2024 11:49:46 -0500 |
Josef 'Jeff' Sipek |
objstore/posix: use copy_file_range for COW
|
Mon, 19 Dec 2022 19:55:24 -0500 |
Josef 'Jeff' Sipek |
objstore: rename obj_ops.c to obj_open.c
|
Mon, 19 Dec 2022 19:54:24 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_obj_info to obj_info.c
|
Mon, 19 Dec 2022 19:53:17 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_lookup_{one,all} to obj_dir.c
|
Mon, 19 Dec 2022 20:11:20 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_unlink to obj_unlink.c
|
Mon, 19 Dec 2022 20:11:14 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_{,sym}link to obj_link.c
|
Mon, 19 Dec 2022 19:51:07 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_create to obj_create.c
|
Mon, 19 Dec 2022 19:50:34 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_getdent to obj_dir.c
|
Mon, 19 Dec 2022 19:49:35 -0500 |
Josef 'Jeff' Sipek |
objstore: drop redundant _dir from a handful of file names
|
Mon, 19 Dec 2022 19:44:45 -0500 |
Josef 'Jeff' Sipek |
objstore: move dir buffer making helper to dir.c
|
Mon, 19 Dec 2022 19:39:43 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_{read,write} to obj_rw.c
|
Mon, 19 Dec 2022 19:38:40 -0500 |
Josef 'Jeff' Sipek |
objstore: move objstore_{get,set}attr to obj_attr.c
|
Mon, 19 Dec 2022 19:35:04 -0500 |
Josef 'Jeff' Sipek |
objstore: rename obj_txn.c to obj_rw.c
|
Mon, 19 Dec 2022 19:33:52 -0500 |
Josef 'Jeff' Sipek |
objstore: move obj_setattr into a separate file
|
Mon, 19 Dec 2022 19:21:21 -0500 |
Josef 'Jeff' Sipek |
objstore: move the transaction structure to the heap
|
Sun, 18 Dec 2022 11:53:21 -0500 |
Josef 'Jeff' Sipek |
objstore: link against common and mark all used libs as private
|
Sun, 18 Dec 2022 11:40:46 -0500 |
Josef 'Jeff' Sipek |
common: replace blksize static assert with a runtime one
|
Sun, 18 Dec 2022 10:35:16 -0500 |
Josef 'Jeff' Sipek |
build: add builds.sr.ht build manifests & script
|
Sun, 18 Dec 2022 10:15:13 -0500 |
Josef 'Jeff' Sipek |
objstore: implement symlink
|
Sat, 17 Dec 2022 20:40:39 -0500 |
Josef 'Jeff' Sipek |
fs: implement symlink
|
Sat, 17 Dec 2022 20:40:16 -0500 |
Josef 'Jeff' Sipek |
fs: implement readlink
|
Sat, 17 Dec 2022 16:38:59 -0500 |
Josef 'Jeff' Sipek |
client: handle LINK
|
Sat, 17 Dec 2022 16:32:57 -0500 |
Josef 'Jeff' Sipek |
common: extend LINK to include more args and a return value
|
Fri, 16 Dec 2022 20:25:01 -0500 |
Josef 'Jeff' Sipek |
objstore: stubs for objstore_{sym,}link
|
Sun, 18 Dec 2022 09:54:12 -0500 |
Josef 'Jeff' Sipek |
common: inform fscall_read callers about actual byte count read
|
Sun, 18 Dec 2022 09:45:56 -0500 |
Josef 'Jeff' Sipek |
common: enforce max read & write size in fscall_{read,write}
|
Sun, 18 Dec 2022 10:00:29 -0500 |
Josef 'Jeff' Sipek |
doc: add a note that WRITE is an all-or-nothing operation
|
Sun, 18 Dec 2022 09:54:35 -0500 |
Josef 'Jeff' Sipek |
fs: remove debug hexdumping of file data
|
Sat, 17 Dec 2022 21:00:59 -0500 |
Josef 'Jeff' Sipek |
client: print noisy/verbose debug info only on RPC failure
|
Sat, 17 Dec 2022 20:19:31 -0500 |
Josef 'Jeff' Sipek |
objstore: add a FIXME about decrementing the unlink target's nlinks
|
Sat, 17 Dec 2022 20:15:05 -0500 |
Josef 'Jeff' Sipek |
objstore: return ENOTDIR/EISDIR in unlink and rmdir
|
Sat, 17 Dec 2022 20:11:50 -0500 |
Josef 'Jeff' Sipek |
objstore: pass unlink's rmdir arg all the way to where we need it
|
Sat, 17 Dec 2022 20:10:04 -0500 |
Josef 'Jeff' Sipek |
fs: implement rmdir
|
Sat, 17 Dec 2022 20:09:37 -0500 |
Josef 'Jeff' Sipek |
fs: move unlink code into a helper
|
Sat, 17 Dec 2022 20:08:29 -0500 |
Josef 'Jeff' Sipek |
common: extend fscall_unlink to cover rmdir behavior as well
|
Sat, 17 Dec 2022 20:06:51 -0500 |
Josef 'Jeff' Sipek |
common: extend UNLINK to handle rmdir behavior as well
|
Wed, 14 Dec 2022 23:21:47 -0500 |
Josef 'Jeff' Sipek |
client: save the last 128 RPCs in a circular buffer
|
Wed, 14 Dec 2022 23:14:55 -0500 |
Josef 'Jeff' Sipek |
common: use an enum instead of #defines for NRPC opcodes
|
Sat, 17 Dec 2022 17:02:07 -0500 |
Josef 'Jeff' Sipek |
objstore: expose dirent add/update helpers to the rest of objstore
|
Sat, 17 Dec 2022 17:13:46 -0500 |
Josef 'Jeff' Sipek |
objstore: remove an unused local variable
|
Sat, 17 Dec 2022 15:40:26 -0500 |
Josef 'Jeff' Sipek |
objstore/posix: remove hack to fill newly created dirs
|
Sat, 17 Dec 2022 16:08:01 -0500 |
Josef 'Jeff' Sipek |
objstore: remove an unnecessary obj_create wrapper
|
Sat, 17 Dec 2022 14:55:52 -0500 |
Josef 'Jeff' Sipek |
objstore: use the returned create objver for dir contents
|
Sat, 17 Dec 2022 13:29:59 -0500 |
Josef 'Jeff' Sipek |
objstore: rewrite obj_create to return the new object's objver
|
Sat, 17 Dec 2022 14:35:28 -0500 |
Josef 'Jeff' Sipek |
objstore: update obj_write to use cleanup txn entry callback
|
Sat, 17 Dec 2022 14:35:00 -0500 |
Josef 'Jeff' Sipek |
objstore: update obj_setattr to use cleanup txn entry callback
|
Sat, 17 Dec 2022 14:30:03 -0500 |
Josef 'Jeff' Sipek |
objstore: add cleanup txn entry function that runs always
|
Sat, 17 Dec 2022 14:26:39 -0500 |
Josef 'Jeff' Sipek |
objstore: rename cleanup txn entry method to rollback
|
Sat, 17 Dec 2022 14:03:31 -0500 |
Josef 'Jeff' Sipek |
objstore: add alloc_only argument to obj_by_oid
|
Sat, 17 Dec 2022 20:43:56 -0500 |
Josef 'Jeff' Sipek |
objstore/posix: don't walk object versions during create-type initobj
|
Sat, 17 Dec 2022 20:43:16 -0500 |
Josef 'Jeff' Sipek |
objstore: add create argument to initobj clone op
|
Sat, 17 Dec 2022 13:53:59 -0500 |
Josef 'Jeff' Sipek |
objstore: document why objver_free is enough for cow cleanup
|
Sat, 17 Dec 2022 12:53:08 -0500 |
Josef 'Jeff' Sipek |
objstore: move obj_create into obj.c
|
Sat, 16 Mar 2019 11:28:30 -0400 |
Josef 'Jeff' Sipek |
common: work around BSD and other system XDR getlong differences
|
Mon, 13 Apr 2020 16:10:48 -0400 |
Josef 'Jeff' Sipek |
common: add fscall_link / fscall_symlink
|
Mon, 13 Apr 2020 15:46:40 -0400 |
Josef 'Jeff' Sipek |
common: add LINK
|
Fri, 16 Dec 2022 19:48:03 -0500 |
Josef 'Jeff' Sipek |
objstore: direct page lookup fills to the correct objver mid-txn
|
Fri, 16 Dec 2022 19:46:24 -0500 |
Josef 'Jeff' Sipek |
objstore: implement a attach/detach objver to txn helpers
|
Thu, 15 Dec 2022 23:22:15 -0500 |
Josef 'Jeff' Sipek |
objstore: use the passed in objver's size when reading pages
|
Thu, 15 Dec 2022 22:43:13 -0500 |
Josef 'Jeff' Sipek |
objstore: rework obj_cow to return the new objver struct
|
Sat, 25 Apr 2020 10:03:21 -0400 |
Josef 'Jeff' Sipek |
objstore: remove unused per-obj nlink
|
Thu, 16 Apr 2020 23:05:48 -0400 |
Josef 'Jeff' Sipek |
objstore: remove obj {read,write} ops
|
Wed, 15 Apr 2020 10:18:28 -0400 |
Josef 'Jeff' Sipek |
objstore/posix: replace {read,write} ops with {read,write}_page ops
|
Wed, 15 Apr 2020 10:21:30 -0400 |
Josef 'Jeff' Sipek |
objstore: rewrite obj_write to use the page cache
|
Thu, 16 Apr 2020 22:16:24 -0400 |
Josef 'Jeff' Sipek |
objstore: use plain ol' const void * for obj_write data
|
Thu, 16 Apr 2020 22:18:14 -0400 |
Josef 'Jeff' Sipek |
objstore: obj_write should return number of bytes written or errno
|
Fri, 17 Apr 2020 15:42:52 -0400 |
Josef 'Jeff' Sipek |
objstore: invalidate pages beyond new setattr size
|
Tue, 14 Apr 2020 22:18:03 -0400 |
Josef 'Jeff' Sipek |
objstore: use the page cache for reads
|
Tue, 14 Apr 2020 21:41:38 -0400 |
Josef 'Jeff' Sipek |
objstore: add a page-based caching layer
|
Fri, 17 Apr 2020 15:42:29 -0400 |
Josef 'Jeff' Sipek |
objstore: keep track of shortest truncation
|
Fri, 17 Apr 2020 11:21:05 -0400 |
Josef 'Jeff' Sipek |
objstore: run transaction cleanup callbacks in correct order
|
Fri, 17 Apr 2020 10:43:03 -0400 |
Josef 'Jeff' Sipek |
objstore: make obj_setattr change vers->attrs immediately
|
Wed, 15 Apr 2020 10:19:32 -0400 |
Josef 'Jeff' Sipek |
objstore: don't read past EOF in obj_read
|
Wed, 15 Apr 2020 10:19:00 -0400 |
Josef 'Jeff' Sipek |
objstore: use read_page if backend didn't provide read obj op
|
Wed, 15 Apr 2020 10:12:14 -0400 |
Josef 'Jeff' Sipek |
objstore: add {read,write}_page obj ops
|
Sun, 19 Apr 2020 16:32:24 -0400 |
Josef 'Jeff' Sipek |
common: make nvclock_get* const correct
|
Mon, 13 Apr 2020 20:09:13 -0400 |
Josef 'Jeff' Sipek |
objstore: remove read/write obj op checks
|
Mon, 13 Apr 2020 20:08:13 -0400 |
Josef 'Jeff' Sipek |
objstore: use obj_read instead of the read obj op
|
Mon, 13 Apr 2020 20:05:49 -0400 |
Josef 'Jeff' Sipek |
objstore: add obj_read helper to read arbitrary parts of objvers
|
Mon, 13 Apr 2020 15:46:30 -0400 |
Josef 'Jeff' Sipek |
common: renumber some file related fs RPCs
|
Mon, 13 Apr 2020 15:42:18 -0400 |
Josef 'Jeff' Sipek |
common: change CREATE/LOOKUP/UNLINK path component field name
|
Mon, 06 Apr 2020 22:24:18 -0400 |
Josef 'Jeff' Sipek |
objstore/posix: remove create_obj_with_data helper
|
Mon, 06 Apr 2020 22:22:49 -0400 |
Josef 'Jeff' Sipek |
objstore/posix: create_obj can construct empty directories by itself
|
Mon, 06 Apr 2020 22:17:21 -0400 |
Josef 'Jeff' Sipek |
objstore: rely on createobj vol op initializing empty dirs for us
|
Mon, 06 Apr 2020 22:11:12 -0400 |
Josef 'Jeff' Sipek |
objstore: add parent oid argument to createobj vol op
|
Mon, 06 Apr 2020 22:14:03 -0400 |
Josef 'Jeff' Sipek |
objstore: add parent oid to the create transaction operation
|
Sun, 05 Apr 2020 18:52:10 -0400 |
Josef 'Jeff' Sipek |
fs: clear create dev info when not creating char/block devices
|
Sun, 05 Apr 2020 18:30:53 -0400 |
Josef 'Jeff' Sipek |
fs: move "mode to nmode" conversion into the create helper function
|
Sun, 05 Apr 2020 16:02:23 -0400 |
Josef 'Jeff' Sipek |
objstore: we need device info for char and block device creation
|
Sun, 05 Apr 2020 16:04:28 -0400 |
Josef 'Jeff' Sipek |
fs: implement mknod
|
Sun, 05 Apr 2020 16:09:33 -0400 |
Josef 'Jeff' Sipek |
fs: pass dev_t info to create helper
|
Sun, 05 Apr 2020 16:09:11 -0400 |
Josef 'Jeff' Sipek |
common: add dev argument to fscall_create
|
Sun, 05 Apr 2020 15:59:57 -0400 |
Josef 'Jeff' Sipek |
common: add dev to CREATE request arguments
|
Sun, 05 Apr 2020 14:05:11 -0400 |
Josef 'Jeff' Sipek |
common: set st_stat to zero when converting nattrs to struct stat
|
Sun, 05 Apr 2020 14:04:30 -0400 |
Josef 'Jeff' Sipek |
cmake: check system for struct stat containing st_flags
|
Sun, 05 Apr 2020 13:53:26 -0400 |
Josef 'Jeff' Sipek |
common: move nattr blksize and blkcount calculation into objstore backend
|
Sun, 05 Apr 2020 13:51:28 -0400 |
Josef 'Jeff' Sipek |
common: add block size and number of blocks to struct nattr
|
Sun, 05 Apr 2020 13:08:51 -0400 |
Josef 'Jeff' Sipek |
fs: use common lib's mode conversion function instead of open coding it
|
Sun, 05 Apr 2020 13:07:50 -0400 |
Josef 'Jeff' Sipek |
common: expose file mode conversion functions
|
Sun, 05 Apr 2020 11:06:50 -0400 |
Josef 'Jeff' Sipek |
objstore: inline the vector clock in objver
|
Fri, 03 Apr 2020 15:54:51 -0400 |
Josef 'Jeff' Sipek |
switch to new buffer_init_static libjeffpc API
|
Fri, 03 Apr 2020 15:55:09 -0400 |
Josef 'Jeff' Sipek |
objstore: remove unnecessary buffer_truncate calls
|
Thu, 02 Apr 2020 21:02:22 -0400 |
Josef 'Jeff' Sipek |
objstore: assert that dirblock_serialize produced at most one block of data
|
Thu, 02 Apr 2020 20:59:43 -0400 |
Josef 'Jeff' Sipek |
common: assert that xdrfd_create's buffer truncation worked
|
Thu, 02 Apr 2020 14:48:42 -0400 |
Josef 'Jeff' Sipek |
README: expand the 'Running' section to give some hint about how to run it
|
Thu, 02 Apr 2020 14:47:06 -0400 |
Josef 'Jeff' Sipek |
examples: remove mention of 'mem' backend
|
Thu, 02 Apr 2020 14:46:29 -0400 |
Josef 'Jeff' Sipek |
objstore: use passed in owner/group information for file creation
|
Thu, 02 Apr 2020 14:45:21 -0400 |
Josef 'Jeff' Sipek |
fs: pass current context uid/gid to fscall_create
|
Thu, 02 Apr 2020 14:44:23 -0400 |
Josef 'Jeff' Sipek |
common: add owner & group arguments to fscall_create
|
Thu, 02 Apr 2020 14:42:22 -0400 |
Josef 'Jeff' Sipek |
common: add file owner and group to CREATE
|
Tue, 31 Mar 2020 18:30:51 -0400 |
Josef 'Jeff' Sipek |
objstore: stop counting links on directories
|
Tue, 31 Mar 2020 14:51:36 -0400 |
Josef 'Jeff' Sipek |
objstore/posix: transaction ops stubs
|
Tue, 31 Mar 2020 11:05:51 -0400 |
Josef 'Jeff' Sipek |
objstore: extend existing dirents on create if necessary
|
Wed, 25 Mar 2020 12:33:44 -0400 |
Josef 'Jeff' Sipek |
objstore: implement file unlink
|
Tue, 31 Mar 2020 13:09:46 -0400 |
Josef 'Jeff' Sipek |
objstore: add dirblock_add_dirent_target
|
Thu, 26 Mar 2020 15:14:03 -0400 |
Josef 'Jeff' Sipek |
objstore: add dirblock_parse
|
Tue, 31 Mar 2020 13:09:19 -0400 |
Josef 'Jeff' Sipek |
objstore: base all_deleted on target's deleted flag in dirblock_add_dirent
|
Tue, 31 Mar 2020 13:08:52 -0400 |
Josef 'Jeff' Sipek |
objstore: use the sink buffer type when estimating dirent tgt size
|