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

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Mon Oct 24 11:49:00 GMT 2011


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



More information about the Cygwin mailing list