diff options
Diffstat (limited to 'fs/libfs.c')
-rw-r--r-- | fs/libfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/libfs.c b/fs/libfs.c index c18e9a1235b6..f6d411eef1e7 100644 --- a/fs/libfs.c +++ b/fs/libfs.c | |||
@@ -490,7 +490,7 @@ int simple_fill_super(struct super_block *s, unsigned long magic, | |||
490 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 490 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
491 | inode->i_op = &simple_dir_inode_operations; | 491 | inode->i_op = &simple_dir_inode_operations; |
492 | inode->i_fop = &simple_dir_operations; | 492 | inode->i_fop = &simple_dir_operations; |
493 | inode->i_nlink = 2; | 493 | set_nlink(inode, 2); |
494 | root = d_alloc_root(inode); | 494 | root = d_alloc_root(inode); |
495 | if (!root) { | 495 | if (!root) { |
496 | iput(inode); | 496 | iput(inode); |
@@ -510,8 +510,10 @@ int simple_fill_super(struct super_block *s, unsigned long magic, | |||
510 | if (!dentry) | 510 | if (!dentry) |
511 | goto out; | 511 | goto out; |
512 | inode = new_inode(s); | 512 | inode = new_inode(s); |
513 | if (!inode) | 513 | if (!inode) { |
514 | dput(dentry); | ||
514 | goto out; | 515 | goto out; |
516 | } | ||
515 | inode->i_mode = S_IFREG | files->mode; | 517 | inode->i_mode = S_IFREG | files->mode; |
516 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 518 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
517 | inode->i_fop = files->ops; | 519 | inode->i_fop = files->ops; |