Changes by: flatcap
Update of /cvsroot/linux-ntfs/ntfsprogs/ntfsprogs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31960
Modified Files:
ntfsrm.c
Log Message:
remove old logging macros
add more traces
Index: ntfsrm.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfsprogs/ntfsprogs/ntfsrm.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -p -r1.68 -r1.69
--- ntfsrm.c 26 Oct 2005 22:54:57 -0000 1.68
+++ ntfsrm.c 28 Oct 2005 04:47:52 -0000 1.69
@@ -51,17 +51,12 @@
#include "tree.h"
#include "index.h"
#include "inode.h"
+#include "logging.h"
static const char *EXEC_NAME = "ntfsrm";
static struct options opts;
static const char *space_line = " ";
-GEN_PRINTF(Eprintf, stderr, NULL, FALSE)
-GEN_PRINTF(Vprintf, stdout, &opts.verbose, TRUE)
-GEN_PRINTF(Qprintf, stdout, &opts.quiet, FALSE)
-
-#define RM_WRITE 0
-
/**
* version - Print version information about the program
*
@@ -181,7 +176,7 @@ static int parse_options(int argc, char
opts.verbose++;
break;
default:
- Eprintf("Unknown option '%s'.\n", argv[optind-1]);
+ ntfs_log_error("Unknown option '%s'.\n", argv[optind-1]);
err++;
break;
}
@@ -193,12 +188,12 @@ static int parse_options(int argc, char
if ((opts.device == NULL) ||
(opts.file == NULL)) {
if (argc > 1)
- Eprintf("You must specify one device and one file.\n");
+ ntfs_log_error("You must specify one device and one file.\n");
err++;
}
if (opts.quiet && opts.verbose) {
- Eprintf("You may not use --quiet and --verbose at the "
+ ntfs_log_error("You may not use --quiet and --verbose at the "
"same time.\n");
err++;
}
@@ -263,6 +258,7 @@ static int utils_array_insert(void *ptr,
if (!ptr)
return -1;
+ ntfs_log_trace ("\n");
src = (u8*) ptr + (before * esize);
dst = src + (count * esize);
len = (asize - before) * esize;
@@ -290,6 +286,7 @@ static int utils_array_remove(void *ptr,
if (!ptr)
return -1;
+ ntfs_log_trace ("\n");
dst = (u8*) ptr + (first * esize);
src = dst + (count * esize);
len = (asize - first) * esize;
@@ -326,6 +323,7 @@ static BOOL utils_pathname_to_inode2(ntf
return FALSE;
}
+ ntfs_log_trace("\n");
memset(found, 0, sizeof(*found));
if (parent) {
@@ -333,7 +331,7 @@ static BOOL utils_pathname_to_inode2(ntf
} else {
dir = (struct ntfs_dir *) vol->private_data;
if (!dir) {
- Eprintf("Couldn't open the inode of the root directory.\n");
+ ntfs_log_error("Couldn't open the inode of the root directory.\n");
goto close;
}
}
@@ -341,7 +339,7 @@ static BOOL utils_pathname_to_inode2(ntf
unicode = malloc(MAX_PATH * sizeof(ntfschar));
ascii = strdup(pathname); // Work with a r/w copy
if (!unicode || !ascii) {
- Eprintf("Out of memory.\n");
+ ntfs_log_error("Out of memory.\n");
goto close;
}
@@ -357,7 +355,7 @@ static BOOL utils_pathname_to_inode2(ntf
len = ntfs_mbstoucs(p, &unicode, MAX_PATH);
if (len < 0) {
- Eprintf("Couldn't convert name to Unicode: %s.\n", p);
+ ntfs_log_error("Couldn't convert name to Unicode: %s.\n", p);
goto close;
}
@@ -365,12 +363,14 @@ static BOOL utils_pathname_to_inode2(ntf
//printf("dir: index = %p, children = %p, inode = %p, iroot = %p, ialloc = %p, count = %d\n", dir->index, dir->children, dir->inode, dir->iroot, dir->ialloc, dir->child_count);
//if (dir->parent)
if (q) {
+ ntfs_log_trace("q\n");
child = ntfs_dir_find2(dir, unicode, len);
if (!child) {
printf("can't find %s in %s\n", p, pathname);
goto close;
}
} else {
+ ntfs_log_trace("!q dir->index = %p, %d\n", dir->index, dir->index->data_len);
//printf("file: %s\n", p);
dt = ntfs_dt_find2(dir->index, unicode, len, &dt_num);
@@ -378,6 +378,7 @@ static BOOL utils_pathname_to_inode2(ntf
printf("can't find %s in %s (2)\n", p, pathname);
goto close;
}
+ ntfs_log_debug("dt = %p, data_len = %d, parent = %p\n", dt, dt->data_len, dt->parent);
//printf("dt's flags = 0x%08x\n", dt->children[dt_num]->key.file_name.file_attributes);
if (dt->children[dt_num]->key.file_name.file_attributes == FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT) {
@@ -437,6 +438,7 @@ static s64 ntfs_mft_find_free_entry(ntfs
if (!vol)
return -1;
+ ntfs_log_trace ("\n");
recs = vol->mft_na->initialized_size >> vol->mft_record_size_bits;
//printf("mft contains %lld records\n", recs);
for (i = 24; i < recs; i++) {
@@ -456,6 +458,7 @@ static int ntfs_mft_set_inuse6(ntfs_inod
if (!inode)
return -1;
+ ntfs_log_trace("\n");
if (ntfs_bmp_set_range(bmp, (VCN) MREF(inode->mft_no), 1, inuse) < 0)
return -1;
@@ -472,7 +475,7 @@ static int ntfs_mft_set_inuse6(ntfs_inod
NInoSetDirty(inode);
- printf(GREEN "Modified: inode %lld MFT_RECORD header\n" END, inode->mft_no);
+ printf("Modified: inode %lld MFT_RECORD header\n", inode->mft_no);
return 0;
}
@@ -505,6 +508,7 @@ static int ntfs_file_remove(ntfs_volume
return 1;
}
+ ntfs_log_trace ("\n");
find_dir = del->dir;
uname = del->children[del_num]->key.file_name.file_name;
@@ -532,7 +536,7 @@ static int ntfs_file_remove(ntfs_volume
*/
if (del->header->flags & INDEX_NODE) {
- printf(BOLD YELLOW "Replace key with its successor:\n" END);
+ printf("Replace key with its successor:\n");
vcn = ntfs_ie_get_vcn(del_ie);
//printf("vcn = %lld\n", vcn);
@@ -578,7 +582,7 @@ static int ntfs_file_remove(ntfs_volume
*/
printf("\n");
- printf(BOLD YELLOW "Delete key:\n" END);
+ printf("Delete key:\n");
file = &del->children[del_num]->key.file_name; printf("\tdel name: "); ntfs_name_print(file->file_name, file->file_name_length); printf("\n");
@@ -604,7 +608,7 @@ static int ntfs_file_remove(ntfs_volume
// find the key nearest the root which has no descendants
printf("\n");
- printf(BOLD YELLOW "Find childless parent:\n" END);
+ printf("Find childless parent:\n");
#if 0
for (par = del->parent, old = par; par; old = par, par = par->parent) {
if (par->child_count > 1)
@@ -650,7 +654,7 @@ static int ntfs_file_remove(ntfs_volume
// find if parent has left siblings
if (par->children[par_num]->flags & INDEX_ENTRY_END) {
- printf(BOLD YELLOW "Swap the children of the parent and its left sibling\n" END);
+ printf("Swap the children of the parent and its left sibling\n");
par_ie = par->children[par_num];
vcn = ntfs_ie_get_vcn(par_ie);
@@ -678,9 +682,9 @@ static int ntfs_file_remove(ntfs_volume
par_num--;
if (ntfs_dt_isroot(par))
- printf(GREEN "Modified: inode %lld, $INDEX_ROOT\n" END, par->dir->inode->mft_no);
+ printf("Modified: inode %lld, $INDEX_ROOT\n", par->dir->inode->mft_no);
else
- printf(GREEN "Modified: inode %lld, $INDEX_ALLOCATION vcn %lld-%lld\n" END, par->dir->inode->mft_no, par->vcn, par->vcn + (par->dir->index_size>>9) - 1);
+ printf("Modified: inode %lld, $INDEX_ALLOCATION vcn %lld-%lld\n", par->dir->inode->mft_no, par->vcn, par->vcn + (par->dir->index_size>>9) - 1);
}
//ntfs_dt_print(top, 0);
@@ -690,7 +694,7 @@ static int ntfs_file_remove(ntfs_volume
// unhook and hold onto the ded dt's
printf("\n");
- printf(BOLD YELLOW "Remove parent\n" END);
+ printf("Remove parent\n");
file = &par->children[par_num]->key.file_name; printf("\tpar name: "); ntfs_name_print(file->file_name, file->file_name_length); printf("\n");
@@ -735,7 +739,7 @@ static int ntfs_file_remove(ntfs_volume
//ntfs_dt_print(top, 0);
printf("\n");
- printf(BOLD YELLOW "Add childless parent\n" END);
+ printf("Add childless parent\n");
file = &add_ie->key.file_name; printf("\tadd name: "); ntfs_name_print(file->file_name, file->file_name_length); printf("\n");
suc = NULL;
@@ -789,6 +793,7 @@ static int ntfs_file_remove2(ntfs_volume
if (!vol || !dt)
return -1;
+ ntfs_log_trace ("\n");
ie = dt->children[dt_num];
ino = dt->inodes[dt_num];
dir = dt->dir;
@@ -832,12 +837,13 @@ static int ntfs_file_add2(ntfs_volume *v
s64 now = 0;
struct ntfs_dir *dir;
struct ntfs_dt *dt;
- //int dt_index = 0;
+ int dt_index = 0;
int data_len = 0;
ATTR_RECORD *attr;
struct ntfs_dt *suc = NULL;
int suc_num = 0;
+ ntfs_log_trace("\n");
new_num = ntfs_mft_find_free_entry(vol);
if (new_num == (MFT_REF) -1)
return 1;
@@ -948,19 +954,21 @@ static int ntfs_file_add2(ntfs_volume *v
dir = dt->dir->children[0];
dt = dir->index;
+ ntfs_log_debug("searching for "); ntfs_name_print(uname, uname_len); ntfs_log_debug("\n");
+ // find3 doesn't map new dts. don't I _want_ to map them?
suc = ntfs_dt_find3(dt, uname, uname_len, &suc_num);
- ntfs_dt_add2(ie, suc, suc_num, NULL);
+ ntfs_log_debug("dt = %p, data_len = %d, parent = %p\n", dt, dt->data_len, dt->parent);
- /*
- dt_index = ntfs_dt_root_add(dt, ie);
+ //dt_index = ntfs_dt_root_add(dt, ie);
+ dt_index = ntfs_dt_add2(ie, suc, suc_num, NULL);
if (dt_index >= 0) {
dt->inodes[dt_index] = ino;
ino->ref_count++;
}
- */
close:
+ ntfs_log_debug("working inode refcount = %d\n", ino->ref_count);
free(buffer);
ntfs_inode_close2(ino);
ntfs_ie_free(ie);
@@ -969,6 +977,7 @@ close:
return 0;
}
+
/**
* main - Begin here
*
@@ -985,6 +994,11 @@ int main(int argc, char *argv[])
int result = 1;
struct ntfs_find find;
+ ntfs_log_set_handler (ntfs_log_handler_stdout);
+ ntfs_log_set_levels (NTFS_LOG_LEVEL_TRACE);
+ ntfs_log_set_flags (NTFS_LOG_FLAG_COLOUR);
+
+ ntfs_log_trace ("\n");
if (!parse_options(argc, argv))
goto done;
@@ -1000,6 +1014,8 @@ int main(int argc, char *argv[])
if (opts.noaction)
flags |= MS_RDONLY;
+ //ntfs_log_set_levels (NTFS_LOG_LEVEL_DEBUG | NTFS_LOG_LEVEL_TRACE);
+ //ntfs_log_set_levels (NTFS_LOG_LEVEL_DEBUG);
vol = ntfs_volume_mount2(opts.device, flags, opts.force);
if (!vol) {
printf("!vol\n");
@@ -1026,12 +1042,14 @@ done:
if (0) ntfs_inode_close2(inode);
if (1) ntfs_volume_umount2(vol, FALSE);
+ //ntfs_log_clear_levels(NTFS_LOG_LEVEL_DEBUG | NTFS_LOG_LEVEL_TRACE);
if (0) utils_pathname_to_inode2(NULL, NULL, NULL, NULL);
if (0) ntfs_ie_remove_name(NULL);
if (0) ntfs_dt_transfer2(NULL, NULL, 0, 0);
if (0) utils_array_remove(NULL, 0, 0, 0);
if (0) utils_array_insert(NULL, 0, 0, 0);
+ ntfs_log_trace("result = %d\n", result);
return result;
}
|