linux/fs/afs/yfsclient.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* YFS File Server client stubs
 *
 * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells ([email protected])
 */

#include <linux/init.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/circ_buf.h>
#include <linux/iversion.h>
#include "internal.h"
#include "afs_fs.h"
#include "xdr_fs.h"
#include "protocol_yfs.h"

#define xdr_size(x)

static void xdr_decode_YFSFid(const __be32 **_bp, struct afs_fid *fid)
{}

static __be32 *xdr_encode_u32(__be32 *bp, u32 n)
{}

static __be32 *xdr_encode_u64(__be32 *bp, u64 n)
{}

static __be32 *xdr_encode_YFSFid(__be32 *bp, struct afs_fid *fid)
{}

static size_t xdr_strlen(unsigned int len)
{}

static __be32 *xdr_encode_string(__be32 *bp, const char *p, unsigned int len)
{}

static __be32 *xdr_encode_name(__be32 *bp, const struct qstr *p)
{}

static s64 linux_to_yfs_time(const struct timespec64 *t)
{}

static __be32 *xdr_encode_YFSStoreStatus(__be32 *bp, mode_t *mode,
					 const struct timespec64 *t)
{}

/*
 * Convert a signed 100ns-resolution 64-bit time into a timespec.
 */
static struct timespec64 yfs_time_to_linux(s64 t)
{}

static struct timespec64 xdr_to_time(const struct yfs_xdr_u64 xdr)
{}

static void yfs_check_req(struct afs_call *call, __be32 *bp)
{}

/*
 * Dump a bad file status record.
 */
static void xdr_dump_bad(const __be32 *bp)
{}

/*
 * Decode a YFSFetchStatus block
 */
static void xdr_decode_YFSFetchStatus(const __be32 **_bp,
				      struct afs_call *call,
				      struct afs_status_cb *scb)
{}

/*
 * Decode a YFSCallBack block
 */
static void xdr_decode_YFSCallBack(const __be32 **_bp,
				   struct afs_call *call,
				   struct afs_status_cb *scb)
{}

/*
 * Decode a YFSVolSync block
 */
static void xdr_decode_YFSVolSync(const __be32 **_bp,
				  struct afs_volsync *volsync)
{}

/*
 * Encode the requested attributes into a YFSStoreStatus block
 */
static __be32 *xdr_encode_YFS_StoreStatus(__be32 *bp, struct iattr *attr)
{}

/*
 * Decode a YFSFetchVolumeStatus block.
 */
static void xdr_decode_YFSFetchVolumeStatus(const __be32 **_bp,
					    struct afs_volume_status *vs)
{}

/*
 * Deliver reply data to operations that just return a file status and a volume
 * sync record.
 */
static int yfs_deliver_status_and_volsync(struct afs_call *call)
{}

/*
 * Deliver reply data to an YFS.FetchData64.
 */
static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
{}

/*
 * YFS.FetchData64 operation type
 */
static const struct afs_call_type yfs_RXYFSFetchData64 =;

/*
 * Fetch data from a file.
 */
void yfs_fs_fetch_data(struct afs_operation *op)
{}

/*
 * Deliver reply data for YFS.CreateFile or YFS.MakeDir.
 */
static int yfs_deliver_fs_create_vnode(struct afs_call *call)
{}

/*
 * FS.CreateFile and FS.MakeDir operation type
 */
static const struct afs_call_type afs_RXFSCreateFile =;

/*
 * Create a file.
 */
void yfs_fs_create_file(struct afs_operation *op)
{}

static const struct afs_call_type yfs_RXFSMakeDir =;

/*
 * Make a directory.
 */
