Lines Matching +full:right +full:- +full:aligned
1 // SPDX-License-Identifier: GPL-2.0
16 #include <linux/backing-dev.h>
42 if (S_ISFIFO(inode->i_mode)) in generic_fadvise()
43 return -ESPIPE; in generic_fadvise()
45 mapping = file->f_mapping; in generic_fadvise()
47 return -EINVAL; in generic_fadvise()
49 bdi = inode_to_bdi(mapping->host); in generic_fadvise()
62 return -EINVAL; in generic_fadvise()
76 endbyte--; /* inclusive */ in generic_fadvise()
80 file->f_ra.ra_pages = bdi->ra_pages; in generic_fadvise()
81 spin_lock(&file->f_lock); in generic_fadvise()
82 file->f_mode &= ~(FMODE_RANDOM | FMODE_NOREUSE); in generic_fadvise()
83 spin_unlock(&file->f_lock); in generic_fadvise()
86 spin_lock(&file->f_lock); in generic_fadvise()
87 file->f_mode |= FMODE_RANDOM; in generic_fadvise()
88 spin_unlock(&file->f_lock); in generic_fadvise()
91 file->f_ra.ra_pages = bdi->ra_pages * 2; in generic_fadvise()
92 spin_lock(&file->f_lock); in generic_fadvise()
93 file->f_mode &= ~FMODE_RANDOM; in generic_fadvise()
94 spin_unlock(&file->f_lock); in generic_fadvise()
102 nrpages = end_index - start_index + 1; in generic_fadvise()
109 spin_lock(&file->f_lock); in generic_fadvise()
110 file->f_mode |= FMODE_NOREUSE; in generic_fadvise()
111 spin_unlock(&file->f_lock); in generic_fadvise()
122 start_index = (offset+(PAGE_SIZE-1)) >> PAGE_SHIFT; in generic_fadvise()
128 * is page aligned or is at the end of file, we should not skip in generic_fadvise()
129 * that page - discarding the last page is safe enough. in generic_fadvise()
132 endbyte != inode->i_size - 1) { in generic_fadvise()
133 /* First page is tricky as 0 - 1 = -1, but pgoff_t in generic_fadvise()
141 end_index--; in generic_fadvise()
148 * It's common to FADV_DONTNEED right after in generic_fadvise()
154 * them out right away. in generic_fadvise()
174 return -EINVAL; in generic_fadvise()
182 if (file->f_op->fadvise) in vfs_fadvise()
183 return file->f_op->fadvise(file, offset, len, advice); in vfs_fadvise()
196 return -EBADF; in ksys_fadvise64_64()