xfs
[Top] [All Lists]

vfs dmapi handle generation problem

To: xfs@xxxxxxxxxxx
Subject: vfs dmapi handle generation problem
From: Tim Jödicke <tim.joedicke@xxxxxxxxxxx>
Date: Wed, 4 Jun 2008 15:55:04 +0200 (CEST)
Importance: Normal
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: SquirrelMail/1.4.15
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


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