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:
parent
44ec2ebd20
commit
b1a58597b9
|
@ -107,6 +107,7 @@ struct fs_volume_ops {
|
||||||
status_t (*rewind_query)(fs_volume *volume, void *cookie);
|
status_t (*rewind_query)(fs_volume *volume, void *cookie);
|
||||||
|
|
||||||
/* support for FS layers */
|
/* 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 (*create_sub_vnode)(fs_volume *volume, ino_t id, fs_vnode *vnode);
|
||||||
status_t (*delete_sub_vnode)(fs_volume *volume, fs_vnode *vnode);
|
status_t (*delete_sub_vnode)(fs_volume *volume, fs_vnode *vnode);
|
||||||
};
|
};
|
||||||
|
|
|
@ -7023,6 +7023,13 @@ fs_mount(char* path, const char* device, const char* fsName, uint32 flags,
|
||||||
|
|
||||||
volume = volume->super_volume;
|
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
|
// the root node is supposed to be owned by the file system - it must
|
||||||
|
|
Loading…
Reference in New Issue