diff options
Diffstat (limited to 'xlators/mount/fuse/src/fuse-resolve.c')
| -rw-r--r-- | xlators/mount/fuse/src/fuse-resolve.c | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/xlators/mount/fuse/src/fuse-resolve.c b/xlators/mount/fuse/src/fuse-resolve.c index 77a55cd701f..3bdc0b9293e 100644 --- a/xlators/mount/fuse/src/fuse-resolve.c +++ b/xlators/mount/fuse/src/fuse-resolve.c @@ -689,11 +689,36 @@ gf_resolve_all (fuse_state_t *state)  int +fuse_gfid_set (fuse_state_t *state) +{ +        int   ret = 0; + +        if (uuid_is_null (state->gfid)) +                goto out; + +        if (!state->dict) +                state->dict = dict_new (); + +        if (!state->dict) { +                ret = -1; +                goto out; +        } + +        ret = dict_set_static_bin (state->dict, "gfid-req", +                                   state->gfid, sizeof (state->gfid)); +out: +        return ret; +} + + +int  fuse_resolve_and_resume (fuse_state_t *state, fuse_resume_fn_t fn)  {          xlator_t *inode_xl = NULL;          xlator_t *active_xl = NULL; +        fuse_gfid_set (state); +          state->resume_fn = fn;          active_xl = fuse_active_subvol (state->this);  | 
