16 const hfsplus_btree_key *k2)
29 const hfsplus_btree_key *k2)
51 key->cat.name.length = 0;
57 static void hfsplus_cat_build_key_uni(hfsplus_btree_key *
key,
u32 parent,
81 perms->
userflags = HFSPLUS_I(inode)->userflags;
94 static int hfsplus_cat_build_record(hfsplus_cat_entry *
entry,
102 folder = &entry->folder;
103 memset(folder, 0,
sizeof(*folder));
106 HFSPLUS_I(inode)->create_date =
115 return sizeof(*folder);
120 memset(file, 0,
sizeof(*file));
124 HFSPLUS_I(inode)->create_date =
129 if (cnid == inode->
i_ino) {
159 return sizeof(*file);
164 hfsplus_cat_entry *entry,
int type,
168 entry->thread.reserved = 0;
171 return 10 +
be16_to_cpu(entry->thread.nodeName.length) * 2;
178 hfsplus_cat_entry
tmp;
193 if (
be16_to_cpu(tmp.thread.nodeName.length) > 255) {
200 &tmp.thread.nodeName);
205 struct qstr *
str,
struct inode *inode)
209 hfsplus_cat_entry
entry;
220 entry_size = hfsplus_fill_cat_thread(sb, &entry,
235 entry_size = hfsplus_cat_build_record(&entry, cnid, inode);
347 struct inode *src_dir,
struct qstr *src_name,
348 struct inode *dst_dir,
struct qstr *dst_name)
352 hfsplus_cat_entry
entry;
353 int entry_size,
type;
415 entry_size = hfsplus_fill_cat_thread(sb, &entry, type,
416 dst_dir->
i_ino, dst_name);