|
@@ -144,6 +144,26 @@ loff_t generic_file_llseek(struct file *file, loff_t offset, int whence)
|
|
|
}
|
|
|
EXPORT_SYMBOL(generic_file_llseek);
|
|
|
|
|
|
+/**
|
|
|
+ * fixed_size_llseek - llseek implementation for fixed-sized devices
|
|
|
+ * @file: file structure to seek on
|
|
|
+ * @offset: file offset to seek to
|
|
|
+ * @whence: type of seek
|
|
|
+ * @size: size of the file
|
|
|
+ *
|
|
|
+ */
|
|
|
+loff_t fixed_size_llseek(struct file *file, loff_t offset, int whence, loff_t size)
|
|
|
+{
|
|
|
+ switch (whence) {
|
|
|
+ case SEEK_SET: case SEEK_CUR: case SEEK_END:
|
|
|
+ return generic_file_llseek_size(file, offset, whence,
|
|
|
+ size, size);
|
|
|
+ default:
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(fixed_size_llseek);
|
|
|
+
|
|
|
/**
|
|
|
* noop_llseek - No Operation Performed llseek implementation
|
|
|
* @file: file structure to seek on
|