Pushd and Propd issue in filesystem

Saket Sinha saket.sinha89 at gmail.com
Tue Aug 6 02:36:52 EDT 2013


I have to support pushd and popd from userspace in a filesystem that I have
designed.

In my filesystem driver, to implement it I have done the following

for popd - the driver implementation is
https://github.com/disdi/hepunion/blob/master/fs/hepunion/hepunion.h#L386
#define pop_root() \
current->fsuid = context->uid; \
current->fsgid = context->gid; \
recursive_mutex_unlock(&context->id_lock)


for pushd - the driver implementation is
https://github.com/disdi/hepunion/blob/master/fs/hepunion/hepunion.h#L393
#define push_root() \
recursive_mutex_lock(&context->id_lock); \
context->uid = current->fsuid; \
context->gid = current->fsgid; \
current->fsuid = 0; \
current->fsgid = 0


But this implementation is failing at run time.
This is the script with which I am testing this driver. All pushd and propd
are not working in this script.

After trying many other alternatives, I think overriding commits would be a
better choice. So then I would try overriding commits as the below link
http://lxr.free-electrons.com/source/fs/open.c?v=3.8#L312

Regards,
Saket Sinha
Can somebody help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130806/ec41a7d9/attachment.html 


More information about the Kernelnewbies mailing list