managed mounts. hindsight sadness at their departure

Shaddy Baddah
Fri Mar 5 03:59:00 GMT 2010


I apologise if this is inappropriate for this list, or even at all, but
I'd like to record a little bit of sadness that managed mounts are no
longer available.

I was in agreement with the rationale behind deprecating them, partly
described in the 1.7 "what's new" section:

- File names are case sensitive if the OS and the underlying file system
   supports it.  Works on NTFS and NFS.  Does not work on FAT and Samba
   shares.  Requires to change a registry key (see the user's guide).
   Can be switched off on a per-mount base.

- Due to the above changes, managed mounts have been removed.

I would add that also the unicode support was reason to no longer
persist with managed mounts.

But now in hindsight, one feature of the managed mounts that I counted
as not significant enough to keep it included, seems to me to have a
kind of valid use case. That is allowing multiple files of the same name
differing only in case.

This feature of the managed mount would have provided a handy workaround
to a minor issue with cloning the Linux kernel through Cygwin. For
whatever reason, the kernel source includes certain duplications of
filenames (that is, if you discount their case). This leads to the
ignorable, but irritating assertion of a git status that files are
modified. This because they have been incorrectly compared with a
different file, of the same name (but for case), that has been checked
out over the original:

shaddy@***-w7 ~/workarea/linux-2.6
$ git status
# On branch wireless-testing
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working 
#       modified:   Documentation/IO-mapping.txt
#       modified:   include/linux/netfilter/xt_CONNMARK.h
#       modified:   include/linux/netfilter/xt_DSCP.h
#       modified:   include/linux/netfilter/xt_MARK.h
#       modified:   include/linux/netfilter/xt_RATEEST.h
#       modified:   include/linux/netfilter/xt_TCPMSS.h
#       modified:   include/linux/netfilter_ipv4/ipt_CONNMARK.h
#       modified:   include/linux/netfilter_ipv4/ipt_DSCP.h
#       modified:   include/linux/netfilter_ipv4/ipt_ECN.h
#       modified:   include/linux/netfilter_ipv4/ipt_MARK.h
#       modified:   include/linux/netfilter_ipv4/ipt_TCPMSS.h
#       modified:   include/linux/netfilter_ipv4/ipt_TOS.h
#       modified:   include/linux/netfilter_ipv4/ipt_TTL.h
#       modified:   include/linux/netfilter_ipv6/ip6t_HL.h
#       modified:   include/linux/netfilter_ipv6/ip6t_MARK.h
#       modified:   net/ipv4/netfilter/ipt_ECN.c
#       modified:   net/ipv4/netfilter/ipt_TTL.c
#       modified:   net/ipv6/netfilter/ip6t_HL.c
#       modified:   net/netfilter/xt_CONNMARK.c
#       modified:   net/netfilter/xt_DSCP.c
#       modified:   net/netfilter/xt_MARK.c
#       modified:   net/netfilter/xt_RATEEST.c
#       modified:   net/netfilter/xt_TCPMSS.c
no changes added to commit (use "git add" and/or "git commit -a")

Not that I'd assert that this is reason enough to have kept the managed
mounts, it is just an unfortunate limitation that 1.7 now has over 1.5.

If I get the time one day to understand why these duplicates exists,
I'll make a patch and suggest it to the Linux kernel project (I've
dipped my toe in there a while back).


More information about the Cygwin-talk mailing list