On 10/30/2013 01:03 AM, Linus Torvalds wrote: > On Tue, Oct 29, 2013 at 12:27 PM, Raghavendra K T > wrote: >> >> Could one solution be cascading actual error >> that is lost in fs/debugfs/inode.c:__create_file(), so that we could >> take correct action in case of failure of debugfs_create_dir()? >> >> (ugly side is we increase total number of params for __create_file to >> 6). or I hope there could be some better solution. > > The solution to this would be to simply return an error-pointer. See > . That's what we do for most complex subsystems that > return a pointer to a struct: rather than returning "NULL" as an > error, return the actual error number encoded in the pointer itself. Thank you Linus. Yes, this would have been ideal. > > But that would require every user of debugfs_create_dir() to be > updated to check errors using IS_ERR() instead of checking against > NULL, and there's quite a few of them. > > So I think just making the error be EEXIST is a simpler solution right now. > Agree. I had below patch, and just before sending as formal mail I saw Paolo's pull request which already took care of it. ---8<---