aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/seq_file.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/fs/seq_file.c b/fs/seq_file.c
index 11ba05608818..15c6304bab71 100644
--- a/fs/seq_file.c
+++ b/fs/seq_file.c
@@ -308,27 +308,27 @@ loff_t seq_lseek(struct file *file, loff_t offset, int whence)
308 mutex_lock(&m->lock); 308 mutex_lock(&m->lock);
309 m->version = file->f_version; 309 m->version = file->f_version;
310 switch (whence) { 310 switch (whence) {
311 case SEEK_CUR: 311 case SEEK_CUR:
312 offset += file->f_pos; 312 offset += file->f_pos;
313 case SEEK_SET: 313 case SEEK_SET:
314 if (offset < 0) 314 if (offset < 0)
315 break; 315 break;
316 retval = offset; 316 retval = offset;
317 if (offset != m->read_pos) { 317 if (offset != m->read_pos) {
318 while ((retval=traverse(m, offset)) == -EAGAIN) 318 while ((retval = traverse(m, offset)) == -EAGAIN)
319 ; 319 ;
320 if (retval) { 320 if (retval) {
321 /* with extreme prejudice... */ 321 /* with extreme prejudice... */
322 file->f_pos = 0; 322 file->f_pos = 0;
323 m->read_pos = 0; 323 m->read_pos = 0;
324 m->version = 0; 324 m->version = 0;
325 m->index = 0; 325 m->index = 0;
326 m->count = 0; 326 m->count = 0;
327 } else { 327 } else {
328 m->read_pos = offset; 328 m->read_pos = offset;
329 retval = file->f_pos = offset; 329 retval = file->f_pos = offset;
330 }
331 } 330 }
331 }
332 } 332 }
333 file->f_version = m->version; 333 file->f_version = m->version;
334 mutex_unlock(&m->lock); 334 mutex_unlock(&m->lock);