Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
file.c File Reference
#include <linux/fs.h>
#include <linux/backing-dev.h>
#include <linux/stat.h>
#include <linux/fcntl.h>
#include <linux/pagemap.h>
#include <linux/pagevec.h>
#include <linux/writeback.h>
#include <linux/task_io_accounting_ops.h>
#include <linux/delay.h>
#include <linux/mount.h>
#include <linux/slab.h>
#include <linux/swap.h>
#include <asm/div64.h>
#include "cifsfs.h"
#include "cifspdu.h"
#include "cifsglob.h"
#include "cifsproto.h"
#include "cifs_unicode.h"
#include "cifs_debug.h"
#include "cifs_fs_sb.h"
#include "fscache.h"

Go to the source code of this file.

Data Structures

struct  lock_to_push
 

Macros

#define cifs_for_each_lock(inode, lockp)
 

Functions

int cifs_posix_open (char *full_path, struct inode **pinode, struct super_block *sb, int mode, unsigned int f_flags, __u32 *poplock, __u16 *pnetfid, unsigned int xid)
 
struct cifsFileInfocifs_new_fileinfo (struct cifs_fid *fid, struct file *file, struct tcon_link *tlink, __u32 oplock)
 
struct cifsFileInfocifsFileInfo_get (struct cifsFileInfo *cifs_file)
 
void cifsFileInfo_put (struct cifsFileInfo *cifs_file)
 
int cifs_open (struct inode *inode, struct file *file)
 
int cifs_close (struct inode *inode, struct file *file)
 
int cifs_closedir (struct inode *inode, struct file *file)
 
void cifs_del_lock_waiters (struct cifsLockInfo *lock)
 
bool cifs_find_lock_conflict (struct cifsFileInfo *cfile, __u64 offset, __u64 length, __u8 type, struct cifsLockInfo **conf_lock, bool rw_check)
 
int cifs_push_mandatory_locks (struct cifsFileInfo *cfile)
 
void cifs_move_llist (struct list_head *source, struct list_head *dest)
 
void cifs_free_llist (struct list_head *llist)
 
int cifs_unlock_range (struct cifsFileInfo *cfile, struct file_lock *flock, unsigned int xid)
 
int cifs_lock (struct file *file, int cmd, struct file_lock *flock)
 
void cifs_update_eof (struct cifsInodeInfo *cifsi, loff_t offset, unsigned int bytes_written)
 
struct cifsFileInfofind_readable_file (struct cifsInodeInfo *cifs_inode, bool fsuid_only)
 
struct cifsFileInfofind_writable_file (struct cifsInodeInfo *cifs_inode, bool fsuid_only)
 
int cifs_strict_fsync (struct file *file, loff_t start, loff_t end, int datasync)
 
int cifs_fsync (struct file *file, loff_t start, loff_t end, int datasync)
 
int cifs_flush (struct file *file, fl_owner_t id)
 
ssize_t cifs_user_writev (struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos)
 
ssize_t cifs_strict_writev (struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos)
 
void cifs_readdata_release (struct kref *refcount)
 
ssize_t cifs_user_readv (struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos)
 
ssize_t cifs_strict_readv (struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos)
 
int cifs_file_strict_mmap (struct file *file, struct vm_area_struct *vma)
 
int cifs_file_mmap (struct file *file, struct vm_area_struct *vma)
 
bool is_size_safe_to_change (struct cifsInodeInfo *cifsInode, __u64 end_of_file)
 
void cifs_oplock_break (struct work_struct *work)
 

Variables

struct address_space_operations cifs_addr_ops
 
struct address_space_operations cifs_addr_ops_smallbuf
 

Macro Definition Documentation

#define cifs_for_each_lock (   inode,
  lockp 
)
Value:
for (lockp = &inode->i_flock; *lockp != NULL; \
lockp = &(*lockp)->fl_next)

Definition at line 1030 of file file.c.

Function Documentation

int cifs_close ( struct inode inode,
struct file file 
)

Definition at line 654 of file file.c.

int cifs_closedir ( struct inode inode,
struct file file 
)

Definition at line 665 of file file.c.

void cifs_del_lock_waiters ( struct cifsLockInfo lock)

Definition at line 733 of file file.c.

int cifs_file_mmap ( struct file file,
struct vm_area_struct vma 
)

Definition at line 3029 of file file.c.

int cifs_file_strict_mmap ( struct file file,
struct vm_area_struct vma 
)

