On Wed, Dec 29, 2010 at 11:12 AM, Mulyadi Santosa <mulyadi.santosa@gmail.com> wrote:
On Wed, Dec 29, 2010 at 20:06, Prasad Joshi <prasadjoshi124@gmail.com> wrote:
Hello All,
ZFS file system has a property called devices. If turned off, ZFS would not allow access to the device files (block/character) present on the file system. I want to implement the same behavior on the a Linux File System.
I don't know about ZFS, so could you please elaborate on what you mean by "ZFS could disallow access"?
IMHO, (untested), you could simply do it using usual Linux file/directory permission up to SELinux/AppArmor....so, is that what you mean?
-- regards,
Mulyadi Santosa
Mulyadi, My guess is that it is more complex than that. Some filesystems have issues if the raw drive is read while the filesystem is mounted. I think it is caused by inconsistencies in the various cache's. ie. iirc, At least in the 2.4 kernel there was not a single unified cache for block layer and filesystems. So doing raw reads of underlying device while it was mounted could cause the caches to get out of sync. I don't recall the details, but either the kernel would oops or the filesystem would become corrupt. I don't know if any 2.6 filesystems still have that issue. Anyway ZFS must have a similar issue. So a ZFS filesystem developer knowing this was a conflict could add a check in the /dev/sda open() that would fail the open if there was a mounted filesystem of type ZFS on the drive. And the mount should fail if /dev/sda is already open. I'm not aware of the 2.6.x linux kernel offering any infrastructure to help with that issue. Greg