[sam-qfs-discuss] ssmu and mmap

Stuart Anderson anderson at ligo.caltech.edu
Tue Oct 30 13:30:56 PDT 2007


The SAM 4.6 ssum man page states:

     A file that has the checksum use  attribute  set  cannot  be
     memory  mapped.   The file also must be completely staged to

However, I just tried a simple test with /bin/cat and it worked. Is there
a more detailed explanation of does not work?  For example,

# sls -D lal-5.2.tar.gz
lal-5.2.tar.gz:
  mode: -rw-r--r--  links:   1  owner: 5026      group: 5026    
  length:  32116894  admin id:      0  inode:   13013851.3
  offline;
  copy 1: ----- Oct  6 15:09      d4e8.b7ae0b sf CL3262
  copy 2: ----- Oct  7 19:46      94d9.b7ae0b sf CL3286
  access:      Oct 30 13:15  modification: Aug 30 17:25
  changed:     Sep  8 13:54  attributes:   Sep  8 13:54
  creation:    Sep  8 13:54  residence:    Oct 30 13:21
  checksum: -g -u -a 1 0xd03259fcbea6e0ef 0x80f103d7ccd602aa


# truss /bin/cat lal-5.2.tar.gz | md5sum
execve("/usr/bin/cat", 0xFFBFFC54, 0xFFBFFC60)  argc = 2
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12

...

open64("lal-5.2.tar.gz", O_RDONLY)              = 3
fstat64(3, 0xFFBFFAC0)                          = 0
llseek(3, 0, SEEK_CUR)                          = 0
mmap64(0x00000000, 8388608, PROT_READ, MAP_SHARED, 3, 0) = 0xFE800000
read(3, 0xFFBFFA4F, 1)          (sleeping...)

read(3, "1F", 1)                                = 1
write(1, "1F8B\b\0 e10DF E0203EC [".., 8388608) = 8388608
mmap64(0xFE800000, 8388608, PROT_READ, MAP_SHARED|MAP_FIXED, 3, 8388608) = 0xFE800000
write(1, "C5 cA3 # tE5 tBC < c " 4".., 8388608) = 8388608
mmap64(0xFE800000, 8388608, PROT_READ, MAP_SHARED|MAP_FIXED, 3, 0x01000000) = 0xFE800000
write(1, "\vFF7FFF 8E7C5901CD0F2 <".., 8388608) = 8388608
mmap64(0xFE800000, 6951070, PROT_READ, MAP_SHARED|MAP_FIXED, 3, 0x01800000) = 0xFE800000
write(1, "15141E8185D181FB9A8B L >".., 6951070) = 6951070
llseek(3, 0x01EA109E, SEEK_SET)                 = 0x01EA109E
munmap(0xFE800000, 8388608)                     = 0
llseek(3, 0, SEEK_CUR)                          = 0x01EA109E
close(3)                                        = 0
close(1)                                        = 0
_exit(0)
2ced1d37329db899ab193193f5412182  -


Note, this is the right md5sum value.


Thanks.


-- 
Stuart Anderson  anderson at ligo.caltech.edu
http://www.ligo.caltech.edu/~anderson


More information about the sam-qfs-discuss mailing list