[M3devel] fs_rmrec

Jay K jay.krell at cornell.edu
Sat Aug 14 20:51:20 CEST 2010


> What about the hanging test p037 on Solaris 2.9 though?

Oops, right. Perhaps we don't use -lpthread and perhaps we need to.
Or perhaps 2.9 uses M:N user:kernel threads and perhaps our code doesn't work with that.
Needs some investigation.
Tony do you know by chance if the semaphore "parking in signal handler" pthreads code
has been used on pre-2.10 Solaris?

 - Jay


> Date: Sat, 14 Aug 2010 13:10:07 +0200
> From: wagner at elegosoft.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] fs_rmrec
> 
> Quoting Jay K <jay.krell at cornell.edu>:
> 
> > Olaf, to be sure/clear -- fs_rmrec works now, right?
> 
> I thought so, too, but...
> 
> > The original and long-term problem was that deleting, or even,   
> > enumerating, stale symlinks
> > would fail. There *may* have been a problem around keeping multiple   
> > DIRs open at a time
> > and/or deleting while enumerating. My addressing the later concerns,  
> >  and using fs_rmrec
> > in m3-sys/m3cc, both exacerbated the problem due to the ordering of   
> > enumeration and deletion
> > and the layout of m3-sys/m3cc.
> >
> > In either case, I believe it works now, right?
> 
> I observed several failures in tests.
> Let's see if I can find some:
> 
> Here is one:
> 
> http://hudson.modula3.com:8080/job/cm3-current-test-m3tests-I386_SOLARIS-opencsw-current10x/11/console
> 
> Perhaps the cm3 used there was still too old?
> I'm sure there were more, but I cannot find them right now.
> 
> If you're sure it's fixed, we can try it again, no problem.
> 
> What about the hanging test p037 on Solaris 2.9 though?
> See  
> http://hudson.modula3.com:8080/job/cm3-current-test-m3tests-SOLsun-opencsw-current9s/8/console
> 
> Any ideas?
> 
> Olaf
> 
> > Understood that old cm3 remains broken, and intermediate cm3 remains  
> >  sort of worse.
> >
> >
> > What I mean by all these "sort ofs" is that we used to enumerate and  
> >  delete "at the same time".
> > Which made it somewhat indeterminate if the symlink or its target   
> > was deleted first.
> > I changed the code to delete files, and then directories.
> > Given a symlink like "bar/foo => ../foo", ./foo would be   
> > guaranteeably deleted ahead
> > of the symlink pointing to it.
> >
> >  - Jay
> -- 
> Olaf Wagner -- elego Software Solutions GmbH
>                 Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
>     http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100814/eca00643/attachment-0002.html>


More information about the M3devel mailing list