Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
OpenBMC Firmware
talos-obmc-linux
Commits
84d08fa8
Commit
84d08fa8
authored
11 years ago
by
Al Viro
Browse files
Options
Download
Email Patches
Plain Diff
helper for reading ->d_count
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
74b9272b
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
22 additions
and
17 deletions
+22
-17
drivers/staging/lustre/lustre/include/linux/lustre_patchless_compat.h
...ing/lustre/lustre/include/linux/lustre_patchless_compat.h
+1
-1
fs/autofs4/expire.c
fs/autofs4/expire.c
+4
-4
fs/autofs4/root.c
fs/autofs4/root.c
+1
-1
fs/ceph/inode.c
fs/ceph/inode.c
+2
-2
fs/ceph/mds_client.c
fs/ceph/mds_client.c
+1
-1
fs/coda/dir.c
fs/coda/dir.c
+1
-1
fs/ecryptfs/inode.c
fs/ecryptfs/inode.c
+1
-1
fs/locks.c
fs/locks.c
+1
-1
fs/nfs/dir.c
fs/nfs/dir.c
+3
-3
fs/nfs/unlink.c
fs/nfs/unlink.c
+1
-1
fs/nilfs2/super.c
fs/nilfs2/super.c
+1
-1
include/linux/dcache.h
include/linux/dcache.h
+5
-0
No files found.
drivers/staging/lustre/lustre/include/linux/lustre_patchless_compat.h
View file @
84d08fa8
...
...
@@ -60,7 +60,7 @@ truncate_complete_page(struct address_space *mapping, struct page *page)
ll_delete_from_page_cache
(
page
);
}
# define d_refcount(d)
((d)->
d_count)
# define d_refcount(d) d_count
(d
)
#ifdef ATTR_OPEN
# define ATTR_FROM_OPEN ATTR_OPEN
...
...
This diff is collapsed.
Click to expand it.
fs/autofs4/expire.c
View file @
84d08fa8
...
...
@@ -109,7 +109,7 @@ static struct dentry *get_next_positive_subdir(struct dentry *prev,
spin_lock_nested
(
&
q
->
d_lock
,
DENTRY_D_LOCK_NESTED
);
/* Already gone or negative dentry (under construction) - try next */
if
(
q
->
d_count
==
0
||
!
simple_positive
(
q
))
{
if
(
!
d_count
(
q
)
||
!
simple_positive
(
q
))
{
spin_unlock
(
&
q
->
d_lock
);
next
=
q
->
d_u
.
d_child
.
next
;
goto
cont
;
...
...
@@ -267,7 +267,7 @@ static int autofs4_tree_busy(struct vfsmount *mnt,
else
ino_count
++
;
if
(
p
->
d_count
>
ino_count
)
{
if
(
d_count
(
p
)
>
ino_count
)
{
top_ino
->
last_used
=
jiffies
;
dput
(
p
);
return
1
;
...
...
@@ -409,7 +409,7 @@ struct dentry *autofs4_expire_indirect(struct super_block *sb,
if
(
!
exp_leaves
)
{
/* Path walk currently on this dentry? */
ino_count
=
atomic_read
(
&
ino
->
count
)
+
1
;
if
(
d
entry
->
d_count
>
ino_count
)
if
(
d
_count
(
dentry
)
>
ino_count
)
goto
next
;
if
(
!
autofs4_tree_busy
(
mnt
,
dentry
,
timeout
,
do_now
))
{
...
...
@@ -423,7 +423,7 @@ struct dentry *autofs4_expire_indirect(struct super_block *sb,
}
else
{
/* Path walk currently on this dentry? */
ino_count
=
atomic_read
(
&
ino
->
count
)
+
1
;
if
(
d
entry
->
d_count
>
ino_count
)
if
(
d
_count
(
dentry
)
>
ino_count
)
goto
next
;
expired
=
autofs4_check_leaves
(
mnt
,
dentry
,
timeout
,
do_now
);
...
...
This diff is collapsed.
Click to expand it.
fs/autofs4/root.c
View file @
84d08fa8
...
...
@@ -179,7 +179,7 @@ static struct dentry *autofs4_lookup_active(struct dentry *dentry)
spin_lock
(
&
active
->
d_lock
);
/* Already gone? */
if
(
active
->
d_count
==
0
)
if
(
!
d_count
(
active
)
)
goto
next
;
qstr
=
&
active
->
d_name
;
...
...
This diff is collapsed.
Click to expand it.
fs/ceph/inode.c
View file @
84d08fa8
...
...
@@ -903,8 +903,8 @@ static struct dentry *splice_dentry(struct dentry *dn, struct inode *in,
}
else
if
(
realdn
)
{
dout
(
"dn %p (%d) spliced with %p (%d) "
"inode %p ino %llx.%llx
\n
"
,
dn
,
dn
->
d_count
,
realdn
,
realdn
->
d_count
,
dn
,
d_count
(
dn
)
,
realdn
,
d_count
(
realdn
)
,
realdn
->
d_inode
,
ceph_vinop
(
realdn
->
d_inode
));
dput
(
dn
);
dn
=
realdn
;
...
...
This diff is collapsed.
Click to expand it.
fs/ceph/mds_client.c
View file @
84d08fa8
...
...
@@ -1553,7 +1553,7 @@ char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base,
*base = ceph_ino(temp->d_inode);
*plen = len;
dout("build_path on %p %d built %llx '%.*s'\n",
dentry
,
d
entry
->
d_count
,
*
base
,
len
,
path
);
dentry, d
_count(dentry)
, *base, len, path);
return path;
}
...
...
This diff is collapsed.
Click to expand it.
fs/coda/dir.c
View file @
84d08fa8
...
...
@@ -526,7 +526,7 @@ static int coda_dentry_revalidate(struct dentry *de, unsigned int flags)
if
(
cii
->
c_flags
&
C_FLUSH
)
coda_flag_inode_children
(
inode
,
C_FLUSH
);
if
(
de
->
d_count
>
1
)
if
(
d_count
(
de
)
>
1
)
/* pretend it's valid, but don't change the flags */
goto
out
;
...
...
This diff is collapsed.
Click to expand it.
fs/ecryptfs/inode.c
View file @
84d08fa8
...
...
@@ -358,7 +358,7 @@ static int ecryptfs_lookup_interpose(struct dentry *dentry,
lower_mnt
=
mntget
(
ecryptfs_dentry_to_lower_mnt
(
dentry
->
d_parent
));
fsstack_copy_attr_atime
(
dir_inode
,
lower_dentry
->
d_parent
->
d_inode
);
BUG_ON
(
!
lower_dentry
->
d_count
);
BUG_ON
(
!
d_count
(
lower_dentry
)
);
ecryptfs_set_dentry_private
(
dentry
,
dentry_info
);
ecryptfs_set_dentry_lower
(
dentry
,
lower_dentry
);
...
...
This diff is collapsed.
Click to expand it.
fs/locks.c
View file @
84d08fa8
...
...
@@ -1454,7 +1454,7 @@ static int generic_add_lease(struct file *filp, long arg, struct file_lock **flp
if
((
arg
==
F_RDLCK
)
&&
(
atomic_read
(
&
inode
->
i_writecount
)
>
0
))
goto
out
;
if
((
arg
==
F_WRLCK
)
&&
((
d
entry
->
d_count
>
1
)
&&
((
d
_count
(
dentry
)
>
1
)
||
(
atomic_read
(
&
inode
->
i_count
)
>
1
)))
goto
out
;
...
...
This diff is collapsed.
Click to expand it.
fs/nfs/dir.c
View file @
84d08fa8
...
...
@@ -1721,7 +1721,7 @@ int nfs_unlink(struct inode *dir, struct dentry *dentry)
dir
->
i_ino
,
dentry
->
d_name
.
name
);
spin_lock
(
&
dentry
->
d_lock
);
if
(
d
entry
->
d_count
>
1
)
{
if
(
d
_count
(
dentry
)
>
1
)
{
spin_unlock
(
&
dentry
->
d_lock
);
/* Start asynchronous writeout of the inode */
write_inode_now
(
dentry
->
d_inode
,
0
);
...
...
@@ -1866,7 +1866,7 @@ int nfs_rename(struct inode *old_dir, struct dentry *old_dentry,
dfprintk
(
VFS
,
"NFS: rename(%s/%s -> %s/%s, ct=%d)
\n
"
,
old_dentry
->
d_parent
->
d_name
.
name
,
old_dentry
->
d_name
.
name
,
new_dentry
->
d_parent
->
d_name
.
name
,
new_dentry
->
d_name
.
name
,
new_dentry
->
d_count
);
d_count
(
new_dentry
)
);
/*
* For non-directories, check whether the target is busy and if so,
...
...
@@ -1884,7 +1884,7 @@ int nfs_rename(struct inode *old_dir, struct dentry *old_dentry,
rehash
=
new_dentry
;
}
if
(
new_dentry
->
d_count
>
2
)
{
if
(
d_count
(
new_dentry
)
>
2
)
{
int
err
;
/* copy the target dentry's name */
...
...
This diff is collapsed.
Click to expand it.
fs/nfs/unlink.c
View file @
84d08fa8
...
...
@@ -479,7 +479,7 @@ nfs_sillyrename(struct inode *dir, struct dentry *dentry)
dfprintk
(
VFS
,
"NFS: silly-rename(%s/%s, ct=%d)
\n
"
,
dentry
->
d_parent
->
d_name
.
name
,
dentry
->
d_name
.
name
,
d
entry
->
d_count
);
d
_count
(
dentry
)
);
nfs_inc_stats
(
dir
,
NFSIOS_SILLYRENAME
);
/*
...
...
This diff is collapsed.
Click to expand it.
fs/nilfs2/super.c
View file @
84d08fa8
...
...
@@ -996,7 +996,7 @@ static int nilfs_attach_snapshot(struct super_block *s, __u64 cno,
static
int
nilfs_tree_was_touched
(
struct
dentry
*
root_dentry
)
{
return
root_dentry
->
d_count
>
1
;
return
d_count
(
root_dentry
)
>
1
;
}
/**
...
...
This diff is collapsed.
Click to expand it.
include/linux/dcache.h
View file @
84d08fa8
...
...
@@ -324,6 +324,11 @@ static inline int __d_rcu_to_refcount(struct dentry *dentry, unsigned seq)
return
ret
;
}
static
inline
unsigned
d_count
(
struct
dentry
*
dentry
)
{
return
dentry
->
d_count
;
}
/* validate "insecure" dentry pointer */
extern
int
d_validate
(
struct
dentry
*
,
struct
dentry
*
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment