nilfs2: get rid of bdi from nilfs object
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Thu, 7 Oct 2010 05:19:48 +0000 (14:19 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Sat, 23 Oct 2010 00:24:39 +0000 (09:24 +0900)
Nilfs now can use sb->s_bdi to get backing_dev_info, so we use it
instead of ns_bdi on the nilfs object and remove ns_bdi.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/mdt.c
fs/nilfs2/segbuf.c
fs/nilfs2/super.c
fs/nilfs2/the_nilfs.c
fs/nilfs2/the_nilfs.h

index d60fdb097d52143e0f3783d6b13cd55ec42c4e50..39a5b84e2c9fbbac846ec50133b496798220373a 100644 (file)
@@ -457,7 +457,7 @@ int nilfs_mdt_setup_shadow_map(struct inode *inode,
                               struct nilfs_shadow_map *shadow)
 {
        struct nilfs_mdt_info *mi = NILFS_MDT(inode);
-       struct backing_dev_info *bdi = NILFS_I_NILFS(inode)->ns_bdi;
+       struct backing_dev_info *bdi = inode->i_sb->s_bdi;
 
        INIT_LIST_HEAD(&shadow->frozen_buffers);
        nilfs_mapping_init_once(&shadow->frozen_data);
index 4588fb9e93df70a01c9bd379644c4a18a7560b42..0f83e93935b2fb02347c7c0a7c0f3e131d94af14 100644 (file)
@@ -371,7 +371,8 @@ static int nilfs_segbuf_submit_bio(struct nilfs_segment_buffer *segbuf,
        struct bio *bio = wi->bio;
        int err;
 
-       if (segbuf->sb_nbio > 0 && bdi_write_congested(wi->nilfs->ns_bdi)) {
+       if (segbuf->sb_nbio > 0 &&
+           bdi_write_congested(segbuf->sb_super->s_bdi)) {
                wait_for_completion(&segbuf->sb_bio_event);
                segbuf->sb_nbio--;
                if (unlikely(atomic_read(&segbuf->sb_err))) {
index 92e8c769584c0e625f2c0eda9d4ea475d125bd80..8e77016bafae6b93a8cc675e513690486ab9e800 100644 (file)
@@ -910,6 +910,7 @@ nilfs_fill_super(struct super_block *sb, void *data, int silent)
        struct the_nilfs *nilfs;
        struct nilfs_sb_info *sbi;
        struct nilfs_root *fsroot;
+       struct backing_dev_info *bdi;
        __u64 cno;
        int err;
 
@@ -948,7 +949,9 @@ nilfs_fill_super(struct super_block *sb, void *data, int silent)
        sb->s_export_op = &nilfs_export_ops;
        sb->s_root = NULL;
        sb->s_time_gran = 1;
-       sb->s_bdi = nilfs->ns_bdi;
+
+       bdi = sb->s_bdev->bd_inode->i_mapping->backing_dev_info;
+       sb->s_bdi = bdi ? : &default_backing_dev_info;
 
        err = load_nilfs(nilfs, sbi);
        if (err)
index a94aa57c4bd9f6ff0668875782e2248f894607a8..bd02b6127d356c28cf3fb6de432329d9fb2108ee 100644 (file)
@@ -535,7 +535,6 @@ int init_nilfs(struct the_nilfs *nilfs, struct nilfs_sb_info *sbi, char *data)
 {
        struct super_block *sb = sbi->s_super;
        struct nilfs_super_block *sbp;
-       struct backing_dev_info *bdi;
        int blocksize;
        int err;
 
@@ -598,9 +597,6 @@ int init_nilfs(struct the_nilfs *nilfs, struct nilfs_sb_info *sbi, char *data)
 
        nilfs->ns_mount_state = le16_to_cpu(sbp->s_state);
 
-       bdi = nilfs->ns_bdev->bd_inode->i_mapping->backing_dev_info;
-       nilfs->ns_bdi = bdi ? : &default_backing_dev_info;
-
        err = nilfs_store_log_cursor(nilfs, sbp);
        if (err)
                goto failed_sbh;
index bbbc1c748aac75bd90b3a77f132882d0ef4a6ea7..69226e14b7450384a0db42c5d8d7fc5eb5156fb4 100644 (file)
@@ -47,7 +47,6 @@ enum {
  * struct the_nilfs - struct to supervise multiple nilfs mount points
  * @ns_flags: flags
  * @ns_bdev: block device
- * @ns_bdi: backing dev info
  * @ns_sem: semaphore for shared states
  * @ns_sbh: buffer heads of on-disk super blocks
  * @ns_sbp: pointers to super block data
@@ -90,7 +89,6 @@ struct the_nilfs {
        unsigned long           ns_flags;
 
        struct block_device    *ns_bdev;
-       struct backing_dev_info *ns_bdi;
        struct rw_semaphore     ns_sem;
 
        /*