[lkml]   [2006]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 06/16] GFS2: dentry, export, super and vm operations

>> >> >+ if (IS_ERR(inode))
>> >> >+ return ERR_PTR(PTR_ERR(inode));
>> >>
>> >> Just return inode.
>> >
>> >The function returns a dentry, so it would need to be casted and I
>> >thought that would look "more odd" than this construction.
>> Yes, it is very odd indeed that you return an inode as a dentry at all. How is
>> the caller supposed to know whether it was an inode or dentry that was actually
>> returned?
>This is dealing with the error case only. If the function being called
>returns an error (signaled by IS_ERR(inode) - hence an invalid pointer

Seems reasonable. Would you like to add a comment? (Possibly a little
shorter than this good explanation, maybe

/* In case of an error, @inode carries the error value, and we
have to return that. */

>value) then we need to return that error to the calling routing. Since
>this function in question returns a dentry, we convert the invalid
>pointer value from the function returning an inode into an integer and
>then covert the integer into an invalid pointer value again, but this
>time its an invalid pointer to a dentry and hence the correct return
>type for this function.

Jan Engelhardt
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-09-05 13:09    [W:0.725 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site