diff options
author | Volker Lendecke <vl@samba.org> | 2009-05-18 13:30:16 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-05-18 13:38:56 +0200 |
commit | 5fb3b8e377deeb0ce362a7bcb9323542b579fdef (patch) | |
tree | 2b754e4daa9bae472efacc0118b19f7550398eba /source3/smbd | |
parent | bbbf9f13add12906480e6697eb56a2680dabe160 (diff) | |
download | samba-5fb3b8e377deeb0ce362a7bcb9323542b579fdef.tar.gz samba-5fb3b8e377deeb0ce362a7bcb9323542b579fdef.tar.bz2 samba-5fb3b8e377deeb0ce362a7bcb9323542b579fdef.zip |
Move down the become_root()/unbecome_root() calls into the VFS modules
The aio_fork module does not need this, as it does not communicate via signals
but with pipes. Watching a strace log with those become_root() calls in aio.c
is absolutely awful, and it does affect performance.
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/aio.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c index 77616be48c..a5eea0a32e 100644 --- a/source3/smbd/aio.c +++ b/source3/smbd/aio.c @@ -179,10 +179,7 @@ bool schedule_aio_read_and_X(connection_struct *conn, a->aio_sigevent.sigev_signo = RT_SIGNAL_AIO; a->aio_sigevent.sigev_value.sival_int = req->mid; - become_root(); ret = SMB_VFS_AIO_READ(fsp, a); - unbecome_root(); - if (ret == -1) { DEBUG(0,("schedule_aio_read_and_X: aio_read failed. " "Error %s\n", strerror(errno) )); @@ -277,10 +274,7 @@ bool schedule_aio_write_and_X(connection_struct *conn, a->aio_sigevent.sigev_signo = RT_SIGNAL_AIO; a->aio_sigevent.sigev_value.sival_int = req->mid; - become_root(); ret = SMB_VFS_AIO_WRITE(fsp, a); - unbecome_root(); - if (ret == -1) { DEBUG(3,("schedule_aio_wrote_and_X: aio_write failed. " "Error %s\n", strerror(errno) )); |