diff options
author | Jesper Juhl <jj@chaosbits.net> | 2011-01-12 20:00:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 11:03:15 -0500 |
commit | e0e3d32bb40d28cf57a6a24e1e1d87ef03b913bd (patch) | |
tree | 7d4f90f2f65544559629dc0b3c2220454571b982 /fs/befs/endian.h | |
parent | 25f959d63d39c83fda09d93a052835ed35669b1a (diff) |
befs: don't pass huge structs by value
'struct befs_disk_data_stream' is huge (~144 bytes) and it's being passed
by value in fs/befs/endian.h::cpu_to_fsrun().
It would be better to pass a pointer.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: Will Dyson <will_dyson@pobox.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/befs/endian.h')
-rw-r--r-- | fs/befs/endian.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/befs/endian.h b/fs/befs/endian.h index 6cb84d896d05..27223878ba9f 100644 --- a/fs/befs/endian.h +++ b/fs/befs/endian.h | |||
@@ -102,22 +102,22 @@ cpu_to_fsrun(const struct super_block *sb, befs_block_run n) | |||
102 | } | 102 | } |
103 | 103 | ||
104 | static inline befs_data_stream | 104 | static inline befs_data_stream |
105 | fsds_to_cpu(const struct super_block *sb, befs_disk_data_stream n) | 105 | fsds_to_cpu(const struct super_block *sb, const befs_disk_data_stream *n) |
106 | { | 106 | { |
107 | befs_data_stream data; | 107 | befs_data_stream data; |
108 | int i; | 108 | int i; |
109 | 109 | ||
110 | for (i = 0; i < BEFS_NUM_DIRECT_BLOCKS; ++i) | 110 | for (i = 0; i < BEFS_NUM_DIRECT_BLOCKS; ++i) |
111 | data.direct[i] = fsrun_to_cpu(sb, n.direct[i]); | 111 | data.direct[i] = fsrun_to_cpu(sb, n->direct[i]); |
112 | 112 | ||
113 | data.max_direct_range = fs64_to_cpu(sb, n.max_direct_range); | 113 | data.max_direct_range = fs64_to_cpu(sb, n->max_direct_range); |
114 | data.indirect = fsrun_to_cpu(sb, n.indirect); | 114 | data.indirect = fsrun_to_cpu(sb, n->indirect); |
115 | data.max_indirect_range = fs64_to_cpu(sb, n.max_indirect_range); | 115 | data.max_indirect_range = fs64_to_cpu(sb, n->max_indirect_range); |
116 | data.double_indirect = fsrun_to_cpu(sb, n.double_indirect); | 116 | data.double_indirect = fsrun_to_cpu(sb, n->double_indirect); |
117 | data.max_double_indirect_range = fs64_to_cpu(sb, | 117 | data.max_double_indirect_range = fs64_to_cpu(sb, |
118 | n. | 118 | n-> |
119 | max_double_indirect_range); | 119 | max_double_indirect_range); |
120 | data.size = fs64_to_cpu(sb, n.size); | 120 | data.size = fs64_to_cpu(sb, n->size); |
121 | 121 | ||
122 | return data; | 122 | return data; |
123 | } | 123 | } |