diff options
Diffstat (limited to 'fs/hfs')
-rw-r--r-- | fs/hfs/btree.c | 10 | ||||
-rw-r--r-- | fs/hfs/mdb.c | 2 | ||||
-rw-r--r-- | fs/hfs/super.c | 6 |
3 files changed, 12 insertions, 6 deletions
diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c index 24cf6fc43021..f6621a785202 100644 --- a/fs/hfs/btree.c +++ b/fs/hfs/btree.c | |||
@@ -208,7 +208,9 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree) | |||
208 | struct hfs_bnode *node, *next_node; | 208 | struct hfs_bnode *node, *next_node; |
209 | struct page **pagep; | 209 | struct page **pagep; |
210 | u32 nidx, idx; | 210 | u32 nidx, idx; |
211 | u16 off, len; | 211 | unsigned off; |
212 | u16 off16; | ||
213 | u16 len; | ||
212 | u8 *data, byte, m; | 214 | u8 *data, byte, m; |
213 | int i; | 215 | int i; |
214 | 216 | ||
@@ -235,7 +237,8 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree) | |||
235 | node = hfs_bnode_find(tree, nidx); | 237 | node = hfs_bnode_find(tree, nidx); |
236 | if (IS_ERR(node)) | 238 | if (IS_ERR(node)) |
237 | return node; | 239 | return node; |
238 | len = hfs_brec_lenoff(node, 2, &off); | 240 | len = hfs_brec_lenoff(node, 2, &off16); |
241 | off = off16; | ||
239 | 242 | ||
240 | off += node->page_offset; | 243 | off += node->page_offset; |
241 | pagep = node->page + (off >> PAGE_CACHE_SHIFT); | 244 | pagep = node->page + (off >> PAGE_CACHE_SHIFT); |
@@ -280,7 +283,8 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree) | |||
280 | return next_node; | 283 | return next_node; |
281 | node = next_node; | 284 | node = next_node; |
282 | 285 | ||
283 | len = hfs_brec_lenoff(node, 0, &off); | 286 | len = hfs_brec_lenoff(node, 0, &off16); |
287 | off = off16; | ||
284 | off += node->page_offset; | 288 | off += node->page_offset; |
285 | pagep = node->page + (off >> PAGE_CACHE_SHIFT); | 289 | pagep = node->page + (off >> PAGE_CACHE_SHIFT); |
286 | data = kmap(*pagep); | 290 | data = kmap(*pagep); |
diff --git a/fs/hfs/mdb.c b/fs/hfs/mdb.c index b4651e128d7f..36ca2e1a4fa3 100644 --- a/fs/hfs/mdb.c +++ b/fs/hfs/mdb.c | |||
@@ -215,7 +215,7 @@ int hfs_mdb_get(struct super_block *sb) | |||
215 | attrib &= cpu_to_be16(~HFS_SB_ATTRIB_UNMNT); | 215 | attrib &= cpu_to_be16(~HFS_SB_ATTRIB_UNMNT); |
216 | attrib |= cpu_to_be16(HFS_SB_ATTRIB_INCNSTNT); | 216 | attrib |= cpu_to_be16(HFS_SB_ATTRIB_INCNSTNT); |
217 | mdb->drAtrb = attrib; | 217 | mdb->drAtrb = attrib; |
218 | mdb->drWrCnt = cpu_to_be32(be32_to_cpu(mdb->drWrCnt) + 1); | 218 | be32_add_cpu(&mdb->drWrCnt, 1); |
219 | mdb->drLsMod = hfs_mtime(); | 219 | mdb->drLsMod = hfs_mtime(); |
220 | 220 | ||
221 | mark_buffer_dirty(HFS_SB(sb)->mdb_bh); | 221 | mark_buffer_dirty(HFS_SB(sb)->mdb_bh); |
diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 32de44ed0021..8cf67974adf6 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c | |||
@@ -297,7 +297,8 @@ static int parse_options(char *options, struct hfs_sb_info *hsb) | |||
297 | return 0; | 297 | return 0; |
298 | } | 298 | } |
299 | p = match_strdup(&args[0]); | 299 | p = match_strdup(&args[0]); |
300 | hsb->nls_disk = load_nls(p); | 300 | if (p) |
301 | hsb->nls_disk = load_nls(p); | ||
301 | if (!hsb->nls_disk) { | 302 | if (!hsb->nls_disk) { |
302 | printk(KERN_ERR "hfs: unable to load codepage \"%s\"\n", p); | 303 | printk(KERN_ERR "hfs: unable to load codepage \"%s\"\n", p); |
303 | kfree(p); | 304 | kfree(p); |
@@ -311,7 +312,8 @@ static int parse_options(char *options, struct hfs_sb_info *hsb) | |||
311 | return 0; | 312 | return 0; |
312 | } | 313 | } |
313 | p = match_strdup(&args[0]); | 314 | p = match_strdup(&args[0]); |
314 | hsb->nls_io = load_nls(p); | 315 | if (p) |
316 | hsb->nls_io = load_nls(p); | ||
315 | if (!hsb->nls_io) { | 317 | if (!hsb->nls_io) { |
316 | printk(KERN_ERR "hfs: unable to load iocharset \"%s\"\n", p); | 318 | printk(KERN_ERR "hfs: unable to load iocharset \"%s\"\n", p); |
317 | kfree(p); | 319 | kfree(p); |