[PATCH] tests: remove seemingly unnecessary "sleep 3"

Jeff Darcy jdarcy at redhat.com
Wed Oct 6 17:16:06 UTC 2010


On 10/06/2010 11:53 AM, Jeff Darcy wrote:
> On 10/06/2010 11:51 AM, Jim Meyering wrote:
>> Is your file system ext4?
> 
> On the host, yes.  The guest mounts my repo directory via sshfs, and I
> run from there.  I suspect that the error mapping might be an sshfs
> oddity, but that the underlying problem is not.

I wasn't able to reproduce this "live" even by running continuously for
a couple of hours, but I was able to reproduce the exact same symptom by
"forgetting" to kill the mongod process in cleanup().  Below is the most
relevant part of the strace output; 21905 is the mongod process, 22322
is the test shell.  It definitely is returning EPERM when it seems like
it should succeed (the files are gone) or return ENOTEMPTY (the mongod
process still has its cwd there).  Interestingly, the exact same test
run on a local (loopback) filesystem doesn't get EPERM even if we leave
mongod running.  It just hangs on exit instead.

I think the "kill -9" change is probably sufficient here.  If it turns
out not to be, well, we'll just have to cross that bridge when we get there.

21905 select(7, [5 6], NULL, NULL, {0, 10000} <unfinished ...>
22322 <... unlinkat resumed> )          = 0
22322 close(5)                          = 0
22322 unlinkat(4, "mongod", AT_REMOVEDIR) = -1 EPERM (Operation not
permitted)
22322 write(2, "rm: ", 4)               = 4
22322 write(2, "cannot remove `/root/repo/t/gt-r"..., 55) = 55
22322 write(2, ": Operation not permitted", 25) = 25
22322 write(2, "\n", 1)                 = 1
22322 newfstatat(4, "repl.out", {st_mode=S_IFREG|0744, st_size=11, ...},
AT_SYMLINK_NOFOLLOW) = 0
22322 unlinkat(4, "repl.out", 0)        = 0
22322 close(4)                          = 0
22322 close(0)                          = 0
22322 close(1)                          = 0
22322 close(2)                          = 0
22322 exit_group(1)                     = ?
21821 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0,
NULL) = 22322
21905 <... select resumed> )            = 0 (Timeout)


More information about the iwhd-devel mailing list