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 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> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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' 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 : Serial Number : 1549160268 Max Filenamelength : 255 Filesystemname : 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