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

Commit c75e2475 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull third set of VFS updates from Al Viro:
 "Misc stuff all over the place.  There will be one more pile in a
  couple of days"

This is an "evil merge" that also uses the new d_count helper in
fs/configfs/dir.c, missed by commit 84d08fa8 ("helper for reading
->d_count")

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  ncpfs: fix error return code in ncp_parse_options()
  locks: move file_lock_list to a set of percpu hlist_heads and convert file_lock_lock to an lglock
  seq_file: add seq_list_*_percpu helpers
  f2fs: fix readdir incorrectness
  mode_t whack-a-mole...
  lustre: kill the pointless wrapper
  helper for reading ->d_count
parents d2b4a646 4fbeb19d
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -60,8 +60,6 @@ truncate_complete_page(struct address_space *mapping, struct page *page)
	ll_delete_from_page_cache(page);
}

#  define d_refcount(d)		 ((d)->d_count)

#ifdef ATTR_OPEN
# define ATTR_FROM_OPEN ATTR_OPEN
#else
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ static inline void l_dput(struct dentry *de)
	if (!de || IS_ERR(de))
		return;
	//shrink_dcache_parent(de);
	LASSERT(d_refcount(de) > 0);
	LASSERT(d_count(de) > 0);
	dput(de);
}

+3 −3
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ struct lprocfs_vars {
	/**
	 * /proc file mode.
	 */
	mode_t			proc_mode;
	umode_t			proc_mode;
};

struct lprocfs_static_vars {
@@ -600,11 +600,11 @@ extern int lprocfs_obd_setup(struct obd_device *obd, struct lprocfs_vars *list);
extern int lprocfs_obd_cleanup(struct obd_device *obd);

extern int lprocfs_seq_create(proc_dir_entry_t *parent, const char *name,
			      mode_t mode,
			      umode_t mode,
			      const struct file_operations *seq_fops,
			      void *data);
extern int lprocfs_obd_seq_create(struct obd_device *dev, const char *name,
				  mode_t mode,
				  umode_t mode,
				  const struct file_operations *seq_fops,
				  void *data);

+4 −4
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ int ll_dcompare(const struct dentry *parent, const struct inode *pinode,

	CDEBUG(D_DENTRY, "found name %.*s(%p) flags %#x refc %d\n",
	       name->len, name->name, dentry, dentry->d_flags,
	       d_refcount(dentry));
	       d_count(dentry));

	/* mountpoint is always valid */
	if (d_mountpoint((struct dentry *)dentry))
@@ -165,7 +165,7 @@ static int ll_ddelete(const struct dentry *de)
	       list_empty(&de->d_subdirs) ? "" : "subdirs");

	/* kernel >= 2.6.38 last refcount is decreased after this function. */
	LASSERT(d_refcount(de) == 1);
	LASSERT(d_count(de) == 1);

	/* Disable this piece of code temproarily because this is called
	 * inside dcache_lock so it's not appropriate to do lots of work
@@ -190,7 +190,7 @@ static int ll_set_dd(struct dentry *de)

	CDEBUG(D_DENTRY, "ldd on dentry %.*s (%p) parent %p inode %p refc %d\n",
		de->d_name.len, de->d_name.name, de, de->d_parent, de->d_inode,
		d_refcount(de));
		d_count(de));

	if (de->d_fsdata == NULL) {
		struct ll_dentry_data *lld;
@@ -540,7 +540,7 @@ int ll_revalidate_it(struct dentry *de, int lookup_flags,
		CDEBUG(D_DENTRY, "revalidated dentry %.*s (%p) parent %p "
		       "inode %p refc %d\n", de->d_name.len,
		       de->d_name.name, de, de->d_parent, de->d_inode,
		       d_refcount(de));
		       d_count(de));

		ll_set_lock_data(exp, de->d_inode, it, &bits);

+2 −2
Original line number Diff line number Diff line
@@ -1529,12 +1529,12 @@ static inline void d_lustre_invalidate(struct dentry *dentry, int nested)
{
	CDEBUG(D_DENTRY, "invalidate dentry %.*s (%p) parent %p inode %p "
	       "refc %d\n", dentry->d_name.len, dentry->d_name.name, dentry,
	       dentry->d_parent, dentry->d_inode, d_refcount(dentry));
	       dentry->d_parent, dentry->d_inode, d_count(dentry));

	spin_lock_nested(&dentry->d_lock,
			 nested ? DENTRY_D_LOCK_NESTED : DENTRY_D_LOCK_NORMAL);
	__d_lustre_invalidate(dentry);
	if (d_refcount(dentry) == 0)
	if (d_count(dentry) == 0)
		__d_drop(dentry);
	spin_unlock(&dentry->d_lock);
}
Loading