On Thu, Oct 15, 2009 at 07:20:45AM -0600, Matthew Wilcox wrote: > On Thu, Oct 15, 2009 at 10:29:03AM +0200, Nick Piggin wrote: > > On Thu, Oct 15, 2009 at 10:13:43AM +0200, Nick Piggin wrote: > > > Now both sockets and pipes define a d_dname so they are OK, but anon_inodes > > > does not. I think they should probably be made to just provide a d_dname > > > anyway so we can have the familiar format of "pseudofs:[ino]" rather than > > > "[pseudofs]" that we have now. > > > > > > That should make this patch work for anon_inodes.c as well. > > > > So what if we were to do this first? Are there any other reasons I've > > missed? (btw. this changes the format the link if that is a problem. > > Probably if we're going to do this change, we should change things like > > [timerfd] to just timerfd while we're there to improve consistency > > further. > > -- > > Pipe and socket pseudo filesystems report their file descriptor link > > paths as pipe:[ino] and socket:[ino]. anon_inodefs allows subsystems > > to specify a name, but it does not report an associated inode number. > > I think that's because the inode number is always 0 -- there's just one > anonymous inode. OIC. Hmm, well we could give them a unique number I guess. But anyway for now, let's just make anon_inodefs_dname just print dentry->d_name.name. > > > Implement this with anon_inodefs_dname in the same way pipefs and sockfs > > are. > > > > --- > > fs/anon_inodes.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > Index: linux-2.6/fs/anon_inodes.c > > =================================================================== > > --- linux-2.6.orig/fs/anon_inodes.c > > +++ linux-2.6/fs/anon_inodes.c > > @@ -45,6 +45,15 @@ static int anon_inodefs_delete_dentry(st > > return 1; > > } > > > > +/* > > + * anon_inodefs_dname() is called from d_path(). > > + */ > > +static char *anon_inodefs_dname(struct dentry *dentry, char *buffer, int buflen) > > +{ > > + return dynamic_dname(dentry, buffer, buflen, "%s:[%lu]", > > + dentry->d_name.name, dentry->d_inode->i_ino); > > +} > > + > > static struct file_system_type anon_inode_fs_type = { > > .name = "anon_inodefs", > > .get_sb = anon_inodefs_get_sb, > > @@ -52,6 +61,7 @@ static struct file_system_type anon_inod > > }; > > static const struct dentry_operations anon_inodefs_dentry_operations = { > > .d_delete = anon_inodefs_delete_dentry, > > + .d_dname = anon_inodefs_dname, > > }; > > > > /* > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > Matthew Wilcox Intel Open Source Technology Centre > "Bill, look, we understand that you're interested in selling us this > operating system, but compare it to ours. We can't possibly take such > a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html