Lines Matching refs:offset

55 static loff_t vfs_setpos_cookie(struct file *file, loff_t offset,  in vfs_setpos_cookie()  argument
58 if (offset < 0 && !unsigned_offsets(file)) in vfs_setpos_cookie()
60 if (offset > maxsize) in vfs_setpos_cookie()
63 if (offset != file->f_pos) { in vfs_setpos_cookie()
64 file->f_pos = offset; in vfs_setpos_cookie()
68 return offset; in vfs_setpos_cookie()
83 loff_t vfs_setpos(struct file *file, loff_t offset, loff_t maxsize) in vfs_setpos() argument
85 return vfs_setpos_cookie(file, offset, maxsize, NULL); in vfs_setpos()
102 static int must_set_pos(struct file *file, loff_t *offset, int whence, loff_t eof) in must_set_pos() argument
106 *offset += eof; in must_set_pos()
115 if (*offset == 0) { in must_set_pos()
116 *offset = file->f_pos; in must_set_pos()
125 if ((unsigned long long)*offset >= eof) in must_set_pos()
133 if ((unsigned long long)*offset >= eof) in must_set_pos()
135 *offset = eof; in must_set_pos()
159 generic_file_llseek_size(struct file *file, loff_t offset, int whence, in generic_file_llseek_size() argument
164 ret = must_set_pos(file, &offset, whence, eof); in generic_file_llseek_size()
168 return offset; in generic_file_llseek_size()
180 return vfs_setpos(file, file->f_pos + offset, maxsize); in generic_file_llseek_size()
182 return vfs_setpos(file, file->f_pos + offset, maxsize); in generic_file_llseek_size()
185 return vfs_setpos(file, offset, maxsize); in generic_file_llseek_size()
201 loff_t generic_llseek_cookie(struct file *file, loff_t offset, int whence, in generic_llseek_cookie() argument
220 ret = must_set_pos(file, &offset, whence, eof); in generic_llseek_cookie()
224 return offset; in generic_llseek_cookie()
228 return vfs_setpos_cookie(file, file->f_pos + offset, maxsize, cookie); in generic_llseek_cookie()
230 return vfs_setpos_cookie(file, offset, maxsize, cookie); in generic_llseek_cookie()
244 loff_t generic_file_llseek(struct file *file, loff_t offset, int whence) in generic_file_llseek() argument
248 return generic_file_llseek_size(file, offset, whence, in generic_file_llseek()
262 loff_t fixed_size_llseek(struct file *file, loff_t offset, int whence, loff_t size) in fixed_size_llseek() argument
266 return generic_file_llseek_size(file, offset, whence, in fixed_size_llseek()
281 loff_t no_seek_end_llseek(struct file *file, loff_t offset, int whence) in no_seek_end_llseek() argument
285 return generic_file_llseek_size(file, offset, whence, in no_seek_end_llseek()
301 loff_t no_seek_end_llseek_size(struct file *file, loff_t offset, int whence, loff_t size) in no_seek_end_llseek_size() argument
305 return generic_file_llseek_size(file, offset, whence, in no_seek_end_llseek_size()
324 loff_t noop_llseek(struct file *file, loff_t offset, int whence) in noop_llseek() argument
330 loff_t default_llseek(struct file *file, loff_t offset, int whence) in default_llseek() argument
340 offset += i_size_read(inode); in default_llseek()
343 if (offset == 0) { in default_llseek()
347 offset += file->f_pos; in default_llseek()
355 if (offset >= inode->i_size) { in default_llseek()
366 if (offset >= inode->i_size) { in default_llseek()
370 offset = inode->i_size; in default_llseek()
374 if (offset >= 0 || unsigned_offsets(file)) { in default_llseek()
375 if (offset != file->f_pos) in default_llseek()
376 file->f_pos = offset; in default_llseek()
377 retval = offset; in default_llseek()
385 loff_t vfs_llseek(struct file *file, loff_t offset, int whence) in vfs_llseek() argument
389 return file->f_op->llseek(file, offset, whence); in vfs_llseek()
393 static off_t ksys_lseek(unsigned int fd, off_t offset, unsigned int whence) in ksys_lseek() argument
402 loff_t res = vfs_llseek(fd_file(f), offset, whence); in ksys_lseek()
410 SYSCALL_DEFINE3(lseek, unsigned int, fd, off_t, offset, unsigned int, whence) in SYSCALL_DEFINE3() argument
412 return ksys_lseek(fd, offset, whence); in SYSCALL_DEFINE3()
416 COMPAT_SYSCALL_DEFINE3(lseek, unsigned int, fd, compat_off_t, offset, unsigned int, whence) in COMPAT_SYSCALL_DEFINE3() argument
418 return ksys_lseek(fd, offset, whence); in COMPAT_SYSCALL_DEFINE3()
430 loff_t offset; in SYSCALL_DEFINE5() local
438 offset = vfs_llseek(fd_file(f), ((loff_t) offset_high << 32) | offset_low, in SYSCALL_DEFINE5()
441 retval = (int)offset; in SYSCALL_DEFINE5()
442 if (offset >= 0) { in SYSCALL_DEFINE5()
444 if (!copy_to_user(result, &offset, sizeof(offset))) in SYSCALL_DEFINE5()
1398 SYSCALL_DEFINE4(sendfile, int, out_fd, int, in_fd, off_t __user *, offset, size_t, count) in SYSCALL_DEFINE4() argument
1404 if (offset) { in SYSCALL_DEFINE4()
1405 if (unlikely(get_user(off, offset))) in SYSCALL_DEFINE4()
1409 if (unlikely(put_user(pos, offset))) in SYSCALL_DEFINE4()
1417 SYSCALL_DEFINE4(sendfile64, int, out_fd, int, in_fd, loff_t __user *, offset, size_t, count) in SYSCALL_DEFINE4() argument
1422 if (offset) { in SYSCALL_DEFINE4()
1423 if (unlikely(copy_from_user(&pos, offset, sizeof(loff_t)))) in SYSCALL_DEFINE4()
1426 if (unlikely(put_user(pos, offset))) in SYSCALL_DEFINE4()
1436 compat_off_t __user *, offset, compat_size_t, count) in COMPAT_SYSCALL_DEFINE4() argument
1442 if (offset) { in COMPAT_SYSCALL_DEFINE4()
1443 if (unlikely(get_user(off, offset))) in COMPAT_SYSCALL_DEFINE4()
1447 if (unlikely(put_user(pos, offset))) in COMPAT_SYSCALL_DEFINE4()
1456 compat_loff_t __user *, offset, compat_size_t, count) in COMPAT_SYSCALL_DEFINE4() argument
1461 if (offset) { in COMPAT_SYSCALL_DEFINE4()
1462 if (unlikely(copy_from_user(&pos, offset, sizeof(loff_t)))) in COMPAT_SYSCALL_DEFINE4()
1465 if (unlikely(put_user(pos, offset))) in COMPAT_SYSCALL_DEFINE4()