Unverified Commit fa49168e authored by Mateusz Guzik's avatar Mateusz Guzik Committed by Christian Brauner
Browse files

ceph: use the new ->i_state accessors



Change generated with coccinelle and fixed up by hand as appropriate.

Signed-off-by: default avatarMateusz Guzik <mjguzik@gmail.com>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 7b12a794
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ void ceph_fscache_register_inode_cookie(struct inode *inode)
		return;

	/* Only new inodes! */
	if (!(inode->i_state & I_NEW))
	if (!(inode_state_read_once(inode) & I_NEW))
		return;

	WARN_ON_ONCE(ci->netfs.cache);
+2 −2
Original line number Diff line number Diff line
@@ -329,7 +329,7 @@ int ceph_encode_encrypted_dname(struct inode *parent, char *buf, int elen)
out:
	kfree(cryptbuf);
	if (dir != parent) {
		if ((dir->i_state & I_NEW))
		if ((inode_state_read_once(dir) & I_NEW))
			discard_new_inode(dir);
		else
			iput(dir);
@@ -438,7 +438,7 @@ int ceph_fname_to_usr(const struct ceph_fname *fname, struct fscrypt_str *tname,
	fscrypt_fname_free_buffer(&_tname);
out_inode:
	if (dir != fname->dir) {
		if ((dir->i_state & I_NEW))
		if ((inode_state_read_once(dir) & I_NEW))
			discard_new_inode(dir);
		else
			iput(dir);
+2 −2
Original line number Diff line number Diff line
@@ -740,7 +740,7 @@ static int ceph_finish_async_create(struct inode *dir, struct inode *inode,
		      vino.ino, ceph_ino(dir), dentry->d_name.name);
		ceph_dir_clear_ordered(dir);
		ceph_init_inode_acls(inode, as_ctx);
		if (inode->i_state & I_NEW) {
		if (inode_state_read_once(inode) & I_NEW) {
			/*
			 * If it's not I_NEW, then someone created this before
			 * we got here. Assume the server is aware of it at
@@ -901,7 +901,7 @@ int ceph_atomic_open(struct inode *dir, struct dentry *dentry,
				new_inode = NULL;
				goto out_req;
			}
			WARN_ON_ONCE(!(new_inode->i_state & I_NEW));
			WARN_ON_ONCE(!(inode_state_read_once(new_inode) & I_NEW));

			spin_lock(&dentry->d_lock);
			di->flags |= CEPH_DENTRY_ASYNC_CREATE;
+14 −14
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ struct inode *ceph_new_inode(struct inode *dir, struct dentry *dentry,
			goto out_err;
	}

	inode->i_state = 0;
	inode_state_assign_raw(inode, 0);
	inode->i_mode = *mode;

	err = ceph_security_init_secctx(dentry, *mode, as_ctx);
@@ -201,7 +201,7 @@ struct inode *ceph_get_inode(struct super_block *sb, struct ceph_vino vino,

	doutc(cl, "on %llx=%llx.%llx got %p new %d\n",
	      ceph_present_inode(inode), ceph_vinop(inode), inode,
	      !!(inode->i_state & I_NEW));
	      !!(inode_state_read_once(inode) & I_NEW));
	return inode;
}

@@ -228,7 +228,7 @@ struct inode *ceph_get_snapdir(struct inode *parent)
		goto err;
	}

	if (!(inode->i_state & I_NEW) && !S_ISDIR(inode->i_mode)) {
	if (!(inode_state_read_once(inode) & I_NEW) && !S_ISDIR(inode->i_mode)) {
		pr_warn_once_client(cl, "bad snapdir inode type (mode=0%o)\n",
				    inode->i_mode);
		goto err;
@@ -261,7 +261,7 @@ struct inode *ceph_get_snapdir(struct inode *parent)
		}
	}
#endif
	if (inode->i_state & I_NEW) {
	if (inode_state_read_once(inode) & I_NEW) {
		inode->i_op = &ceph_snapdir_iops;
		inode->i_fop = &ceph_snapdir_fops;
		ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */
@@ -270,7 +270,7 @@ struct inode *ceph_get_snapdir(struct inode *parent)

	return inode;
err:
	if ((inode->i_state & I_NEW))
	if ((inode_state_read_once(inode) & I_NEW))
		discard_new_inode(inode);
	else
		iput(inode);
@@ -744,7 +744,7 @@ void ceph_evict_inode(struct inode *inode)

	netfs_wait_for_outstanding_io(inode);
	truncate_inode_pages_final(&inode->i_data);
	if (inode->i_state & I_PINNING_NETFS_WB)
	if (inode_state_read_once(inode) & I_PINNING_NETFS_WB)
		ceph_fscache_unuse_cookie(inode, true);
	clear_inode(inode);

@@ -1013,7 +1013,7 @@ int ceph_fill_inode(struct inode *inode, struct page *locked_page,
	      le64_to_cpu(info->version), ci->i_version);

	/* Once I_NEW is cleared, we can't change type or dev numbers */
	if (inode->i_state & I_NEW) {
	if (inode_state_read_once(inode) & I_NEW) {
		inode->i_mode = mode;
	} else {
		if (inode_wrong_type(inode, mode)) {
@@ -1090,7 +1090,7 @@ int ceph_fill_inode(struct inode *inode, struct page *locked_page,

#ifdef CONFIG_FS_ENCRYPTION
	if (iinfo->fscrypt_auth_len &&
	    ((inode->i_state & I_NEW) || (ci->fscrypt_auth_len == 0))) {
	    ((inode_state_read_once(inode) & I_NEW) || (ci->fscrypt_auth_len == 0))) {
		kfree(ci->fscrypt_auth);
		ci->fscrypt_auth_len = iinfo->fscrypt_auth_len;
		ci->fscrypt_auth = iinfo->fscrypt_auth;
@@ -1692,13 +1692,13 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req)
			pr_err_client(cl, "badness %p %llx.%llx\n", in,
				      ceph_vinop(in));
			req->r_target_inode = NULL;
			if (in->i_state & I_NEW)
			if (inode_state_read_once(in) & I_NEW)
				discard_new_inode(in);
			else
				iput(in);
			goto done;
		}
		if (in->i_state & I_NEW)
		if (inode_state_read_once(in) & I_NEW)
			unlock_new_inode(in);
	}

@@ -1898,11 +1898,11 @@ static int readdir_prepopulate_inodes_only(struct ceph_mds_request *req,
			pr_err_client(cl, "inode badness on %p got %d\n", in,
				      rc);
			err = rc;
			if (in->i_state & I_NEW) {
			if (inode_state_read_once(in) & I_NEW) {
				ihold(in);
				discard_new_inode(in);
			}
		} else if (in->i_state & I_NEW) {
		} else if (inode_state_read_once(in) & I_NEW) {
			unlock_new_inode(in);
		}

@@ -2114,7 +2114,7 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
			pr_err_client(cl, "badness on %p %llx.%llx\n", in,
				      ceph_vinop(in));
			if (d_really_is_negative(dn)) {
				if (in->i_state & I_NEW) {
				if (inode_state_read_once(in) & I_NEW) {
					ihold(in);
					discard_new_inode(in);
				}
@@ -2124,7 +2124,7 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
			err = ret;
			goto next_item;
		}
		if (in->i_state & I_NEW)
		if (inode_state_read_once(in) & I_NEW)
			unlock_new_inode(in);

		if (d_really_is_negative(dn)) {