Mercurial > hg > nginx
comparison src/os/unix/ngx_files.c @ 3157:a2c1b4f74ea7
log file name for read/write errors
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 24 Sep 2009 20:04:10 +0000 |
parents | ceef364208c8 |
children | 34cbd6e86218 |
comparison
equal
deleted
inserted
replaced
3156:55f006d944ba | 3157:a2c1b4f74ea7 |
---|---|
20 | 20 |
21 n = pread(file->fd, buf, size, offset); | 21 n = pread(file->fd, buf, size, offset); |
22 | 22 |
23 if (n == -1) { | 23 if (n == -1) { |
24 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, | 24 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
25 "pread() failed, file \"%s\"", file->name.data); | 25 "pread() \"%s\" failed", file->name.data); |
26 return NGX_ERROR; | 26 return NGX_ERROR; |
27 } | 27 } |
28 | 28 |
29 #else | 29 #else |
30 | 30 |
31 if (file->sys_offset != offset) { | 31 if (file->sys_offset != offset) { |
32 if (lseek(file->fd, offset, SEEK_SET) == -1) { | 32 if (lseek(file->fd, offset, SEEK_SET) == -1) { |
33 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "lseek() failed"); | 33 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
34 "lseek() \"%s\" failed", file->name.data); | |
34 return NGX_ERROR; | 35 return NGX_ERROR; |
35 } | 36 } |
36 | 37 |
37 file->sys_offset = offset; | 38 file->sys_offset = offset; |
38 } | 39 } |
39 | 40 |
40 n = read(file->fd, buf, size); | 41 n = read(file->fd, buf, size); |
41 | 42 |
42 if (n == -1) { | 43 if (n == -1) { |
43 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "read() failed"); | 44 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
45 "read() \"%s\" failed", file->name.data); | |
44 return NGX_ERROR; | 46 return NGX_ERROR; |
45 } | 47 } |
46 | 48 |
47 file->sys_offset += n; | 49 file->sys_offset += n; |
48 | 50 |
65 #if (NGX_HAVE_PWRITE) | 67 #if (NGX_HAVE_PWRITE) |
66 | 68 |
67 n = pwrite(file->fd, buf, size, offset); | 69 n = pwrite(file->fd, buf, size, offset); |
68 | 70 |
69 if (n == -1) { | 71 if (n == -1) { |
70 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "pwrite() failed"); | 72 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
73 "pwrite() \"%s\" failed", file->name.data); | |
71 return NGX_ERROR; | 74 return NGX_ERROR; |
72 } | 75 } |
73 | 76 |
74 if ((size_t) n != size) { | 77 if ((size_t) n != size) { |
75 ngx_log_error(NGX_LOG_CRIT, file->log, 0, | 78 ngx_log_error(NGX_LOG_CRIT, file->log, 0, |
76 "pwrite() has written only %z of %uz", n, size); | 79 "pwrite() \"%s\" has written only %z of %uz", |
80 file->name.data, n, size); | |
77 return NGX_ERROR; | 81 return NGX_ERROR; |
78 } | 82 } |
79 | 83 |
80 #else | 84 #else |
81 | 85 |
82 if (file->sys_offset != offset) { | 86 if (file->sys_offset != offset) { |
83 if (lseek(file->fd, offset, SEEK_SET) == -1) { | 87 if (lseek(file->fd, offset, SEEK_SET) == -1) { |
84 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "lseek() failed"); | 88 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
89 "lseek() \"%s\" failed", file->name.data); | |
85 return NGX_ERROR; | 90 return NGX_ERROR; |
86 } | 91 } |
87 | 92 |
88 file->sys_offset = offset; | 93 file->sys_offset = offset; |
89 } | 94 } |
90 | 95 |
91 n = write(file->fd, buf, size); | 96 n = write(file->fd, buf, size); |
92 | 97 |
93 if (n == -1) { | 98 if (n == -1) { |
94 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "write() failed"); | 99 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
100 "write() \"%s\" failed", file->name.data); | |
95 return NGX_ERROR; | 101 return NGX_ERROR; |
96 } | 102 } |
97 | 103 |
98 if ((size_t) n != size) { | 104 if ((size_t) n != size) { |
99 ngx_log_error(NGX_LOG_CRIT, file->log, 0, | 105 ngx_log_error(NGX_LOG_CRIT, file->log, 0, |
100 "write() has written only %z of %uz", n, size); | 106 "write() \"%s\" has written only %z of %uz", |
107 file->name.data, n, size); | |
101 return NGX_ERROR; | 108 return NGX_ERROR; |
102 } | 109 } |
103 | 110 |
104 file->sys_offset += n; | 111 file->sys_offset += n; |
105 | 112 |
189 } | 196 } |
190 | 197 |
191 if (file->sys_offset != offset) { | 198 if (file->sys_offset != offset) { |
192 if (lseek(file->fd, offset, SEEK_SET) == -1) { | 199 if (lseek(file->fd, offset, SEEK_SET) == -1) { |
193 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, | 200 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
194 "lseek() failed"); | 201 "lseek() \"%s\" failed", file->name.data); |
195 return NGX_ERROR; | 202 return NGX_ERROR; |
196 } | 203 } |
197 | 204 |
198 file->sys_offset = offset; | 205 file->sys_offset = offset; |
199 } | 206 } |
200 | 207 |
201 n = writev(file->fd, vec.elts, vec.nelts); | 208 n = writev(file->fd, vec.elts, vec.nelts); |
202 | 209 |
203 if (n == -1) { | 210 if (n == -1) { |
204 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, | 211 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, |
205 "writev() failed"); | 212 "writev() \"%s\" failed", file->name.data); |
206 return NGX_ERROR; | 213 return NGX_ERROR; |
207 } | 214 } |
208 | 215 |
209 if ((size_t) n != size) { | 216 if ((size_t) n != size) { |
210 ngx_log_error(NGX_LOG_CRIT, file->log, 0, | 217 ngx_log_error(NGX_LOG_CRIT, file->log, 0, |
211 "writev() has written only %z of %uz", n, size); | 218 "writev() \"%s\" has written only %z of %uz", |
219 file->name.data, n, size); | |
212 return NGX_ERROR; | 220 return NGX_ERROR; |
213 } | 221 } |
214 | 222 |
215 file->sys_offset += n; | 223 file->sys_offset += n; |
216 file->offset += n; | 224 file->offset += n; |