On Tue, 4 Sep 2007, David Howells wrote:Sure. In which case bind mounts don't work. Fair enough. The much more trivial case is mount -o ro server:/usr/bin /usr/share/bin mount server:/usr/tmp /usr/share/tmp and now tell me any reasonable reason why this should fail? (Replace "-o ro" with any other attributes). Quite frankly, if the above two mounts fail - just beause /usr/bin and /usr/tmp happen to be on the same filesystem on the server - then the implementation is more than just buggy - it's a pure piece of shit. And quite frankly, as far as I can tell, that was exactly what the NFS changes that are being discussed did. They failed the equivalent of the second mount, because it didn't have the same flags as the first one. Can you really honestly say that wasn't totally broken? I'm just saying that the whole "require all mount flags to be identical, and error out if they are not" is pure and utter CRAP. So anything that does that - for *any* reason what-so-ever - is just broken. If you require identical mount-time flags, that absolutely has to be a special case (like using "--bind", or perhaps using a special option like "sharecache"). It really is that simple. I don't know how anybody could possibly ever dispute that. As far as I can tell, the current situation in NFS is "reasonably ok", but I already asked Trond about what happens with "remount" with the "same mount options imply sharecache" code that he did, and afaik, I never got an answer. In other words, let's change the above two commands to the following three commands: mount server:/usr/bin /usr/share/bin mount server:/usr/tmp /usr/share/tmp mount -o remount,ro /usr/share/bin and I'm claiming that if the above fails (or remounts /usr/share/tmp as read-only too), then it's also obvious CRAP (replace "ro" with any other possible attribute - whether cache timeouts or similar) See? It really is that simple. The obvious mount usage above absolutely *has* to work, and anything that breaks it is crap, crap, crap. And that was exactly what apparently happened here, and I really don't see why anybody has the *gall* to claim that the "default to sharecache" code wasn't totally broken. Linus -
| Linus Torvalds | Linux 2.6.27-rc8 |
| Rafael J. Wysocki | 2.6.26-rc9-git12: Reported regressions from 2.6.25 |
| Jarod Wilson | [PATCH 05/18] lirc driver for i2c-based IR receivers |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Andrew Morton | email address handling |
| Pierre Habouzit | Re: [RFC] Re: Convert 'git blame' to parse_options() |
| Linus Torvalds | Re: What's in git.git (stable), and Announcing GIT 1.4.4.3 |
| Brian Gernhardt | Re: [FIXED PATCH] Make rebase save ORIG_HEAD if changing current branch |
| Leon Dippenaar | New tcp stack attack |
| Marco Peereboom | Re: Real men don't attack straw men |
| Richard Storm | MAXDSIZ 1GB memory limit for process |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Patrick McHardy | [NET_SCHED 00/04]: External SFQ classifiers/flow classifier |
| Arjan van de Ven | Re: [GIT]: Networking |
| Ingo Oeser | Re: [PATCH]: Third (final?) release of Sun Neptune driver |
| Linus Torvalds | Re: [GIT]: Networking |
