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/ioctl.c | |
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/ioctl.c')
-rw-r--r-- | fs/hfsplus/ioctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/hfsplus/ioctl.c b/fs/hfsplus/ioctl.c index 906bd3dd3145..66dd64b88b2e 100644 --- a/fs/hfsplus/ioctl.c +++ b/fs/hfsplus/ioctl.c | |||
@@ -126,7 +126,7 @@ int hfsplus_setxattr(struct dentry *dentry, const char *name, | |||
126 | if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode)) | 126 | if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode)) |
127 | return -EOPNOTSUPP; | 127 | return -EOPNOTSUPP; |
128 | 128 | ||
129 | res = hfs_find_init(HFSPLUS_SB(inode->i_sb).cat_tree, &fd); | 129 | res = hfs_find_init(HFSPLUS_SB(inode->i_sb)->cat_tree, &fd); |
130 | if (res) | 130 | if (res) |
131 | return res; | 131 | return res; |
132 | res = hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd); | 132 | res = hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd); |
@@ -169,7 +169,7 @@ ssize_t hfsplus_getxattr(struct dentry *dentry, const char *name, | |||
169 | return -EOPNOTSUPP; | 169 | return -EOPNOTSUPP; |
170 | 170 | ||
171 | if (size) { | 171 | if (size) { |
172 | res = hfs_find_init(HFSPLUS_SB(inode->i_sb).cat_tree, &fd); | 172 | res = hfs_find_init(HFSPLUS_SB(inode->i_sb)->cat_tree, &fd); |
173 | if (res) | 173 | if (res) |
174 | return res; | 174 | return res; |
175 | res = hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd); | 175 | res = hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd); |