>> >> >+ 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- [PATCH 06/16] GFS2: dentry, export, super and vm operations
- Re: [PATCH 06/16] GFS2: dentry, export, super and vm operations
- Re: [PATCH 06/16] GFS2: dentry, export, super and vm operations
- Re: [PATCH 06/16] GFS2: dentry, export, super and vm operations
- Re: [PATCH 06/16] GFS2: dentry, export, super and vm operations
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]