On Mon, 8 Jan 2007 15:51:31 -0500, Erez Zadok wrote: > Now, we've discussed a number of possible solutions. Thanks to suggestions > we got at OLS, we discussed a way to hide the lower namespace, or make it > readonly, using existing kernel facilities. But my understanding is that > even it'd work, it'd only address new processes: if an existing process has > an open fd in a lower branch before we "lock up" the lower branch's name > space, that process may still be able to make lower-level changes. > Detecting such processes may not be easy. What to do with them, once > detected, is also unclear. We welcome suggestions. As a simple user without much knowledge of kernel internals, much less so filesystems, couldn't something based on the same principle of lsof+fam be used to handle these situations? lsof, if I'm not mistaken, can tell a user if someone (and who) has fd opened on a file system; and fam can notify other processes that a particular file has been modified. Unionfs could use something like lsof (or som similar ad hoc solution) to see if something has anything opened on a filesystem, and it could use something like fam to detect changes in the underlying filesystem and flush caches as appropriate. Of course, this wouldn't solve "concurrent changes" problems, but this could be made possible by having a system to synchronize locks across filesystems. -- Giuseppe "Oblomov" Bilotta [W]hat country can preserve its liberties, if its rulers are not warned from time to time that [the] people preserve the spirit of resistance? Let them take arms...The tree of liberty must be refreshed from time to time, with the blood of patriots and tyrants. -- Thomas Jefferson, letter to Col. William S. Smith, 1787 - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html