Jason Volk
|
663b164f39
|
ircd::fs: Abstract the common options into opts struct.
|
2018-12-29 20:02:22 -08:00 |
|
Jason Volk
|
3466597981
|
ircd::fs: Various reorg; cleanup.
|
2018-12-29 19:43:17 -08:00 |
|
Jason Volk
|
c93cd90db1
|
ircd::aio: Simplify stats.
|
2018-12-28 16:30:27 -08:00 |
|
Jason Volk
|
30dc2ce7ed
|
ircd::fs: Various cleanup / renames.
|
2018-12-28 15:30:29 -08:00 |
|
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 |
|
Jason Volk
|
79d4c15ff5
|
ircd::fs: Deinline and improve append() related.
|
2018-08-23 23:08:22 -07:00 |
|
Jason Volk
|
55b2b128c6
|
ircd::fs: Add an fallocate wrapper for now.
|
2018-08-23 21:24:35 -07:00 |
|
Jason Volk
|
0ce45b50d6
|
ircd::fs: Add truncate() suite.
|
2018-08-23 21:24:19 -07:00 |
|
Jason Volk
|
888862ec56
|
ircd::fs: Deinline and improve overwrite() suite.
|
2018-08-23 21:23:42 -07:00 |
|
Jason Volk
|
1a1002c96d
|
ircd::fs: Propagate error_code through exception system; improve stack.
|
2018-08-23 03:31:36 -07:00 |
|
Jason Volk
|
32285d5dac
|
ircd::fs: Add a uuid-ish util for an fd.
|
2018-08-20 22:44:39 -07:00 |
|
Jason Volk
|
adee757303
|
ircd::fs: Add fsync()/fdsync() w/ AIO.
|
2018-08-18 23:02:34 -07:00 |
|
Jason Volk
|
d7075d73e5
|
ircd::fs: Additional make_path() overload.
|
2018-08-17 12:51:49 -07:00 |
|
Jason Volk
|
951cd4ad63
|
ircd::fs: Update/fix syspaths related.
|
2018-08-12 16:46:52 -07:00 |
|
Jason Volk
|
8fb580aaf5
|
configure/ircd: Overhaul install system directory related.
|
2018-08-12 16:30:51 -07:00 |
|
Jason Volk
|
57bfe311c6
|
ircd::fs: Add experimental stdin::tty support.
|
2018-06-03 09:49:00 -07:00 |
|
Jason Volk
|
79b2bdfb42
|
ircd::fs: Add prefetch().
|
2018-06-02 11:44:53 -07:00 |
|
Jason Volk
|
f8e4f4675f
|
ircd::fs: Doc comments for fd::opts.
|
2018-05-30 04:59:05 -07:00 |
|
Jason Volk
|
45155d5e4d
|
ircd::fs: Add fd::opts nocreate open() option.
|
2018-05-30 04:59:05 -07:00 |
|
Jason Volk
|
8395a7844c
|
ircd::fs: Add fd::opts direct and cloexec flags; reorg fd ctor related.
|
2018-05-30 04:59:05 -07:00 |
|
Jason Volk
|
f8ea91cdee
|
ircd::fs: Add append(fd) with explicit lseek(SEEK_END).
|
2018-05-30 04:59:04 -07:00 |
|
Jason Volk
|
ead2a567ad
|
ircd::fs: Refactor fs::write stack for fs::fd.
|
2018-05-30 04:59:04 -07:00 |
|
Jason Volk
|
501e82e8aa
|
ircd::fs: Refactor fs::read stack for fs::fd.
|
2018-05-30 04:59:04 -07:00 |
|
Jason Volk
|
a9e73d898c
|
ircd::fs: Add size(fd) from sys stat().
|
2018-05-30 04:59:04 -07:00 |
|
Jason Volk
|
955d8921b9
|
ircd::fs: Add basic fd wrapper object.
|
2018-05-30 04:59:04 -07:00 |
|
Jason Volk
|
4cb6845ac1
|
ircd::fs: Use vector_view for make_path related.
|
2018-05-24 19:11:05 -07:00 |
|
Jason Volk
|
bf445492db
|
ircd::fs: Use const_buffer rather than string_view in various returns.
|
2018-04-24 18:34:46 -07:00 |
|
Jason Volk
|
a08670cf48
|
ircd::fs: Support the yielding stdin readline in libircd.
|
2018-03-23 22:52:36 -07:00 |
|
Jason Volk
|
e37a8599f7
|
ircd::fs: Add remove() / rename() support.
|
2018-02-26 20:45:14 -08:00 |
|
Jason Volk
|
121be689e8
|
ircd::fs: Fix namespace ambiguities; various interface updates.
|
2018-02-26 20:35:09 -08:00 |
|
Jason Volk
|
7142cbf735
|
ircd: Move magic out of fs::.
|
2018-02-18 22:54:54 -08:00 |
|
Jason Volk
|
f5197cc8ff
|
ircd::fs: Add magic interface.
|
2018-02-18 01:12:09 -08:00 |
|
Jason Volk
|
4a56c0a1cd
|
ircd::fs: Asynchronous writes to local filesystem.
|
2018-02-06 00:02:18 -08:00 |
|
Jason Volk
|
be624ca7f6
|
Update Copyrastafaris.
|
2018-02-05 21:24:34 -08:00 |
|
Jason Volk
|
d53eef4ab6
|
ircd: Eliminate the raw_buffer concept.
|
2018-02-05 18:54:55 -08:00 |
|
Jason Volk
|
6b7399bf4a
|
ircd::fs: Simplify API/AIO by eliminating callback: ctx yield only for now.
|
2018-01-15 03:12:56 -08:00 |
|
Jason Volk
|
c698101d6d
|
ircd::fs: Initial asynchronous file IO support for Linux platforms.
|
2018-01-10 22:09:05 -08:00 |
|
Jason Volk
|
40bead52b7
|
ircd: Move and breakup util.h into util/; move fs.h into fs/.
|
2018-01-10 21:34:21 -08:00 |
|