Skip to content
Snippets Groups Projects
Commit e93b6dfa authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Don't call utime() on the node.dab file for every read

... this was the cause of some observed unnecessarily high disk/file server
(Samba) utilization, as we call getnodedat() a lot. utime() opens and closes
the file, which was already open - and we're not modifying the file, so
updating the 'modification time' here is wrong anyway.

Disabling this 21-year old bit of logic resulted in a pretty dramatic
reduction in Samba (smbd) CPU utilization on Vertrauen.

If a BBS actually needes this hack (e.g. for NFS compatibility, as Deuce
eluded in the comment), they'd be better off just setting the "Keep Node File
Open" node setting (in SCFG->Nodes) to "No".
parent 69fc70ab
No related branches found
No related tags found
1 merge request!455Update branch with changes from master
Pipeline #6573 passed
......@@ -52,9 +52,10 @@ int sbbs_t::getnodedat(uint number, node_t *node, bool lockit)
return(errno);
}
}
#if 0 // This leads to high disk (or Samba/file server) utilization as we call getnodedat() a lot
else
utime(str,NULL); /* NFS fix... utime() forces a cache refresh */
#endif
number--; /* make zero based */
for(count=0;count<LOOP_NODEDAB;count++) {
if(count)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment