inode: and a quick fixup for the fixup
authorAlan Cox <alan@linux.intel.com>
Tue, 17 Apr 2018 22:17:28 +0000 (23:17 +0100)
committerAlan Cox <alan@linux.intel.com>
Tue, 17 Apr 2018 22:17:28 +0000 (23:17 +0100)
commitce7d747b9a85a7038932400f78b89aa75a7ee4f7
treee17fc3eae262d63c3ae5967c3252f6da3f8452a2
parent4f953ed460ea8771e2d4b836606cad92d31be2de
inode: and a quick fixup for the fixup

This is too ugly to live long term but will do for the moment while I figure
out the proper way to deal with this and avoid things like the double search.

Possibly we need a unified 'bread' related operation that gets the contents
of a buffer into user space, by any means needed.

Something like

bp = bfind(...)
if (bp || !user) {
if (bp == NULL)
bread_no_lookup()
update fields
copy to user
unlock
return
}
issue raw copy to user page
Kernel/inode.c