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

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

lustre: switch ll_release_openhandle() to struct inode *



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2a8a3597
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -430,7 +430,7 @@ static int ll_intent_file_open(struct dentry *dentry, void *lmm,
		if (!it_disposition(itp, DISP_OPEN_OPEN) ||
		     it_open_error(DISP_OPEN_OPEN, itp))
			goto out;
		ll_release_openhandle(dentry, itp);
		ll_release_openhandle(inode, itp);
		goto out;
	}

@@ -620,7 +620,7 @@ restart:
				goto out_openerr;
			}

			ll_release_openhandle(file->f_dentry, it);
			ll_release_openhandle(inode, it);
		}
		(*och_usecount)++;

@@ -1366,7 +1366,7 @@ int ll_lov_setstripe_ea_info(struct inode *inode, struct dentry *dentry,
	if (rc < 0)
		goto out_req_free;

	ll_release_openhandle(dentry, &oit);
	ll_release_openhandle(inode, &oit);

out_unlock:
	ll_inode_size_unlock(inode);
@@ -1622,22 +1622,21 @@ int ll_put_grouplock(struct inode *inode, struct file *file, unsigned long arg)
/**
 * Close inode open handle
 *
 * \param dentry [in]     dentry which contains the inode
 * \param inode  [in]     inode in question
 * \param it     [in,out] intent which contains open info and result
 *
 * \retval 0     success
 * \retval <0    failure
 */
int ll_release_openhandle(struct dentry *dentry, struct lookup_intent *it)
int ll_release_openhandle(struct inode *inode, struct lookup_intent *it)
{
	struct inode *inode = dentry->d_inode;
	struct obd_client_handle *och;
	int rc;

	LASSERT(inode);

	/* Root ? Do nothing. */
	if (dentry->d_inode->i_sb->s_root == dentry)
	if (inode->i_sb->s_root->d_inode == inode)
		return 0;

	/* No open handle to close? Move away */
+1 −1
Original line number Diff line number Diff line
@@ -748,7 +748,7 @@ int ll_file_release(struct inode *inode, struct file *file);
int ll_glimpse_ioctl(struct ll_sb_info *sbi,
		     struct lov_stripe_md *lsm, lstat_t *st);
void ll_ioepoch_open(struct ll_inode_info *lli, __u64 ioepoch);
int ll_release_openhandle(struct dentry *, struct lookup_intent *);
int ll_release_openhandle(struct inode *, struct lookup_intent *);
int ll_md_real_close(struct inode *inode, fmode_t fmode);
void ll_ioepoch_close(struct inode *inode, struct md_op_data *op_data,
		      struct obd_client_handle **och, unsigned long flags);
+1 −1
Original line number Diff line number Diff line
@@ -563,7 +563,7 @@ static struct dentry *ll_lookup_it(struct inode *parent, struct dentry *dentry,
	if ((it->it_op & IT_OPEN) && dentry->d_inode &&
	    !S_ISREG(dentry->d_inode->i_mode) &&
	    !S_ISDIR(dentry->d_inode->i_mode)) {
		ll_release_openhandle(dentry, it);
		ll_release_openhandle(dentry->d_inode, it);
	}
	ll_lookup_finish_locks(it, dentry);