X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 17 Jul 2009 09:15:51 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: MVFS results Message-ID: <20090717071551.GV27613@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20090716090703 DOT GH27613 AT calimero DOT vinschen DOT de> <20090716151121 DOT GO27613 AT calimero DOT vinschen DOT de> <20090716165112 DOT GS27613 AT calimero DOT vinschen DOT de> <20090716174525 DOT GT27613 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-02-20) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Jul 17 01:17, Eric Blake wrote: > Eric Blake byu.net> writes: > > > Does the fact that MVFS is including the trailing NUL in fsname.Length, but > > ro_u_mvfs is not, relevant to RtlEqualUnicodeString returning false, even > > though the two Buffers are identical over their MaximumLength? > > > > Sure enough, your patch plus this one-liner is enough to make symlinks work on > MVFS once again! > > diff --git i/winsup/cygwin/globals.cc w/winsup/cygwin/globals.cc > index ef17534..1cd6b19 100644 > --- i/winsup/cygwin/globals.cc > +++ w/winsup/cygwin/globals.cc > @@ -89,7 +89,7 @@ UNICODE_STRING _RDATA ro_u_uncp = _ROU (L"\\??\\UNC\\"); > UNICODE_STRING _RDATA ro_u_mtx = _ROU (L"mtx"); > UNICODE_STRING _RDATA ro_u_csc = _ROU (L"CSC-CACHE"); > UNICODE_STRING _RDATA ro_u_fat = _ROU (L"FAT"); > -UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS"); > +UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS\0"); > UNICODE_STRING _RDATA ro_u_nfs = _ROU (L"NFS"); > UNICODE_STRING _RDATA ro_u_ntfs = _ROU (L"NTFS"); > UNICODE_STRING _RDATA ro_u_sunwnfs = _ROU (L"SUNWNFS"); Can we be sure that every version of MVFS has this obvious bug in the name? I'd rather replace the following line in mount.cc, fs_info::update() (~line 246): && !is_mvfs (RtlEqualUnicodeString (&fsname, &ro_u_mvfs, FALSE)) with && !is_mvfs (RtlEqualUnicodePathPrefix (&fsname, &ro_u_mvfs, FALSE)) This checks for a MVFS prefix instead of equality of the entire string. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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