diff options
Diffstat (limited to 'fs/minix/inode.c')
| -rw-r--r-- | fs/minix/inode.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/fs/minix/inode.c b/fs/minix/inode.c index 330ff9fc7cf0..c11a4b9fb863 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c | |||
| @@ -90,8 +90,7 @@ static int init_inodecache(void) | |||
| 90 | 90 | ||
| 91 | static void destroy_inodecache(void) | 91 | static void destroy_inodecache(void) |
| 92 | { | 92 | { |
| 93 | if (kmem_cache_destroy(minix_inode_cachep)) | 93 | kmem_cache_destroy(minix_inode_cachep); |
| 94 | printk(KERN_INFO "minix_inode_cache: not all structures were freed\n"); | ||
| 95 | } | 94 | } |
| 96 | 95 | ||
| 97 | static struct super_operations minix_sops = { | 96 | static struct super_operations minix_sops = { |
| @@ -145,11 +144,10 @@ static int minix_fill_super(struct super_block *s, void *data, int silent) | |||
| 145 | struct inode *root_inode; | 144 | struct inode *root_inode; |
| 146 | struct minix_sb_info *sbi; | 145 | struct minix_sb_info *sbi; |
| 147 | 146 | ||
| 148 | sbi = kmalloc(sizeof(struct minix_sb_info), GFP_KERNEL); | 147 | sbi = kzalloc(sizeof(struct minix_sb_info), GFP_KERNEL); |
| 149 | if (!sbi) | 148 | if (!sbi) |
| 150 | return -ENOMEM; | 149 | return -ENOMEM; |
| 151 | s->s_fs_info = sbi; | 150 | s->s_fs_info = sbi; |
| 152 | memset(sbi, 0, sizeof(struct minix_sb_info)); | ||
| 153 | 151 | ||
| 154 | /* N.B. These should be compile-time tests. | 152 | /* N.B. These should be compile-time tests. |
| 155 | Unfortunately that is impossible. */ | 153 | Unfortunately that is impossible. */ |
| @@ -207,10 +205,9 @@ static int minix_fill_super(struct super_block *s, void *data, int silent) | |||
| 207 | if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0) | 205 | if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0) |
| 208 | goto out_illegal_sb; | 206 | goto out_illegal_sb; |
| 209 | i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh); | 207 | i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh); |
| 210 | map = kmalloc(i, GFP_KERNEL); | 208 | map = kzalloc(i, GFP_KERNEL); |
| 211 | if (!map) | 209 | if (!map) |
| 212 | goto out_no_map; | 210 | goto out_no_map; |
| 213 | memset(map, 0, i); | ||
| 214 | sbi->s_imap = &map[0]; | 211 | sbi->s_imap = &map[0]; |
| 215 | sbi->s_zmap = &map[sbi->s_imap_blocks]; | 212 | sbi->s_zmap = &map[sbi->s_imap_blocks]; |
| 216 | 213 | ||
| @@ -399,7 +396,7 @@ static void V1_minix_read_inode(struct inode * inode) | |||
| 399 | inode->i_mtime.tv_nsec = 0; | 396 | inode->i_mtime.tv_nsec = 0; |
| 400 | inode->i_atime.tv_nsec = 0; | 397 | inode->i_atime.tv_nsec = 0; |
| 401 | inode->i_ctime.tv_nsec = 0; | 398 | inode->i_ctime.tv_nsec = 0; |
| 402 | inode->i_blocks = inode->i_blksize = 0; | 399 | inode->i_blocks = 0; |
| 403 | for (i = 0; i < 9; i++) | 400 | for (i = 0; i < 9; i++) |
| 404 | minix_inode->u.i1_data[i] = raw_inode->i_zone[i]; | 401 | minix_inode->u.i1_data[i] = raw_inode->i_zone[i]; |
| 405 | minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0])); | 402 | minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0])); |
| @@ -432,7 +429,7 @@ static void V2_minix_read_inode(struct inode * inode) | |||
| 432 | inode->i_mtime.tv_nsec = 0; | 429 | inode->i_mtime.tv_nsec = 0; |
| 433 | inode->i_atime.tv_nsec = 0; | 430 | inode->i_atime.tv_nsec = 0; |
| 434 | inode->i_ctime.tv_nsec = 0; | 431 | inode->i_ctime.tv_nsec = 0; |
| 435 | inode->i_blocks = inode->i_blksize = 0; | 432 | inode->i_blocks = 0; |
| 436 | for (i = 0; i < 10; i++) | 433 | for (i = 0; i < 10; i++) |
| 437 | minix_inode->u.i2_data[i] = raw_inode->i_zone[i]; | 434 | minix_inode->u.i2_data[i] = raw_inode->i_zone[i]; |
| 438 | minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0])); | 435 | minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0])); |
