From: Stelian P. <st...@po...> - 2005-01-25 13:28:25
|
On Mon, Jan 24, 2005 at 11:12:31PM +0100, Stelian Pop wrote: [...] > Unrelated, but wouldn't it be simpler to exclude the whole directory ? [...] > I'll take a look at this tommorow (but I am unable to reproduce it > here at least with my setup). In fact I was unable to reproduce it because I always exclude whole directories and the problem arises only when excluding single files. The attached patch should fix it. Stelian. Index: traverse.c =================================================================== RCS file: /cvsroot/dump/dump/dump/traverse.c,v retrieving revision 1.64 diff -u -r1.64 traverse.c --- traverse.c 15 Dec 2004 09:31:49 -0000 1.64 +++ traverse.c 25 Jan 2005 13:24:46 -0000 @@ -283,6 +283,9 @@ */ SETINO(ino, usedinomap); + if (NODUMP_FLAG(dp)) + do_exclude_ino(ino, "nodump attribute"); + if (mode == IFDIR) SETINO(ino, dumpdirmap); if (WANTTODUMP(dp, ino)) { @@ -296,7 +299,7 @@ return; } if (mode == IFDIR) { - if ( NODUMP_FLAG(dp) || exclude_ino(ino) ) + if (exclude_ino(ino)) CLRINO(ino, usedinomap); *dirskipped = 1; } @@ -986,9 +989,7 @@ int reclen; /* do not save entries to excluded inodes */ - if (TSTINO(dirent->inode, dumpinomap) == 0 && - TSTINO(dirent->inode, dumpdirmap) == 0 && - TSTINO(dirent->inode, usedinomap) == 0) + if (exclude_ino(dirent->inode)) return 0; p = (struct convert_dir_context *)private; -- Stelian Pop <st...@po...> |