From: Matt Z. <md...@de...> - 2003-09-05 14:01:42
|
On Fri, Sep 05, 2003 at 09:43:56AM -0400, Michael Richardson wrote: > > >>>>> "Matt" == Matt Zimmerman <md...@de...> writes: > Matt> The problem I ran into which led me to this bug was extracting tar > Matt> archives. > Matt> When they contain read-only files, tar opens them for writing with > Matt> read-only > Matt> permissions. Since UML was creating the file and then, subsequently, > Matt> attempting to open it for writing, the second open failed. > > How is this the correct thing to do for the UML then? > What bug did you uncover? I described it above. tar was completely unable to extract files with read-only permissions. > Matt> I think that in general, having the permissions silently changed > Matt> would be > Matt> unwise, though I admit that u-r permissions are weird at best. It > > Well, if the opener is root, you get to ignore the permissions. That means > that something has to break. > > I propose: > stat(), save permissions > chmod(u+rw) (as appropriate for the open) > open() > chmod(oldperms) Sounds like a recipe for lots of race conditions. > Matt> would > Matt> seem better to have mount fixed to stop doing this strange thing, and > Matt> eventually to emulate full permission control in hostfs. > > Well, leaving us in a lurch is decidely not friendly. > Your fix has broken debian potato's mount. Being able to run other distros, > versions, etc. inside of UML is one of the major features of UML. OK, so mount is already fixed. So the only problem is that you can't use an old, mildly buggy version of mount with root-hostfs as a non-root user on the host. I'd rather be able to extract tar files than have that scenario. You must have already worked around some other problems in order to run potato in this configuration; it wouldn't work out of the box with a 2.4 kernel. How are you managing device nodes? Loading any kernel modules? -- - mdz |