コード例 #1
0
ファイル: file.c プロジェクト: 383530895/linux
int configfs_add_file(struct dentry * dir, const struct configfs_attribute * attr, int type)
{
	struct configfs_dirent * parent_sd = dir->d_fsdata;
	umode_t mode = (attr->ca_mode & S_IALLUGO) | S_IFREG;
	int error = 0;

	mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_NORMAL);
	error = configfs_make_dirent(parent_sd, NULL, (void *) attr, mode, type);
	mutex_unlock(&dir->d_inode->i_mutex);

	return error;
}
コード例 #2
0
int configfs_add_file(struct dentry * dir, const struct configfs_attribute * attr, int type)
{
	struct configfs_dirent * parent_sd = dir->d_fsdata;
	umode_t mode = (attr->ca_mode & S_IALLUGO) | S_IFREG;
	int error = 0;
	struct inode *inode = tx_cache_get_dentry(dir)->d_inode;

	mutex_lock(&inode->i_mutex);
	error = configfs_make_dirent(parent_sd, NULL, (void *) attr, mode, type);
	mutex_unlock(&inode->i_mutex);

	return error;
}
コード例 #3
0
ファイル: file.c プロジェクト: vmayoral/snappy-kernel
int configfs_create_file(struct config_item * item, const struct configfs_attribute * attr)
{
    struct dentry *dir = item->ci_dentry;
    struct configfs_dirent *parent_sd = dir->d_fsdata;
    umode_t mode = (attr->ca_mode & S_IALLUGO) | S_IFREG;
    int error = 0;

    mutex_lock_nested(&d_inode(dir)->i_mutex, I_MUTEX_NORMAL);
    error = configfs_make_dirent(parent_sd, NULL, (void *) attr, mode,
                                 CONFIGFS_ITEM_ATTR);
    mutex_unlock(&d_inode(dir)->i_mutex);

    return error;
}
コード例 #4
0
ファイル: file.c プロジェクト: 513855417/linux
int configfs_create_bin_file(struct config_item *item,
		const struct configfs_bin_attribute *bin_attr)
{
	struct dentry *dir = item->ci_dentry;
	struct configfs_dirent *parent_sd = dir->d_fsdata;
	umode_t mode = (bin_attr->cb_attr.ca_mode & S_IALLUGO) | S_IFREG;
	int error = 0;

	inode_lock_nested(dir->d_inode, I_MUTEX_NORMAL);
	error = configfs_make_dirent(parent_sd, NULL, (void *) bin_attr, mode,
				     CONFIGFS_ITEM_BIN_ATTR);
	inode_unlock(dir->d_inode);

	return error;
}