diff options
Diffstat (limited to 'fs/udf/super.c')
| -rw-r--r-- | fs/udf/super.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c index 44fe2cb0bbb2..1d3b5d2070e5 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c | |||
| @@ -40,7 +40,6 @@ | |||
| 40 | 40 | ||
| 41 | #include "udfdecl.h" | 41 | #include "udfdecl.h" |
| 42 | 42 | ||
| 43 | #include <linux/config.h> | ||
| 44 | #include <linux/blkdev.h> | 43 | #include <linux/blkdev.h> |
| 45 | #include <linux/slab.h> | 44 | #include <linux/slab.h> |
| 46 | #include <linux/kernel.h> | 45 | #include <linux/kernel.h> |
| @@ -116,6 +115,13 @@ static struct inode *udf_alloc_inode(struct super_block *sb) | |||
| 116 | ei = (struct udf_inode_info *)kmem_cache_alloc(udf_inode_cachep, SLAB_KERNEL); | 115 | ei = (struct udf_inode_info *)kmem_cache_alloc(udf_inode_cachep, SLAB_KERNEL); |
| 117 | if (!ei) | 116 | if (!ei) |
| 118 | return NULL; | 117 | return NULL; |
| 118 | |||
| 119 | ei->i_unique = 0; | ||
| 120 | ei->i_lenExtents = 0; | ||
| 121 | ei->i_next_alloc_block = 0; | ||
| 122 | ei->i_next_alloc_goal = 0; | ||
| 123 | ei->i_strat4096 = 0; | ||
| 124 | |||
| 119 | return &ei->vfs_inode; | 125 | return &ei->vfs_inode; |
| 120 | } | 126 | } |
| 121 | 127 | ||
| @@ -150,8 +156,7 @@ static int init_inodecache(void) | |||
| 150 | 156 | ||
| 151 | static void destroy_inodecache(void) | 157 | static void destroy_inodecache(void) |
| 152 | { | 158 | { |
| 153 | if (kmem_cache_destroy(udf_inode_cachep)) | 159 | kmem_cache_destroy(udf_inode_cachep); |
| 154 | printk(KERN_INFO "udf_inode_cache: not all structures were freed\n"); | ||
| 155 | } | 160 | } |
| 156 | 161 | ||
| 157 | /* Superblock operations */ | 162 | /* Superblock operations */ |
| @@ -1616,6 +1621,10 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) | |||
| 1616 | goto error_out; | 1621 | goto error_out; |
| 1617 | } | 1622 | } |
| 1618 | 1623 | ||
| 1624 | if (UDF_SB_PARTFLAGS(sb, UDF_SB_PARTITION(sb)) & UDF_PART_FLAG_READ_ONLY) | ||
| 1625 | printk("UDF-fs: Partition marked readonly; forcing readonly mount\n"); | ||
| 1626 | sb->s_flags |= MS_RDONLY; | ||
| 1627 | |||
| 1619 | if ( udf_find_fileset(sb, &fileset, &rootdir) ) | 1628 | if ( udf_find_fileset(sb, &fileset, &rootdir) ) |
| 1620 | { | 1629 | { |
| 1621 | printk("UDF-fs: No fileset found\n"); | 1630 | printk("UDF-fs: No fileset found\n"); |
| @@ -1653,7 +1662,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) | |||
| 1653 | iput(inode); | 1662 | iput(inode); |
| 1654 | goto error_out; | 1663 | goto error_out; |
| 1655 | } | 1664 | } |
| 1656 | sb->s_maxbytes = MAX_LFS_FILESIZE; | 1665 | sb->s_maxbytes = 1<<30; |
| 1657 | return 0; | 1666 | return 0; |
| 1658 | 1667 | ||
| 1659 | error_out: | 1668 | error_out: |
