]> git.karo-electronics.de Git - linux-beck.git/blobdiff - fs/hfsplus/bnode.c
hfsplus: add support of manipulation by attributes file
[linux-beck.git] / fs / hfsplus / bnode.c
index 1c42cc5b899f31de94d2cf9dfd24c5e4d451c895..5c125ce6bd720a223892f99541446d0de3de0d36 100644 (file)
@@ -62,7 +62,8 @@ void hfs_bnode_read_key(struct hfs_bnode *node, void *key, int off)
 
        tree = node->tree;
        if (node->type == HFS_NODE_LEAF ||
-           tree->attributes & HFS_TREE_VARIDXKEYS)
+           tree->attributes & HFS_TREE_VARIDXKEYS ||
+           node->tree->cnid == HFSPLUS_ATTR_CNID)
                key_len = hfs_bnode_read_u16(node, off) + 2;
        else
                key_len = tree->max_key_len + 2;
@@ -314,7 +315,8 @@ void hfs_bnode_dump(struct hfs_bnode *node)
                if (i && node->type == HFS_NODE_INDEX) {
                        int tmp;
 
-                       if (node->tree->attributes & HFS_TREE_VARIDXKEYS)
+                       if (node->tree->attributes & HFS_TREE_VARIDXKEYS ||
+                                       node->tree->cnid == HFSPLUS_ATTR_CNID)
                                tmp = hfs_bnode_read_u16(node, key_off) + 2;
                        else
                                tmp = node->tree->max_key_len + 2;