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

Commit b583043e authored by Al Viro's avatar Al Viro
Browse files

kill f_dentry uses



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 30e46aba
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ static int in_flight_summary_show(struct seq_file *m, void *pos)
	return 0;
}

/* simple_positive(file->f_dentry) respectively debugfs_positive(),
/* simple_positive(file->f_path.dentry) respectively debugfs_positive(),
 * but neither is "reachable" from here.
 * So we have our own inline version of it above.  :-( */
static inline int debugfs_positive(struct dentry *dentry)
@@ -437,14 +437,14 @@ static int drbd_single_open(struct file *file, int (*show)(struct seq_file *, vo

	/* Are we still linked,
	 * or has debugfs_remove() already been called? */
	parent = file->f_dentry->d_parent;
	parent = file->f_path.dentry->d_parent;
	/* not sure if this can happen: */
	if (!parent || !parent->d_inode)
		goto out;
	/* serialize with d_delete() */
	mutex_lock(&parent->d_inode->i_mutex);
	/* Make sure the object is still alive */
	if (debugfs_positive(file->f_dentry)
	if (debugfs_positive(file->f_path.dentry)
	&& kref_get_unless_zero(kref))
		ret = 0;
	mutex_unlock(&parent->d_inode->i_mutex);
+2 −2
Original line number Diff line number Diff line
@@ -1011,7 +1011,7 @@ static ssize_t
lpfc_debugfs_dif_err_read(struct file *file, char __user *buf,
	size_t nbytes, loff_t *ppos)
{
	struct dentry *dent = file->f_dentry;
	struct dentry *dent = file->f_path.dentry;
	struct lpfc_hba *phba = file->private_data;
	char cbuf[32];
	uint64_t tmp = 0;
@@ -1052,7 +1052,7 @@ static ssize_t
lpfc_debugfs_dif_err_write(struct file *file, const char __user *buf,
	size_t nbytes, loff_t *ppos)
{
	struct dentry *dent = file->f_dentry;
	struct dentry *dent = file->f_path.dentry;
	struct lpfc_hba *phba = file->private_data;
	char dstbuf[32];
	uint64_t tmp = 0;
+3 −9
Original line number Diff line number Diff line
@@ -2092,7 +2092,7 @@ putgl:
	rc = 0;
	if (llss->ia2.ia_valid != 0) {
		mutex_lock(&llss->inode1->i_mutex);
		rc = ll_setattr(file1->f_dentry, &llss->ia2);
		rc = ll_setattr(file1->f_path.dentry, &llss->ia2);
		mutex_unlock(&llss->inode1->i_mutex);
	}

@@ -2100,7 +2100,7 @@ putgl:
		int rc1;

		mutex_lock(&llss->inode2->i_mutex);
		rc1 = ll_setattr(file2->f_dentry, &llss->ia1);
		rc1 = ll_setattr(file2->f_path.dentry, &llss->ia1);
		mutex_unlock(&llss->inode2->i_mutex);
		if (rc == 0)
			rc = rc1;
@@ -2185,7 +2185,7 @@ static int ll_hsm_import(struct inode *inode, struct file *file,

	mutex_lock(&inode->i_mutex);

	rc = ll_setattr_raw(file->f_dentry, attr, true);
	rc = ll_setattr_raw(file->f_path.dentry, attr, true);
	if (rc == -ENODATA)
		rc = 0;

@@ -2622,12 +2622,6 @@ int cl_sync_file_range(struct inode *inode, loff_t start, loff_t end,
	return result;
}

/*
 * When dentry is provided (the 'else' case), *file->f_dentry may be
 * null and dentry must be used directly rather than pulled from
 * *file->f_dentry as is done otherwise.
 */

int ll_fsync(struct file *file, loff_t start, loff_t end, int datasync)
{
	struct dentry *dentry = file->f_dentry;
+3 −3
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ static int __dcache_readdir(struct file *file, struct dir_context *ctx,
			    u32 shared_gen)
{
	struct ceph_file_info *fi = file->private_data;
	struct dentry *parent = file->f_dentry;
	struct dentry *parent = file->f_path.dentry;
	struct inode *dir = parent->d_inode;
	struct list_head *p;
	struct dentry *dentry, *last;
@@ -274,7 +274,7 @@ static int ceph_readdir(struct file *file, struct dir_context *ctx)
		off = 1;
	}
	if (ctx->pos == 1) {
		ino_t ino = parent_ino(file->f_dentry);
		ino_t ino = parent_ino(file->f_path.dentry);
		dout("readdir off 1 -> '..'\n");
		if (!dir_emit(ctx, "..", 2,
			    ceph_translate_ino(inode->i_sb, ino),
@@ -337,7 +337,7 @@ more:
		}
		req->r_inode = inode;
		ihold(inode);
		req->r_dentry = dget(file->f_dentry);
		req->r_dentry = dget(file->f_path.dentry);
		/* hints to request -> mds selection code */
		req->r_direct_mode = USE_AUTH_MDS;
		req->r_direct_hash = ceph_frag_value(frag);
+1 −1
Original line number Diff line number Diff line
@@ -211,7 +211,7 @@ int ceph_open(struct inode *inode, struct file *file)

	req->r_num_caps = 1;
	if (flags & O_CREAT)
		parent_inode = ceph_get_dentry_parent_inode(file->f_dentry);
		parent_inode = ceph_get_dentry_parent_inode(file->f_path.dentry);
	err = ceph_mdsc_do_request(mdsc, parent_inode, req);
	iput(parent_inode);
	if (!err)
Loading