Add a new fs_volume op all_layers_mounted() that is called when all layers have

been mounted. This is to allow layered filesystems to setup internal data that
requires all the sub/super volumes to be available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29248 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz 2009-02-19 01:16:07 +00:00
parent 44ec2ebd20
commit b1a58597b9
2 changed files with 8 additions and 0 deletions

View File

@ -107,6 +107,7 @@ struct fs_volume_ops {
status_t (*rewind_query)(fs_volume *volume, void *cookie);
/* support for FS layers */
status_t (*all_layers_mounted)(fs_volume *volume);
status_t (*create_sub_vnode)(fs_volume *volume, ino_t id, fs_vnode *vnode);
status_t (*delete_sub_vnode)(fs_volume *volume, fs_vnode *vnode);
};

View File

@ -7023,6 +7023,13 @@ fs_mount(char* path, const char* device, const char* fsName, uint32 flags,
volume = volume->super_volume;
}
volume = mount->volume;
while (volume) {
if (volume->ops->all_layers_mounted != NULL)
volume->ops->all_layers_mounted(volume);
volume = volume->super_volume;
}
}
// the root node is supposed to be owned by the file system - it must