|To:||Dean Roehrich <roehrich@xxxxxxx>|
|Subject:||Re: vfs_altfsid & dm_fsid|
|From:||Aurelien Degremont - Stagiaire <degremont@xxxxxxxxxxx>|
|Date:||Wed, 04 May 2005 15:27:20 +0200|
|User-agent:||Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.2.1) Gecko/20030225|
Dean Roehrich a écrit:
If your filesystem of choice doesn't have an fsid, then you could just generate one that is valid while the filesystem is mounted and is not written to the filesystem, or you could come up with something else. Whatever you choose for an fsid should fit into a 64-bit type.
1) The fsid should be a parameter to dm_send_mount_event() and dm_send_namesp_event() and dm_send_unmount_event(). The get_fsid op in struct filesystem_dmapi_operations should be dropped.
The fsid could be taken in vfsp.
2) The dm_fsys_vector_t should be folded into struct filesystem_dmapi_operations. The new ops vector should be a parameter to dm_send_mount_event(). The part where today we copy the ops vector from fsys_function_vector_t to dm_fsys_vector_t seems cumbersome and just makes things hard to understand, so maybe that copy should be skipped and some of these datatypes could be removed. The get_fsys_vector op in struct filesystem_dmapi_operations should be dropped.
Move the fsys_vector pointer to dmapiops. Add a bitmask that informs which functions id set when registering.
Change all the dm_sys_vector calls in dmapi.
Maybe the dm_vector_map should be replace by a list_head ?
3) It would be nice to keep in mind distributed filesystems and stackable filesystems; try to make it easier, not harder, to move in those directions. Unfortunately, I have no experience with the Linux view of stackable filesystems and I don't quite know how to approach that problem.
4) The new, unified, ops vector should be kept on a per-filesystem-instance basis, rather than one ops vector to be shared by all filesystems.
So, all the by_fstype should be changed to by_fsid ?
So, we're back to the issue : "how fetch the fsid only knowing the superblock ?"
Maybe, we can store a mapping between the superblock and the fsid in the dm_fsys_map ? But I don't like using the sb pointer address as id (especially concerning distributed fs)
If you have a better solution...
Does that sum up the things that interest you?
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: Recommend XFS enabled Linux Distribution, Ralf Hildebrandt|
|Next by Date:||RE: Recommend XFS enabled Linux Distribution, Wilkins, Vern|
|Previous by Thread:||RE: Recommend XFS enabled Linux Distribution, Wilkins, Vern|
|Next by Thread:||Re: vfs_altfsid & dm_fsid, Dean Roehrich|
|Indexes:||[Date] [Thread] [Top] [All Lists]|