linux/drivers/target/target_core_file.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*******************************************************************************
 * Filename:  target_core_file.c
 *
 * This file contains the Storage Engine <-> FILEIO transport specific functions
 *
 * (c) Copyright 2005-2013 Datera, Inc.
 *
 * Nicholas A. Bellinger <[email protected]>
 *
 ******************************************************************************/

#include <linux/string.h>
#include <linux/parser.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/module.h>
#include <linux/vmalloc.h>
#include <linux/falloc.h>
#include <linux/uio.h>
#include <linux/scatterlist.h>
#include <scsi/scsi_proto.h>
#include <asm/unaligned.h>

#include <target/target_core_base.h>
#include <target/target_core_backend.h>

#include "target_core_file.h"

static inline struct fd_dev *FD_DEV(struct se_device *dev)
{}

static int fd_attach_hba(struct se_hba *hba, u32 host_id)
{}

static void fd_detach_hba(struct se_hba *hba)
{}

static struct se_device *fd_alloc_device(struct se_hba *hba, const char *name)
{}

static bool fd_configure_unmap(struct se_device *dev)
{}

static int fd_configure_device(struct se_device *dev)
{}

static void fd_dev_call_rcu(struct rcu_head *p)
{}

static void fd_free_device(struct se_device *dev)
{}

static void fd_destroy_device(struct se_device *dev)
{}

struct target_core_file_cmd {};

static void cmd_rw_aio_complete(struct kiocb *iocb, long ret)
{}

static sense_reason_t
fd_execute_rw_aio(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
	      enum dma_data_direction data_direction)
{}

static int fd_do_rw(struct se_cmd *cmd, struct file *fd,
		    u32 block_size, struct scatterlist *sgl,
		    u32 sgl_nents, u32 data_length, int is_write)
{}

static sense_reason_t
fd_execute_sync_cache(struct se_cmd *cmd)
{}

static sense_reason_t
fd_execute_write_same(struct se_cmd *cmd)
{}

static int
fd_do_prot_fill(struct se_device *se_dev, sector_t lba, sector_t nolb,
		void *buf, size_t bufsize)
{}

static int
fd_do_prot_unmap(struct se_cmd *cmd, sector_t lba, sector_t nolb)
{}

static sense_reason_t
fd_execute_unmap(struct se_cmd *cmd, sector_t lba, sector_t nolb)
{}

static sense_reason_t
fd_execute_rw_buffered(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
	      enum dma_data_direction data_direction)
{}

static sense_reason_t
fd_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
	      enum dma_data_direction data_direction)
{}

enum {};

static match_table_t tokens =;

static ssize_t fd_set_configfs_dev_params(struct se_device *dev,
		const char *page, ssize_t count)
{}

static ssize_t fd_show_configfs_dev_params(struct se_device *dev, char *b)
{}

static sector_t fd_get_blocks(struct se_device *dev)
{}

static int fd_init_prot(struct se_device *dev)
{}

static int fd_format_prot(struct se_device *dev)
{}

static void fd_free_prot(struct se_device *dev)
{}

static struct exec_cmd_ops fd_exec_cmd_ops =;

static sense_reason_t
fd_parse_cdb(struct se_cmd *cmd)
{}

static const struct target_backend_ops fileio_ops =;

static int __init fileio_module_init(void)
{}

static void __exit fileio_module_exit(void)
{}

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();

module_init();
module_exit(fileio_module_exit);