Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8707df38 authored by Ryusuke Konishi's avatar Ryusuke Konishi
Browse files

nilfs2: separate read method of meta data files on super root block



Will displace nilfs_mdt_read_inode_direct function with an individual
read method: nilfs_dat_read, nilfs_sufile_read, nilfs_cpfile_read.

This provides the opportunity to initialize local variables of each
metadata file after reading the inode.

Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
parent 79739565
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -927,6 +927,16 @@ int nilfs_cpfile_get_stat(struct inode *cpfile, struct nilfs_cpstat *cpstat)
	return ret;
}

/**
 * nilfs_cpfile_read - read cpfile inode
 * @cpfile: cpfile inode
 * @raw_inode: on-disk cpfile inode
 */
int nilfs_cpfile_read(struct inode *cpfile, struct nilfs_inode *raw_inode)
{
	return nilfs_read_inode_common(cpfile, raw_inode);
}

/**
 * nilfs_cpfile_new - create cpfile
 * @nilfs: nilfs object
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ int nilfs_cpfile_get_stat(struct inode *, struct nilfs_cpstat *);
ssize_t nilfs_cpfile_get_cpinfo(struct inode *, __u64 *, int, void *, unsigned,
				size_t);

int nilfs_cpfile_read(struct inode *cpfile, struct nilfs_inode *raw_inode);
struct inode *nilfs_cpfile_new(struct the_nilfs *nilfs, size_t cpsize);

#endif	/* _NILFS_CPFILE_H */
+10 −0
Original line number Diff line number Diff line
@@ -426,6 +426,16 @@ ssize_t nilfs_dat_get_vinfo(struct inode *dat, void *buf, unsigned visz,
	return nvi;
}

/**
 * nilfs_dat_read - read dat inode
 * @dat: dat inode
 * @raw_inode: on-disk dat inode
 */
int nilfs_dat_read(struct inode *dat, struct nilfs_inode *raw_inode)
{
	return nilfs_read_inode_common(dat, raw_inode);
}

/**
 * nilfs_dat_new - create dat file
 * @nilfs: nilfs object
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ int nilfs_dat_freev(struct inode *, __u64 *, size_t);
int nilfs_dat_move(struct inode *, __u64, sector_t);
ssize_t nilfs_dat_get_vinfo(struct inode *, void *, unsigned, size_t);

int nilfs_dat_read(struct inode *dat, struct nilfs_inode *raw_inode);
struct inode *nilfs_dat_new(struct the_nilfs *nilfs, size_t entry_size);

#endif	/* _NILFS_DAT_H */
+10 −0
Original line number Diff line number Diff line
@@ -658,6 +658,16 @@ ssize_t nilfs_sufile_get_suinfo(struct inode *sufile, __u64 segnum, void *buf,
	return ret;
}

/**
 * nilfs_sufile_read - read sufile inode
 * @sufile: sufile inode
 * @raw_inode: on-disk sufile inode
 */
int nilfs_sufile_read(struct inode *sufile, struct nilfs_inode *raw_inode)
{
	return nilfs_read_inode_common(sufile, raw_inode);
}

/**
 * nilfs_sufile_new - create sufile
 * @nilfs: nilfs object
Loading