diff options
author | Valentine Barshak <vbarshak@ru.mvista.com> | 2006-01-08 01:03:44 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 20:14:00 -0800 |
commit | 87ba81dba431232548ce29d5d224115d0c2355ac (patch) | |
tree | d836d85ff9bfe404adf3975d4a2c8ee135f9392e /mm | |
parent | 99aef427e206f4ae7dcf0b18f66416145fea5d20 (diff) | |
download | linux-stable-87ba81dba431232548ce29d5d224115d0c2355ac.tar.gz linux-stable-87ba81dba431232548ce29d5d224115d0c2355ac.tar.bz2 linux-stable-87ba81dba431232548ce29d5d224115d0c2355ac.zip |
[PATCH] fadvise: return ESPIPE on FIFO/pipe
The patch makes posix_fadvise return ESPIPE on FIFO/pipe in order to be
fully POSIX-compliant.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/fadvise.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/fadvise.c b/mm/fadvise.c index 5f19e87bc5af..d257c89e7704 100644 --- a/mm/fadvise.c +++ b/mm/fadvise.c @@ -37,6 +37,11 @@ asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice) if (!file) return -EBADF; + if (S_ISFIFO(file->f_dentry->d_inode->i_mode)) { + ret = -ESPIPE; + goto out; + } + mapping = file->f_mapping; if (!mapping || len < 0) { ret = -EINVAL; |