Lines Matching defs:node

281 grub_xfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
288 if (node->inode.format == XFS_INODE_FORMAT_BTREE)
293 leaf = grub_malloc (node->data->bsize);
297 nrec = grub_be_to_cpu16 (node->inode.data.btree.numrecs);
298 keys = &node->inode.data.btree.keys[0];
299 if (node->inode.fork_offset)
300 recoffset = (node->inode.fork_offset
301 - ((char *) &node->inode.data.btree.keys - (char *) &node->inode))
304 recoffset = ((1 << node->data->sblock.log2_inode)
305 - ((char *) &node->inode.data.btree.keys
306 - (char *) &node->inode))
324 if (grub_disk_read (node->data->disk,
325 GRUB_XFS_FSB_TO_BLOCK (node->data, grub_be_to_cpu64 (keys[i - 1 + recoffset])) << (node->data->sblock.log2_bsize - GRUB_DISK_SECTOR_BITS),
326 0, node->data->bsize, leaf))
332 grub_error (GRUB_ERR_BAD_FS, "not a correct XFS BMAP node");
338 recoffset = ((node->data->bsize - ((char *) &leaf->keys
345 else if (node->inode.format == XFS_INODE_FORMAT_EXT)
347 nrec = grub_be_to_cpu32 (node->inode.nextents);
348 exts = &node->inode.data.extents[0];
354 node->inode.format);
378 return GRUB_XFS_FSB_TO_BLOCK(node->data, ret);
385 grub_xfs_read_file (grub_fshelp_node_t node,
390 return grub_fshelp_read_file (node->data->disk, node, read_hook,
392 grub_be_to_cpu64 (node->inode.size),
393 node->data->sblock.log2_bsize
399 grub_xfs_read_symlink (grub_fshelp_node_t node)
401 int size = grub_be_to_cpu64 (node->inode.size);
403 switch (node->inode.format)
406 return grub_strndup (node->inode.data.raw, size);
417 numread = grub_xfs_read_file (node, 0, 0, size, symlink);
453 grub_fshelp_node_t node))
707 grub_fshelp_node_t node);
711 grub_fshelp_node_t node)
715 if (node->inode_read)
718 info.mtime = grub_be_to_cpu32 (node->inode.mtime.sec);
721 grub_free (node);