mirror of
https://github.com/kdave/btrfs-progs
synced 2025-05-03 16:37:55 +00:00
mkfs and dir-test fixes
This commit is contained in:
parent
8a2c8123c5
commit
9fb549a6c1
11
dir-test.c
11
dir-test.c
@ -1,6 +1,8 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include "kerncompat.h"
|
#include "kerncompat.h"
|
||||||
#include "radix-tree.h"
|
#include "radix-tree.h"
|
||||||
@ -12,7 +14,7 @@
|
|||||||
|
|
||||||
int keep_running = 1;
|
int keep_running = 1;
|
||||||
struct btrfs_super_block super;
|
struct btrfs_super_block super;
|
||||||
static u64 dir_oid = 44556;
|
static u64 dir_oid = 0;
|
||||||
static u64 file_oid = 33778;
|
static u64 file_oid = 33778;
|
||||||
|
|
||||||
static int find_num(struct radix_tree_root *root, unsigned long *num_ret,
|
static int find_num(struct radix_tree_root *root, unsigned long *num_ret,
|
||||||
@ -44,6 +46,7 @@ static void initial_inode_init(struct btrfs_root *root,
|
|||||||
{
|
{
|
||||||
memset(inode_item, 0, sizeof(*inode_item));
|
memset(inode_item, 0, sizeof(*inode_item));
|
||||||
btrfs_set_inode_generation(inode_item, root->fs_info->generation);
|
btrfs_set_inode_generation(inode_item, root->fs_info->generation);
|
||||||
|
btrfs_set_inode_mode(inode_item, S_IFREG | 0700);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ins_one(struct btrfs_trans_handle *trans, struct btrfs_root *root,
|
static int ins_one(struct btrfs_trans_handle *trans, struct btrfs_root *root,
|
||||||
@ -425,13 +428,15 @@ int main(int ac, char **av)
|
|||||||
struct btrfs_trans_handle *trans;
|
struct btrfs_trans_handle *trans;
|
||||||
radix_tree_init();
|
radix_tree_init();
|
||||||
|
|
||||||
root = open_ctree("dbfile", &super);
|
root = open_ctree(av[ac-1], &super);
|
||||||
trans = btrfs_start_transaction(root, 1);
|
trans = btrfs_start_transaction(root, 1);
|
||||||
|
|
||||||
|
dir_oid = btrfs_super_root_dir(&super);
|
||||||
|
|
||||||
signal(SIGTERM, sigstopper);
|
signal(SIGTERM, sigstopper);
|
||||||
signal(SIGINT, sigstopper);
|
signal(SIGINT, sigstopper);
|
||||||
|
|
||||||
for (i = 1 ; i < ac ; i++) {
|
for (i = 1 ; i < ac - 1; i++) {
|
||||||
if (strcmp(av[i], "-i") == 0) {
|
if (strcmp(av[i], "-i") == 0) {
|
||||||
initial_only = 1;
|
initial_only = 1;
|
||||||
} else if (strcmp(av[i], "-c") == 0) {
|
} else if (strcmp(av[i], "-c") == 0) {
|
||||||
|
2
mkfs.c
2
mkfs.c
@ -58,7 +58,7 @@ static int make_root_dir(int fd) {
|
|||||||
btrfs_set_inode_size(&inode_item, 3);
|
btrfs_set_inode_size(&inode_item, 3);
|
||||||
btrfs_set_inode_nlink(&inode_item, 1);
|
btrfs_set_inode_nlink(&inode_item, 1);
|
||||||
btrfs_set_inode_nblocks(&inode_item, 1);
|
btrfs_set_inode_nblocks(&inode_item, 1);
|
||||||
btrfs_set_inode_mode(&inode_item, S_IFDIR | 0711);
|
btrfs_set_inode_mode(&inode_item, S_IFDIR | 0755);
|
||||||
|
|
||||||
btrfs_set_super_root_dir(&super, objectid);
|
btrfs_set_super_root_dir(&super, objectid);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user