diff options
author | Alexander Bersenev <bay@hackerdom.ru> | 2011-06-18 15:59:37 +0000 |
---|---|---|
committer | Alexander Bersenev <bay@hackerdom.ru> | 2011-06-18 15:59:37 +0000 |
commit | 01807c6d423c98886fc71198f031adc7f38845bf (patch) | |
tree | a1d198fda4f25e64c812c6ad09683fd7737cfb30 | |
parent | simplify the protocol to make its parsing quick (diff) | |
download | autodep-01807c6d423c98886fc71198f031adc7f38845bf.tar.gz autodep-01807c6d423c98886fc71198f031adc7f38845bf.tar.bz2 autodep-01807c6d423c98886fc71198f031adc7f38845bf.zip |
another performace improvements
-rw-r--r-- | logger/src/autodep/logfs/fstracer.py | 2 | ||||
-rw-r--r-- | logger/src/hook_fusefs/hookfs.c | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/logger/src/autodep/logfs/fstracer.py b/logger/src/autodep/logfs/fstracer.py index fec926c..95d64f5 100644 --- a/logger/src/autodep/logfs/fstracer.py +++ b/logger/src/autodep/logfs/fstracer.py @@ -173,7 +173,7 @@ def getfsevents(prog_name,arguments,approach="hooklib",filterproc=defaultfilter) input.append(client) buffers[client]="" else: - data=s.recv(4096) + data=s.recv(65536) buffers[s]+=data diff --git a/logger/src/hook_fusefs/hookfs.c b/logger/src/hook_fusefs/hookfs.c index 3545151..9241a2a 100644 --- a/logger/src/hook_fusefs/hookfs.c +++ b/logger/src/hook_fusefs/hookfs.c @@ -46,6 +46,8 @@ #define MAXSOCKETPATHLEN 108 #define MAXFILEBUFFLEN 2048 +#define IOBUFSIZE 65536 + struct hookfs_config { int argv_debug; @@ -202,7 +204,6 @@ static void raw_log_event(const char *event_type, const char *filename, char *re fprintf(log_file,"%s",result); fprintf(log_file,"%c%c",0,0); - fflush(log_file); } /* @@ -229,10 +230,10 @@ static int is_event_allowed(const char *event_type,const char *filename, pid_t p // sending asking log_event raw_log_event(event_type,filename,"ASKING",0,stage); + fflush(log_file); char answer[8]; fscanf(log_file,"%7s",answer); - fflush(log_file); // yes, it is here too pthread_mutex_unlock( &socketblock ); if(strcmp(answer,"ALLOW")==0) @@ -1113,6 +1114,12 @@ int main(int argc, char *argv[]) { fprintf(stderr,"Unable to open a socket for a steam writing: %s\n", strerror(errno)); exit(1); } + + ret=setvbuf(log_file,NULL,_IOFBF,IOBUFSIZE); + if(ret!=0){ + fprintf(stderr,"Unable to set a size of io buffer"); + exit(1); + } } if (! try_chdir_to_mountpoint(args.argc, args.argv)) { |