Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH 6/6] vfs: introduce FMODE_NEG_OFFSET for allowing negative f_pos | Date | Mon, 18 Jan 2010 11:13:04 +0900 |
| |
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> writes:
> On Mon, 18 Jan 2010 10:38:27 +0900 > OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> wrote: > >> KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> writes: >> >> >> So, lseek() returns (uses) it? >> > >> > lseek can return negative value, as far as I know. >> >> Umm..., how do you know the difference of -EOVERFLOW and fpos == -75? >> > > Ah, sorry. I read wrong. > > For /dev/mem, it uses its own lseek function which allows negative f_pos > value. Other usual file system doesn't allow negative f_pos. > > It's ok not to return -EOVEFLOW for /dev/mem because there is no file end.
No, no. I think it has the problem.
E.g. /dev/mem returns -75 as fpos, so, lseek(2) returns -75 to userland. Then the userland (e.g. glibc) convert it as error. I.e. finally, errno == -75, and lseek(3) returns -1, right?
Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |