Race condition when initializing new cnfs buffers?

Karl Skibinski charly at 40.to
Sat Jan 12 11:48:03 UTC 2002


Hi!
  
I just tried to add another cycbuff to my system. I shut down the
server, added the configuration to cycbuff.conf and restarted the
server again. The following lines appeared in my syslog at this
moment:
  
-------------
Jan 11 03:45:10 vierzwo innd: Reading config from
+/home/news/packages/inn/inn-2.3.2.install/etc/inn.conf
Jan 11 03:45:10 vierzwo innd: SERVER descriptors 1772
Jan 11 03:45:10 vierzwo innd: SERVER outgoing 1759
Jan 11 03:45:11 vierzwo innd: SERVER ccsetup control:12
Jan 11 03:45:11 vierzwo innd: SERVER lcsetup localconn:14
Jan 11 03:45:11 vierzwo innd: SERVER rcsetup remconn:4
Jan 11 03:45:11 vierzwo innd: archive! spawned archive!:17:proc:1062
Jan 11 03:45:11 vierzwo innd: archiver-old! opened archiver-old!:16:file
Jan 11 03:45:11 vierzwo innd: controlchan! spawned controlchan!:19:proc:1063
Jan 11 03:45:11 vierzwo archive[1062]: Reading config from
+/home/news/packages/inn/inn-2.3.2.install/etc/inn.conf
Jan 11 03:45:12 vierzwo innd: CNFS-sm: No magic cookie found for cycbuff CATCH4, initializing
Jan 11 03:45:12 vierzwo archive[1062]: CNFS-sm: No magic cookie found for cycbuff CATCH4,
+initializing
Jan 11 03:45:12 vierzwo archive[1062]: CNFS-sm: CNFSflushhead: write failed (-1 bytes): Bad file
+descriptor
Jan 11 03:45:12 vierzwo archive[1062]: SM storage method 'cnfs' failed initialization
Jan 11 03:45:12 vierzwo archive[1062]: SM one or more storage methods failed initialization
Jan 11 03:45:13 vierzwo innd: SERVER perl filtering enabled
Jan 11 03:45:13 vierzwo innd: SERVER starting
Jan 11 03:45:13 vierzwo innd: archive! exit 1 elapsed 0 pid 1062
Jan 11 03:45:13 vierzwo innd: archive!:17:proc:1062 closed
Jan 11 03:45:13 vierzwo innd: archive! spawned archive!:25:proc:1075
Jan 11 03:45:13 vierzwo innd: archive! restarted
Jan 11 03:45:13 vierzwo archive[1075]: Reading config from
+/home/news/packages/inn/inn-2.3.2.install/etc/inn.conf
------------

It seems to me, that both, innd and archive see that this new buffer
(CATCH4) isn't initilized yet and try to do this. Since innd has
already opened the buffer for writing, archive fails in doing so,
complains and exits.

Do I understand this correctly? Shouldn't those actions be warded
against multiple, parallel executions?

Another question is, if the buffer is now initialized correctly or am
I in danger of loosing data if inn starts writing to it?


Greetings, Charly!



More information about the inn-workers mailing list