Lines Matching refs:inode

2  * dump.c --- dump the contents of an inode out to a file
69 static void fix_perms(const char *cmd, const struct ext2_inode *inode,
76 i = fchmod(fd, mode_xlate(inode->i_mode));
78 i = chmod(name, mode_xlate(inode->i_mode));
83 i = chown(name, inode->i_uid, inode->i_gid);
86 i = fchown(fd, inode->i_uid, inode->i_gid);
88 i = chown(name, inode->i_uid, inode->i_gid);
96 ut.actime = inode->i_atime;
97 ut.modtime = inode->i_mtime;
106 struct ext2_inode inode;
112 if (debugfs_read_inode(ino, &inode, cmdname))
144 fix_perms("dump_file", &inode, fd, outname);
151 ext2_ino_t inode;
179 inode = string_to_inode(in_fn);
180 if (!inode)
190 dump_file(argv[0], inode, fd, preserve, out_fn);
200 static void rdump_symlink(ext2_ino_t ino, struct ext2_inode *inode,
207 buf = malloc(inode->i_size + 1);
215 if (inode->i_blocks == 0)
216 strcpy(buf, (char *) inode->i_block);
218 unsigned bytes = inode->i_size;
237 buf[inode->i_size] = 0;
254 static void rdump_inode(ext2_ino_t ino, struct ext2_inode *inode,
268 if (LINUX_S_ISLNK(inode->i_mode))
269 rdump_symlink(ino, inode, fullname);
270 else if (LINUX_S_ISREG(inode->i_mode)) {
283 else if (LINUX_S_ISDIR(inode->i_mode) && strcmp(name, ".") && strcmp(name, "..")) {
299 fix_perms("rdump", inode, -1, fullname);
315 struct ext2_inode inode;
321 if (debugfs_read_inode(dirent->inode, &inode, name))
324 rdump_inode(dirent->inode, &inode, name, dumproot);
332 struct ext2_inode inode;
356 if (debugfs_read_inode(ino, &inode, argv[1]))
365 rdump_inode(ino, &inode, p, argv[2]);
370 ext2_ino_t inode;
372 if (common_inode_args_process(argc, argv, &inode, 0))
377 dump_file(argv[0], inode, 1, 0, argv[2]);