diff --git a/fs/sharefs/file.c b/fs/sharefs/file.c index c18380e9c841a6cfba2a08fe80443376417ba4c3..a2c92d6946cee82babed0a59e3ed62c0e4e5bb3e 100644 --- a/fs/sharefs/file.c +++ b/fs/sharefs/file.c @@ -146,14 +146,11 @@ static loff_t sharefs_file_llseek(struct file *file, loff_t offset, int whence) loff_t err; struct file *lower_file; - err = generic_file_llseek(file, offset, whence); - if (err < 0) - goto out; - lower_file = sharefs_lower_file(file); + lower_file->f_pos = file->f_pos; err = generic_file_llseek(lower_file, offset, whence); + file->f_pos = lower_file->f_pos; -out: return err; }