void yfs_fs_make_dir(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.RemoveFile2 operation.
 */
static int yfs_deliver_fs_remove_file2(struct afs_call *call)
{}

static void yfs_done_fs_remove_file2(struct afs_call *call)
{}

/*
 * YFS.RemoveFile2 operation type.
 */
static const struct afs_call_type yfs_RXYFSRemoveFile2 =;

/*
 * Remove a file and retrieve new file status.
 */
void yfs_fs_remove_file2(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.RemoveFile or YFS.RemoveDir operation.
 */
static int yfs_deliver_fs_remove(struct afs_call *call)
{}

/*
 * FS.RemoveDir and FS.RemoveFile operation types.
 */
static const struct afs_call_type yfs_RXYFSRemoveFile =;

/*
 * Remove a file.
 */
void yfs_fs_remove_file(struct afs_operation *op)
{}

static const struct afs_call_type yfs_RXYFSRemoveDir =;

/*
 * Remove a directory.
 */
void yfs_fs_remove_dir(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.Link operation.
 */
static int yfs_deliver_fs_link(struct afs_call *call)
{}

/*
 * YFS.Link operation type.
 */
static const struct afs_call_type yfs_RXYFSLink =;

/*
 * Make a hard link.
 */
void yfs_fs_link(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.Symlink operation.
 */
static int yfs_deliver_fs_symlink(struct afs_call *call)
{}

/*
 * YFS.Symlink operation type
 */
static const struct afs_call_type yfs_RXYFSSymlink =;

/*
 * Create a symbolic link.
 */
void yfs_fs_symlink(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.Rename operation.
 */
static int yfs_deliver_fs_rename(struct afs_call *call)
{}

/*
 * YFS.Rename operation type
 */
static const struct afs_call_type yfs_RXYFSRename =;

/*
 * Rename a file or directory.
 */
void yfs_fs_rename(struct afs_operation *op)
{}

/*
 * YFS.StoreData64 operation type.
 */
static const struct afs_call_type yfs_RXYFSStoreData64 =;

/*
 * Store a set of pages to a large file.
 */
void yfs_fs_store_data(struct afs_operation *op)
{}

/*
 * YFS.StoreStatus operation type
 */
static const struct afs_call_type yfs_RXYFSStoreStatus =;

static const struct afs_call_type yfs_RXYFSStoreData64_as_Status =;

/*
 * Set the attributes on a file, using YFS.StoreData64 rather than
 * YFS.StoreStatus so as to alter the file size also.
 */
static void yfs_fs_setattr_size(struct afs_operation *op)
{}

/*
 * Set the attributes on a file, using YFS.StoreData64 if there's a change in
 * file size, and YFS.StoreStatus otherwise.
 */
void yfs_fs_setattr(struct afs_operation *op)
{}

/*
 * Deliver reply data to a YFS.GetVolumeStatus operation.
 */
static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
{}

/*
 * YFS.GetVolumeStatus operation type
 */
static const struct afs_call_type yfs_RXYFSGetVolumeStatus =;

/*
 * fetch the status of a volume
 */
void yfs_fs_get_volume_status(struct afs_operation *op)
{}

/*
 * YFS.SetLock operation type
 */
static const struct afs_call_type yfs_RXYFSSetLock =;

/*
 * YFS.ExtendLock operation type
 */
static const struct afs_call_type yfs_RXYFSExtendLock =;

/*
 * YFS.ReleaseLock operation type
 */
static const struct afs_call_type yfs_RXYFSReleaseLock =;

/*
 * Set a lock on a file
 */
void yfs_fs_set_lock(struct afs_operation *op)
{}

/*
 * extend a lock on a file
 */
void yfs_fs_extend_lock(struct afs_operation *op)
{}

/*
 * release a lock on a file
 */
void yfs_fs_release_lock(struct afs_operation *op)
{}

/*
 * Deliver a reply to YFS.FetchStatus
 */
static int yfs_deliver_fs_fetch_status(struct afs_call *call)
{}

/*
 * YFS.FetchStatus operation type
 */
static const struct afs_call_type yfs_RXYFSFetchStatus =;

/*
 * Fetch the status information for a fid without needing a vnode handle.
 */
void yfs_fs_fetch_status(struct afs_operation *op)
{}

/*
 * Deliver reply data to an YFS.InlineBulkStatus call
 */
static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
{}

/*
 * FS.InlineBulkStatus operation type
 */
static const struct afs_call_type yfs_RXYFSInlineBulkStatus =;

/*
 * Fetch the status information for up to 1024 files
 */
void yfs_fs_inline_bulk_status(struct afs_operation *op)
{}

/*
 * Deliver reply data to an YFS.FetchOpaqueACL.
 */
static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call)
{}

void yfs_free_opaque_acl(struct yfs_acl *yacl)
{}

/*
 * YFS.FetchOpaqueACL operation type
 */
static const struct afs_call_type yfs_RXYFSFetchOpaqueACL =;

/*
 * Fetch the YFS advanced ACLs for a file.
 */
void yfs_fs_fetch_opaque_acl(struct afs_operation *op)
{}

/*
 * YFS.StoreOpaqueACL2 operation type
 */
static const struct afs_call_type yfs_RXYFSStoreOpaqueACL2 =;

/*
 * Fetch the YFS ACL for a file.
 */
void yfs_fs_store_opaque_acl2(struct afs_operation *op)
{}