0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-06 10:38:37 +02:00
Commit graph

83 commits

Author SHA1 Message Date
Jason Volk 7f41ca2f48 ircd::fs: Add nodelay option to write_opts; relax the flush on write by default. 2018-12-27 14:58:04 -08:00
Jason Volk 0c5ebde1fc ircd::fs::aio: Add blocking point to manage io_submit's in flight; various reorg. 2018-12-27 14:58:03 -08:00
Jason Volk 69ae8308e5 ircd::fs::aio: Various improvements; fix cancel w/ queue; class member queues rather than tls. 2018-12-27 14:58:03 -08:00
Jason Volk e58a975750 ircd::fs: Use a nice-style value for request priority; default to zero. 2018-12-27 14:58:03 -08:00
Jason Volk 444000faf1 ircd::fs: Add a nodelay option on reads. 2018-12-26 15:42:23 -08:00
Jason Volk 171f5ff623 ircd::fs: Use string_view for error fmt string args. 2018-12-24 13:34:59 -08:00
Jason Volk 3c4591b121 ircd::fs: Fix fs::error template. 2018-12-21 15:32:12 -08:00
Jason Volk a5ebc28928 ircd::fs::aio: Reorganize with symbol overriding; add conf items. 2018-12-21 13:04:57 -08:00
Jason Volk c3d95aa8de ircd::fs: Remove the thread_local convenience for make_iov(). 2018-12-21 12:57:58 -08:00
Jason Volk 2f36fec41a ircd::fs: Cleanup the duplicate support state indicators. 2018-12-21 12:09:44 -08:00
Jason Volk 2c5d6bb7ba ircd::fs::aio: Preliminary io_submit queue to leverage disk controller optimizations. 2018-12-21 10:36:05 -08:00
Jason Volk 582628fb71 ircd::fs: Add read/write options to restart operation on EINTR. 2018-12-18 14:44:25 -08:00
Jason Volk 254d5ccb50 ircd::fs: Add 'all' write option with internal loop. 2018-12-18 14:44:25 -08:00
Jason Volk bb3a68a95e ircd::fs: Handle partial reads internally with 'all' option. 2018-12-18 14:44:25 -08:00
Jason Volk 77a84b18d3 ircd::fs: Add offset to make_iov() suite. 2018-12-18 14:21:09 -08:00
Jason Volk a2a66eb314 ircd::fs: Deinline various error ctor; simplify various error handling. 2018-12-15 20:50:32 -08:00
Jason Volk 2cc7831770 ircd::fs: Add option to bypass AIO for specific operations. 2018-12-15 18:17:59 -08:00
Jason Volk c4d5f03725 ircd::fs: Add compat interface for range flush()/sync(). 2018-12-13 18:04:48 -08:00
Jason Volk 5e8d5562da ircd::fs: Simplify interface. 2018-12-13 17:46:08 -08:00
Jason Volk 9d423f84d8 ircd:;fs: Rename various fsync/sync related. 2018-12-13 16:54:09 -08:00
Jason Volk 04f3dc4d17 ircd::fs: Make fs::error inherit from std::system_error. 2018-12-12 17:32:24 -08:00
Jason Volk b80735c575 ircd::fs: Add sync()/syncfs(). 2018-12-12 13:16:47 -08:00
Jason Volk 1ba22a21ba ircd: Disperse accumulated global options as conf items in namespaces. 2018-12-08 15:36:34 -08:00
Jason Volk 24e423c714 ircd::fs: Add support test for fallocate(). 2018-12-03 12:58:42 -08:00
Jason Volk 47d6fbb35f ircd::fs: Consolidate support tests and indications into namespace. 2018-12-03 12:55:52 -08:00
Jason Volk 711dfacd9a ircd::fs: Improve strategy for AIO fsync/fdsync related. 2018-12-01 16:10:53 -08:00
Jason Volk 965ecd16e5 ircd::fs: Break apart / improve make_iov() related stack / cleanup typedefs. 2018-12-01 15:46:38 -08:00
Jason Volk 3ab6d4df79 ircd::fs::aio: Improve stats related. 2018-11-29 13:46:44 -08:00
Jason Volk 58d80ddc53 ircd::fs: Add option to toggle AIO for fsync related. 2018-11-29 10:18:43 -08:00
Jason Volk 44bf18d4df ircd::fs: Integrate read(iov) suite. 2018-11-28 17:26:25 -08:00
Jason Volk 466ad228b0 ircd::fs: Integrate an overwrite() iov suite. 2018-11-28 17:26:06 -08:00
Jason Volk 20fe537409 ircd::fs: Integrate append() iov suite. 2018-11-28 17:21:28 -08:00
Jason Volk db36ea6255 ircd::fs: fs::write() stack based on pwritev() using iov. 2018-11-28 17:10:48 -08:00
Jason Volk c9b10bd841 ircd::fs: Use better typedefs for vector_view of buffers. 2018-11-28 17:10:17 -08:00
Jason Volk eff4c475e3 ircd::fs: Add iov util header; make aio interface to fs exclusively iov. 2018-11-28 16:53:04 -08:00
Jason Volk 67772facef ircd::fs::aio: Add specific read and write stat counters. 2018-11-28 15:01:00 -08:00
Jason Volk 5cdd2e6376 ircd::fs::aio: Add statistics for AIO subsystem w/ console cmd. 2018-11-27 19:54:24 -08:00
Jason Volk 062906143f ircd::fs: Add an fs/aio.h header. Reorg various aio namespace related. 2018-11-27 18:09:12 -08:00
Jason Volk 94bfe39ec6 ircd::fs: Save the std openmode in the fd::opts struct. 2018-11-01 23:35:52 -07:00
Jason Volk 8db063bfc4 ircd::fs: Remove internal alignment paddings. 2018-11-01 22:23:04 -07:00
Jason Volk a62469a9d6 ircd::fs: Add additional write_opts comments. 2018-11-01 20:26:31 -07:00
Jason Volk 13e6e02901 ircd::fs: Improve request priority value related; get sysconf info. 2018-11-01 20:19:55 -07:00
Jason Volk c0e92eb2a1 ircd::fs: Add boolean operators for fd. 2018-10-31 17:54:57 -07:00
Jason Volk 6b6106499f ircd::fs: Add write_options.alignment; padding out to alignment for aio write. 2018-10-31 17:00:17 -07:00
Jason Volk 8900c7d95e Add datadir (share) configure, Makefile and ircd::fs related. 2018-09-13 22:02:52 -07:00
Jason Volk 09529ae311 ircd: Fix std::ios::openmode name. 2018-09-13 05:12:01 -07:00
Jason Volk 3426fc650f ircd::fs: Test if O_DIRECT possible on path target. 2018-09-04 01:43:21 -07:00
Jason Volk 5dd9b7a3cf ircd::fs: Support for finding the O_DIRECT alignments from system. 2018-08-28 20:15:40 -07:00
Jason Volk 6fc078395b ircd::fs: Fix formatting. 2018-08-24 15:44:00 -07:00
Jason Volk e0024b82ea ircd::fs: Use fallocate() rather than posix_fallocate(); add keep_size. 2018-08-23 23:08:41 -07:00