Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 821cc307 authored by Al Viro's avatar Al Viro
Browse files

ncpfs: use list_for_each_entry() for d_subdirs walk



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 5e6123f3
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -388,7 +388,6 @@ static struct dentry *
ncp_dget_fpos(struct dentry *dentry, struct dentry *parent, unsigned long fpos)
{
	struct dentry *dent = dentry;
	struct list_head *next;

	if (d_validate(dent, parent)) {
		if (dent->d_name.len <= NCP_MAXPATHLEN &&
@@ -404,9 +403,7 @@ ncp_dget_fpos(struct dentry *dentry, struct dentry *parent, unsigned long fpos)

	/* If a pointer is invalid, we search the dentry. */
	spin_lock(&parent->d_lock);
	next = parent->d_subdirs.next;
	while (next != &parent->d_subdirs) {
		dent = list_entry(next, struct dentry, d_u.d_child);
	list_for_each_entry(dent, &parent->d_subdirs, d_u.d_child) {
		if ((unsigned long)dent->d_fsdata == fpos) {
			if (dent->d_inode)
				dget(dent);
@@ -415,7 +412,6 @@ ncp_dget_fpos(struct dentry *dentry, struct dentry *parent, unsigned long fpos)
			spin_unlock(&parent->d_lock);
			goto out;
		}
		next = next->next;
	}
	spin_unlock(&parent->d_lock);
	return NULL;
+2 −12
Original line number Diff line number Diff line
@@ -188,20 +188,14 @@ static inline void
ncp_renew_dentries(struct dentry *parent)
{
	struct ncp_server *server = NCP_SERVER(parent->d_inode);
	struct list_head *next;
	struct dentry *dentry;

	spin_lock(&parent->d_lock);
	next = parent->d_subdirs.next;
	while (next != &parent->d_subdirs) {
		dentry = list_entry(next, struct dentry, d_u.d_child);

	list_for_each_entry(dentry, &parent->d_subdirs, d_u.d_child) {
		if (dentry->d_fsdata == NULL)
			ncp_age_dentry(server, dentry);
		else
			ncp_new_dentry(dentry);

		next = next->next;
	}
	spin_unlock(&parent->d_lock);
}
@@ -210,16 +204,12 @@ static inline void
ncp_invalidate_dircache_entries(struct dentry *parent)
{
	struct ncp_server *server = NCP_SERVER(parent->d_inode);
	struct list_head *next;
	struct dentry *dentry;

	spin_lock(&parent->d_lock);
	next = parent->d_subdirs.next;
	while (next != &parent->d_subdirs) {
		dentry = list_entry(next, struct dentry, d_u.d_child);
	list_for_each_entry(dentry, &parent->d_subdirs, d_u.d_child) {
		dentry->d_fsdata = NULL;
		ncp_age_dentry(server, dentry);
		next = next->next;
	}
	spin_unlock(&parent->d_lock);
}