]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Linux: define llseek operations
authorMarc Dionne <marc.c.dionne@gmail.com>
Fri, 5 Nov 2010 21:30:02 +0000 (17:30 -0400)
committerDerrick Brashear <shadow@dementia.org>
Wed, 15 Dec 2010 10:07:57 +0000 (02:07 -0800)
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 <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry-picked from commit fb6b22cf77039962f22f462ee602f0e4a8153817)

Reviewed-on: http://gerrit.openafs.org/3512
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit d0e31ec418555354ac30516269a9748ee01fc36f)
Change-Id: If90a5ac65a9ccd1d1301884065e9583ad25f5af4
Reviewed-on: http://gerrit.openafs.org/3527

src/afs/LINUX/osi_vnodeops.c

index 17ca9179b6e6fb222bc38ca498fb597b477785de..5bb23234409ffe9b841d7b79c34533a58df95797 100644 (file)
@@ -700,6 +700,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 = {
@@ -733,6 +734,7 @@ struct file_operations afs_file_fops = {
 #ifdef STRUCT_FILE_OPERATIONS_HAS_FLOCK
   .flock =     afs_linux_flock,
 #endif
+  .llseek =    default_llseek,
 };