fs/xfs/xfs_exchrange.h

Source file repositories/reference/linux-study-clean/fs/xfs/xfs_exchrange.h

File Facts

System
Linux kernel
Corpus path
fs/xfs/xfs_exchrange.h
Extension
.h
Size
1499 bytes
Lines
53
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct xfs_exchrange {
	struct file		*file1;
	struct file		*file2;

	loff_t			file1_offset;
	loff_t			file2_offset;
	u64			length;

	u64			flags;	/* XFS_EXCHANGE_RANGE flags */

	/* file2 metadata for freshness checks */
	u64			file2_ino;
	struct timespec64	file2_mtime;
	struct timespec64	file2_ctime;
	u32			file2_gen;
};

long xfs_ioc_exchange_range(struct file *file,
		struct xfs_exchange_range __user *argp);
long xfs_ioc_start_commit(struct file *file,
		struct xfs_commit_range __user *argp);
long xfs_ioc_commit_range(struct file *file,
		struct xfs_commit_range __user	*argp);

struct xfs_exchmaps_req;

void xfs_exchrange_ilock(struct xfs_trans *tp, struct xfs_inode *ip1,
		struct xfs_inode *ip2);
void xfs_exchrange_iunlock(struct xfs_inode *ip1, struct xfs_inode *ip2);

int xfs_exchrange_estimate(struct xfs_exchmaps_req *req);

#endif /* __XFS_EXCHRANGE_H__ */

Annotation

Implementation Notes