diff options
| -rw-r--r-- | fs/nilfs2/mdt.c | 2 | ||||
| -rw-r--r-- | fs/nilfs2/segbuf.c | 3 | ||||
| -rw-r--r-- | fs/nilfs2/super.c | 5 | ||||
| -rw-r--r-- | fs/nilfs2/the_nilfs.c | 4 | ||||
| -rw-r--r-- | fs/nilfs2/the_nilfs.h | 2 |
5 files changed, 7 insertions, 9 deletions
diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index d60fdb097d52..39a5b84e2c9f 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c | |||
| @@ -457,7 +457,7 @@ int nilfs_mdt_setup_shadow_map(struct inode *inode, | |||
| 457 | struct nilfs_shadow_map *shadow) | 457 | struct nilfs_shadow_map *shadow) |
| 458 | { | 458 | { |
| 459 | struct nilfs_mdt_info *mi = NILFS_MDT(inode); | 459 | struct nilfs_mdt_info *mi = NILFS_MDT(inode); |
| 460 | struct backing_dev_info *bdi = NILFS_I_NILFS(inode)->ns_bdi; | 460 | struct backing_dev_info *bdi = inode->i_sb->s_bdi; |
| 461 | 461 | ||
| 462 | INIT_LIST_HEAD(&shadow->frozen_buffers); | 462 | INIT_LIST_HEAD(&shadow->frozen_buffers); |
| 463 | nilfs_mapping_init_once(&shadow->frozen_data); | 463 | nilfs_mapping_init_once(&shadow->frozen_data); |
diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c index 4588fb9e93df..0f83e93935b2 100644 --- a/fs/nilfs2/segbuf.c +++ b/fs/nilfs2/segbuf.c | |||
| @@ -371,7 +371,8 @@ static int nilfs_segbuf_submit_bio(struct nilfs_segment_buffer *segbuf, | |||
| 371 | struct bio *bio = wi->bio; | 371 | struct bio *bio = wi->bio; |
| 372 | int err; | 372 | int err; |
| 373 | 373 | ||
| 374 | if (segbuf->sb_nbio > 0 && bdi_write_congested(wi->nilfs->ns_bdi)) { | 374 | if (segbuf->sb_nbio > 0 && |
| 375 | bdi_write_congested(segbuf->sb_super->s_bdi)) { | ||
| 375 | wait_for_completion(&segbuf->sb_bio_event); | 376 | wait_for_completion(&segbuf->sb_bio_event); |
| 376 | segbuf->sb_nbio--; | 377 | segbuf->sb_nbio--; |
| 377 | if (unlikely(atomic_read(&segbuf->sb_err))) { | 378 | if (unlikely(atomic_read(&segbuf->sb_err))) { |
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 92e8c769584c..8e77016bafae 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c | |||
| @@ -910,6 +910,7 @@ nilfs_fill_super(struct super_block *sb, void *data, int silent) | |||
| 910 | struct the_nilfs *nilfs; | 910 | struct the_nilfs *nilfs; |
| 911 | struct nilfs_sb_info *sbi; | 911 | struct nilfs_sb_info *sbi; |
| 912 | struct nilfs_root *fsroot; | 912 | struct nilfs_root *fsroot; |
| 913 | struct backing_dev_info *bdi; | ||
| 913 | __u64 cno; | 914 | __u64 cno; |
| 914 | int err; | 915 | int err; |
| 915 | 916 | ||
| @@ -948,7 +949,9 @@ nilfs_fill_super(struct super_block *sb, void *data, int silent) | |||
| 948 | sb->s_export_op = &nilfs_export_ops; | 949 | sb->s_export_op = &nilfs_export_ops; |
| 949 | sb->s_root = NULL; | 950 | sb->s_root = NULL; |
| 950 | sb->s_time_gran = 1; | 951 | sb->s_time_gran = 1; |
| 951 | sb->s_bdi = nilfs->ns_bdi; | 952 | |
| 953 | bdi = sb->s_bdev->bd_inode->i_mapping->backing_dev_info; | ||
| 954 | sb->s_bdi = bdi ? : &default_backing_dev_info; | ||
| 952 | 955 | ||
| 953 | err = load_nilfs(nilfs, sbi); | 956 | err = load_nilfs(nilfs, sbi); |
| 954 | if (err) | 957 | if (err) |
diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c index a94aa57c4bd9..bd02b6127d35 100644 --- a/fs/nilfs2/the_nilfs.c +++ b/fs/nilfs2/the_nilfs.c | |||
| @@ -535,7 +535,6 @@ int init_nilfs(struct the_nilfs *nilfs, struct nilfs_sb_info *sbi, char *data) | |||
| 535 | { | 535 | { |
| 536 | struct super_block *sb = sbi->s_super; | 536 | struct super_block *sb = sbi->s_super; |
| 537 | struct nilfs_super_block *sbp; | 537 | struct nilfs_super_block *sbp; |
| 538 | struct backing_dev_info *bdi; | ||
| 539 | int blocksize; | 538 | int blocksize; |
| 540 | int err; | 539 | int err; |
| 541 | 540 | ||
| @@ -598,9 +597,6 @@ int init_nilfs(struct the_nilfs *nilfs, struct nilfs_sb_info *sbi, char *data) | |||
| 598 | 597 | ||
| 599 | nilfs->ns_mount_state = le16_to_cpu(sbp->s_state); | 598 | nilfs->ns_mount_state = le16_to_cpu(sbp->s_state); |
| 600 | 599 | ||
| 601 | bdi = nilfs->ns_bdev->bd_inode->i_mapping->backing_dev_info; | ||
| 602 | nilfs->ns_bdi = bdi ? : &default_backing_dev_info; | ||
| 603 | |||
| 604 | err = nilfs_store_log_cursor(nilfs, sbp); | 600 | err = nilfs_store_log_cursor(nilfs, sbp); |
| 605 | if (err) | 601 | if (err) |
| 606 | goto failed_sbh; | 602 | goto failed_sbh; |
diff --git a/fs/nilfs2/the_nilfs.h b/fs/nilfs2/the_nilfs.h index bbbc1c748aac..69226e14b745 100644 --- a/fs/nilfs2/the_nilfs.h +++ b/fs/nilfs2/the_nilfs.h | |||
| @@ -47,7 +47,6 @@ enum { | |||
| 47 | * struct the_nilfs - struct to supervise multiple nilfs mount points | 47 | * struct the_nilfs - struct to supervise multiple nilfs mount points |
| 48 | * @ns_flags: flags | 48 | * @ns_flags: flags |
| 49 | * @ns_bdev: block device | 49 | * @ns_bdev: block device |
| 50 | * @ns_bdi: backing dev info | ||
| 51 | * @ns_sem: semaphore for shared states | 50 | * @ns_sem: semaphore for shared states |
| 52 | * @ns_sbh: buffer heads of on-disk super blocks | 51 | * @ns_sbh: buffer heads of on-disk super blocks |
| 53 | * @ns_sbp: pointers to super block data | 52 | * @ns_sbp: pointers to super block data |
| @@ -90,7 +89,6 @@ struct the_nilfs { | |||
| 90 | unsigned long ns_flags; | 89 | unsigned long ns_flags; |
| 91 | 90 | ||
| 92 | struct block_device *ns_bdev; | 91 | struct block_device *ns_bdev; |
| 93 | struct backing_dev_info *ns_bdi; | ||
| 94 | struct rw_semaphore ns_sem; | 92 | struct rw_semaphore ns_sem; |
| 95 | 93 | ||
| 96 | /* | 94 | /* |
