summaryrefslogtreecommitdiffstats
path: root/fs/fat
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
commit78c388aed2b7184182c08428db1de6c872d815f5 (patch)
tree4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /fs/fat
parenteb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (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.c10
-rw-r--r--fs/fat/mmap.c1
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();