Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
0cac643c
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0cac643c
编写于
6月 30, 2016
作者:
M
Miklos Szeredi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vfs: clean up documentation
Signed-off-by:
N
Miklos Szeredi
<
mszeredi@redhat.com
>
上级
e698b8a4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
18 deletion
+8
-18
Documentation/filesystems/Locking
Documentation/filesystems/Locking
+0
-2
Documentation/filesystems/vfs.txt
Documentation/filesystems/vfs.txt
+8
-16
未找到文件。
Documentation/filesystems/Locking
浏览文件 @
0cac643c
...
@@ -69,7 +69,6 @@ prototypes:
...
@@ -69,7 +69,6 @@ prototypes:
struct file *, unsigned open_flag,
struct file *, unsigned open_flag,
umode_t create_mode, int *opened);
umode_t create_mode, int *opened);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
locking rules:
locking rules:
all may block
all may block
...
@@ -98,7 +97,6 @@ fiemap: no
...
@@ -98,7 +97,6 @@ fiemap: no
update_time: no
update_time: no
atomic_open: yes
atomic_open: yes
tmpfile: no
tmpfile: no
dentry_open: no
Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
victim.
victim.
...
...
Documentation/filesystems/vfs.txt
浏览文件 @
0cac643c
...
@@ -364,7 +364,6 @@ struct inode_operations {
...
@@ -364,7 +364,6 @@ struct inode_operations {
int (*atomic_open)(struct inode *, struct dentry *, struct file *,
int (*atomic_open)(struct inode *, struct dentry *, struct file *,
unsigned open_flag, umode_t create_mode, int *opened);
unsigned open_flag, umode_t create_mode, int *opened);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*dentry_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
...
@@ -696,13 +695,6 @@ struct address_space_operations {
...
@@ -696,13 +695,6 @@ struct address_space_operations {
but instead uses bmap to find out where the blocks in the file
but instead uses bmap to find out where the blocks in the file
are and uses those addresses directly.
are and uses those addresses directly.
dentry_open: *WARNING: probably going away soon, do not use!* This is an
alternative to f_op->open(), the difference is that this method may open
a 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.
invalidatepage: If a page has PagePrivate set, then invalidatepage
invalidatepage: If a page has PagePrivate set, then invalidatepage
will be called when part or all of the page is to be removed
will be called when part or all of the page is to be removed
from the address space. This generally corresponds to either a
from the address space. This generally corresponds to either a
...
@@ -1024,6 +1016,14 @@ struct dentry_operations {
...
@@ -1024,6 +1016,14 @@ struct dentry_operations {
at the end of the buffer, and returns a pointer to the first char.
at the end of the buffer, and returns a pointer to the first char.
dynamic_dname() helper function is provided to take care of this.
dynamic_dname() helper function is provided to take care of this.
Example :
static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen)
{
return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]",
dentry->d_inode->i_ino);
}
d_automount: called when an automount dentry is to be traversed (optional).
d_automount: called when an automount dentry is to be traversed (optional).
This should create a new VFS mount record and return the record to the
This should create a new VFS mount record and return the record to the
caller. The caller is supplied with a path parameter giving the
caller. The caller is supplied with a path parameter giving the
...
@@ -1080,14 +1080,6 @@ struct dentry_operations {
...
@@ -1080,14 +1080,6 @@ struct dentry_operations {
This method is never called with both non-NULL inode and non-zero flags.
This method is never called with both non-NULL inode and non-zero flags.
Example :
static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen)
{
return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]",
dentry->d_inode->i_ino);
}
Each dentry has a pointer to its parent dentry, as well as a hash list
Each dentry has a pointer to its parent dentry, as well as a hash list
of child dentries. Child dentries are basically like files in a
of child dentries. Child dentries are basically like files in a
directory.
directory.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录