1e21c39aaSAnton Nayshtut /* SPDX-License-Identifier: BSD-3-Clause 2e21c39aaSAnton Nayshtut * Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3e21c39aaSAnton Nayshtut */ 4e21c39aaSAnton Nayshtut 5e21c39aaSAnton Nayshtut /** \file 6e21c39aaSAnton Nayshtut * Operations on aio filesystem device 7e21c39aaSAnton Nayshtut */ 8e21c39aaSAnton Nayshtut 9e21c39aaSAnton Nayshtut #ifndef SPDK_FSDEV_AIO_H 10e21c39aaSAnton Nayshtut #define SPDK_FSDEV_AIO_H 11e21c39aaSAnton Nayshtut 12e21c39aaSAnton Nayshtut #include "spdk/stdinc.h" 13e21c39aaSAnton Nayshtut #include "spdk/fsdev_module.h" 14e21c39aaSAnton Nayshtut 15e21c39aaSAnton Nayshtut struct spdk_fsdev_aio_opts { 16e21c39aaSAnton Nayshtut bool xattr_enabled; 17e21c39aaSAnton Nayshtut bool writeback_cache_enabled; 18e21c39aaSAnton Nayshtut uint32_t max_write; 19*92108e0aSYoray Zack bool skip_rw; 20e21c39aaSAnton Nayshtut }; 21e21c39aaSAnton Nayshtut 22e21c39aaSAnton Nayshtut typedef void (*spdk_delete_aio_fsdev_complete)(void *cb_arg, int fsdeverrno); 23e21c39aaSAnton Nayshtut 24e21c39aaSAnton Nayshtut void spdk_fsdev_aio_get_default_opts(struct spdk_fsdev_aio_opts *opts); 25e21c39aaSAnton Nayshtut 26e21c39aaSAnton Nayshtut int spdk_fsdev_aio_create(struct spdk_fsdev **fsdev, const char *name, const char *root_path, 27e21c39aaSAnton Nayshtut const struct spdk_fsdev_aio_opts *opts); 28e21c39aaSAnton Nayshtut void spdk_fsdev_aio_delete(const char *name, spdk_delete_aio_fsdev_complete cb_fn, void *cb_arg); 29e21c39aaSAnton Nayshtut 30e21c39aaSAnton Nayshtut #endif /* SPDK_FSDEV_AIO_H */ 31