From 6b6d28d73726de84b1c54e10a21dc1e441912518 Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Fri, 5 Nov 2010 17:30:02 -0400 Subject: [PATCH] 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. Reviewed-on: http://gerrit.openafs.org/3292 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit fb6b22cf77039962f22f462ee602f0e4a8153817) Change-Id: I30890cc3ad3f1a932218b6c8aac653cf747cdf2c Reviewed-on: http://gerrit.openafs.org/3495 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/LINUX/osi_vnodeops.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index de864bcb6..fcc775b27 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -658,6 +658,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 = { @@ -691,6 +692,7 @@ struct file_operations afs_file_fops = { #ifdef STRUCT_FILE_OPERATIONS_HAS_FLOCK .flock = afs_linux_flock, #endif + .llseek = default_llseek, }; -- 2.39.5