Almost forgot these last few unimportant files...
This commit is contained in:
@@ -62,6 +62,7 @@ ata *);
|
|||||||
int (*removexattr) (struct dentry *, const char *);
|
int (*removexattr) (struct dentry *, const char *);
|
||||||
void (*truncate_range)(struct inode *, loff_t, loff_t);
|
void (*truncate_range)(struct inode *, loff_t, loff_t);
|
||||||
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len);
|
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len);
|
||||||
|
struct file *(*open)(struct dentry *,struct file *,const struct cred *);
|
||||||
|
|
||||||
locking rules:
|
locking rules:
|
||||||
all may block
|
all may block
|
||||||
@@ -89,6 +90,7 @@ listxattr: no
|
|||||||
removexattr: yes
|
removexattr: yes
|
||||||
truncate_range: yes
|
truncate_range: yes
|
||||||
fiemap: no
|
fiemap: no
|
||||||
|
open: no
|
||||||
Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
|
Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
|
||||||
victim.
|
victim.
|
||||||
cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
|
cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
|
||||||
|
|||||||
@@ -364,6 +364,8 @@ struct inode_operations {
|
|||||||
ssize_t (*listxattr) (struct dentry *, char *, size_t);
|
ssize_t (*listxattr) (struct dentry *, char *, size_t);
|
||||||
int (*removexattr) (struct dentry *, const char *);
|
int (*removexattr) (struct dentry *, const char *);
|
||||||
void (*truncate_range)(struct inode *, loff_t, loff_t);
|
void (*truncate_range)(struct inode *, loff_t, loff_t);
|
||||||
|
struct file *(*open) (struct dentry *, struct file *,
|
||||||
|
const struct cred *);
|
||||||
};
|
};
|
||||||
|
|
||||||
Again, all methods are called without any locks being held, unless
|
Again, all methods are called without any locks being held, unless
|
||||||
@@ -475,6 +477,12 @@ otherwise noted.
|
|||||||
truncate_range: a method provided by the underlying filesystem to truncate a
|
truncate_range: a method provided by the underlying filesystem to truncate a
|
||||||
range of blocks , i.e. punch a hole somewhere in a file.
|
range of blocks , i.e. punch a hole somewhere in a file.
|
||||||
|
|
||||||
|
open: this is an alternative to f_op->open(), the difference is that this
|
||||||
|
method may return any open file, not necessarily originating from the
|
||||||
|
same filesystem as the one i_op->open() was called on. It may be useful
|
||||||
|
for stacking filesystems which want to allow native I/O directly on
|
||||||
|
underlying files.
|
||||||
|
|
||||||
|
|
||||||
The Address Space Object
|
The Address Space Object
|
||||||
========================
|
========================
|
||||||
|
|||||||
@@ -4998,6 +4998,13 @@ F: drivers/scsi/osd/
|
|||||||
F: include/scsi/osd_*
|
F: include/scsi/osd_*
|
||||||
F: fs/exofs/
|
F: fs/exofs/
|
||||||
|
|
||||||
|
OVERLAYFS FILESYSTEM
|
||||||
|
M: Miklos Szeredi <miklos@szeredi.hu>
|
||||||
|
L: linux-fsdevel@vger.kernel.org
|
||||||
|
S: Supported
|
||||||
|
F: fs/overlayfs/*
|
||||||
|
F: Documentation/filesystems/overlayfs.txt
|
||||||
|
|
||||||
P54 WIRELESS DRIVER
|
P54 WIRELESS DRIVER
|
||||||
M: Christian Lamparter <chunkeey@googlemail.com>
|
M: Christian Lamparter <chunkeey@googlemail.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
|
|||||||
Reference in New Issue
Block a user