xref: /openbmc/linux/fs/nilfs2/cpfile.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1ae98043fSRyusuke Konishi /* SPDX-License-Identifier: GPL-2.0+ */
229619809SKoji Sato /*
3*94ee1d91SRyusuke Konishi  * NILFS checkpoint file.
429619809SKoji Sato  *
529619809SKoji Sato  * Copyright (C) 2006-2008 Nippon Telegraph and Telephone Corporation.
629619809SKoji Sato  *
74b420ab4SRyusuke Konishi  * Written by Koji Sato.
829619809SKoji Sato  */
929619809SKoji Sato 
1029619809SKoji Sato #ifndef _NILFS_CPFILE_H
1129619809SKoji Sato #define _NILFS_CPFILE_H
1229619809SKoji Sato 
1329619809SKoji Sato #include <linux/fs.h>
1429619809SKoji Sato #include <linux/buffer_head.h>
15e63e88bcSRyusuke Konishi #include <linux/nilfs2_api.h>		/* nilfs_cpstat */
16e63e88bcSRyusuke Konishi #include <linux/nilfs2_ondisk.h>	/* nilfs_inode, nilfs_checkpoint */
1729619809SKoji Sato 
1829619809SKoji Sato 
1929619809SKoji Sato int nilfs_cpfile_get_checkpoint(struct inode *, __u64, int,
2029619809SKoji Sato 				struct nilfs_checkpoint **,
2129619809SKoji Sato 				struct buffer_head **);
2229619809SKoji Sato void nilfs_cpfile_put_checkpoint(struct inode *, __u64, struct buffer_head *);
2329619809SKoji Sato int nilfs_cpfile_delete_checkpoints(struct inode *, __u64, __u64);
2429619809SKoji Sato int nilfs_cpfile_delete_checkpoint(struct inode *, __u64);
2529619809SKoji Sato int nilfs_cpfile_change_cpmode(struct inode *, __u64, int);
2629619809SKoji Sato int nilfs_cpfile_is_snapshot(struct inode *, __u64);
2729619809SKoji Sato int nilfs_cpfile_get_stat(struct inode *, struct nilfs_cpstat *);
280c6c44cbSRyusuke Konishi ssize_t nilfs_cpfile_get_cpinfo(struct inode *, __u64 *, int, void *,
290c6c44cbSRyusuke Konishi 				unsigned int, size_t);
3029619809SKoji Sato 
31f1e89c86SRyusuke Konishi int nilfs_cpfile_read(struct super_block *sb, size_t cpsize,
32f1e89c86SRyusuke Konishi 		      struct nilfs_inode *raw_inode, struct inode **inodep);
3379739565SRyusuke Konishi 
3429619809SKoji Sato #endif	/* _NILFS_CPFILE_H */
35