innd does not find cycbufs

Russ Allbery rra at stanford.edu
Wed Sep 19 22:19:29 UTC 2001


Marco d'Itri <md at linux.it> writes:

> The file does exist and is readable by cnfsstat running as user news.
> I've looked at the code and I don't understand how this error can be
> triggered if stat returns 0.

> news at newsfeeder:pts/0:~$ls -l /news/spool/bufs/1/1
> -rw-r--r--    1 news     news     2214592512 Sep 17 21:38 /news/spool/bufs/1/1
> news at newsfeeder:pts/0:~$

> I'm running CURRENT-20010620.

> strace log:

> read(15, "cycbuff:A1:/news/spool/bufs/1/1:2211840\ncycbuff:A2:/news/spool/bufs/1/2:2211840\ncycbuff:A3:/news/spool/bufs/1/3:2211840\ncycbuff:A4:/news/spool/bufs/1/4:2211840\ncycbuff:A5:/news/spool/bufs/1/5:2211840\n"..., 1321) = 1321
> close(15)                               = 0
> stat64("/news/spool/bufs/1/1", {st_dev=makedev(8, 3), st_ino=12, st_mode=S_IFREG|0644, st_nlink=1, st_uid=9, st_gid=9, st_blksize=4096, st_blocks=4329608, st_size=2214592512, st_atime=2001/09/17-21:38:44, st_mtime=2001/09/17-21:38:44, st_ctime=2001/09/17-21:38:44}) = 0
> time([1000933188])                      = 1000933188
> rt_sigaction(SIGPIPE, {0x40123e08, [], 0x4000000}, {0x8073750, [], SA_RESTART|0x4000000}, 8) = 0
> send(3, "<59>Sep 19 22:59:48 innd: CNFS-sm: file \'/news/spool/bufs/1/1\' does not exist, ignoring \'A1\' cycbuff", 100, 0) = 100

The only guess I can come up with is that libc is calling stat64 but
thinks that the application isn't prepared to handle 64-bit stat values
and is therefore returning an error in the library code rather than at the
system call level.  Hm.  Or that a bad prototype for stat is causing the
result to be interpreted as a negative number.

What OS and libc version?

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list