Fix a minor error in pipe_stat - st_size was always reported as 0

when direct writes kicked in.  Whether this affected any applications
is unknown.
This commit is contained in:
silby 2004-07-20 07:06:43 +00:00
parent 8b3a02d853
commit 9a2c448df9

View File

@ -1353,7 +1353,10 @@ pipe_stat(fp, ub, active_cred, td)
bzero(ub, sizeof(*ub));
ub->st_mode = S_IFIFO;
ub->st_blksize = pipe->pipe_buffer.size;
ub->st_size = pipe->pipe_buffer.cnt;
if (pipe->pipe_state & PIPE_DIRECTW)
ub->st_size = pipe->pipe_map.cnt;
else
ub->st_size = pipe->pipe_buffer.cnt;
ub->st_blocks = (ub->st_size + ub->st_blksize - 1) / ub->st_blksize;
ub->st_atimespec = pipe->pipe_atime;
ub->st_mtimespec = pipe->pipe_mtime;