]> git.neil.brown.name Git - LaFS.git/commitdiff
Make sure the inode's bdi matches the superblock.
authorNeilBrown <neilb@suse.de>
Fri, 4 Mar 2011 23:44:23 +0000 (10:44 +1100)
committerNeilBrown <neilb@suse.de>
Fri, 4 Mar 2011 23:44:23 +0000 (10:44 +1100)
inode_init_always defaults i_data.backing_dev_info to
the bdi for sb->s_bdev if that exists, otherwise
default_backing_dev_info.

Why it doesn't just use sb->s_bdi is not clear.
But in any case it doesn't so we must.

Signed-off-by: NeilBrown <neilb@suse.de>
inode.c

diff --git a/inode.c b/inode.c
index 956b680cbea56ae976afc8d09437fba3903181ad..e66ea2881b0b191894547dcb825a99b2a13bb5b9 100644 (file)
--- a/inode.c
+++ b/inode.c
@@ -149,6 +149,10 @@ lafs_iget(struct super_block *sb, ino_t inum, int async)
                return ERR_PTR(-ENOENT);
        }
 
+       /* surprisingly the inode bdi does not default to the
+        * super_blocks bdi...
+        */
+       ino->i_data.backing_dev_info = sb->s_bdi;
        /* Need to load block 'inum' from an inode file...
         */
        if (!b) {