^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0+ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * cpfile.h - NILFS checkpoint file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (C) 2006-2008 Nippon Telegraph and Telephone Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Written by Koji Sato.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef _NILFS_CPFILE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define _NILFS_CPFILE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/fs.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/buffer_head.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #include <linux/nilfs2_api.h> /* nilfs_cpstat */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #include <linux/nilfs2_ondisk.h> /* nilfs_inode, nilfs_checkpoint */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int nilfs_cpfile_get_checkpoint(struct inode *, __u64, int,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) struct nilfs_checkpoint **,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct buffer_head **);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) void nilfs_cpfile_put_checkpoint(struct inode *, __u64, struct buffer_head *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int nilfs_cpfile_delete_checkpoints(struct inode *, __u64, __u64);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) int nilfs_cpfile_delete_checkpoint(struct inode *, __u64);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) int nilfs_cpfile_change_cpmode(struct inode *, __u64, int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int nilfs_cpfile_is_snapshot(struct inode *, __u64);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) int nilfs_cpfile_get_stat(struct inode *, struct nilfs_cpstat *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) ssize_t nilfs_cpfile_get_cpinfo(struct inode *, __u64 *, int, void *,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) unsigned int, size_t);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) int nilfs_cpfile_read(struct super_block *sb, size_t cpsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) struct nilfs_inode *raw_inode, struct inode **inodep);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif /* _NILFS_CPFILE_H */