diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
commit | 03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch) | |
tree | 88db8dba75ae06ba3bad08e42c5e52efc162535c /fs/hfs | |
parent | 257730f99381dd26e10b832fce4c94cae7ac1176 (diff) |
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'fs/hfs')
-rw-r--r-- | fs/hfs/dir_cap.c | 1 | ||||
-rw-r--r-- | fs/hfs/dir_dbl.c | 1 | ||||
-rw-r--r-- | fs/hfs/dir_nat.c | 1 | ||||
-rw-r--r-- | fs/hfs/file.c | 1 | ||||
-rw-r--r-- | fs/hfs/file_cap.c | 1 | ||||
-rw-r--r-- | fs/hfs/file_hdr.c | 1 | ||||
-rw-r--r-- | fs/hfs/super.c | 19 |
7 files changed, 19 insertions, 6 deletions
diff --git a/fs/hfs/dir_cap.c b/fs/hfs/dir_cap.c index a7bb7f633..a40854e66 100644 --- a/fs/hfs/dir_cap.c +++ b/fs/hfs/dir_cap.c @@ -66,6 +66,7 @@ static struct file_operations hfs_cap_dir_operations = { NULL, /* ioctl - default */ NULL, /* mmap - none */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/dir_dbl.c b/fs/hfs/dir_dbl.c index 553fe8ef9..1e14b3f24 100644 --- a/fs/hfs/dir_dbl.c +++ b/fs/hfs/dir_dbl.c @@ -66,6 +66,7 @@ static struct file_operations hfs_dbl_dir_operations = { NULL, /* ioctl - default */ NULL, /* mmap - none */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/dir_nat.c b/fs/hfs/dir_nat.c index b29bfdc17..b69a6bd70 100644 --- a/fs/hfs/dir_nat.c +++ b/fs/hfs/dir_nat.c @@ -69,6 +69,7 @@ static struct file_operations hfs_nat_dir_operations = { NULL, /* ioctl - default */ NULL, /* mmap - none */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/file.c b/fs/hfs/file.c index e12792036..6157afb47 100644 --- a/fs/hfs/file.c +++ b/fs/hfs/file.c @@ -41,6 +41,7 @@ static struct file_operations hfs_file_operations = { NULL, /* ioctl - default */ generic_file_mmap, /* mmap */ NULL, /* open */ + NULL, /* flush */ NULL, /* release */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/file_cap.c b/fs/hfs/file_cap.c index 10f39f751..4fbd1f090 100644 --- a/fs/hfs/file_cap.c +++ b/fs/hfs/file_cap.c @@ -55,6 +55,7 @@ static struct file_operations hfs_cap_info_operations = { NULL, /* ioctl - default */ NULL, /* mmap - not yet */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/file_hdr.c b/fs/hfs/file_hdr.c index 049381dd0..b12a4606b 100644 --- a/fs/hfs/file_hdr.c +++ b/fs/hfs/file_hdr.c @@ -48,6 +48,7 @@ static struct file_operations hfs_hdr_operations = { NULL, /* ioctl - default */ NULL, /* mmap - XXX: not yet */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ file_fsync, /* fsync - default */ NULL, /* fasync - default */ diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 166d69cd5..381969d34 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c @@ -396,9 +396,7 @@ struct super_block *hfs_read_super(struct super_block *s, void *data, struct hfs_mdb *mdb; struct hfs_cat_key key; kdev_t dev = s->s_dev; -#ifndef CONFIG_MAC_PARTITION hfs_s32 part_size, part_start; -#endif struct inode *root_inode; int part; @@ -415,16 +413,25 @@ struct super_block *hfs_read_super(struct super_block *s, void *data, /* set the device driver to 512-byte blocks */ set_blocksize(dev, HFS_SECTOR_SIZE); - /* look for a partition table and find the correct partition */ -#ifndef CONFIG_MAC_PARTITION +#ifdef CONFIG_MAC_PARTITION + /* check to see if we're in a partition */ + mdb = hfs_mdb_get(s, s->s_flags & MS_RDONLY, 0); + + /* erk. try parsing the partition table ourselves */ + if (!mdb) { + if (hfs_part_find(s, part, silent, &part_size, &part_start)) { + goto bail2; + } + mdb = hfs_mdb_get(s, s->s_flags & MS_RDONLY, part_start); + } +#else if (hfs_part_find(s, part, silent, &part_size, &part_start)) { goto bail2; } mdb = hfs_mdb_get(s, s->s_flags & MS_RDONLY, part_start); -#else - mdb = hfs_mdb_get(s, s->s_flags & MS_RDONLY, 0); #endif + if (!mdb) { if (!silent) { printk("VFS: Can't find a HFS filesystem on dev %s.\n", |