|
@@ -155,7 +155,7 @@ static struct inode *get_cramfs_inode(struct super_block *sb,
|
|
|
|
|
|
static unsigned char read_buffers[READ_BUFFERS][BUFFER_SIZE];
|
|
|
static unsigned buffer_blocknr[READ_BUFFERS];
|
|
|
-static struct super_block * buffer_dev[READ_BUFFERS];
|
|
|
+static struct super_block *buffer_dev[READ_BUFFERS];
|
|
|
static int next_buffer;
|
|
|
|
|
|
/*
|
|
@@ -207,6 +207,7 @@ static void *cramfs_read(struct super_block *sb, unsigned int offset, unsigned i
|
|
|
|
|
|
for (i = 0; i < BLKS_PER_BUF; i++) {
|
|
|
struct page *page = pages[i];
|
|
|
+
|
|
|
if (page) {
|
|
|
wait_on_page_locked(page);
|
|
|
if (!PageUptodate(page)) {
|
|
@@ -225,6 +226,7 @@ static void *cramfs_read(struct super_block *sb, unsigned int offset, unsigned i
|
|
|
data = read_buffers[buffer];
|
|
|
for (i = 0; i < BLKS_PER_BUF; i++) {
|
|
|
struct page *page = pages[i];
|
|
|
+
|
|
|
if (page) {
|
|
|
memcpy(data, kmap(page), PAGE_CACHE_SIZE);
|
|
|
kunmap(page);
|
|
@@ -239,6 +241,7 @@ static void *cramfs_read(struct super_block *sb, unsigned int offset, unsigned i
|
|
|
static void cramfs_kill_sb(struct super_block *sb)
|
|
|
{
|
|
|
struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
|
|
|
+
|
|
|
kill_block_super(sb);
|
|
|
kfree(sbi);
|
|
|
}
|
|
@@ -312,16 +315,16 @@ static int cramfs_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
|
|
|
root_offset = super.root.offset << 2;
|
|
|
if (super.flags & CRAMFS_FLAG_FSID_VERSION_2) {
|
|
|
- sbi->size=super.size;
|
|
|
- sbi->blocks=super.fsid.blocks;
|
|
|
- sbi->files=super.fsid.files;
|
|
|
+ sbi->size = super.size;
|
|
|
+ sbi->blocks = super.fsid.blocks;
|
|
|
+ sbi->files = super.fsid.files;
|
|
|
} else {
|
|
|
- sbi->size=1<<28;
|
|
|
- sbi->blocks=0;
|
|
|
- sbi->files=0;
|
|
|
+ sbi->size = 1<<28;
|
|
|
+ sbi->blocks = 0;
|
|
|
+ sbi->files = 0;
|
|
|
}
|
|
|
- sbi->magic=super.magic;
|
|
|
- sbi->flags=super.flags;
|
|
|
+ sbi->magic = super.magic;
|
|
|
+ sbi->flags = super.flags;
|
|
|
if (root_offset == 0)
|
|
|
pr_info("empty filesystem");
|
|
|
else if (!(super.flags & CRAMFS_FLAG_SHIFTED_ROOT_OFFSET) &&
|
|
@@ -427,7 +430,7 @@ static int cramfs_readdir(struct file *file, struct dir_context *ctx)
|
|
|
/*
|
|
|
* Lookup and fill in the inode data..
|
|
|
*/
|
|
|
-static struct dentry * cramfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
|
|
|
+static struct dentry *cramfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
|
|
|
{
|
|
|
unsigned int offset = 0;
|
|
|
struct inode *inode = NULL;
|
|
@@ -485,7 +488,7 @@ out:
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
-static int cramfs_readpage(struct file *file, struct page * page)
|
|
|
+static int cramfs_readpage(struct file *file, struct page *page)
|
|
|
{
|
|
|
struct inode *inode = page->mapping->host;
|
|
|
u32 maxblock;
|