hi,
i have a question about the dmapi support for xfs. in detail, it's about
the method "xfs_dm_inode_to_fh()". i tried to swap out this function to
vfs code and this is what it looks like now:
int
vfs_dm_inode_to_fh(struct inode *ip, dm_fid_t *dmfid, dm_fsid_t *dmfsid)
{
dmfid->dm_fid_len = sizeof(dm_fid_t) - sizeof(dmfid->dm_fid_len);
dmfid->dm_fid_pad = 0;
memcpy(&dmfid->dm_fid_ino, &ip->i_ino, sizeof(dmfid->dm_fid_ino));
dmfid->dm_fid_gen = ip->i_generation;
*dmfsid = 11; // need generation system
return 0;
}
don't be bothered by the fsid. ;) i use to have exactly one filesystem
registered und every time the fsid is used, it's 11. ;)
the problem is, that the generated handle is wrong. dm_handle_is_valid()
says, that the handle is valid, but i cannot set a disposition e.g. if i
get a handle via dm_path_to_fshandle() or dm_path_to_handle() (says the
handle is bad).
on the other hand, if i set a global disposition, receive the mount event
and get the fshandle from the message, the handle seems to be correct?
maybe you can give ma a hint? is something wrong with dm_inode_to_fh()?
thanks in advance,
tim
|