diff options
Diffstat (limited to 'fs')
-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 | /* |