Linux: define llseek operations

With kernel 2.6.37 it is now mandatory to define the llseek operation
for files and directories.  If these are not defined, no_llseek is
called, and any attempt to seek returns ESPIPE.

Most file systems use generic_file_llseek, but it seems safer to use
default_llseek which is what the vfs used to call for us by default.
In 2.6.37 these two functions are actually functionally identical.

Change-Id: I7ad736e3953c4feaa51afb9f7ff2760c3140373f
Reviewed-on: http://gerrit.openafs.org/3292
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Marc Dionne 2010-11-05 17:30:02 -04:00 committed by Jeffrey Altman
parent c737d5382b
commit fb6b22cf77

View File

@ -659,6 +659,7 @@ struct file_operations afs_dir_fops = {
#endif
.open = afs_linux_open,
.release = afs_linux_release,
.llseek = default_llseek,
};
struct file_operations afs_file_fops = {
@ -692,6 +693,7 @@ struct file_operations afs_file_fops = {
#ifdef STRUCT_FILE_OPERATIONS_HAS_FLOCK
.flock = afs_linux_flock,
#endif
.llseek = default_llseek,
};