diff options
Diffstat (limited to 'fs/ext4/file.c')
| -rw-r--r-- | fs/ext4/file.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/fs/ext4/file.c b/fs/ext4/file.c index b19f0a457f32..6f4cc567c382 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c | |||
| @@ -494,17 +494,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize) | |||
| 494 | if (dataoff > isize) | 494 | if (dataoff > isize) |
| 495 | return -ENXIO; | 495 | return -ENXIO; |
| 496 | 496 | ||
| 497 | if (dataoff < 0 && !(file->f_mode & FMODE_UNSIGNED_OFFSET)) | 497 | return vfs_setpos(file, dataoff, maxsize); |
| 498 | return -EINVAL; | ||
| 499 | if (dataoff > maxsize) | ||
| 500 | return -EINVAL; | ||
| 501 | |||
| 502 | if (dataoff != file->f_pos) { | ||
| 503 | file->f_pos = dataoff; | ||
| 504 | file->f_version = 0; | ||
| 505 | } | ||
| 506 | |||
| 507 | return dataoff; | ||
| 508 | } | 498 | } |
| 509 | 499 | ||
| 510 | /* | 500 | /* |
| @@ -580,17 +570,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize) | |||
| 580 | if (holeoff > isize) | 570 | if (holeoff > isize) |
| 581 | holeoff = isize; | 571 | holeoff = isize; |
| 582 | 572 | ||
| 583 | if (holeoff < 0 && !(file->f_mode & FMODE_UNSIGNED_OFFSET)) | 573 | return vfs_setpos(file, holeoff, maxsize); |
| 584 | return -EINVAL; | ||
| 585 | if (holeoff > maxsize) | ||
| 586 | return -EINVAL; | ||
| 587 | |||
| 588 | if (holeoff != file->f_pos) { | ||
| 589 | file->f_pos = holeoff; | ||
| 590 | file->f_version = 0; | ||
| 591 | } | ||
| 592 | |||
| 593 | return holeoff; | ||
| 594 | } | 574 | } |
| 595 | 575 | ||
| 596 | /* | 576 | /* |
