Messages in this thread | | | Date | Wed, 24 Aug 2011 12:33:17 +0400 | From | Pavel Emelyanov <> | Subject | Re: [PATCH resend] vfs: Add ->statfs callback for pipefs |
| |
> > OK, I give up - how does it work? > > <goes off and reads the kernel> > > So it appears that the statfs call would previously return -ENOSYS, but > with this change the statfs will succeed and userspace can then inspect > f_type. Yes? I will fix your changelog by adding a description along these > lines.
Yes, the primary intention is to get the f_type.
> And I'll ask you to fix it further by telling us why we want to do > this? The kernel has had this issue for a long time - why does it now > matter?
This is required by checkpoint-restart in the userspace to make it possible to distinguish pipes from fifos. In more details:
When we dump information about task's open files we use the /proc/pid/fd directoy's symlinks and the fact that opening any of them gives us exactly the same dentry->inode pair as the original process has. Now if a task we're dumping has opened pipe and fifo we need to detect this and act accordingly. Knowing that an fd with type S_ISFIFO resides on a pipefs is the most precise way.
Thanks, Pavel
| |