/kernel/linux/linux-5.10/include/linux/ |
H A D | iversion.h | 8 * The inode->i_version field: 10 * The change attribute (i_version) is mandated by NFSv4 and is mostly for 11 * knfsd, but is also used for other purposes (e.g. IMA). The i_version must 15 * Observers see the i_version as a 64-bit number that never decreases. If it 21 * Not all filesystems properly implement the i_version counter. Subsystems that 22 * want to use i_version field on an inode should first check whether the 25 * Those that set SB_I_VERSION will automatically have their i_version counter 29 * i_version on namespace changes in directories (mkdir, rmdir, unlink, etc.). 30 * We consider these sorts of filesystems to have a kernel-managed i_version. 32 * It may be impractical for filesystems to keep i_version update [all...] |
H A D | fs.h | 685 atomic64_t i_version; member
|
/kernel/linux/linux-6.6/fs/ceph/ |
H A D | cache.c | 37 &ci->i_version, sizeof(ci->i_version), in ceph_fscache_register_inode_cookie() 63 &ci->i_version, &i_size); in ceph_fscache_unuse_cookie() 74 fscache_update_cookie(ceph_fscache_cookie(ci), &ci->i_version, &i_size); in ceph_fscache_update() 82 &ci->i_version, i_size_read(inode), in ceph_fscache_invalidate()
|
H A D | inode.c | 571 ci->i_version = 0; in ceph_alloc_inode() 826 if (ci->i_version == 0 || in ceph_fill_file_time() 833 if (ci->i_version == 0 || in ceph_fill_file_time() 941 ci->i_version); in ceph_fill_inode() 1003 if (ci->i_version == 0 || in ceph_fill_inode() 1005 le64_to_cpu(info->version) > (ci->i_version & ~1))) in ceph_fill_inode() 1140 /* finally update i_version */ in ceph_fill_inode() 1141 if (le64_to_cpu(info->version) > ci->i_version) in ceph_fill_inode() 1142 ci->i_version = le64_to_cpu(info->version); in ceph_fill_inode()
|
H A D | super.h | 351 u64 i_version; member
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | iversion.h | 8 * The inode->i_version field: 10 * The change attribute (i_version) is mandated by NFSv4 and is mostly for 11 * knfsd, but is also used for other purposes (e.g. IMA). The i_version must 16 * inode status change time (aka ctime). i_version must appear to change, even 19 * ctime must change due to an operation, then the i_version counter must be 22 * Making the i_version update completely atomic with the operation itself would 28 * i_version is to allow for better cache coherency, the i_version must always 33 * Observers see the i_version as a 64-bit number that never decreases. If it 39 * Not all filesystems properly implement the i_version counte [all...] |
H A D | fs.h | 713 atomic64_t i_version; member
|
/kernel/linux/linux-5.10/security/integrity/ima/ |
H A D | ima_api.c | 203 * storing the measurement and i_version in the iint. 220 u64 i_version; in ima_collect_measurement() local 238 * Dectecting file change is based on i_version. On filesystems in ima_collect_measurement() 239 * which do not support i_version, support is limited to an initial in ima_collect_measurement() 242 i_version = inode_query_iversion(inode); in ima_collect_measurement() 265 iint->version = i_version; in ima_collect_measurement()
|
/kernel/linux/linux-6.6/security/integrity/ima/ |
H A D | ima_api.c | 234 * storing the measurement and i_version in the iint. 253 u64 i_version = 0; in ima_collect_measurement() local 267 * Detecting file change is based on i_version. On filesystems in ima_collect_measurement() 268 * which do not support i_version, support was originally limited in ima_collect_measurement() 275 i_version = stat.change_cookie; in ima_collect_measurement() 305 iint->version = i_version; in ima_collect_measurement()
|
/kernel/linux/linux-5.10/fs/ceph/ |
H A D | cache.c | 121 aux.version = ci->i_version; in ceph_fscache_inode_check_aux() 155 aux.version = ci->i_version; in ceph_fscache_register_inode_cookie()
|
H A D | inode.c | 446 ci->i_version = 0; in ceph_alloc_inode() 680 if (ci->i_version == 0 || in ceph_fill_file_time() 687 if (ci->i_version == 0 || in ceph_fill_file_time() 765 ci->i_version); in ceph_fill_inode() 808 if (ci->i_version == 0 || in ceph_fill_inode() 810 le64_to_cpu(info->version) > (ci->i_version & ~1))) in ceph_fill_inode() 919 /* finally update i_version */ in ceph_fill_inode() 920 if (le64_to_cpu(info->version) > ci->i_version) in ceph_fill_inode() 921 ci->i_version = le64_to_cpu(info->version); in ceph_fill_inode()
|
H A D | super.h | 321 u64 i_version; member
|
/kernel/linux/linux-5.10/fs/sharefs/ |
H A D | super.c | 171 atomic64_set(&i->vfs_inode.i_version, 1); in sharefs_alloc_inode()
|
H A D | lookup.c | 110 atomic64_inc(&inode->i_version); in sharefs_iget()
|
/kernel/linux/linux-6.6/fs/sharefs/ |
H A D | super.c | 171 atomic64_set(&i->vfs_inode.i_version, 1); in sharefs_alloc_inode()
|
H A D | lookup.c | 110 atomic64_inc(&inode->i_version); in sharefs_iget()
|
/kernel/linux/linux-5.10/fs/ext4/ |
H A D | ioctl.c | 71 swap(inode1->i_version, inode2->i_version); in swap_inode_data()
|
/kernel/linux/linux-6.6/fs/ext4/ |
H A D | ioctl.c | 319 swap(inode1->i_version, inode2->i_version); in swap_inode_data()
|
/kernel/linux/linux-6.6/fs/ |
H A D | libfs.c | 1804 * inode_maybe_inc_iversion - increments i_version 1805 * @inode: inode with the i_version that should be updated 1808 * Every time the inode is modified, the i_version field must be seen to have 1815 * updating i_version. 1825 * The i_version field is not strictly ordered with any other inode in inode_maybe_inc_iversion() 1843 } while (!atomic64_try_cmpxchg(&inode->i_version, &cur, new)); in inode_maybe_inc_iversion() 1849 * inode_query_iversion - read i_version for later use 1850 * @inode: inode from which i_version should be read 1852 * Read the inode i_version counter. This should be used by callers that wish 1853 * to store the returned i_version fo [all...] |