[haiku-development] Re: Haiku, Inc. in Contempt of Its Community

  • From: looncraz <looncraz@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 16 Feb 2015 15:25:03 -0600

Why are there performance problems related to a union file system?

Is it not possible to treat it like sandboxing or simple redirection? Where each application's writes to protected paths are redirected to a safe location.

We know when files are created with write permissions, so we should be able to silently change the path to somewhere like /boot/home/config/sandbox/[appsigORname]/normal/path/to/file How many points in the API are there where file write opens occur? I'm sure it's just one or two at some point before we get to the file system driver. Just validate or alter the write path when a file is created with write permissions, and default to searching for files in an application's sandbox path first.

Then, in the future, when an app loads, and tries to read a file we check, first, in its sandbox, then in the real file system, then fail if applicable. Since this really just amounts to looking for an entry in two lists instead of one, where the first list will be much much smaller, I don't see where a performance hit would be noticeable. This also allows applications freedom to replace system or user libraries without affecting other apps (i.e. partial sandboxing).

Of course, there are times when we want to actually modify a package, but I'm perfectly happy with that being a manual operation - and a good third party apportunity (see what I did there?).

--The loon

Other related posts: