Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
inode.c File Reference
#include "fuse_i.h"
#include <linux/pagemap.h>
#include <linux/slab.h>
#include <linux/file.h>
#include <linux/seq_file.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/parser.h>
#include <linux/statfs.h>
#include <linux/random.h>
#include <linux/sched.h>
#include <linux/exportfs.h>

Go to the source code of this file.

Data Structures

struct  fuse_mount_data
 
struct  fuse_inode_handle
 

Macros

#define FUSE_SUPER_MAGIC   0x65735546
 
#define FUSE_DEFAULT_BLKSIZE   512
 
#define FUSE_DEFAULT_MAX_BACKGROUND   12
 
#define FUSE_DEFAULT_CONGESTION_THRESHOLD   (FUSE_DEFAULT_MAX_BACKGROUND * 3 / 4)
 

Enumerations

enum  {
  OPT_FD, OPT_ROOTMODE, OPT_USER_ID, OPT_GROUP_ID,
  OPT_DEFAULT_PERMISSIONS, OPT_ALLOW_OTHER, OPT_MAX_READ, OPT_BLKSIZE,
  OPT_ERR
}
 

Functions

 MODULE_AUTHOR ("Miklos Szeredi <[email protected]>")
 
 MODULE_DESCRIPTION ("Filesystem in Userspace")
 
 MODULE_LICENSE ("GPL")
 
 DEFINE_MUTEX (fuse_mutex)
 
 module_param_call (max_user_bgreq, set_global_limit, param_get_uint,&max_user_bgreq, 0644)
 
 __MODULE_PARM_TYPE (max_user_bgreq,"uint")
 
 MODULE_PARM_DESC (max_user_bgreq,"Global limit for the maximum number of backgrounded requests an ""unprivileged user can set")
 
 module_param_call (max_user_congthresh, set_global_limit, param_get_uint,&max_user_congthresh, 0644)
 
 __MODULE_PARM_TYPE (max_user_congthresh,"uint")
 
 MODULE_PARM_DESC (max_user_congthresh,"Global limit for the maximum congestion threshold an ""unprivileged user can set")
 
struct fuse_forget_linkfuse_alloc_forget (void)
 
void fuse_change_attributes_common (struct inode *inode, struct fuse_attr *attr, u64 attr_valid)
 
void fuse_change_attributes (struct inode *inode, struct fuse_attr *attr, u64 attr_valid, u64 attr_version)
 
int fuse_inode_eq (struct inode *inode, void *_nodeidp)
 
struct inodefuse_iget (struct super_block *sb, u64 nodeid, int generation, struct fuse_attr *attr, u64 attr_valid, u64 attr_version)
 
int fuse_reverse_inval_inode (struct super_block *sb, u64 nodeid, loff_t offset, loff_t len)
 
void fuse_conn_kill (struct fuse_conn *fc)
 
 EXPORT_SYMBOL_GPL (fuse_conn_kill)
 
void fuse_conn_init (struct fuse_conn *fc)
 
 EXPORT_SYMBOL_GPL (fuse_conn_init)
 
void fuse_conn_put (struct fuse_conn *fc)
 
 EXPORT_SYMBOL_GPL (fuse_conn_put)
 
struct fuse_connfuse_conn_get (struct fuse_conn *fc)
 
 EXPORT_SYMBOL_GPL (fuse_conn_get)
 
 module_init (fuse_init)
 
 module_exit (fuse_exit)
 

Variables

struct list_head fuse_conn_list
 
unsigned max_user_bgreq
 
unsigned max_user_congthresh
 

Macro Definition Documentation

#define FUSE_DEFAULT_BLKSIZE   512

Definition at line 52 of file inode.c.

#define FUSE_DEFAULT_CONGESTION_THRESHOLD   (FUSE_DEFAULT_MAX_BACKGROUND * 3 / 4)

Congestion starts at 75% of maximum

Definition at line 58 of file inode.c.

#define FUSE_DEFAULT_MAX_BACKGROUND   12

Maximum number of outstanding background requests

Definition at line 55 of file inode.c.

#define FUSE_SUPER_MAGIC   0x65735546

Definition at line 50 of file inode.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
OPT_FD 
OPT_ROOTMODE 
OPT_USER_ID 
OPT_GROUP_ID 
OPT_DEFAULT_PERMISSIONS 
OPT_ALLOW_OTHER 
OPT_MAX_READ 
OPT_BLKSIZE 
OPT_ERR 

Definition at line 436 of file inode.c.

Function Documentation

__MODULE_PARM_TYPE ( max_user_bgreq  ,
"uint"   
)
__MODULE_PARM_TYPE ( max_user_congthresh  ,
"uint"   
)
DEFINE_MUTEX ( fuse_mutex  )
EXPORT_SYMBOL_GPL ( fuse_conn_kill  )
EXPORT_SYMBOL_GPL ( fuse_conn_init  )
EXPORT_SYMBOL_GPL ( fuse_conn_put  )
EXPORT_SYMBOL_GPL ( fuse_conn_get  )
struct fuse_forget_link* fuse_alloc_forget ( void  )
read

Definition at line 74 of file inode.c.

void fuse_change_attributes ( struct inode inode,
struct fuse_attr attr,
u64  attr_valid,
u64  attr_version 
)

Change attributes of an inode

Definition at line 194 of file inode.c.

void fuse_change_attributes_common ( struct inode inode,
struct fuse_attr attr,
u64  attr_valid 
)

Definition at line 155 of file inode.c.

struct fuse_conn* fuse_conn_get ( struct fuse_conn fc)
read

Acquire reference to fuse_conn

Definition at line 596 of file inode.c.

void fuse_conn_init ( struct fuse_conn fc)

Initialize fuse_conn

Definition at line 556 of file inode.c.

void fuse_conn_kill ( struct fuse_conn fc)

Definition at line 359 of file inode.c.

void fuse_conn_put ( struct fuse_conn fc)

Release reference to fuse_conn

Definition at line 585 of file inode.c.

struct inode* fuse_iget ( struct super_block sb,
u64  nodeid,
int  generation,
struct fuse_attr attr,
u64  attr_valid,
u64  attr_version 
)
read

Get a filled in inode

Definition at line 276 of file inode.c.

int fuse_inode_eq ( struct inode inode,
void _nodeidp 
)

Inode to nodeid comparison.

Definition at line 260 of file inode.c.

int fuse_reverse_inval_inode ( struct super_block sb,
u64  nodeid,
loff_t  offset,
loff_t  len 
)

File-system tells the kernel to invalidate cache for the given node id.

Definition at line 311 of file inode.c.

MODULE_AUTHOR ( "Miklos Szeredi <[email protected]>"  )
MODULE_DESCRIPTION ( "Filesystem in Userspace"  )
module_exit ( fuse_exit  )
module_init ( fuse_init  )
MODULE_LICENSE ( "GPL"  )
module_param_call ( max_user_bgreq  ,
set_global_limit  ,
param_get_uint  ,
max_user_bgreq,
0644   
)
module_param_call ( max_user_congthresh  ,
set_global_limit  ,
param_get_uint  ,
max_user_congthresh,
0644   
)
MODULE_PARM_DESC ( max_user_bgreq  ,
"Global limit for the maximum number of backgrounded requests an ""unprivileged user can set  
)
MODULE_PARM_DESC ( max_user_congthresh  ,
"Global limit for the maximum congestion threshold an ""unprivileged user can set  
)

Variable Documentation

struct list_head fuse_conn_list

List of active connections

Definition at line 29 of file inode.c.

unsigned max_user_bgreq

Module parameters

Definition at line 34 of file inode.c.

unsigned max_user_congthresh

Definition at line 42 of file inode.c.