diff options
author | Jeremy Allison <jra@samba.org> | 2005-06-27 22:53:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:58:05 -0500 |
commit | f2f55d703d0dd549a83809d3e5cc5151569b48d6 (patch) | |
tree | f5c2e7747c6541d19472a0157215c54af1b2cd62 /source3/smbd/close.c | |
parent | 7ebd74e6c502483b7f7c73943b698d6433c8c0b2 (diff) | |
download | samba-f2f55d703d0dd549a83809d3e5cc5151569b48d6.tar.gz samba-f2f55d703d0dd549a83809d3e5cc5151569b48d6.tar.bz2 samba-f2f55d703d0dd549a83809d3e5cc5151569b48d6.zip |
r7963: Add aio support to 3.0.
Jeremy.
(This used to be commit 1de27da47051af08790317f5b48b02719d6b9934)
Diffstat (limited to 'source3/smbd/close.c')
-rw-r--r-- | source3/smbd/close.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c index b3244432ff..b7649bcce4 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -156,6 +156,20 @@ static int close_normal_file(files_struct *fsp, BOOL normal_close) remove_pending_lock_requests_by_fid(fsp); + if (fsp->aio_write_behind) { + /* + * If we're finishing write behind on a close we can get a write + * error here, we must remember this. + */ + int ret = wait_for_aio_completion(fsp); + if (ret) { + saved_errno = ret; + err1 = -1; + } + } else { + cancel_aio_by_fsp(fsp); + } + /* * If we're flushing on a close we can get a write * error here, we must remember this. |