diff options
author | Christoph Hellwig <hch@tuxera.com> | 2010-09-30 23:42:59 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2010-09-30 23:42:59 -0400 |
commit | dd73a01a30d729e8fa6f829c4582650e258e36f9 (patch) | |
tree | befe5a0bf762211d1a907ad11c15c4a21d7c4f74 /fs/hfsplus/hfsplus_fs.h | |
parent | e753a62156e952fd5a3c64f98454d9aeee3a2546 (diff) |
hfsplus: fix HFSPLUS_SB calling convention
HFSPLUS_SB doesn't return a pointer to the hfsplus-specific superblock
information like all other FOO_SB macros, but dereference the pointer in a way
that made it look like a direct struct derefence. This only works as long
as the HFSPLUS_SB macro is used directly and prevents us from keepig a local
hfsplus_sb_info pointer. Fix the calling convention and introduce a local
sbi variable in all functions that use it constantly.
Signed-off-by: Christoph Hellwig <hch@tuxera.com>
Diffstat (limited to 'fs/hfsplus/hfsplus_fs.h')
-rw-r--r-- | fs/hfsplus/hfsplus_fs.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/hfsplus/hfsplus_fs.h b/fs/hfsplus/hfsplus_fs.h index df0a6312f0f0..55f42b49f0f1 100644 --- a/fs/hfsplus/hfsplus_fs.h +++ b/fs/hfsplus/hfsplus_fs.h | |||
@@ -375,17 +375,16 @@ int hfsplus_read_wrapper(struct super_block *); | |||
375 | int hfs_part_find(struct super_block *, sector_t *, sector_t *); | 375 | int hfs_part_find(struct super_block *, sector_t *, sector_t *); |
376 | 376 | ||
377 | /* access macros */ | 377 | /* access macros */ |
378 | /* | ||
379 | static inline struct hfsplus_sb_info *HFSPLUS_SB(struct super_block *sb) | 378 | static inline struct hfsplus_sb_info *HFSPLUS_SB(struct super_block *sb) |
380 | { | 379 | { |
381 | return sb->s_fs_info; | 380 | return sb->s_fs_info; |
382 | } | 381 | } |
382 | /* | ||
383 | static inline struct hfsplus_inode_info *HFSPLUS_I(struct inode *inode) | 383 | static inline struct hfsplus_inode_info *HFSPLUS_I(struct inode *inode) |
384 | { | 384 | { |
385 | return list_entry(inode, struct hfsplus_inode_info, vfs_inode); | 385 | return list_entry(inode, struct hfsplus_inode_info, vfs_inode); |
386 | } | 386 | } |
387 | */ | 387 | */ |
388 | #define HFSPLUS_SB(super) (*(struct hfsplus_sb_info *)(super)->s_fs_info) | ||
389 | #define HFSPLUS_I(inode) (*list_entry(inode, struct hfsplus_inode_info, vfs_inode)) | 388 | #define HFSPLUS_I(inode) (*list_entry(inode, struct hfsplus_inode_info, vfs_inode)) |
390 | 389 | ||
391 | #if 1 | 390 | #if 1 |