[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: fsync fails on O_RDONLY file handle (patch attached)

From: Mike Ashmore <mike_at_motomike.net>
Date: 2006-02-10 19:47:35 CET

On Feb 9, 2006, at 7:32 AM, Malcolm Rowe wrote:

> On Wed, Feb 08, 2006 at 04:35:35PM -0500, Mike Ashmore wrote:
>> Unfortunately, Malcolm's patch still doesn't fix STOP. Using strace,
>> it looks like the problem occurs when you open("<repository>/db/
>> revprops", O_RDONLY). The fsync immediately after that operation
>> fails.
>>
>
> Okay. I'm not entirely surprised, though it seems odd that STOP
> provides
> a close-enough Linux ABI to define __linux__, but not one that
> supports
> the well-known mechanism for flushing directory modifications to disk.
>
> I presume that prior to this patch, the fsync that failed was the one
> sync-ing the revision file (/db/revs/0)? If so, I'll commit the patch
> I provided anyway - it does make sense by itself.
>
> What error does fsync() return in the failing case? (syncing the
> directory) I suppose we could ignore EROFS or EINVAL, or possibly
> even
> EBADF, since those errors don't really indicate a failure to sync the
> directory per se (that would be EIO, I think), more an inability to
> sync
> a directory in the first place, which isn't something we should
> fail on.

As to STOP's oddness, there's no denying that. The fsync
implementation is probably somehow related to the fact that there are
a ridiculous number of security checks on all filesystem operations
to ensure information remains properly compartmentalized.

At any rate. The failing fsync, it turns out, is the same with or
without your patch: <repository>/db/revprops. It's apparently synced
even before /db/revs/0, and of course as soon as it fails the whole
process bails out. Note that I'm running 1.3.0, as opposed to the
trunk release. Oh, and I compiled without BDB support (I trust fsfs
more anyway), and threading disabled (another STOP thing, pthreads
aren't allowed). The return code I get for the fsync is EBADF (-1).
Tricky.

For the sake of gratuitous completeness, I've attached strace's full
output.

Regards,
-Mike Ashmore

execve("/usr/bin/svnadmin", ["svnadmin", "create", "foo"], [/* 23
vars */]) = 0
uname({sys="Linux", node="minoss", ...}) = 0
getuid() = 1
geteuid() = 1
getgid() = 1
getegid() = 1
brk(0) = 0x804f3cc
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libsvn_repos-1.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pH\0\000"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=505966, ...}) = 0
old_mmap(NULL, 106372, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aabe000
old_mmap(0x2aad7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x18000) = 0x2aad7000
close(3) = 0
open("/usr/lib/libsvn_fs-1.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\10\37\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=105253, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aad8000
old_mmap(NULL, 18588, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aad9000
old_mmap(0x2aadd000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x3000) = 0x2aadd000
close(3) = 0
open("/usr/lib/libsvn_fs_fs-1.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\244O\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=434377, ...}) = 0
old_mmap(NULL, 92632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aade000
old_mmap(0x2aaf4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x15000) = 0x2aaf4000
close(3) = 0
open("/usr/lib/libsvn_delta-1.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270\27"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=256702, ...}) = 0
old_mmap(NULL, 30324, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aaf5000
old_mmap(0x2aafc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x6000) = 0x2aafc000
close(3) = 0
open("/usr/lib/libsvn_subr-1.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230y\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=858029, ...}) = 0
old_mmap(NULL, 143068, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aafd000
old_mmap(0x2ab1f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x22000) = 0x2ab1f000
close(3) = 0
open("/usr/lib/libaprutil-0.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320G\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0777, st_size=721612, ...}) = 0
old_mmap(NULL, 71992, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ab20000
old_mmap(0x2ab31000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x10000) = 0x2ab31000
close(3) = 0
open("/usr/lib/libexpat.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \0\000"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=162799, ...}) = 0
old_mmap(NULL, 129568, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ab32000
old_mmap(0x2ab4e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x1b000) = 0x2ab4e000
close(3) = 0
open("/usr/lib/libapr-0.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\370r\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0777, st_size=1376323, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2ab52000
old_mmap(NULL, 108536, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ab53000
old_mmap(0x2ab6c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x19000) = 0x2ab6c000
close(3) = 0
open("/usr/lib/librt.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=9089, ...}) = 0
old_mmap(NULL, 9089, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2ab6e000
close(3) = 0
open("/lib/librt.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0004\32\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=22656, ...}) = 0
old_mmap(NULL, 69848, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ab71000
old_mmap(0x2ab77000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x5000) = 0x2ab77000
old_mmap(0x2ab78000, 41176, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab78000
close(3) = 0
open("/usr/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2005\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=132596, ...}) = 0
old_mmap(NULL, 135168, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ab83000
old_mmap(0x2aba3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x1f000) = 0x2aba3000
close(3) = 0
open("/usr/lib/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libcrypt.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\t\0
\000"..., 512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=20104, ...}) = 0
old_mmap(NULL, 182912, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2aba4000
old_mmap(0x2aba9000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x4000) = 0x2aba9000
old_mmap(0x2abaa000, 158336, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2abaa000
close(3) = 0
open("/usr/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libnsl.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p:\0\000"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=70348, ...}) = 0
old_mmap(NULL, 81760, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2abd1000
old_mmap(0x2abe2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x10000) = 0x2abe2000
old_mmap(0x2abe3000, 8032, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2abe3000
close(3) = 0
open("/usr/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270\25"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=9184, ...}) = 0
old_mmap(NULL, 12116, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2abe5000
old_mmap(0x2abe7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x1000) = 0x2abe7000
close(3) = 0
open("/usr/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\350U\1"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=1212940, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2abe8000
old_mmap(NULL, 1222724, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2abe9000
old_mmap(0x2ad0c000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x122000) = 0x2ad0c000
old_mmap(0x2ad11000, 10308, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ad11000
close(3) = 0
open("/usr/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220@\0"...,
512) = 512
fstat(3, {st_mode=S_IFREG|0755, st_size=70876, ...}) = 0
old_mmap(NULL, 331428, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x2ad14000
old_mmap(0x2ad22000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0xe000) = 0x2ad22000
old_mmap(0x2ad25000, 261796, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ad25000
close(3) = 0
munmap(0x2ab6e000, 9089) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=2048*1024, rlim_max=2147483647}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=2147483647}) =
-1 EINVAL (Invalid argument)
getpid() = 8529
rt_sigaction(SIGRTMIN, {0x2ad1ce94, [], SA_RESTORER, 0x2ac0fca8},
NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x2ad1cd7c, [], SA_RESTORER, 0x2ac0fca8},
NULL, 8) = 0
rt_sigaction(SIGRT_2, {0x2ad1cf1c, [], SA_RESTORER, 0x2ac0fca8},
NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x7ffff7e8, 512, (nil), 0}) =
-1 ENOSYS (Function not implemented)
open("/proc/sys/kernel/version", O_RDONLY) = -1 ENOENT (No such file
or directory)
close(-1) = -1 EBADF (Bad file descriptor)
fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 8), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 8), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 8), ...}) = 0
brk(0) = 0x804f3cc
brk(0x80503cc) = 0x80503cc
brk(0) = 0x80503cc
brk(0x8051000) = 0x8051000
brk(0) = 0x8051000
brk(0x8052000) = 0x8052000
brk(0) = 0x8052000
brk(0x8054000) = 0x8054000
brk(0) = 0x8054000
brk(0x8056000) = 0x8056000
brk(0) = 0x8056000
brk(0x8058000) = 0x8058000
brk(0) = 0x8058000
brk(0x805a000) = 0x805a000
brk(0) = 0x805a000
brk(0x805c000) = 0x805c000
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21040, ...}) = 0
old_mmap(NULL, 21040, PROT_READ, MAP_SHARED, 3, 0) = 0x2ad65000
close(3) = 0
brk(0) = 0x805c000
brk(0x805e000) = 0x805e000
rt_sigaction(SIGINT, {0x2ad20920, [], SA_RESTORER|SA_INTERRUPT,
0x2ac0fca8}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x2ad20920, [], SA_RESTORER|SA_INTERRUPT,
0x2ac0fca8}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {0x2ad20920, [], SA_RESTORER|SA_INTERRUPT,
0x2ac0fca8}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
brk(0) = 0x805e000
brk(0x8060000) = 0x8060000
brk(0) = 0x8060000
brk(0x8062000) = 0x8062000
brk(0) = 0x8062000
brk(0x806a000) = 0x806a000
open("/etc/subversion/servers", O_RDONLY) = -1 ENOENT (No such file
or directory)
brk(0) = 0x806a000
brk(0x806c000) = 0x806c000
brk(0) = 0x806c000
brk(0x806e000) = 0x806e000
open("/home/admin/.subversion/servers", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0666, st_size=3270, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2ab6e000
read(3, "### This file specifies server-s"..., 4096) = 3270
read(3, "", 4096) = 0
close(3) = 0
munmap(0x2ab6e000, 4096) = 0
brk(0) = 0x806e000
brk(0x8070000) = 0x8070000
open("/etc/subversion/config", O_RDONLY) = -1 ENOENT (No such file or
directory)
brk(0) = 0x8070000
brk(0x8072000) = 0x8072000
brk(0) = 0x8072000
brk(0x8074000) = 0x8074000
open("/home/admin/.subversion/config", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0666, st_size=4731, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2ab6e000
read(3, "### This file configures various"..., 4096) = 4096
read(3, "me-pattern = propname[=value][;p"..., 4096) = 635
read(3, "", 4096) = 0
close(3) = 0
munmap(0x2ab6e000, 4096) = 0
mkdir("foo", 0777) = 0
mkdir("foo/dav", 0777) = 0
mkdir("foo/locks", 0777) = 0
open("foo/locks/db.lock", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "This file is not used by Subvers"..., 139) = 139
close(3) = 0
open("foo/locks/db-logs.lock", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "This file is not used by Subvers"..., 139) = 139
close(3) = 0
mkdir("foo/hooks", 0777) = 0
open("foo/hooks/start-commit.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# START-COMMIT HOOK\n#"..., 2137) = 2137
close(3) = 0
open("foo/hooks/pre-commit.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# PRE-COMMIT HOOK\n#\n#"..., 2934) = 2934
close(3) = 0
open("foo/hooks/pre-revprop-change.tmpl", O_WRONLY|O_CREAT|O_EXCL,
0666) = 3
write(3, "#!/bin/sh\n\n# PRE-REVPROP-CHANGE "..., 2764) = 2764
close(3) = 0
open("foo/hooks/pre-lock.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# PRE-LOCK HOOK\n#\n# T"..., 2040) = 2040
close(3) = 0
open("foo/hooks/pre-unlock.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# PRE-UNLOCK HOOK\n#\n#"..., 1981) = 1981
close(3) = 0
open("foo/hooks/post-commit.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# POST-COMMIT HOOK\n#\n"..., 2015) = 2015
close(3) = 0
open("foo/hooks/post-lock.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# POST-LOCK HOOK\n#\n# "..., 1638) = 1638
close(3) = 0
open("foo/hooks/post-unlock.tmpl", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "#!/bin/sh\n\n# POST-UNLOCK HOOK\n#\n"..., 1567) = 1567
close(3) = 0
open("foo/hooks/post-revprop-change.tmpl", O_WRONLY|O_CREAT|O_EXCL,
0666) = 3
write(3, "#!/bin/sh\n\n# POST-REVPROP-CHANGE"..., 2255) = 2255
close(3) = 0
mkdir("foo/conf", 0777) = 0
open("foo/conf/svnserve.conf", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "### This file controls the confi"..., 1459) = 1459
close(3) = 0
open("foo/conf/passwd", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "### This file is an example pass"..., 311) = 311
close(3) = 0
open("foo/conf/authz", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "### This file is an example auth"..., 686) = 686
close(3) = 0
open("foo/README.txt", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "This is a Subversion repository;"..., 171) = 171
write(3, "Visit http://subversion.tigris.o"..., 58) = 58
close(3) = 0
mkdir("foo/db", 0777) = 0
stat("foo/db", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
chmod("foo/db", 02777) = 0
open("foo/db/fs-type", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
write(3, "fsfs\n", 5) = 5
close(3) = 0
mkdir("foo/db/revs", 0777) = 0
mkdir("foo/db/revprops", 0777) = 0
mkdir("foo/db/transactions", 0777) = 0
open("foo/db/current", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "0 1 1\n", 6) = 6
close(3) = 0
open("foo/db/write-lock", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "", 0) = 0
close(3) = 0
open("/dev/random", O_RDONLY) = 3
read(3, "Z,", 2) = 2
close(3) = 0
open("/dev/random", O_RDONLY) = 3
read(3, "\270\276\234K\36\327", 6) = 6
close(3) = 0
gettimeofday({1139596037, 647708}, NULL) = 0
open("foo/db/uuid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
brk(0) = 0x8074000
brk(0x8076000) = 0x8076000
write(3, "5ced02e1-740c-0410-9a2c-b8be9c4b"..., 37) = 37
close(3) = 0
open("foo/db/revs/0", O_WRONLY|O_CREAT|O_EXCL, 0666) = 3
write(3, "PLAIN\nEND\nENDREP\nid: 0.0.r0/17\nt"..., 115) = 115
close(3) = 0
gettimeofday({1139596037, 679530}, NULL) = 0
open("/usr/share/zoneinfo/EST5EDT", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2ab6e000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0"...,
4096) = 1267
close(3) = 0
munmap(0x2ab6e000, 4096) = 0
open("foo/db/revprops/0.tmp", O_RDWR|O_CREAT|O_EXCL, 0666) = 3
brk(0) = 0x8076000
brk(0x8078000) = 0x8078000
brk(0) = 0x8078000
brk(0x807a000) = 0x807a000
write(3, "K 8\nsvn:date\nV 27\n2006-02-10T18:"..., 50) = 50
close(3) = 0
stat("foo/db/revs/0", {st_mode=S_IFREG|0666, st_size=115, ...}) = 0
chmod("foo/db/revprops/0.tmp", 0666) = 0
rename("foo/db/revprops/0.tmp", "foo/db/revprops/0") = 0
open("foo/db/revprops", O_RDONLY) = 3
fsync(3) = -1 EBADF (Bad file descriptor)
brk(0) = 0x807a000
brk(0x807c000) = 0x807c000
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not
a directory)
open("foo", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
brk(0) = 0x807c000
brk(0x807d000) = 0x807d000
getdents(4, /* 8 entries */, 3933) = 132
lstat("foo/.", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
lstat("foo/..", {st_mode=S_IFDIR|0750, st_size=11616, ...}) = 0
lstat("foo/dav", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
open("foo/dav", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
brk(0) = 0x807d000
brk(0x807e000) = 0x807e000
brk(0) = 0x807e000
brk(0x8080000) = 0x8080000
getdents(5, /* 2 entries */, 3933) = 28
lstat("foo/dav/.", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
lstat("foo/dav/..", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
getdents(5, /* 0 entries */, 3933) = 0
close(5) = 0
rmdir("foo/dav") = 0
lstat("foo/locks", {st_mode=S_IFDIR|0777, st_size=528, ...}) = 0
open("foo/locks", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0777, st_size=528, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
getdents(5, /* 4 entries */, 3933) = 72
lstat("foo/locks/.", {st_mode=S_IFDIR|0777, st_size=528, ...}) = 0
lstat("foo/locks/..", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
lstat("foo/locks/db.lock", {st_mode=S_IFREG|0666, st_size=139, ...}) = 0
unlink("foo/locks/db.lock") = 0
lstat("foo/locks/db-logs.lock", {st_mode=S_IFREG|0666,
st_size=139, ...}) = 0
unlink("foo/locks/db-logs.lock") = 0
getdents(5, /* 0 entries */, 3933) = 0
close(5) = 0
rmdir("foo/locks") = 0
lstat("foo/hooks", {st_mode=S_IFDIR|0777, st_size=2376, ...}) = 0
open("foo/hooks", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0777, st_size=2376, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
getdents(5, /* 11 entries */, 3933) = 292
lstat("foo/hooks/.", {st_mode=S_IFDIR|0777, st_size=2376, ...}) = 0
lstat("foo/hooks/..", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
lstat("foo/hooks/start-commit.tmpl", {st_mode=S_IFREG|0666,
st_size=2137, ...}) = 0
unlink("foo/hooks/start-commit.tmpl") = 0
lstat("foo/hooks/pre-commit.tmpl", {st_mode=S_IFREG|0666,
st_size=2934, ...}) = 0
unlink("foo/hooks/pre-commit.tmpl") = 0
lstat("foo/hooks/pre-revprop-change.tmpl", {st_mode=S_IFREG|0666,
st_size=2764, ...}) = 0
unlink("foo/hooks/pre-revprop-change.tmpl") = 0
lstat("foo/hooks/pre-lock.tmpl", {st_mode=S_IFREG|0666,
st_size=2040, ...}) = 0
unlink("foo/hooks/pre-lock.tmpl") = 0
lstat("foo/hooks/pre-unlock.tmpl", {st_mode=S_IFREG|0666,
st_size=1981, ...}) = 0
unlink("foo/hooks/pre-unlock.tmpl") = 0
lstat("foo/hooks/post-commit.tmpl", {st_mode=S_IFREG|0666,
st_size=2015, ...}) = 0
unlink("foo/hooks/post-commit.tmpl") = 0
lstat("foo/hooks/post-lock.tmpl", {st_mode=S_IFREG|0666,
st_size=1638, ...}) = 0
unlink("foo/hooks/post-lock.tmpl") = 0
lstat("foo/hooks/post-unlock.tmpl", {st_mode=S_IFREG|0666,
st_size=1567, ...}) = 0
unlink("foo/hooks/post-unlock.tmpl") = 0
lstat("foo/hooks/post-revprop-change.tmpl", {st_mode=S_IFREG|0666,
st_size=2255, ...}) = 0
unlink("foo/hooks/post-revprop-change.tmpl") = 0
getdents(5, /* 0 entries */, 3933) = 0
close(5) = 0
rmdir("foo/hooks") = 0
lstat("foo/conf", {st_mode=S_IFDIR|0777, st_size=792, ...}) = 0
open("foo/conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0777, st_size=792, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
getdents(5, /* 5 entries */, 3933) = 88
lstat("foo/conf/.", {st_mode=S_IFDIR|0777, st_size=792, ...}) = 0
lstat("foo/conf/..", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
lstat("foo/conf/svnserve.conf", {st_mode=S_IFREG|0666,
st_size=1459, ...}) = 0
unlink("foo/conf/svnserve.conf") = 0
lstat("foo/conf/passwd", {st_mode=S_IFREG|0666, st_size=311, ...}) = 0
unlink("foo/conf/passwd") = 0
lstat("foo/conf/authz", {st_mode=S_IFREG|0666, st_size=686, ...}) = 0
unlink("foo/conf/authz") = 0
getdents(5, /* 0 entries */, 3933) = 0
close(5) = 0
rmdir("foo/conf") = 0
lstat("foo/README.txt", {st_mode=S_IFREG|0666, st_size=229, ...}) = 0
unlink("foo/README.txt") = 0
lstat("foo/db", {st_mode=S_IFDIR|0777, st_size=1848, ...}) = 0
open("foo/db", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0777, st_size=1848, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
getdents(5, /* 9 entries */, 3933) = 168
lstat("foo/db/.", {st_mode=S_IFDIR|0777, st_size=1848, ...}) = 0
lstat("foo/db/..", {st_mode=S_IFDIR|0777, st_size=1584, ...}) = 0
lstat("foo/db/fs-type", {st_mode=S_IFREG|0666, st_size=5, ...}) = 0
unlink("foo/db/fs-type") = 0
lstat("foo/db/revs", {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
open("foo/db/revs", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
fstat(6, {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
brk(0) = 0x8080000
brk(0x8081000) = 0x8081000
brk(0) = 0x8081000
brk(0x8083000) = 0x8083000
getdents(6, /* 3 entries */, 3933) = 40
lstat("foo/db/revs/.", {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
lstat("foo/db/revs/..", {st_mode=S_IFDIR|0777, st_size=1848, ...}) = 0
lstat("foo/db/revs/0", {st_mode=S_IFREG|0666, st_size=115, ...}) = 0
unlink("foo/db/revs/0") = 0
getdents(6, /* 0 entries */, 3933) = 0
close(6) = 0
rmdir("foo/db/revs") = 0
lstat("foo/db/revprops", {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
open("foo/db/revprops", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
fstat(6, {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
getdents(6, /* 3 entries */, 3933) = 40
lstat("foo/db/revprops/.", {st_mode=S_IFDIR|0777, st_size=264, ...}) = 0
lstat("foo/db/revprops/..", {st_mode=S_IFDIR|0777,
st_size=1848, ...}) = 0
lstat("foo/db/revprops/0", {st_mode=S_IFREG|0666, st_size=50, ...}) = 0
unlink("foo/db/revprops/0") = 0
getdents(6, /* 0 entries */, 3933) = 0
close(6) = 0
rmdir("foo/db/revprops") = 0
lstat("foo/db/transactions", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
open("foo/db/transactions", O_RDONLY|O_NONBLOCK|O_LARGEFILE|
O_DIRECTORY) = 6
fstat(6, {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
getdents(6, /* 2 entries */, 3933) = 28
lstat("foo/db/transactions/.", {st_mode=S_IFDIR|0777,
st_size=0, ...}) = 0
lstat("foo/db/transactions/..", {st_mode=S_IFDIR|0777,
st_size=1848, ...}) = 0
getdents(6, /* 0 entries */, 3933) = 0
close(6) = 0
rmdir("foo/db/transactions") = 0
lstat("foo/db/current", {st_mode=S_IFREG|0666, st_size=6, ...}) = 0
unlink("foo/db/current") = 0
lstat("foo/db/write-lock", {st_mode=S_IFREG|0666, st_size=0, ...}) = 0
unlink("foo/db/write-lock") = 0
lstat("foo/db/uuid", {st_mode=S_IFREG|0666, st_size=37, ...}) = 0
unlink("foo/db/uuid") = 0
getdents(5, /* 0 entries */, 3933) = 0
close(5) = 0
rmdir("foo/db") = 0
getdents(4, /* 0 entries */, 3933) = 0
close(4) = 0
rmdir("foo") = 0
write(2, "svnadmin: Can\'t flush file to di"..., 56) = 56
close(3) = 0
_exit(1) = ?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Feb 10 19:54:17 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.