Skip to content

Commit

Permalink
nilfs2: get rid of mi_nilfs back pointer to nilfs object
Browse files Browse the repository at this point in the history
This removes a back pointer to nilfs object from nilfs_mdt_info
structure that is attached to metadata files.

Signed-off-by: Ryusuke Konishi <[email protected]>
  • Loading branch information
konis committed Oct 23, 2010
1 parent 032dbb3 commit c6e0718
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 15 deletions.
9 changes: 3 additions & 6 deletions fs/nilfs2/mdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block,
struct buffer_head *,
void *))
{
struct the_nilfs *nilfs = NILFS_MDT(inode)->mi_nilfs;
struct the_nilfs *nilfs = NILFS_I_NILFS(inode);
struct super_block *sb = inode->i_sb;
struct nilfs_transaction_info ti;
struct buffer_head *bh;
Expand Down Expand Up @@ -167,9 +167,7 @@ nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
unlock_buffer(bh);
goto failed_bh;
}
bh->b_bdev = NILFS_MDT(inode)->mi_nilfs->ns_bdev;
bh->b_blocknr = (sector_t)blknum;
set_buffer_mapped(bh);
map_bh(bh, inode->i_sb, (sector_t)blknum);

bh->b_end_io = end_buffer_read_sync;
get_bh(bh);
Expand Down Expand Up @@ -412,7 +410,7 @@ nilfs_mdt_write_page(struct page *page, struct writeback_control *wbc)
return 0;

sb = inode->i_sb;
nilfs = NILFS_MDT(inode)->mi_nilfs;
nilfs = NILFS_SB(sb)->s_nilfs;

if (!sb) {
down_read(&nilfs->ns_writer_sem);
Expand Down Expand Up @@ -452,7 +450,6 @@ int nilfs_mdt_init(struct inode *inode, gfp_t gfp_mask, size_t objsz)
if (!mi)
return -ENOMEM;

mi->mi_nilfs = NILFS_I_NILFS(inode);
init_rwsem(&mi->mi_sem);
inode->i_private = mi;

Expand Down
8 changes: 2 additions & 6 deletions fs/nilfs2/mdt.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ struct nilfs_shadow_map {

/**
* struct nilfs_mdt_info - on-memory private data of meta data files
* @mi_nilfs: back pointer to the_nilfs struct
* @mi_sem: reader/writer semaphore for meta data operations
* @mi_bgl: per-blockgroup locking
* @mi_entry_size: size of an entry
Expand All @@ -49,7 +48,6 @@ struct nilfs_shadow_map {
* @mi_blocks_per_desc_block: number of blocks per descriptor block
*/
struct nilfs_mdt_info {
struct the_nilfs *mi_nilfs;
struct rw_semaphore mi_sem;
struct blockgroup_lock *mi_bgl;
unsigned mi_entry_size;
Expand All @@ -68,9 +66,7 @@ static inline struct nilfs_mdt_info *NILFS_MDT(const struct inode *inode)

static inline struct the_nilfs *NILFS_I_NILFS(struct inode *inode)
{
struct super_block *sb = inode->i_sb;

return sb ? NILFS_SB(sb)->s_nilfs : NILFS_MDT(inode)->mi_nilfs;
return NILFS_SB(inode->i_sb)->s_nilfs;
}

/* Default GFP flags using highmem */
Expand Down Expand Up @@ -117,7 +113,7 @@ static inline void nilfs_mdt_clear_dirty(struct inode *inode)

static inline __u64 nilfs_mdt_cno(struct inode *inode)
{
return NILFS_MDT(inode)->mi_nilfs->ns_cno;
return NILFS_I_NILFS(inode)->ns_cno;
}

#define nilfs_mdt_bgl_lock(inode, bg) \
Expand Down
4 changes: 2 additions & 2 deletions fs/nilfs2/sufile.c
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ int nilfs_sufile_get_stat(struct inode *sufile, struct nilfs_sustat *sustat)
{
struct buffer_head *header_bh;
struct nilfs_sufile_header *header;
struct the_nilfs *nilfs = NILFS_MDT(sufile)->mi_nilfs;
struct the_nilfs *nilfs = NILFS_I_NILFS(sufile);
void *kaddr;
int ret;

Expand Down Expand Up @@ -583,7 +583,7 @@ ssize_t nilfs_sufile_get_suinfo(struct inode *sufile, __u64 segnum, void *buf,
struct nilfs_segment_usage *su;
struct nilfs_suinfo *si = buf;
size_t susz = NILFS_MDT(sufile)->mi_entry_size;
struct the_nilfs *nilfs = NILFS_MDT(sufile)->mi_nilfs;
struct the_nilfs *nilfs = NILFS_I_NILFS(sufile);
void *kaddr;
unsigned long nsegs, segusages_per_block;
ssize_t n;
Expand Down
2 changes: 1 addition & 1 deletion fs/nilfs2/sufile.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

static inline unsigned long nilfs_sufile_get_nsegments(struct inode *sufile)
{
return NILFS_MDT(sufile)->mi_nilfs->ns_nsegments;
return NILFS_I_NILFS(sufile)->ns_nsegments;
}

unsigned long nilfs_sufile_get_ncleansegs(struct inode *sufile);
Expand Down

0 comments on commit c6e0718

Please sign in to comment.