Changes by: flatcap
Update of /cvsroot/linux-ntfs/ntfs-driver-tng/scripts
In directory usw-pr-cvs1:/tmp/cvs-serv30586/scripts
Modified Files:
rl.c
Log Message:
enoent was just hiding
Index: rl.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfs-driver-tng/scripts/rl.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -U2 -r1.9 -r1.10
--- rl.c 10 Feb 2002 20:48:11 -0000 1.9
+++ rl.c 10 Feb 2002 22:40:09 -0000 1.10
@@ -126,4 +126,5 @@
BUG_ON (!orig || !new);
+ //printf ("append\n");
right = ntfs_rl_merge (new + nsize - 1, orig + loc + 1);
@@ -167,4 +168,5 @@
BUG_ON (!orig || !new);
+ //printf ("insert\n");
if (loc > 0) {
left = ntfs_rl_merge (orig + loc - 1, new);
@@ -177,5 +179,5 @@
}
- ntfs_debug("left = %i, disc = %i, hole = %i\n", left, disc, hole);
+ //ntfs_debug("left = %i, disc = %i, hole = %i\n", left, disc, hole);
res = ntfs_rl_realloc (orig, osize, osize + nsize - left + disc - hole);
@@ -186,9 +188,12 @@
rl_mc (res, loc + disc - hole, new, left, nsize - left);
- res[loc+nsize-left+disc-hole].vcn =
- res[loc+nsize-left+disc-hole-1].vcn +
- res[loc+nsize-left+disc-hole-1].length;
- res[loc+nsize-left+disc-hole].length -= (new[nsize-1].vcn +
- new[nsize-1].length - new[0].vcn);
+ //if (res[loc+nsize-left+disc-hole].lcn <= LCN_HOLE) {
+ if (1) {
+ res[loc+nsize-left+disc-hole].vcn =
+ res[loc+nsize-left+disc-hole-1].vcn +
+ res[loc+nsize-left+disc-hole-1].length;
+ res[loc+nsize-left+disc-hole].length -= (new[nsize-1].vcn +
+ new[nsize-1].length - new[0].vcn);
+ }
if (disc) {
@@ -236,4 +241,5 @@
BUG_ON (!orig || !new);
+ //printf ("replace\n");
right = ntfs_rl_merge (new + nsize - 1, orig + loc + 1);
if (loc > 0)
@@ -276,4 +282,5 @@
BUG_ON (!orig || !new);
+ //printf ("split\n");
res = ntfs_rl_realloc (orig, osize, osize + nsize + 1);
if (IS_ERR (res))
@@ -303,4 +310,7 @@
}
+/**
+ * merge_run_lists
+ */
run_list * merge_run_lists (run_list *drl, run_list *srl)
{
@@ -413,16 +423,14 @@
// FIXME: RAR This looks dodgy... drl[dins].lcn might well be LCN_ENOENT
// at end of file. Is just the comment wrong? (AIA)
- start = ((drl[dins].lcn < LCN_HOLE) || /* End of file */
+ start = ((drl[dins].lcn < LCN_HOLE) || /* End of file */
(drl[dins].vcn == srl[sstart].vcn)); /* Start of hole */
- finish = ((drl[dins].lcn > LCN_RL_NOT_MAPPED) && /* End of file */
+ finish = ((drl[dins].lcn >= LCN_RL_NOT_MAPPED) && /* End of file */
((drl[dins].vcn + drl[dins].length) <= /* End of hole */
(srl[send-1].vcn + srl[send-1].length)));
- ntfs_debug("dstart = %i, dfinal = %i, dend = %i\n", dstart, dfinal,
- dend);
- ntfs_debug("sstart = %i, sfinal = %i, send = %i\n", sstart, sfinal,
- send);
- ntfs_debug("start = %i, finish = %i\n", start, finish);
- ntfs_debug("ds = %i, ss = %i, dins = %i\n", ds, ss, dins);
+ //ntfs_debug("dstart = %i, dfinal = %i, dend = %i\n", dstart, dfinal, dend);
+ //ntfs_debug("sstart = %i, sfinal = %i, send = %i\n", sstart, sfinal, send);
+ //ntfs_debug("start = %i, finish = %i\n", start, finish);
+ //ntfs_debug("ds = %i, ss = %i, dins = %i\n", ds, ss, dins);
if (start)
if (finish)
@@ -654,5 +662,5 @@
(rl + rlpos)->length = (s64)0;
//RAR ntfs_debug("Mapping pairs array successfully decompressed.\n");
- ntfs_debug_dump_runlist(rl);
+ //RAR ntfs_debug_dump_runlist(rl);
/* If no existing run list was specified, we are done. */
if (!old_rl)
@@ -743,5 +751,6 @@
{ 300, 1300, 100 }, /* DATA */
{ 400, -1, 100 }, /* HOLE */
- { 0, -2, 0 } /* END */
+ { 0, -2, 0 }, /* END */
+ { 0, -3, 0 } /* NOENT */
};
@@ -750,5 +759,6 @@
{ 0, 1000, 100 }, /* DATA */
{ 100, -1, 100 }, /* HOLE */
- { 0, -2, 0 } /* END */
+ { 0, -2, 0 }, /* END */
+ { 0, -3, 0 } /* NOENT */
};
@@ -756,10 +766,12 @@
/* VCN, LCN, len */
{ 0, 1000, 100 }, /* DATA */
- { 0, -2, 0 } /* END */
+ { 0, -2, 0 }, /* END */
+ { 0, -3, 0 } /* NOENT */
};
run_list file4[] = {
/* VCN, LCN, len */
- { 0, -2, 0 } /* END */
+ { 0, -2, 0 }, /* END */
+ { 0, -3, 0 } /* NOENT */
};
/*
|