xfs
[Top] [All Lists]

Re: fsys_vector and dmapiops

To: Aurelien Degremont - Stagiaire <degremont@xxxxxxxxxxx>
Subject: Re: fsys_vector and dmapiops
From: Dean Roehrich <roehrich@xxxxxxx>
Date: Fri, 15 Apr 2005 10:33:50 -0500
Cc: linux-xfs@xxxxxxxxxxx
Sender: linux-xfs-bounce@xxxxxxxxxxx
>From:  Aurelien Degremont - Stagiaire <degremont@xxxxxxxxxxx>
>Hello,
>
>I'm trying to figure out the architecture and behaviour of the kernel 
>part of DMAPI. Presently, I've got problems to understand the interface 
>between DMAPI and the file systems.
>I notice that 2 functions vectors are used : *fsys_vector* and *dmapiops*.
>To get the fsys_vector structure, we need to use a function available in 
>dmapiops.
>Except few differences, they work as the same manner and they do the 
>same job. They're filesystem's interface into the DMAPI code. In fact, I 
>even don't understand why they got those differences. It must why I do 
>not understand why two structures exist to do the same job. ;)

It's very likely that we'll migrate everything to the dmapi_operations
structure someday.  I've never liked that fsys_vector thing, and after the
port to linux it starts to look even more silly.  The dmapi_operations
structure was created because the dmapi code no longer knew about XFS vfs_t
and vnode_t types and it couldn't, for example, call VFS_DMAPIOPS and
VFS_VGET/VFS_ROOT and VOP_FID2 on its own anymore.  Because it couldn't call
VFS_DMAPIOPS, it couldn't get the fsys_vector...

On the other hand, the dmapi_operations needs to be handled better in
dmapi_mountinfo.c.  It needs to be changed to use linux-style lists for
starters.

Dean


<Prev in Thread] Current Thread [Next in Thread>