summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_aio_linux.c
AgeCommit message (Collapse)AuthorFilesLines
2016-03-02vfs/aio_linux: measure libaio aio function call durationRalph Boehme1-0/+8
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2016-03-02s3/vfs: wrap async io function args inside struct vfs_aio_stateRalph Boehme1-10/+9
Subsequent commits that are going to track aio request duration in the aio backends will use this. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2015-11-13s3: smbd: Change aio_pending_size static variable to a new "aio max threads" ↵Jeremy Allison1-20/+2
smb.conf parameter. Removes accessor functions as now this parameter is set under user control in smb.conf. Default is 100. Note that this doesn't limit the number of outstanding aio requests, it just causes them to go onto the pthreadpool queue. Now we need to prioritize pthreadpool pipe replies ahead of incoming SMB2 requests, but that's a patch for another day. Based on ideas from Volker. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christof Schmitt <cs@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2015-11-13s3: smbd: Remove aio_pending_size from globals.Jeremy Allison1-4/+4
Access via functions only. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Christof Schmitt <cs@samba.org>
2015-10-13lib: Move sys_rw* to lib/utilVolker Lendecke1-1/+1
genrand.c will require it soon Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2015-08-20s3:modules/vfs_*: make function prototypes available via static_decl_vfs;Stefan Metzmacher1-0/+1
This allows the static build of the modules. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2015-05-06Convert all uint8/16/32 to _t in all modules.Richard Sharpe1-2/+2
Signed-off-by: Richard Sharpe <rsharpe@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2014-12-07lib: Split out sys_[read|write] & friendsVolker Lendecke1-0/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-02-19s3:modules: s/struct fd_event/struct tevent_fdStefan Metzmacher1-3/+3
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19s3:modules: s/struct event_context/struct tevent_contextStefan Metzmacher1-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2012-07-18s3: Add aio_fsync to the aio_linux moduleVolker Lendecke1-0/+44
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Convert aio_linux to pread/pwrite_send/recvVolker Lendecke1-543/+100
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-17s3-linux-aio: Fix error handlingVolker Lendecke1-4/+2
Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Jul 17 21:22:31 CEST 2012 on sn-devel-104
2012-04-12Fix return_fn when aio was cancelled. We need to return -1, errno = ECANCELED.Jeremy Allison1-0/+5
2012-04-12Fix the same bug reported by Kirill Malkin ↵Jeremy Allison1-4/+24
<kirill.malkin@starboardstorage.com> and fixed by Volker for vfs_aio_fork as ref 0aacdbfada46329e0ad9dacfa90041a1c7dbf3e8. From that change: aio_suspend does not signal the main process with a signal, it just waits. The aio_fork module does not use the signal at all, it directly calls back into the main smbd by calling smbd_aio_complete_aio_ex. This is an abstraction violation, but the alternative would have been to use signals where they are not needed. However, in wait_for_aio_completion this bites us: With aio_fork we call handle_aio_completed twice on the same aio_ex struct: Once from the call to handle_aio_completion within the aio_fork module and once from the code in wait_for_aio_completion. Fix this differently here by not calling directly back into smbd, but using a new function aio_linux_setup_returns() to setup the return values that wait_for_aio_completion() in the main smbd will pick up by calling handle_aio_completd().
2012-04-12s3: Fix a typoVolker Lendecke1-1/+1
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Thu Apr 12 23:38:24 CEST 2012 on sn-devel-104
2012-04-11Add a new module, aio_linux which implements Linux kernel aio support. Docs ↵Jeremy Allison1-0/+730
to follow. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Apr 11 02:29:04 CEST 2012 on sn-devel-104