This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rm -rf cannot delete the upmost directory level anymore on a Novell share


Am 2011-10-24 12:31, schrieb Corinna Vinschen:
On Oct 24 12:11, Franz Sirl wrote:
Am 2011-10-21 17:35, schrieb Corinna Vinschen:
On Oct 21 16:58, Franz Sirl wrote:
I will create a support case with Novell. To make my understanding
clear, I think there are actually 2 problems here (Win32 calls for
illustration, assuming the directory is already opened):


0. The directory has been opened with all sharing modes allowed "elsewhere".


1. CreateFile(FILE_READ_ATTRIBUTES | DELETE, FILE_SHARE_DELETE)
should not succeed, but fail with STATUS_SHARING_VIOLATION

I didn't see a full strace from W7. Did you check that this doesn't happen anyway?

strace attached. Succeeding here depends on the access modes of the open handle(s) or if the directory is not open at all.

That's why I added the step 0. But if the file is open elsewhere, this step should not succeed based on the access modes, but only based on the sharing modes allowed by the other handle.

Not exactly, at least on W7. For example FILE_SHARE_READ doesn't seem to matter without FILE_READ_DATA.


Your changes work, I just tried the 20111023 snapshot. See the
attached strace on Win7/64.

Thanks, it looks like expected now, given NcFsd's behaviour. Note that this can't be fixed on NWFS. On NWFS, only the changes to upstream coreutils as outlined in http://cygwin.com/ml/cygwin/2011-10/msg00481.html will help.

Yes, I noticed that one too, thanks. Any idea when the fix will show up in Cygwin's coreutils?



I also attached the simple testcase I'll submit to Novell. Please
let me know if you think something is wrong with the testcase.

Looks good to me. For completeness, maybe you should note that delete-on-close works in this scenario, but it's desired that both methods work, just as on NTFS, for instance.

Good idea, done.


Thanks for your help!
Franz.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]