mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00

Mostly using a set like: indent -nut -i 4 -nlp -br -cs -ce --no-space-after-function-call-names file clang-format -style=file -i -- file clang-tidy -fix-errors -checks=readability-braces-around-statements file clang-format -style=file -i -- file With manual cleanups. The .clang-format used is below. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed by: Aleksandar Markovic <amarkovic@wavecomp.com> Language: Cpp AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false # although we like it, it creates churn AlignConsecutiveDeclarations: false AlignEscapedNewlinesLeft: true AlignOperands: true AlignTrailingComments: false # churn AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: None AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AlwaysBreakAfterReturnType: None # AlwaysBreakAfterDefinitionReturnType is taken into account AlwaysBreakBeforeMultilineStrings: false BinPackArguments: true BinPackParameters: true BraceWrapping: AfterControlStatement: false AfterEnum: false AfterFunction: true AfterStruct: false AfterUnion: false BeforeElse: false IndentBraces: false BreakBeforeBinaryOperators: None BreakBeforeBraces: Custom BreakBeforeTernaryOperators: false BreakStringLiterals: true ColumnLimit: 80 ContinuationIndentWidth: 4 Cpp11BracedListStyle: false DerivePointerAlignment: false DisableFormat: false ForEachMacros: [ 'CPU_FOREACH', 'CPU_FOREACH_REVERSE', 'CPU_FOREACH_SAFE', 'IOMMU_NOTIFIER_FOREACH', 'QLIST_FOREACH', 'QLIST_FOREACH_ENTRY', 'QLIST_FOREACH_RCU', 'QLIST_FOREACH_SAFE', 'QLIST_FOREACH_SAFE_RCU', 'QSIMPLEQ_FOREACH', 'QSIMPLEQ_FOREACH_SAFE', 'QSLIST_FOREACH', 'QSLIST_FOREACH_SAFE', 'QTAILQ_FOREACH', 'QTAILQ_FOREACH_REVERSE', 'QTAILQ_FOREACH_SAFE', 'QTAILQ_RAW_FOREACH', 'RAMBLOCK_FOREACH' ] IncludeCategories: - Regex: '^"qemu/osdep.h' Priority: -3 - Regex: '^"(block|chardev|crypto|disas|exec|fpu|hw|io|libdecnumber|migration|monitor|net|qapi|qemu|qom|standard-headers|sysemu|ui)/' Priority: -2 - Regex: '^"(elf.h|qemu-common.h|glib-compat.h|qemu-io.h|trace-tcg.h)' Priority: -1 - Regex: '.*' Priority: 1 IncludeIsMainRegex: '$' IndentCaseLabels: false IndentWidth: 4 IndentWrappedFunctionNames: false KeepEmptyLinesAtTheStartOfBlocks: false MacroBlockBegin: '.*_BEGIN$' # only PREC_BEGIN ? MacroBlockEnd: '.*_END$' MaxEmptyLinesToKeep: 2 PointerAlignment: Right ReflowComments: true SortIncludes: true SpaceAfterCStyleCast: false SpaceBeforeAssignmentOperators: true SpaceBeforeParens: ControlStatements SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 SpacesInContainerLiterals: true SpacesInParentheses: false SpacesInSquareBrackets: false Standard: Auto UseTab: Never ... Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
99 lines
2.2 KiB
C
99 lines
2.2 KiB
C
/*
|
|
* FUSE: Filesystem in Userspace
|
|
* Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
|
|
*
|
|
* This program can be distributed under the terms of the GNU LGPLv2.
|
|
* See the file COPYING.LIB
|
|
*/
|
|
|
|
#include "fuse.h"
|
|
#include "fuse_lowlevel.h"
|
|
|
|
struct fuse_req {
|
|
struct fuse_session *se;
|
|
uint64_t unique;
|
|
int ctr;
|
|
pthread_mutex_t lock;
|
|
struct fuse_ctx ctx;
|
|
struct fuse_chan *ch;
|
|
int interrupted;
|
|
unsigned int ioctl_64bit:1;
|
|
union {
|
|
struct {
|
|
uint64_t unique;
|
|
} i;
|
|
struct {
|
|
fuse_interrupt_func_t func;
|
|
void *data;
|
|
} ni;
|
|
} u;
|
|
struct fuse_req *next;
|
|
struct fuse_req *prev;
|
|
};
|
|
|
|
struct fuse_notify_req {
|
|
uint64_t unique;
|
|
void (*reply)(struct fuse_notify_req *, fuse_req_t, fuse_ino_t,
|
|
const void *, const struct fuse_buf *);
|
|
struct fuse_notify_req *next;
|
|
struct fuse_notify_req *prev;
|
|
};
|
|
|
|
struct fuse_session {
|
|
char *mountpoint;
|
|
volatile int exited;
|
|
int fd;
|
|
int debug;
|
|
int deny_others;
|
|
struct fuse_lowlevel_ops op;
|
|
int got_init;
|
|
struct cuse_data *cuse_data;
|
|
void *userdata;
|
|
uid_t owner;
|
|
struct fuse_conn_info conn;
|
|
struct fuse_req list;
|
|
struct fuse_req interrupts;
|
|
pthread_mutex_t lock;
|
|
int got_destroy;
|
|
int broken_splice_nonblock;
|
|
uint64_t notify_ctr;
|
|
struct fuse_notify_req notify_list;
|
|
size_t bufsize;
|
|
int error;
|
|
};
|
|
|
|
struct fuse_chan {
|
|
pthread_mutex_t lock;
|
|
int ctr;
|
|
int fd;
|
|
};
|
|
|
|
/**
|
|
* Filesystem module
|
|
*
|
|
* Filesystem modules are registered with the FUSE_REGISTER_MODULE()
|
|
* macro.
|
|
*
|
|
*/
|
|
struct fuse_module {
|
|
char *name;
|
|
fuse_module_factory_t factory;
|
|
struct fuse_module *next;
|
|
struct fusemod_so *so;
|
|
int ctr;
|
|
};
|
|
|
|
int fuse_send_reply_iov_nofree(fuse_req_t req, int error, struct iovec *iov,
|
|
int count);
|
|
void fuse_free_req(fuse_req_t req);
|
|
|
|
void fuse_session_process_buf_int(struct fuse_session *se,
|
|
const struct fuse_buf *buf,
|
|
struct fuse_chan *ch);
|
|
|
|
|
|
#define FUSE_MAX_MAX_PAGES 256
|
|
#define FUSE_DEFAULT_MAX_PAGES_PER_REQ 32
|
|
|
|
/* room needed in buffer to accommodate header */
|
|
#define FUSE_BUFFER_HEADER_SIZE 0x1000
|