Definition at line 3009 of file file.c.

bool cifs_find_lock_conflict ( struct cifsFileInfo cfile,
__u64  offset,
__u64  length,
__u8  type,
struct cifsLockInfo **  conf_lock,
bool  rw_check 
)

Definition at line 770 of file file.c.

int cifs_flush ( struct file file,
fl_owner_t  id 
)

Definition at line 2185 of file file.c.

void cifs_free_llist ( struct list_head llist)

Definition at line 1282 of file file.c.

int cifs_fsync ( struct file file,
loff_t  start,
loff_t  end,
int  datasync 
)

Definition at line 2147 of file file.c.

int cifs_lock ( struct file file,
int  cmd,
struct file_lock flock 
)

Definition at line 1461 of file file.c.

void cifs_move_llist ( struct list_head source,
struct list_head dest 
)

Definition at line 1274 of file file.c.

struct cifsFileInfo* cifs_new_fileinfo ( struct cifs_fid fid,
struct file file,
struct tcon_link tlink,
__u32  oplock 
)
read

Definition at line 242 of file file.c.

int cifs_open ( struct inode inode,
struct file file 
)

Definition at line 386 of file file.c.

void cifs_oplock_break ( struct work_struct work)

Definition at line 3521 of file file.c.

int cifs_posix_open ( char full_path,
struct inode **  pinode,
struct super_block sb,
int  mode,
unsigned int  f_flags,
__u32 poplock,
__u16 pnetfid,
unsigned int  xid 
)

Definition at line 108 of file file.c.

int cifs_push_mandatory_locks ( struct cifsFileInfo cfile)

Definition at line 945 of file file.c.

void cifs_readdata_release ( struct kref refcount)

Definition at line 2546 of file file.c.

int cifs_strict_fsync ( struct file file,
loff_t  start,
loff_t  end,
int  datasync 
)

Definition at line 2104 of file file.c.

ssize_t cifs_strict_readv ( struct kiocb iocb,
const struct iovec iov,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 2861 of file file.c.

ssize_t cifs_strict_writev ( struct kiocb iocb,
const struct iovec iov,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 2481 of file file.c.

int cifs_unlock_range ( struct cifsFileInfo cfile,
struct file_lock flock,
unsigned int  xid 
)

Definition at line 1293 of file file.c.

void cifs_update_eof ( struct cifsInodeInfo cifsi,
loff_t  offset,
unsigned int  bytes_written 
)

Definition at line 1525 of file file.c.

ssize_t cifs_user_readv ( struct kiocb iocb,
const struct iovec iov,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 2848 of file file.c.

ssize_t cifs_user_writev ( struct kiocb iocb,
const struct iovec iov,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 2415 of file file.c.

struct cifsFileInfo* cifsFileInfo_get ( struct cifsFileInfo cifs_file)
read

Definition at line 299 of file file.c.

void cifsFileInfo_put ( struct cifsFileInfo cifs_file)

Definition at line 312 of file file.c.

struct cifsFileInfo* find_readable_file ( struct cifsInodeInfo cifs_inode,
bool  fsuid_only 
)
read

Definition at line 1619 of file file.c.

struct cifsFileInfo* find_writable_file ( struct cifsInodeInfo cifs_inode,
bool  fsuid_only 
)
read

Definition at line 1653 of file file.c.

bool is_size_safe_to_change ( struct cifsInodeInfo cifsInode,
__u64  end_of_file 
)

Definition at line 3388 of file file.c.

Variable Documentation

Initial value:
= {
.readpage = cifs_readpage,
.readpages = cifs_readpages,
.writepage = cifs_writepage,
.writepages = cifs_writepages,
.write_begin = cifs_write_begin,
.write_end = cifs_write_end,
.set_page_dirty = __set_page_dirty_nobuffers,
.releasepage = cifs_release_page,
.invalidatepage = cifs_invalidate_page,
.launder_page = cifs_launder_page,
}

Definition at line 3561 of file file.c.

struct address_space_operations cifs_addr_ops_smallbuf
Initial value:
= {
.readpage = cifs_readpage,
.writepage = cifs_writepage,
.writepages = cifs_writepages,
.write_begin = cifs_write_begin,
.write_end = cifs_write_end,
.set_page_dirty = __set_page_dirty_nobuffers,
.releasepage = cifs_release_page,
.invalidatepage = cifs_invalidate_page,
.launder_page = cifs_launder_page,
}

Definition at line 3579 of file file.c.