file.c (728d90bdc9e480dc93913e59a0aa3c896c7aa697) file.c (09edf4d381957b144440bac18a4769c53063b943)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/file.c
4 *
5 * Copyright (C) 1992, 1993, 1994, 1995
6 * Remy Card (card@masi.ibp.fr)
7 * Laboratoire MASI - Institut Blaise Pascal
8 * Universite Pierre et Marie Curie (Paris VI)

--- 480 unchanged lines hidden (view full) ---

489 maxbytes = inode->i_sb->s_maxbytes;
490
491 switch (whence) {
492 default:
493 return generic_file_llseek_size(file, offset, whence,
494 maxbytes, i_size_read(inode));
495 case SEEK_HOLE:
496 inode_lock_shared(inode);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/file.c
4 *
5 * Copyright (C) 1992, 1993, 1994, 1995
6 * Remy Card (card@masi.ibp.fr)
7 * Laboratoire MASI - Institut Blaise Pascal
8 * Universite Pierre et Marie Curie (Paris VI)

--- 480 unchanged lines hidden (view full) ---

489 maxbytes = inode->i_sb->s_maxbytes;
490
491 switch (whence) {
492 default:
493 return generic_file_llseek_size(file, offset, whence,
494 maxbytes, i_size_read(inode));
495 case SEEK_HOLE:
496 inode_lock_shared(inode);
497 offset = iomap_seek_hole(inode, offset, &ext4_iomap_ops);
497 offset = iomap_seek_hole(inode, offset,
498 &ext4_iomap_report_ops);
498 inode_unlock_shared(inode);
499 break;
500 case SEEK_DATA:
501 inode_lock_shared(inode);
499 inode_unlock_shared(inode);
500 break;
501 case SEEK_DATA:
502 inode_lock_shared(inode);
502 offset = iomap_seek_data(inode, offset, &ext4_iomap_ops);
503 offset = iomap_seek_data(inode, offset,
504 &ext4_iomap_report_ops);
503 inode_unlock_shared(inode);
504 break;
505 }
506
507 if (offset < 0)
508 return offset;
509 return vfs_setpos(file, offset, maxbytes);
510}

--- 29 unchanged lines hidden ---
505 inode_unlock_shared(inode);
506 break;
507 }
508
509 if (offset < 0)
510 return offset;
511 return vfs_setpos(file, offset, maxbytes);
512}

--- 29 unchanged lines hidden ---