diff options
Diffstat (limited to 'fs/hfs')
-rw-r--r-- | fs/hfs/hfs_fs.h | 13 | ||||
-rw-r--r-- | fs/hfs/inode.c | 2 | ||||
-rw-r--r-- | fs/hfs/mdb.c | 4 | ||||
-rw-r--r-- | fs/hfs/super.c | 1 |
4 files changed, 3 insertions, 17 deletions
diff --git a/fs/hfs/hfs_fs.h b/fs/hfs/hfs_fs.h index 4f55651aaa51..c8cffb81e849 100644 --- a/fs/hfs/hfs_fs.h +++ b/fs/hfs/hfs_fs.h | |||
@@ -147,8 +147,6 @@ struct hfs_sb_info { | |||
147 | u16 blockoffset; | 147 | u16 blockoffset; |
148 | 148 | ||
149 | int fs_div; | 149 | int fs_div; |
150 | |||
151 | struct hlist_head rsrc_inodes; | ||
152 | }; | 150 | }; |
153 | 151 | ||
154 | #define HFS_FLG_BITMAP_DIRTY 0 | 152 | #define HFS_FLG_BITMAP_DIRTY 0 |
@@ -254,17 +252,6 @@ static inline void hfs_bitmap_dirty(struct super_block *sb) | |||
254 | sb->s_dirt = 1; | 252 | sb->s_dirt = 1; |
255 | } | 253 | } |
256 | 254 | ||
257 | static inline void hfs_buffer_sync(struct buffer_head *bh) | ||
258 | { | ||
259 | while (buffer_locked(bh)) { | ||
260 | wait_on_buffer(bh); | ||
261 | } | ||
262 | if (buffer_dirty(bh)) { | ||
263 | ll_rw_block(WRITE, 1, &bh); | ||
264 | wait_on_buffer(bh); | ||
265 | } | ||
266 | } | ||
267 | |||
268 | #define sb_bread512(sb, sec, data) ({ \ | 255 | #define sb_bread512(sb, sec, data) ({ \ |
269 | struct buffer_head *__bh; \ | 256 | struct buffer_head *__bh; \ |
270 | sector_t __block; \ | 257 | sector_t __block; \ |
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index 397b7adc7ce6..dffb4e996643 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c | |||
@@ -524,7 +524,7 @@ static struct dentry *hfs_file_lookup(struct inode *dir, struct dentry *dentry, | |||
524 | HFS_I(inode)->rsrc_inode = dir; | 524 | HFS_I(inode)->rsrc_inode = dir; |
525 | HFS_I(dir)->rsrc_inode = inode; | 525 | HFS_I(dir)->rsrc_inode = inode; |
526 | igrab(dir); | 526 | igrab(dir); |
527 | hlist_add_head(&inode->i_hash, &HFS_SB(dir->i_sb)->rsrc_inodes); | 527 | hlist_add_fake(&inode->i_hash); |
528 | mark_inode_dirty(inode); | 528 | mark_inode_dirty(inode); |
529 | out: | 529 | out: |
530 | d_add(dentry, inode); | 530 | d_add(dentry, inode); |
diff --git a/fs/hfs/mdb.c b/fs/hfs/mdb.c index 86428f5ac991..1563d5ce5764 100644 --- a/fs/hfs/mdb.c +++ b/fs/hfs/mdb.c | |||
@@ -220,7 +220,7 @@ int hfs_mdb_get(struct super_block *sb) | |||
220 | mdb->drLsMod = hfs_mtime(); | 220 | mdb->drLsMod = hfs_mtime(); |
221 | 221 | ||
222 | mark_buffer_dirty(HFS_SB(sb)->mdb_bh); | 222 | mark_buffer_dirty(HFS_SB(sb)->mdb_bh); |
223 | hfs_buffer_sync(HFS_SB(sb)->mdb_bh); | 223 | sync_dirty_buffer(HFS_SB(sb)->mdb_bh); |
224 | } | 224 | } |
225 | 225 | ||
226 | return 0; | 226 | return 0; |
@@ -287,7 +287,7 @@ void hfs_mdb_commit(struct super_block *sb) | |||
287 | HFS_SB(sb)->alt_mdb->drAtrb |= cpu_to_be16(HFS_SB_ATTRIB_UNMNT); | 287 | HFS_SB(sb)->alt_mdb->drAtrb |= cpu_to_be16(HFS_SB_ATTRIB_UNMNT); |
288 | HFS_SB(sb)->alt_mdb->drAtrb &= cpu_to_be16(~HFS_SB_ATTRIB_INCNSTNT); | 288 | HFS_SB(sb)->alt_mdb->drAtrb &= cpu_to_be16(~HFS_SB_ATTRIB_INCNSTNT); |
289 | mark_buffer_dirty(HFS_SB(sb)->alt_mdb_bh); | 289 | mark_buffer_dirty(HFS_SB(sb)->alt_mdb_bh); |
290 | hfs_buffer_sync(HFS_SB(sb)->alt_mdb_bh); | 290 | sync_dirty_buffer(HFS_SB(sb)->alt_mdb_bh); |
291 | } | 291 | } |
292 | 292 | ||
293 | if (test_and_clear_bit(HFS_FLG_BITMAP_DIRTY, &HFS_SB(sb)->flags)) { | 293 | if (test_and_clear_bit(HFS_FLG_BITMAP_DIRTY, &HFS_SB(sb)->flags)) { |
diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 33254160f650..6ee1586f2334 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c | |||
@@ -382,7 +382,6 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent) | |||
382 | return -ENOMEM; | 382 | return -ENOMEM; |
383 | 383 | ||
384 | sb->s_fs_info = sbi; | 384 | sb->s_fs_info = sbi; |
385 | INIT_HLIST_HEAD(&sbi->rsrc_inodes); | ||
386 | 385 | ||
387 | res = -EINVAL; | 386 | res = -EINVAL; |
388 | if (!parse_options((char *)data, sbi)) { | 387 | if (!parse_options((char *)data, sbi)) { |