0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-02 08:48:18 +02:00
Commit graph

183 commits

Author SHA1 Message Date
Jason Volk 38bfb56661 ircd::fs: Add typedefs for vector_view's used to build paths. 2019-06-06 17:03:02 -07:00
Jason Volk 143e4bda7b ircd::fs: Add debug log message showing support flags on startup. 2019-06-06 04:44:00 -07:00
Jason Volk c292ec46f2 ircd::fs: Add runtime selection of pwritev(2) and RWF_ features; minor reorg. 2019-06-05 23:25:48 -07:00
Jason Volk 0575f9c500 ircd::fs: Eliminate uses of GNU ifunc. 2019-06-04 16:37:29 -07:00
Jason Volk 129676d06e ircd::fs: Use portable device sysmacros. 2019-06-04 15:05:21 -07:00
Jason Volk 0d88c5326f ircd::fs: Reduce log message impact. 2019-06-02 01:06:14 -07:00
Jason Volk eb73595c50 ircd: Apply uniform info::versions for all dependency version identification. 2019-05-31 16:15:01 -07:00
Jason Volk e670afbac8 ircd::fs: Return zero rather than propagating exception from write_life getter. 2019-05-08 19:10:36 -07:00
Jason Volk 134bcc1bfb ircd::fs: Add write_opts for RWF_WRITE_LIFE_* support. 2019-05-05 17:48:02 -07:00
Jason Volk 7f18bb17e2 ircd::fs: Precondition definition rather than as weak symbol. 2019-05-05 17:47:46 -07:00
Jason Volk 861df761fe ircd::fs: Add runtime support indicators for write_life related features. 2019-05-05 17:46:50 -07:00
Jason Volk 82200a9abd ircd::fs: Add write_life hint fcntl front. 2019-05-03 19:53:05 -07:00
Jason Volk c9ab8c345c ircd::fs: Explicit fcntl.h inclusion in fs.cc. 2019-05-03 06:09:58 -07:00
Jason Volk d9812f3e86 ircd::fs: Add an evict() front to cache interface; add preconditions. 2019-05-03 05:52:12 -07:00
Jason Volk e75c9fe54c ircd::fs: Split and improve fincore(). 2019-05-03 05:48:50 -07:00
Jason Volk d544c37d3d ircd::fs: Abstract the posix_fadvise wrapping. 2019-05-03 03:33:45 -07:00
Jason Volk c0f7daaff4 ircd::fs::aio: Fix warning indicator placement. 2019-04-26 06:21:30 -07:00
Jason Volk a61d04a9c2 ircd::fs: Allow ircd.fs.aio.max_submit=0 to indicate max possible. 2019-04-22 15:40:34 -07:00
Jason Volk acd774c3ee ircd::fs: Make ~fd() noexcept. 2019-04-22 09:16:11 -07:00
Jason Volk 7d55468511 ircd::fs: Add fd::opts getter from open fd. 2019-04-22 09:14:46 -07:00
Jason Volk d08bcc2f32 ircd::fs: Add fd::release() memfn. 2019-04-22 08:55:42 -07:00
Jason Volk f145c6774a ircd::fs: Rename function. 2019-04-21 04:15:10 -07:00
Jason Volk 003f9f771a ircd::fs: Break from read()/write() loops for non-blocking operations without exception. 2019-04-20 22:28:15 -07:00
Jason Volk 900fab1e79 ircd::fs: Propagate EAGAIN without exception for !opts.blocking operations. 2019-04-20 19:29:07 -07:00
Jason Volk fbcd38fa17 ircd::fs: Add a preliminary fincore(1)-like tool. 2019-04-20 19:24:18 -07:00
Jason Volk 4d3727a0a1 ircd::fs: Condition various runtime support on compilation too. 2019-04-17 19:19:30 -07:00
Jason Volk 1eaff2e91e ircd::fs: Runtime binding for pwritev(2)/pwritev2(2) based on kernel version. 2019-04-17 19:19:30 -07:00
Jason Volk 6fbf882e16 ircd::fs: Use GNU indirect function binding to efficiently support RWF_APPEND at runtime. 2019-04-17 19:09:16 -07:00
Jason Volk 7794a92159 ircd::exception: Avoid repeating the system_error message string. 2019-04-11 07:50:48 -07:00
Jason Volk ce9a9e58b4 ircd::fs: Switch to syscall_usage_warning for io_submit and fsync et al. 2019-04-10 20:18:50 -07:00
Jason Volk a1863ba3b2 ircd::fs: Minor cleanup. 2019-04-09 21:08:15 -07:00
Jason Volk 6ff3c88fa4 ircd::fs: Add a wait() interface. 2019-04-07 17:59:52 -07:00
Jason Volk 3bed48011d ircd::fs: Add non-blocking option passed to fd ctor's open(2) fwiw. 2019-04-07 16:45:35 -07:00
Jason Volk 9994836db0 ircd::fs: Add and use dedicated log facility for ircd::fs. 2019-04-07 16:28:21 -07:00
Jason Volk d118a0e743 ircd::fs: Add enumerated op codes to identify request types. 2019-04-06 12:13:16 -07:00
Jason Volk f7dc5f6146 ircd::fs: Add fd fdno ctor. 2019-03-31 23:57:35 -07:00
Jason Volk 6dc50292e8 ircd::fs: Simplify these ifdef conditions. 2019-03-27 19:07:11 -07:00
Jason Volk 1ce9ec3f8e ircd::fs::error: Remove fs::error from the ircd::exception hierarchy. 2019-03-16 18:12:38 -07:00
Jason Volk e752070d06 ircd::fs: Handle zero length buffers in the iov. 2019-03-16 13:49:04 -07:00
Jason Volk 89b258c5a7 ircd::fs: Improve fs::prefetch(). 2019-03-15 21:36:26 -07:00
Jason Volk 20716634a8 ircd::fs: Improve condition for RWF_APPEND/pwritev2() -1 offset value. 2019-03-15 18:45:39 -07:00
Jason Volk 4efb3a26fd ircd::fs: Reorg general RWF_ indicators out to fs:: from aio::. 2019-03-15 18:45:32 -07:00
Jason Volk 353fc35df4 ircd::fs: Don't set -1 offset on systems without RWF_APPEND. 2019-03-15 18:34:35 -07:00
Jason Volk 2a0720c1a0 ircd::fs: Use flags based on system availability. 2019-03-15 16:19:05 -07:00
Jason Volk fbe06f5724 ircd::fs: Rotate more internal bufs in case of reentrance. 2019-03-15 16:19:05 -07:00
Jason Volk 87144cef77 ircd::fs: Support various RWF flags for operations; also preadv2(). 2019-03-14 12:45:00 -07:00
Jason Volk 56092db18c ircd::fs: Move the reqprio() normalizer from fs::aio:: to fs::. 2019-03-13 19:39:20 -07:00
Jason Volk 02435c3672 ircd::fs: Support pwritev2(2). 2019-03-13 19:38:50 -07:00
Jason Volk 1117947a22 ircd::fs::aio: Add support test for RWF_NOWAIT and RWF_APPEND. 2019-03-13 19:38:47 -07:00
Jason Volk f373417b0b ircd::fs: Use for_each rather than transform here. 2019-02-28 17:53:01 -08:00