Christopher Gorski wrote:
 > Christopher Gorski wrote:
 >> Robert Milkowski wrote:
 >>> As Joerg suggested - please check getdents() - remember to use truss
 >>> -v getdents so you should see all directory listings.
 >>>
 >>> I would check both getdents and open - so if it appears in getdents
 >>> but is not opened later on...
 >>>
 >>>
 >> I ran the copy procedure with this:
 >> #truss -t open,getdents -v open,getdents -o /tmp/getdents.truss cp -pr
 >> /pond/photos/* /pond/copytestsame/
 >>
 >> It seems that the same files I am missing on copy are missing in the
 >> getdents return value, even though I can see and read these files 
via bash.
 >>
 >> -Chris
 >
 > I've attached a copy of truss output from doing the copy, and from doing
 >   a simple "ls" on the original directory.  The getdents output for the
 > "ls" shows all the files, whereas the getdents output for the "cp" is
 > missing about 20 files.
 >
 > ...

I noticed that the first calls in the "cp" and "ls" to getdents() return 
similar file lists, with the same values.

However, in the "ls", it makes a second call to getdents():

     ino=59236 off=518928750 rlen=40  "105-0563_CRW.JPG"
brk(0x080732F0)                                 = 0
brk(0x0807D2F0)                                 = 0
brk(0x0807D2F0)                                 = 0
brk(0x080872F0)                                 = 0
brk(0x080872F0)                                 = 0
brk(0x080912F0)                                 = 0
getdents64(3, 0xFECE4000, 8192)                 = 680
     ino=59207 off=519930959 rlen=40  "105-0593_CRW.JPG"
     ino=59297 off=520121012 rlen=40  "105-0502_CRW.JPG"
     ino=59161 off=523498482 rlen=40  "104-0422_IMG.JPG"
     ino=59293 off=523683089 rlen=40  "105-0506_CRW.JPG"
     ino=59178 off=524812848 rlen=40  "106-0625_CRW.JPG"
     ino=59182 off=528395669 rlen=40  "106-0621_CRW.JPG"
     ino=59274 off=528576196 rlen=40  "105-0525_CRW.JPG"
     ino=59140 off=528767015 rlen=40  "104-0401_IMG.JPG"
     ino=59168 off=530430584 rlen=40  "104-0429_CRW.JPG"
     ino=59144 off=531822466 rlen=40  "104-0405_IMG.JPG"
     ino=59278 off=532136289 rlen=40  "105-0521_CRW.JPG"
     ino=59137 off=532747309 rlen=40  "103-0398_IMG.JPG"
     ino=59164 off=533088919 rlen=40  "104-0425_CRW.JPG"
     ino=59198 off=533268032 rlen=40  "106-0602_CRW.JPG"
     ino=59270 off=534421035 rlen=40  "105-0529_CRW.JPG"
     ino=59148 off=535365485 rlen=40  "104-0409_IMG.JPG"
     ino=59194 off=536848869 rlen=40  "106-0606_CRW.JPG"
getdents64(3, 0xFECE4000, 8192)                 = 0
close(3)                                        = 0

These are my missing files.

-Chris
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to