Instead, I propose this: - Revert all of the changes done to fuse-bridge.c, bring it back to the state how it was before the patch (carefully considering other changes which have happened beyond this patch) - Introduce a new translator to overlay a virtual gfid view - Normal inodes can continue to return original gfids as-is. - Virtual inodes can create a random on-the fly gfid (which need not be persisted), and identified by a numerical flag in inode ctx without allocating a per-inode object. - Upon access of the virtual inodes (which can be identified with an integer flag in the inode context without a new structure), redirect the operation to the inode which has the gfid whose canonical form is the dentry name of the virtual inode. Let fuse-bridge be a pure fuse <--> xlator converter. Adding a new (gfid) view is clearly a separate concern, best implemented as a separate translator.
After looking at 'fuse-resolve.c' changes which would consider gfid mount options, I myself was thinking about these lines too. Already started with prototype... should be sending out for review soon (hence lets not duplicate the effort).
If anybody else have better suggestion (other than a the 'holy' meta translator goal itself), do share now, so I can consider it in next implementation.
Regards, Amar