diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-01-04 16:03:48 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-01-04 16:03:48 +0000 |
commit | 78c388aed2b7184182c08428db1de6c872d815f5 (patch) | |
tree | 4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /fs/fat | |
parent | eb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (diff) |
Merge with Linux 2.1.131 and more MIPS goodies.
(Did I mention that CVS is buggy ...)
Diffstat (limited to 'fs/fat')
-rw-r--r-- | fs/fat/inode.c | 10 | ||||
-rw-r--r-- | fs/fat/mmap.c | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 25194e9a3..e123a9f16 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -221,13 +221,13 @@ static int parse_options(char *options,int *fat, int *blksize, int *debug, if (value) ret = 0; else opts->sys_immutable = 1; } - else if (!strcmp(this_char,"codepage")) { + else if (!strcmp(this_char,"codepage") && value) { opts->codepage = simple_strtoul(value,&value,0); if (*value) ret = 0; else printk ("MSDOS FS: Using codepage %d\n", opts->codepage); } - else if (!strcmp(this_char,"iocharset")) { + else if (!strcmp(this_char,"iocharset") && value) { p = value; while (*value && *value != ',') value++; len = value - p; @@ -624,7 +624,8 @@ void fat_read_inode(struct inode *inode, struct inode_operations *fs_dir_inode_o if (!(bh = fat_bread(sb, inode->i_ino >> MSDOS_DPB_BITS))) { printk("dev = %s, ino = %ld\n", kdevname(inode->i_dev), inode->i_ino); - panic("fat_read_inode: unable to read i-node block"); + fat_fs_panic(sb, "fat_read_inode: unable to read i-node block"); + return; } raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) [inode->i_ino & (MSDOS_DPB-1)]; @@ -713,7 +714,8 @@ void fat_write_inode(struct inode *inode) if (!(bh = fat_bread(sb, inode->i_ino >> MSDOS_DPB_BITS))) { printk("dev = %s, ino = %ld\n", kdevname(inode->i_dev), inode->i_ino); - panic("msdos_write_inode: unable to read i-node block"); + fat_fs_panic(sb, "msdos_write_inode: unable to read i-node block"); + return; } raw_entry = &((struct msdos_dir_entry *) (bh->b_data)) [inode->i_ino & (MSDOS_DPB-1)]; diff --git a/fs/fat/mmap.c b/fs/fat/mmap.c index 448437ede..4cda79196 100644 --- a/fs/fat/mmap.c +++ b/fs/fat/mmap.c @@ -58,6 +58,7 @@ static unsigned long fat_file_mmap_nopage( } filp.f_reada = 0; filp.f_pos = pos; + filp.f_dentry=area->vm_file->f_dentry; need_read = PAGE_SIZE - clear; { mm_segment_t cur_fs = get_fs(); |