Messages in this thread | | | Subject | Re: [PATCH 4 of 4] Introduce aio system call submission and completion system calls | From | Trond Myklebust <> | Date | Thu, 01 Feb 2007 11:50:06 -0800 |
| |
On Thu, 2007-02-01 at 16:43 +0530, Suparna Bhattacharya wrote: > Wooo ...hold on ... I think this is swinging out of perspective :) > > I have said some of this before, but let me try again. > > As you already discovered when going down the fibril path, there are > two kinds of accesses to current-> state, (1) common state > for a given call chain (e.g. journal info etc), and (2) for > various validations against the caller's process (uid, ulimit etc). > > (1) is not an issue when it comes to execution in background threads > (the VFS already uses background writeback for example). > > As for (2), such checks need to happen upfront at the time of IO submission, > so again are not an issue.
Wrong! These checks can and do occur well after the time of I/O submission in the case of remote filesystems with asynchronous writeback support.
Consider, for instance, the cases where the server reboots and loses all state. Then there is the case of failover and/or migration events, where the entire filesystem gets moved from one server to another, and again you may have to recover state, etc...
> I don't see any other reason why IO paths should be assuming that they are > running in the original caller's context, midway through doing the IO. If > that were the case background writeouts and readaheads could be fragile as > well (or ptrace). The reason it isn't is because of this conceptual division of > responsibility.
The problem with this is that the security context is getting progressively more heavy as we add more and more features. In addition to the original uid/gid/fsuid/fsgid/groups, we now have stuff like keyrings to carry around. Then there is all the context needed to support selinux,... In the end, you end up recreating most of struct task_struct...
Cheers Trond
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |