root/fs/ramfs/file-mmu.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ramfs_mmu_get_unmapped_area

   1 /* file-mmu.c: ramfs MMU-based file operations
   2  *
   3  * Resizable simple ram filesystem for Linux.
   4  *
   5  * Copyright (C) 2000 Linus Torvalds.
   6  *               2000 Transmeta Corp.
   7  *
   8  * Usage limits added by David Gibson, Linuxcare Australia.
   9  * This file is released under the GPL.
  10  */
  11 
  12 /*
  13  * NOTE! This filesystem is probably most useful
  14  * not as a real filesystem, but as an example of
  15  * how virtual filesystems can be written.
  16  *
  17  * It doesn't get much simpler than this. Consider
  18  * that this file implements the full semantics of
  19  * a POSIX-compliant read-write filesystem.
  20  *
  21  * Note in particular how the filesystem does not
  22  * need to implement any data structures of its own
  23  * to keep track of the virtual data: using the VFS
  24  * caches is sufficient.
  25  */
  26 
  27 #include <linux/fs.h>
  28 #include <linux/mm.h>
  29 #include <linux/ramfs.h>
  30 #include <linux/sched.h>
  31 
  32 #include "internal.h"
  33 
  34 static unsigned long ramfs_mmu_get_unmapped_area(struct file *file,
  35                 unsigned long addr, unsigned long len, unsigned long pgoff,
  36                 unsigned long flags)
  37 {
  38         return current->mm->get_unmapped_area(file, addr, len, pgoff, flags);
  39 }
  40 
  41 const struct file_operations ramfs_file_operations = {
  42         .read_iter      = generic_file_read_iter,
  43         .write_iter     = generic_file_write_iter,
  44         .mmap           = generic_file_mmap,
  45         .fsync          = noop_fsync,
  46         .splice_read    = generic_file_splice_read,
  47         .splice_write   = iter_file_splice_write,
  48         .llseek         = generic_file_llseek,
  49         .get_unmapped_area      = ramfs_mmu_get_unmapped_area,
  50 };
  51 
  52 const struct inode_operations ramfs_file_inode_operations = {
  53         .setattr        = simple_setattr,
  54         .getattr        = simple_getattr,
  55 };

/* [<][>][^][v][top][bottom][index][help] */