|
@@ -782,7 +782,7 @@ struct file_operations
|
|
|
----------------------
|
|
|
|
|
|
This describes how the VFS can manipulate an open file. As of kernel
|
|
|
-3.5, the following members are defined:
|
|
|
+3.12, the following members are defined:
|
|
|
|
|
|
struct file_operations {
|
|
|
struct module *owner;
|
|
@@ -803,9 +803,6 @@ struct file_operations {
|
|
|
int (*aio_fsync) (struct kiocb *, int datasync);
|
|
|
int (*fasync) (int, struct file *, int);
|
|
|
int (*lock) (struct file *, int, struct file_lock *);
|
|
|
- ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
|
|
|
- ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
|
|
|
- ssize_t (*sendfile) (struct file *, loff_t *, size_t, read_actor_t, void *);
|
|
|
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
|
|
|
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
|
|
|
int (*check_flags)(int);
|
|
@@ -814,6 +811,7 @@ struct file_operations {
|
|
|
ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int);
|
|
|
int (*setlease)(struct file *, long arg, struct file_lock **);
|
|
|
long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len);
|
|
|
+ int (*show_fdinfo)(struct seq_file *m, struct file *f);
|
|
|
};
|
|
|
|
|
|
Again, all methods are called without any locks being held, unless
|
|
@@ -864,12 +862,6 @@ otherwise noted.
|
|
|
lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and F_SETLKW
|
|
|
commands
|
|
|
|
|
|
- readv: called by the readv(2) system call
|
|
|
-
|
|
|
- writev: called by the writev(2) system call
|
|
|
-
|
|
|
- sendfile: called by the sendfile(2) system call
|
|
|
-
|
|
|
get_unmapped_area: called by the mmap(2) system call
|
|
|
|
|
|
check_flags: called by the fcntl(2) system call for F_SETFL command
|