delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/10/20/07:51:16

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=1.1 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <4EA00B16.1030400@lauterbach.com>
Date: Thu, 20 Oct 2011 13:50:46 +0200
From: Franz Sirl <Franz DOT Sirl-kernel AT lauterbach DOT com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: rm -rf cannot delete the upmost directory level anymore on a Novell share
References: <4E9EE8CC DOT 5090806 AT lauterbach DOT com> <20111019154540 DOT GE22809 AT calimero DOT vinschen DOT de> <4E9EFE31 DOT 20809 AT lauterbach DOT com> <20111020092033 DOT GA5988 AT calimero DOT vinschen DOT de>
In-Reply-To: <20111020092033.GA5988@calimero.vinschen.de>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Am 2011-10-20 11:20, schrieb Corinna Vinschen:
> On Oct 19 18:43, Franz Sirl wrote:
>> Am 2011-10-19 17:45, schrieb Corinna Vinschen:
>>> On Oct 19 17:12, Franz Sirl wrote:
>>>> sometime between coreutils-7.0 and coreutils-8.4 (sorry, I don't
>>>> have any other in between versions anymore) this simple command
>>>> started to fail:
>>>>
>>>> # mkdir -p lev1/lev2/lev3
>>>> # rm -rfv lev1
>>>> removed directory: `lev1/lev2/lev3'
>>>> removed directory: `lev1/lev2'
>>>> rm: cannot remove `lev1': Device or resource busy
>>>>
>>>> Tested with coreutils-8.10 and cygwin1.dll from the 20111017
>>>> snapshot, as the cygwin1.dll didn't make any difference for the
>>>> problem.
>>>>
>>>> If I just use rm.exe from coreutils-7.0 everything starts to work as
>>>> expected again:
>>>>
>>>> # mkdir -p lev1/lev2/lev3
>>>> # rm -rfv lev1
>>>> removed directory: `lev1/lev2/lev3'
>>>> removed directory: `lev1/lev2'
>>>> removed directory: `lev1'
>>>
>>> The problem is, it works fine on local and remote NTFS, as well as on
>>> Samba.  Since the number of open handles doesn't depend on the underlying
>>> filesystem, why should it fail for NWFS?
>>
>> True. But on the other hand NWFS and NcFsd exercise a lot of pathes
>> in the Cygwin sourcecode that aren't usually used.
>
> Not really a lot.  NWFS is known to have three problems:
>
> - The NtQueryInformationFile(FileBasicInformation) call fails.  This
>    call is only used in circumstance which don't affect NWFS.

I think that still fails with NcFsd, I'll check it.

> - NWFS only supports filenames which follow DOS conventions.  That is,
>    it does not support filenames with leading spaces or trailing dots and
>    spaces.  This is only checked for when generating filenames.

Leading and trailing spaces seem to work, trailing dots fail with 
"Permission denied".

> - NWFS does not support re-opening a file by handle, so it always has to
>    be re-opened by name.  The only difference here is how the
>    OBJECT_ATTRIBUTES is created, with a handle or with a name.

I've worked with Novell to fix that one for NcFsd, will be in one of the 
next releases (IR10 or IR11 I guess).

>> Even between NWFS
>> on XP and NcFsd on Win7 there are differences, because fs.is_nwfs()
>> doesn't trigger on Win7 with the Novell Client (the filesystem name
>> is different).
>
> I don't have access to the various filesystems, so I depend on users
> giving me the required information about exotic filesystems if they wish
> that it will be supported.  For "NcFsd", can you please post the output
> of the `/usr/lib/csih/getVolInfo<path_to_fs>' command?  Also, if you
> haven't already done so, plase create a Cygwin mount point pointing to
> some path on the filesystems and paste the output of the command
> `mount'.  This shows under which filesystem NcFsd is subsumed right now.

$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type vfat (binary,posix=0,user,noumount,auto)
F: on /cygdrive/f type ncfsd (binary,posix=0,user,noumount,auto)
G: on /cygdrive/g type ncfsd (binary,posix=0,user,noumount,auto)
H: on /cygdrive/h type ncfsd (binary,posix=0,user,noumount,auto)
I: on /cygdrive/i type ncfsd (binary,posix=0,user,noumount,auto)
J: on /cygdrive/j type ncfsd (binary,posix=0,user,noumount,auto)
K: on /cygdrive/k type ntfs (binary,posix=0,user,noumount,auto)
L: on /cygdrive/l type ncfsd (binary,posix=0,user,noumount,auto)
N: on /cygdrive/n type smbfs (binary,posix=0,user,noumount,auto)
T: on /cygdrive/t type ncfsd (binary,posix=0,user,noumount,auto)

$ /usr/lib/csih/getVolInfo /cygdrive/j
Device Type        : 7
Characteristics    : 30
Volume Name        : <VOL_DEVEL>
Serial Number      : 1549160268
Max Filenamelength : 255
Filesystemname     : <NcFsd>
Flags              : a2
   FILE_CASE_SENSITIVE_SEARCH  : FALSE
   FILE_CASE_PRESERVED_NAMES   : TRUE
   FILE_UNICODE_ON_DISK        : FALSE
   FILE_PERSISTENT_ACLS        : FALSE
   FILE_FILE_COMPRESSION       : FALSE
   FILE_VOLUME_QUOTAS          : TRUE
   FILE_SUPPORTS_SPARSE_FILES  : FALSE
   FILE_SUPPORTS_REPARSE_POINTS: TRUE
   FILE_SUPPORTS_REMOTE_STORAGE: FALSE
   FILE_VOLUME_IS_COMPRESSED   : FALSE
   FILE_SUPPORTS_OBJECT_IDS    : FALSE
   FILE_SUPPORTS_ENCRYPTION    : FALSE
   FILE_NAMED_STREAMS          : FALSE
   FILE_READ_ONLY_VOLUME       : FALSE
   FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
   FILE_SUPPORTS_TRANSACTIONS  : FALSE

The rest of your questions I will answer as soon as the new snapshot is 
available.

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019