qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 000/111] virtiofs queue


From: no-reply
Subject: Re: [PULL 000/111] virtiofs queue
Date: Thu, 23 Jan 2020 07:13:51 -0800 (PST)

Patchew URL: https://patchew.org/QEMU/address@hidden/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: address@hidden
Subject: [PULL 000/111] virtiofs queue

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Switched to a new branch 'test'
01f242f virtiofsd: add some options to the help message
571166a virtiofsd: stop all queue threads on exit in virtio_loop()
dc2cd3d virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()
1d37492 virtiofsd: Convert lo_destroy to take the lo->mutex lock itself
1f3e36c virtiofsd: add --thread-pool-size=NUM option
36d2296 virtiofsd: fix lo_destroy() resource leaks
d6d15b3 virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races
e50a501 virtiofsd: process requests in a thread pool
5d532a4 virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better 
performance
5e0bc65 virtiofsd: add definition of fuse_buf_writev()
90e41c7 virtiofsd: passthrough_ll: Use cache_readdir for directory open
7c74ca3 virtiofsd: Fix data corruption with O_APPEND write in writeback mode
7d962ff virtiofsd: Reset O_DIRECT flag during file open
22ff386 virtiofsd: convert more fprintf and perror to use fuse log infra
54af8fa virtiofsd: do not always set FUSE_FLOCK_LOCKS
91b2095 virtiofsd: introduce inode refcount to prevent use-after-free
b30da17 virtiofsd: passthrough_ll: fix refcounting on remove/rename
6a52a9c virtiofsd: add man page
7ad9f92 libvhost-user: Fix some memtable remap cases
135fd20 virtiofsd: rename inode->refcount to inode->nlookup
4033963 virtiofsd: prevent races with lo_dirp_put()
7ad63ce virtiofsd: make lo_release() atomic
148e0b8 virtiofsd: prevent fv_queue_thread() vs virtio_loop() races
f187715 virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy()
b27bd89 virtiofsd: Support remote posix locks
97b37e4 Virtiofsd: fix memory leak on fuse queueinfo
b034067 virtiofsd: fix incorrect error handling in lo_do_lookup
45b84fe virtiofsd: enable PARALLEL_DIROPS during INIT
ed19172 virtiofsd: Prevent multiply running with same vhost_user_socket
b96a63c virtiofsd: add helper for lo_data cleanup
34937ad virtiofsd: fix memory leak on lo.source
4e23b88 virtiofsd: cleanup allocated resource in se
97b7ba6 virtiofsd: fix error handling in main()
d07081b virtiofsd: support nanosecond resolution for file timestamp
9e8b02e virtiofsd: Clean up inodes on destroy
0187ecb virtiofsd: passthrough_ll: use hashtable
e55c0a2 virtiofsd: passthrough_ll: clean up cache related options
b50d379 virtiofsd: extract root inode init into setup_root()
a1f7cd1 virtiofsd: fail when parent inode isn't known in lo_do_lookup()
47137ce virtiofsd: rename unref_inode() to unref_inode_lolocked()
fdafd0b virtiofsd: passthrough_ll: control readdirplus
5bcb411 virtiofsd: passthrough_ll: disable readdirplus on cache=never
3c0f02f virtiofsd: passthrough_ll: add renameat2 support
4468148 contrib/libvhost-user: Protect slave fd with mutex
fe82538 vhost-user: Print unexpected slave message types
99bc000 virtiofsd: Kill threads when queues are stopped
c1bbe99 virtiofsd: Handle hard reboot
3fb6ed2 virtiofsd: Handle reinit
e240e7d virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level
e576492 virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level
aec21e3 virtiofsd: print log only when priority is high enough
ed8c489 virtiofsd: add --syslog command-line option
b2cbdeb virtiofsd: add security guide document
9dfd803 docs: Add docs/tools
28097ad virtiofsd: fix libfuse information leaks
b34ef47 virtiofsd: set maximum RLIMIT_NOFILE limit
1548483 virtiofsd: Drop CAP_FSETID if client asked for it
74c06be virtiofsd: cap-ng helpers
67881a5 virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV
40894f5 virtiofsd: add seccomp whitelist
0a61813 virtiofsd: move to a new pid namespace
1a1933b virtiofsd: move to an empty network namespace
bbe5feb virtiofsd: sandbox mount namespace
af0815d virtiofsd: use /proc/self/fd/ O_PATH file descriptor
38e6a9f virtiofsd: prevent ".." escape in lo_do_readdir()
a75c596 virtiofsd: prevent ".." escape in lo_do_lookup()
91b0823 virtiofsd: check input buffer size in fuse_lowlevel.c ops
1b03e08 virtiofsd: validate input buffer sizes in do_write_buf()
6297f77 virtiofsd: add fuse_mbuf_iter API
fba801a virtiofsd: Pass write iov's all the way through
5fb21b6 virtiofsd: Plumb fuse_bufvec through to do_write_buf
2b64825 virtiofsd: validate path components
f023992 virtiofsd: passthrough_ll: add fallback for racy ops
bc455a7 virtiofsd: passthrough_ll: add fd_map to hide file descriptors
c5494b4 virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers
38933cd virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers
c45ea07 virtiofsd: passthrough_ll: add lo_map for ino/fh indirection
6237c27 virtiofsd: passthrough_ll: create new files in caller's context
3e1c294 virtiofs: Add maintainers entry
52fd5cd virtiofsd: add --print-capabilities option
b891ef8 virtiofsd: add vhost-user.json file
abb1db4 virtiofsd: make -f (foreground) the default
bad1151 virtiofsd: add --fd=FDNUM fd passing option
f827cc9 virtiofsd: Fast path for virtio read
0d4e62b virtiofsd: Add Makefile wiring for virtiofsd contrib
946ef82 virtiofsd: Keep track of replies
2aad39d virtiofsd: Send replies to messages
67b2916 virtiofsd: Start reading commands from queue
ac43cd8 virtiofsd: Poll kick_fd for queue
43a0f04 virtiofsd: Start queue threads
5e09273 virtiofsd: get/set features callbacks
9379460 virtiofsd: Add main virtio loop
0554213 virtiofsd: Start wiring up vhost-user
b4b44c0 virtiofsd: Open vhost connection instead of mounting
34bb498 virtiofsd: add -o source=PATH to help output
8dd452e virtiofsd: Add options for virtio
727077a virtiofsd: Make fsync work even if only inode is passed in
59f2c08 vitriofsd/passthrough_ll: fix fallocate() ifdefs
3d3baa6 virtiofsd: Trim out compatibility code
ec05a51 virtiofsd: Fix common header and define for QEMU builds
ff9eccd virtiofsd: Fix fuse_daemonize ignored return values
272f0ae virtiofsd: Remove unused enum fuse_buf_copy_flags
609c48c virtiofsd: remove unused notify reply support
12da082 virtiofsd: remove mountpoint dummy argument
0bee017 virtiofsd: Format imported files to qemu style
fb4748c virtiofsd: Trim down imported files
9078a94 virtiofsd: Add passthrough_ll
2fbe697 virtiofsd: Add fuse_lowlevel.c
218ce13 virtiofsd: Add auxiliary .c's
927a128 virtiofsd: Pull in kernel's fuse.h
f341e44 virtiofsd: Pull in upstream headers

=== OUTPUT BEGIN ===
1/111 Checking commit f341e443ad96 (virtiofsd: Pull in upstream headers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#16: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#22: FILE: tools/virtiofsd/fuse.h:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#32: FILE: tools/virtiofsd/fuse.h:12:
+/** @file

WARNING: architecture specific defines should be avoided
#48: FILE: tools/virtiofsd/fuse.h:28:
+#ifdef __cplusplus

WARNING: Block comments use a leading /* on a separate line
#52: FILE: tools/virtiofsd/fuse.h:32:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#53: FILE: tools/virtiofsd/fuse.h:33:
+ * Basic FUSE API^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#54: FILE: tools/virtiofsd/fuse.h:34:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#63: FILE: tools/virtiofsd/fuse.h:43:
+^I/**$

ERROR: code indent should never use tabs
#64: FILE: tools/virtiofsd/fuse.h:44:
+^I * "Plus" mode.$

ERROR: code indent should never use tabs
#65: FILE: tools/virtiofsd/fuse.h:45:
+^I *$

ERROR: code indent should never use tabs
#66: FILE: tools/virtiofsd/fuse.h:46:
+^I * The kernel wants to prefill the inode cache during readdir.  The$

ERROR: code indent should never use tabs
#67: FILE: tools/virtiofsd/fuse.h:47:
+^I * filesystem may honour this by filling in the attributes and setting$

ERROR: code indent should never use tabs
#68: FILE: tools/virtiofsd/fuse.h:48:
+^I * FUSE_FILL_DIR_FLAGS for the filler function.  The filesystem may also$

ERROR: code indent should never use tabs
#69: FILE: tools/virtiofsd/fuse.h:49:
+^I * just ignore this flag completely.$

ERROR: code indent should never use tabs
#70: FILE: tools/virtiofsd/fuse.h:50:
+^I */$

ERROR: code indent should never use tabs
#71: FILE: tools/virtiofsd/fuse.h:51:
+^IFUSE_READDIR_PLUS = (1 << 0),$

ERROR: code indent should never use tabs
#75: FILE: tools/virtiofsd/fuse.h:55:
+^I/**$

ERROR: code indent should never use tabs
#76: FILE: tools/virtiofsd/fuse.h:56:
+^I * "Plus" mode: all file attributes are valid$

ERROR: code indent should never use tabs
#77: FILE: tools/virtiofsd/fuse.h:57:
+^I *$

ERROR: code indent should never use tabs
#78: FILE: tools/virtiofsd/fuse.h:58:
+^I * The attributes are used by the kernel to prefill the inode cache$

ERROR: code indent should never use tabs
#79: FILE: tools/virtiofsd/fuse.h:59:
+^I * during a readdir.$

ERROR: code indent should never use tabs
#80: FILE: tools/virtiofsd/fuse.h:60:
+^I *$

ERROR: code indent should never use tabs
#81: FILE: tools/virtiofsd/fuse.h:61:
+^I * It is okay to set FUSE_FILL_DIR_PLUS if FUSE_READDIR_PLUS is not set$

ERROR: code indent should never use tabs
#82: FILE: tools/virtiofsd/fuse.h:62:
+^I * and vice versa.$

ERROR: code indent should never use tabs
#83: FILE: tools/virtiofsd/fuse.h:63:
+^I */$

ERROR: code indent should never use tabs
#84: FILE: tools/virtiofsd/fuse.h:64:
+^IFUSE_FILL_DIR_PLUS = (1 << 1),$

WARNING: Block comments use a leading /* on a separate line
#87: FILE: tools/virtiofsd/fuse.h:67:
+/** Function to add an entry in a readdir() operation

ERROR: trailing whitespace
#94: FILE: tools/virtiofsd/fuse.h:74:
+ * $

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/fuse.h:83:
+^I^I^I^Iconst struct stat *stbuf, off_t off,$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/fuse.h:84:
+^I^I^I^Ienum fuse_fill_dir_flags flags);$

ERROR: code indent should never use tabs
#114: FILE: tools/virtiofsd/fuse.h:94:
+^I/**$

ERROR: code indent should never use tabs
#115: FILE: tools/virtiofsd/fuse.h:95:
+^I * If `set_gid` is non-zero, the st_gid attribute of each file$

ERROR: code indent should never use tabs
#116: FILE: tools/virtiofsd/fuse.h:96:
+^I * is overwritten with the value of `gid`.$

ERROR: code indent should never use tabs
#117: FILE: tools/virtiofsd/fuse.h:97:
+^I */$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/fuse.h:98:
+^Iint set_gid;$

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/fuse.h:99:
+^Iunsigned int gid;$

ERROR: code indent should never use tabs
#121: FILE: tools/virtiofsd/fuse.h:101:
+^I/**$

ERROR: code indent should never use tabs
#122: FILE: tools/virtiofsd/fuse.h:102:
+^I * If `set_uid` is non-zero, the st_uid attribute of each file$

ERROR: code indent should never use tabs
#123: FILE: tools/virtiofsd/fuse.h:103:
+^I * is overwritten with the value of `uid`.$

ERROR: code indent should never use tabs
#124: FILE: tools/virtiofsd/fuse.h:104:
+^I */$

ERROR: code indent should never use tabs
#125: FILE: tools/virtiofsd/fuse.h:105:
+^Iint set_uid;$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/fuse.h:106:
+^Iunsigned int uid;$

ERROR: code indent should never use tabs
#128: FILE: tools/virtiofsd/fuse.h:108:
+^I/**$

ERROR: code indent should never use tabs
#129: FILE: tools/virtiofsd/fuse.h:109:
+^I * If `set_mode` is non-zero, the any permissions bits set in$

ERROR: code indent should never use tabs
#130: FILE: tools/virtiofsd/fuse.h:110:
+^I * `umask` are unset in the st_mode attribute of each file.$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/fuse.h:111:
+^I */$

ERROR: code indent should never use tabs
#132: FILE: tools/virtiofsd/fuse.h:112:
+^Iint set_mode;$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/fuse.h:113:
+^Iunsigned int umask;$

ERROR: code indent should never use tabs
#135: FILE: tools/virtiofsd/fuse.h:115:
+^I/**$

ERROR: code indent should never use tabs
#136: FILE: tools/virtiofsd/fuse.h:116:
+^I * The timeout in seconds for which name lookups will be$

ERROR: code indent should never use tabs
#137: FILE: tools/virtiofsd/fuse.h:117:
+^I * cached.$

ERROR: code indent should never use tabs
#138: FILE: tools/virtiofsd/fuse.h:118:
+^I */$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/fuse.h:119:
+^Idouble entry_timeout;$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/fuse.h:121:
+^I/**$

ERROR: code indent should never use tabs
#142: FILE: tools/virtiofsd/fuse.h:122:
+^I * The timeout in seconds for which a negative lookup will be$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/fuse.h:123:
+^I * cached. This means, that if file did not exist (lookup$

ERROR: code indent should never use tabs
#144: FILE: tools/virtiofsd/fuse.h:124:
+^I * retuned ENOENT), the lookup will only be redone after the$

ERROR: code indent should never use tabs
#145: FILE: tools/virtiofsd/fuse.h:125:
+^I * timeout, and the file/directory will be assumed to not$

ERROR: code indent should never use tabs
#146: FILE: tools/virtiofsd/fuse.h:126:
+^I * exist until then. A value of zero means that negative$

ERROR: code indent should never use tabs
#147: FILE: tools/virtiofsd/fuse.h:127:
+^I * lookups are not cached.$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/fuse.h:128:
+^I */$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/fuse.h:129:
+^Idouble negative_timeout;$

ERROR: code indent should never use tabs
#151: FILE: tools/virtiofsd/fuse.h:131:
+^I/**$

ERROR: code indent should never use tabs
#152: FILE: tools/virtiofsd/fuse.h:132:
+^I * The timeout in seconds for which file/directory attributes$

ERROR: code indent should never use tabs
#153: FILE: tools/virtiofsd/fuse.h:133:
+^I * (as returned by e.g. the `getattr` handler) are cached.$

ERROR: code indent should never use tabs
#154: FILE: tools/virtiofsd/fuse.h:134:
+^I */$

ERROR: code indent should never use tabs
#155: FILE: tools/virtiofsd/fuse.h:135:
+^Idouble attr_timeout;$

ERROR: code indent should never use tabs
#157: FILE: tools/virtiofsd/fuse.h:137:
+^I/**$

ERROR: code indent should never use tabs
#158: FILE: tools/virtiofsd/fuse.h:138:
+^I * Allow requests to be interrupted$

ERROR: code indent should never use tabs
#159: FILE: tools/virtiofsd/fuse.h:139:
+^I */$

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/fuse.h:140:
+^Iint intr;$

ERROR: code indent should never use tabs
#162: FILE: tools/virtiofsd/fuse.h:142:
+^I/**$

ERROR: code indent should never use tabs
#163: FILE: tools/virtiofsd/fuse.h:143:
+^I * Specify which signal number to send to the filesystem when$

ERROR: code indent should never use tabs
#164: FILE: tools/virtiofsd/fuse.h:144:
+^I * a request is interrupted.  The default is hardcoded to$

ERROR: code indent should never use tabs
#165: FILE: tools/virtiofsd/fuse.h:145:
+^I * USR1.$

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/fuse.h:146:
+^I */$

ERROR: code indent should never use tabs
#167: FILE: tools/virtiofsd/fuse.h:147:
+^Iint intr_signal;$

ERROR: code indent should never use tabs
#169: FILE: tools/virtiofsd/fuse.h:149:
+^I/**$

ERROR: code indent should never use tabs
#170: FILE: tools/virtiofsd/fuse.h:150:
+^I * Normally, FUSE assigns inodes to paths only for as long as$

ERROR: code indent should never use tabs
#171: FILE: tools/virtiofsd/fuse.h:151:
+^I * the kernel is aware of them. With this option inodes are$

ERROR: code indent should never use tabs
#172: FILE: tools/virtiofsd/fuse.h:152:
+^I * instead remembered for at least this many seconds.  This$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/fuse.h:153:
+^I * will require more memory, but may be necessary when using$

ERROR: code indent should never use tabs
#174: FILE: tools/virtiofsd/fuse.h:154:
+^I * applications that make use of inode numbers.$

ERROR: code indent should never use tabs
#175: FILE: tools/virtiofsd/fuse.h:155:
+^I *$

ERROR: code indent should never use tabs
#176: FILE: tools/virtiofsd/fuse.h:156:
+^I * A number of -1 means that inodes will be remembered for the$

ERROR: code indent should never use tabs
#177: FILE: tools/virtiofsd/fuse.h:157:
+^I * entire life-time of the file-system process.$

ERROR: code indent should never use tabs
#178: FILE: tools/virtiofsd/fuse.h:158:
+^I */$

ERROR: code indent should never use tabs
#179: FILE: tools/virtiofsd/fuse.h:159:
+^Iint remember;$

ERROR: code indent should never use tabs
#181: FILE: tools/virtiofsd/fuse.h:161:
+^I/**$

ERROR: code indent should never use tabs
#182: FILE: tools/virtiofsd/fuse.h:162:
+^I * The default behavior is that if an open file is deleted,$

ERROR: code indent should never use tabs
#183: FILE: tools/virtiofsd/fuse.h:163:
+^I * the file is renamed to a hidden file (.fuse_hiddenXXX), and$

ERROR: code indent should never use tabs
#184: FILE: tools/virtiofsd/fuse.h:164:
+^I * only removed when the file is finally released.  This$

ERROR: code indent should never use tabs
#185: FILE: tools/virtiofsd/fuse.h:165:
+^I * relieves the filesystem implementation of having to deal$

ERROR: code indent should never use tabs
#186: FILE: tools/virtiofsd/fuse.h:166:
+^I * with this problem. This option disables the hiding$

ERROR: code indent should never use tabs
#187: FILE: tools/virtiofsd/fuse.h:167:
+^I * behavior, and files are removed immediately in an unlink$

ERROR: code indent should never use tabs
#188: FILE: tools/virtiofsd/fuse.h:168:
+^I * operation (or in a rename operation which overwrites an$

ERROR: code indent should never use tabs
#189: FILE: tools/virtiofsd/fuse.h:169:
+^I * existing file).$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/fuse.h:170:
+^I *$

ERROR: code indent should never use tabs
#191: FILE: tools/virtiofsd/fuse.h:171:
+^I * It is recommended that you not use the hard_remove$

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/fuse.h:172:
+^I * option. When hard_remove is set, the following libc$

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/fuse.h:173:
+^I * functions fail on unlinked files (returning errno of$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/fuse.h:174:
+^I * ENOENT): read(2), write(2), fsync(2), close(2), f*xattr(2),$

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/fuse.h:175:
+^I * ftruncate(2), fstat(2), fchmod(2), fchown(2)$

ERROR: code indent should never use tabs
#196: FILE: tools/virtiofsd/fuse.h:176:
+^I */$

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/fuse.h:177:
+^Iint hard_remove;$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/fuse.h:179:
+^I/**$

ERROR: code indent should never use tabs
#200: FILE: tools/virtiofsd/fuse.h:180:
+^I * Honor the st_ino field in the functions getattr() and$

ERROR: code indent should never use tabs
#201: FILE: tools/virtiofsd/fuse.h:181:
+^I * fill_dir(). This value is used to fill in the st_ino field$

ERROR: code indent should never use tabs
#202: FILE: tools/virtiofsd/fuse.h:182:
+^I * in the stat(2), lstat(2), fstat(2) functions and the d_ino$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/fuse.h:183:
+^I * field in the readdir(2) function. The filesystem does not$

ERROR: code indent should never use tabs
#204: FILE: tools/virtiofsd/fuse.h:184:
+^I * have to guarantee uniqueness, however some applications$

ERROR: code indent should never use tabs
#205: FILE: tools/virtiofsd/fuse.h:185:
+^I * rely on this value being unique for the whole filesystem.$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/fuse.h:186:
+^I *$

ERROR: trailing whitespace
#207: FILE: tools/virtiofsd/fuse.h:187:
+^I * Note that this does *not* affect the inode that libfuse $

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/fuse.h:187:
+^I * Note that this does *not* affect the inode that libfuse $

ERROR: code indent should never use tabs
#208: FILE: tools/virtiofsd/fuse.h:188:
+^I * and the kernel use internally (also called the "nodeid").$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/fuse.h:189:
+^I */$

ERROR: code indent should never use tabs
#210: FILE: tools/virtiofsd/fuse.h:190:
+^Iint use_ino;$

ERROR: code indent should never use tabs
#212: FILE: tools/virtiofsd/fuse.h:192:
+^I/**$

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/fuse.h:193:
+^I * If use_ino option is not given, still try to fill in the$

ERROR: code indent should never use tabs
#214: FILE: tools/virtiofsd/fuse.h:194:
+^I * d_ino field in readdir(2). If the name was previously$

ERROR: code indent should never use tabs
#215: FILE: tools/virtiofsd/fuse.h:195:
+^I * looked up, and is still in the cache, the inode number$

ERROR: code indent should never use tabs
#216: FILE: tools/virtiofsd/fuse.h:196:
+^I * found there will be used.  Otherwise it will be set to -1.$

ERROR: code indent should never use tabs
#217: FILE: tools/virtiofsd/fuse.h:197:
+^I * If use_ino option is given, this option is ignored.$

ERROR: code indent should never use tabs
#218: FILE: tools/virtiofsd/fuse.h:198:
+^I */$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/fuse.h:199:
+^Iint readdir_ino;$

ERROR: code indent should never use tabs
#221: FILE: tools/virtiofsd/fuse.h:201:
+^I/**$

ERROR: code indent should never use tabs
#222: FILE: tools/virtiofsd/fuse.h:202:
+^I * This option disables the use of page cache (file content cache)$

ERROR: code indent should never use tabs
#223: FILE: tools/virtiofsd/fuse.h:203:
+^I * in the kernel for this filesystem. This has several affects:$

ERROR: code indent should never use tabs
#224: FILE: tools/virtiofsd/fuse.h:204:
+^I *$

ERROR: code indent should never use tabs
#225: FILE: tools/virtiofsd/fuse.h:205:
+^I * 1. Each read(2) or write(2) system call will initiate one$

ERROR: code indent should never use tabs
#226: FILE: tools/virtiofsd/fuse.h:206:
+^I *    or more read or write operations, data will not be$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/fuse.h:207:
+^I *    cached in the kernel.$

ERROR: code indent should never use tabs
#228: FILE: tools/virtiofsd/fuse.h:208:
+^I *$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/fuse.h:209:
+^I * 2. The return value of the read() and write() system calls$

ERROR: code indent should never use tabs
#230: FILE: tools/virtiofsd/fuse.h:210:
+^I *    will correspond to the return values of the read and$

ERROR: code indent should never use tabs
#231: FILE: tools/virtiofsd/fuse.h:211:
+^I *    write operations. This is useful for example if the$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/fuse.h:212:
+^I *    file size is not known in advance (before reading it).$

ERROR: code indent should never use tabs
#233: FILE: tools/virtiofsd/fuse.h:213:
+^I *$

ERROR: code indent should never use tabs
#234: FILE: tools/virtiofsd/fuse.h:214:
+^I * Internally, enabling this option causes fuse to set the$

ERROR: code indent should never use tabs
#235: FILE: tools/virtiofsd/fuse.h:215:
+^I * `direct_io` field of `struct fuse_file_info` - overwriting$

ERROR: code indent should never use tabs
#236: FILE: tools/virtiofsd/fuse.h:216:
+^I * any value that was put there by the file system.$

ERROR: code indent should never use tabs
#237: FILE: tools/virtiofsd/fuse.h:217:
+^I */$

ERROR: code indent should never use tabs
#238: FILE: tools/virtiofsd/fuse.h:218:
+^Iint direct_io;$

ERROR: code indent should never use tabs
#240: FILE: tools/virtiofsd/fuse.h:220:
+^I/**$

ERROR: code indent should never use tabs
#241: FILE: tools/virtiofsd/fuse.h:221:
+^I * This option disables flushing the cache of the file$

ERROR: code indent should never use tabs
#242: FILE: tools/virtiofsd/fuse.h:222:
+^I * contents on every open(2).  This should only be enabled on$

ERROR: code indent should never use tabs
#243: FILE: tools/virtiofsd/fuse.h:223:
+^I * filesystems where the file data is never changed$

ERROR: code indent should never use tabs
#244: FILE: tools/virtiofsd/fuse.h:224:
+^I * externally (not through the mounted FUSE filesystem).  Thus$

ERROR: code indent should never use tabs
#245: FILE: tools/virtiofsd/fuse.h:225:
+^I * it is not suitable for network filesystems and other$

ERROR: code indent should never use tabs
#246: FILE: tools/virtiofsd/fuse.h:226:
+^I * intermediate filesystems.$

ERROR: code indent should never use tabs
#247: FILE: tools/virtiofsd/fuse.h:227:
+^I *$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/fuse.h:228:
+^I * NOTE: if this option is not specified (and neither$

ERROR: code indent should never use tabs
#249: FILE: tools/virtiofsd/fuse.h:229:
+^I * direct_io) data is still cached after the open(2), so a$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/fuse.h:230:
+^I * read(2) system call will not always initiate a read$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/fuse.h:231:
+^I * operation.$

ERROR: code indent should never use tabs
#252: FILE: tools/virtiofsd/fuse.h:232:
+^I *$

ERROR: code indent should never use tabs
#253: FILE: tools/virtiofsd/fuse.h:233:
+^I * Internally, enabling this option causes fuse to set the$

ERROR: code indent should never use tabs
#254: FILE: tools/virtiofsd/fuse.h:234:
+^I * `keep_cache` field of `struct fuse_file_info` - overwriting$

ERROR: code indent should never use tabs
#255: FILE: tools/virtiofsd/fuse.h:235:
+^I * any value that was put there by the file system.$

ERROR: code indent should never use tabs
#256: FILE: tools/virtiofsd/fuse.h:236:
+^I */$

ERROR: code indent should never use tabs
#257: FILE: tools/virtiofsd/fuse.h:237:
+^Iint kernel_cache;$

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/fuse.h:239:
+^I/**$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/fuse.h:240:
+^I * This option is an alternative to `kernel_cache`. Instead of$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/fuse.h:241:
+^I * unconditionally keeping cached data, the cached data is$

ERROR: code indent should never use tabs
#262: FILE: tools/virtiofsd/fuse.h:242:
+^I * invalidated on open(2) if if the modification time or the$

ERROR: code indent should never use tabs
#263: FILE: tools/virtiofsd/fuse.h:243:
+^I * size of the file has changed since it was last opened.$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/fuse.h:244:
+^I */$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/fuse.h:245:
+^Iint auto_cache;$

ERROR: code indent should never use tabs
#267: FILE: tools/virtiofsd/fuse.h:247:
+^I/**$

ERROR: code indent should never use tabs
#268: FILE: tools/virtiofsd/fuse.h:248:
+^I * The timeout in seconds for which file attributes are cached$

ERROR: code indent should never use tabs
#269: FILE: tools/virtiofsd/fuse.h:249:
+^I * for the purpose of checking if auto_cache should flush the$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/fuse.h:250:
+^I * file data on open.$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/fuse.h:251:
+^I */$

ERROR: code indent should never use tabs
#272: FILE: tools/virtiofsd/fuse.h:252:
+^Iint ac_attr_timeout_set;$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/fuse.h:253:
+^Idouble ac_attr_timeout;$

ERROR: code indent should never use tabs
#275: FILE: tools/virtiofsd/fuse.h:255:
+^I/**$

ERROR: code indent should never use tabs
#276: FILE: tools/virtiofsd/fuse.h:256:
+^I * If this option is given the file-system handlers for the$

ERROR: code indent should never use tabs
#277: FILE: tools/virtiofsd/fuse.h:257:
+^I * following operations will not receive path information:$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/fuse.h:258:
+^I * read, write, flush, release, fsync, readdir, releasedir,$

ERROR: code indent should never use tabs
#279: FILE: tools/virtiofsd/fuse.h:259:
+^I * fsyncdir, lock, ioctl and poll.$

ERROR: code indent should never use tabs
#280: FILE: tools/virtiofsd/fuse.h:260:
+^I *$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/fuse.h:261:
+^I * For the truncate, getattr, chmod, chown and utimens$

ERROR: code indent should never use tabs
#282: FILE: tools/virtiofsd/fuse.h:262:
+^I * operations the path will be provided only if the struct$

ERROR: code indent should never use tabs
#283: FILE: tools/virtiofsd/fuse.h:263:
+^I * fuse_file_info argument is NULL.$

ERROR: code indent should never use tabs
#284: FILE: tools/virtiofsd/fuse.h:264:
+^I */$

ERROR: code indent should never use tabs
#285: FILE: tools/virtiofsd/fuse.h:265:
+^Iint nullpath_ok;$

ERROR: code indent should never use tabs
#287: FILE: tools/virtiofsd/fuse.h:267:
+^I/**$

ERROR: code indent should never use tabs
#288: FILE: tools/virtiofsd/fuse.h:268:
+^I * The remaining options are used by libfuse internally and$

ERROR: code indent should never use tabs
#289: FILE: tools/virtiofsd/fuse.h:269:
+^I * should not be touched.$

ERROR: code indent should never use tabs
#290: FILE: tools/virtiofsd/fuse.h:270:
+^I */$

ERROR: code indent should never use tabs
#291: FILE: tools/virtiofsd/fuse.h:271:
+^Iint show_help;$

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/fuse.h:272:
+^Ichar *modules;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/fuse.h:273:
+^Iint debug;$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/fuse.h:300:
+^I/** Get file attributes.$

WARNING: Block comments use a leading /* on a separate line
#320: FILE: tools/virtiofsd/fuse.h:300:
+       /** Get file attributes.

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/fuse.h:301:
+^I *$

ERROR: code indent should never use tabs
#322: FILE: tools/virtiofsd/fuse.h:302:
+^I * Similar to stat().  The 'st_dev' and 'st_blksize' fields are$

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/fuse.h:303:
+^I * ignored. The 'st_ino' field is ignored except if the 'use_ino'$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/fuse.h:304:
+^I * mount option is given. In that case it is passed to userspace,$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/fuse.h:305:
+^I * but libfuse and the kernel will still assign a different$

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/fuse.h:306:
+^I * inode for internal use (called the "nodeid").$

ERROR: code indent should never use tabs
#327: FILE: tools/virtiofsd/fuse.h:307:
+^I *$

ERROR: code indent should never use tabs
#328: FILE: tools/virtiofsd/fuse.h:308:
+^I * `fi` will always be NULL if the file is not currently open, but$

ERROR: code indent should never use tabs
#329: FILE: tools/virtiofsd/fuse.h:309:
+^I * may also be NULL if the file is open.$

ERROR: code indent should never use tabs
#330: FILE: tools/virtiofsd/fuse.h:310:
+^I */$

ERROR: code indent should never use tabs
#331: FILE: tools/virtiofsd/fuse.h:311:
+^Iint (*getattr) (const char *, struct stat *, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#333: FILE: tools/virtiofsd/fuse.h:313:
+^I/** Read the target of a symbolic link$

WARNING: Block comments use a leading /* on a separate line
#333: FILE: tools/virtiofsd/fuse.h:313:
+       /** Read the target of a symbolic link

ERROR: code indent should never use tabs
#334: FILE: tools/virtiofsd/fuse.h:314:
+^I *$

ERROR: code indent should never use tabs
#335: FILE: tools/virtiofsd/fuse.h:315:
+^I * The buffer should be filled with a null terminated string.  The$

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/fuse.h:316:
+^I * buffer size argument includes the space for the terminating$

ERROR: code indent should never use tabs
#337: FILE: tools/virtiofsd/fuse.h:317:
+^I * null character.^IIf the linkname is too long to fit in the$

ERROR: code indent should never use tabs
#338: FILE: tools/virtiofsd/fuse.h:318:
+^I * buffer, it should be truncated.^IThe return value should be 0$

ERROR: code indent should never use tabs
#339: FILE: tools/virtiofsd/fuse.h:319:
+^I * for success.$

ERROR: code indent should never use tabs
#340: FILE: tools/virtiofsd/fuse.h:320:
+^I */$

ERROR: code indent should never use tabs
#341: FILE: tools/virtiofsd/fuse.h:321:
+^Iint (*readlink) (const char *, char *, size_t);$

ERROR: code indent should never use tabs
#343: FILE: tools/virtiofsd/fuse.h:323:
+^I/** Create a file node$

WARNING: Block comments use a leading /* on a separate line
#343: FILE: tools/virtiofsd/fuse.h:323:
+       /** Create a file node

ERROR: code indent should never use tabs
#344: FILE: tools/virtiofsd/fuse.h:324:
+^I *$

ERROR: code indent should never use tabs
#345: FILE: tools/virtiofsd/fuse.h:325:
+^I * This is called for creation of all non-directory, non-symlink$

ERROR: code indent should never use tabs
#346: FILE: tools/virtiofsd/fuse.h:326:
+^I * nodes.  If the filesystem defines a create() method, then for$

ERROR: code indent should never use tabs
#347: FILE: tools/virtiofsd/fuse.h:327:
+^I * regular files that will be called instead.$

ERROR: code indent should never use tabs
#348: FILE: tools/virtiofsd/fuse.h:328:
+^I */$

ERROR: code indent should never use tabs
#349: FILE: tools/virtiofsd/fuse.h:329:
+^Iint (*mknod) (const char *, mode_t, dev_t);$

ERROR: code indent should never use tabs
#351: FILE: tools/virtiofsd/fuse.h:331:
+^I/** Create a directory$

WARNING: Block comments use a leading /* on a separate line
#351: FILE: tools/virtiofsd/fuse.h:331:
+       /** Create a directory

ERROR: code indent should never use tabs
#352: FILE: tools/virtiofsd/fuse.h:332:
+^I *$

ERROR: code indent should never use tabs
#353: FILE: tools/virtiofsd/fuse.h:333:
+^I * Note that the mode argument may not have the type specification$

ERROR: code indent should never use tabs
#354: FILE: tools/virtiofsd/fuse.h:334:
+^I * bits set, i.e. S_ISDIR(mode) can be false.  To obtain the$

ERROR: code indent should never use tabs
#355: FILE: tools/virtiofsd/fuse.h:335:
+^I * correct directory type bits use  mode|S_IFDIR$

ERROR: code indent should never use tabs
#356: FILE: tools/virtiofsd/fuse.h:336:
+^I * */$

WARNING: Block comments use a trailing */ on a separate line
#356: FILE: tools/virtiofsd/fuse.h:336:
+        * */

ERROR: code indent should never use tabs
#357: FILE: tools/virtiofsd/fuse.h:337:
+^Iint (*mkdir) (const char *, mode_t);$

ERROR: code indent should never use tabs
#359: FILE: tools/virtiofsd/fuse.h:339:
+^I/** Remove a file */$

ERROR: code indent should never use tabs
#360: FILE: tools/virtiofsd/fuse.h:340:
+^Iint (*unlink) (const char *);$

ERROR: code indent should never use tabs
#362: FILE: tools/virtiofsd/fuse.h:342:
+^I/** Remove a directory */$

ERROR: code indent should never use tabs
#363: FILE: tools/virtiofsd/fuse.h:343:
+^Iint (*rmdir) (const char *);$

ERROR: code indent should never use tabs
#365: FILE: tools/virtiofsd/fuse.h:345:
+^I/** Create a symbolic link */$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/fuse.h:346:
+^Iint (*symlink) (const char *, const char *);$

ERROR: code indent should never use tabs
#368: FILE: tools/virtiofsd/fuse.h:348:
+^I/** Rename a file$

WARNING: Block comments use a leading /* on a separate line
#368: FILE: tools/virtiofsd/fuse.h:348:
+       /** Rename a file

ERROR: code indent should never use tabs
#369: FILE: tools/virtiofsd/fuse.h:349:
+^I *$

ERROR: code indent should never use tabs
#370: FILE: tools/virtiofsd/fuse.h:350:
+^I * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If$

ERROR: code indent should never use tabs
#371: FILE: tools/virtiofsd/fuse.h:351:
+^I * RENAME_NOREPLACE is specified, the filesystem must not$

ERROR: code indent should never use tabs
#372: FILE: tools/virtiofsd/fuse.h:352:
+^I * overwrite *newname* if it exists and return an error$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/fuse.h:353:
+^I * instead. If `RENAME_EXCHANGE` is specified, the filesystem$

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/fuse.h:354:
+^I * must atomically exchange the two files, i.e. both must$

ERROR: code indent should never use tabs
#375: FILE: tools/virtiofsd/fuse.h:355:
+^I * exist and neither may be deleted.$

ERROR: code indent should never use tabs
#376: FILE: tools/virtiofsd/fuse.h:356:
+^I */$

ERROR: code indent should never use tabs
#377: FILE: tools/virtiofsd/fuse.h:357:
+^Iint (*rename) (const char *, const char *, unsigned int flags);$

ERROR: code indent should never use tabs
#379: FILE: tools/virtiofsd/fuse.h:359:
+^I/** Create a hard link to a file */$

ERROR: code indent should never use tabs
#380: FILE: tools/virtiofsd/fuse.h:360:
+^Iint (*link) (const char *, const char *);$

ERROR: code indent should never use tabs
#382: FILE: tools/virtiofsd/fuse.h:362:
+^I/** Change the permission bits of a file$

WARNING: Block comments use a leading /* on a separate line
#382: FILE: tools/virtiofsd/fuse.h:362:
+       /** Change the permission bits of a file

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/fuse.h:363:
+^I *$

ERROR: code indent should never use tabs
#384: FILE: tools/virtiofsd/fuse.h:364:
+^I * `fi` will always be NULL if the file is not currenlty open, but$

ERROR: code indent should never use tabs
#385: FILE: tools/virtiofsd/fuse.h:365:
+^I * may also be NULL if the file is open.$

ERROR: code indent should never use tabs
#386: FILE: tools/virtiofsd/fuse.h:366:
+^I */$

ERROR: code indent should never use tabs
#387: FILE: tools/virtiofsd/fuse.h:367:
+^Iint (*chmod) (const char *, mode_t, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#389: FILE: tools/virtiofsd/fuse.h:369:
+^I/** Change the owner and group of a file$

WARNING: Block comments use a leading /* on a separate line
#389: FILE: tools/virtiofsd/fuse.h:369:
+       /** Change the owner and group of a file

ERROR: code indent should never use tabs
#390: FILE: tools/virtiofsd/fuse.h:370:
+^I *$

ERROR: code indent should never use tabs
#391: FILE: tools/virtiofsd/fuse.h:371:
+^I * `fi` will always be NULL if the file is not currenlty open, but$

ERROR: code indent should never use tabs
#392: FILE: tools/virtiofsd/fuse.h:372:
+^I * may also be NULL if the file is open.$

ERROR: code indent should never use tabs
#393: FILE: tools/virtiofsd/fuse.h:373:
+^I *$

ERROR: code indent should never use tabs
#394: FILE: tools/virtiofsd/fuse.h:374:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#395: FILE: tools/virtiofsd/fuse.h:375:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#396: FILE: tools/virtiofsd/fuse.h:376:
+^I */$

ERROR: code indent should never use tabs
#397: FILE: tools/virtiofsd/fuse.h:377:
+^Iint (*chown) (const char *, uid_t, gid_t, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#399: FILE: tools/virtiofsd/fuse.h:379:
+^I/** Change the size of a file$

WARNING: Block comments use a leading /* on a separate line
#399: FILE: tools/virtiofsd/fuse.h:379:
+       /** Change the size of a file

ERROR: code indent should never use tabs
#400: FILE: tools/virtiofsd/fuse.h:380:
+^I *$

ERROR: code indent should never use tabs
#401: FILE: tools/virtiofsd/fuse.h:381:
+^I * `fi` will always be NULL if the file is not currenlty open, but$

ERROR: code indent should never use tabs
#402: FILE: tools/virtiofsd/fuse.h:382:
+^I * may also be NULL if the file is open.$

ERROR: code indent should never use tabs
#403: FILE: tools/virtiofsd/fuse.h:383:
+^I *$

ERROR: code indent should never use tabs
#404: FILE: tools/virtiofsd/fuse.h:384:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#405: FILE: tools/virtiofsd/fuse.h:385:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#406: FILE: tools/virtiofsd/fuse.h:386:
+^I */$

ERROR: code indent should never use tabs
#407: FILE: tools/virtiofsd/fuse.h:387:
+^Iint (*truncate) (const char *, off_t, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#409: FILE: tools/virtiofsd/fuse.h:389:
+^I/** Open a file$

WARNING: Block comments use a leading /* on a separate line
#409: FILE: tools/virtiofsd/fuse.h:389:
+       /** Open a file

ERROR: code indent should never use tabs
#410: FILE: tools/virtiofsd/fuse.h:390:
+^I *$

ERROR: code indent should never use tabs
#411: FILE: tools/virtiofsd/fuse.h:391:
+^I * Open flags are available in fi->flags. The following rules$

ERROR: code indent should never use tabs
#412: FILE: tools/virtiofsd/fuse.h:392:
+^I * apply.$

ERROR: code indent should never use tabs
#413: FILE: tools/virtiofsd/fuse.h:393:
+^I *$

ERROR: code indent should never use tabs
#414: FILE: tools/virtiofsd/fuse.h:394:
+^I *  - Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be$

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/fuse.h:395:
+^I *    filtered out / handled by the kernel.$

ERROR: code indent should never use tabs
#416: FILE: tools/virtiofsd/fuse.h:396:
+^I *$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/fuse.h:397:
+^I *  - Access modes (O_RDONLY, O_WRONLY, O_RDWR, O_EXEC, O_SEARCH)$

ERROR: code indent should never use tabs
#418: FILE: tools/virtiofsd/fuse.h:398:
+^I *    should be used by the filesystem to check if the operation is$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/fuse.h:399:
+^I *    permitted.  If the ``-o default_permissions`` mount option is$

ERROR: code indent should never use tabs
#420: FILE: tools/virtiofsd/fuse.h:400:
+^I *    given, this check is already done by the kernel before calling$

ERROR: code indent should never use tabs
#421: FILE: tools/virtiofsd/fuse.h:401:
+^I *    open() and may thus be omitted by the filesystem.$

ERROR: code indent should never use tabs
#422: FILE: tools/virtiofsd/fuse.h:402:
+^I *$

ERROR: code indent should never use tabs
#423: FILE: tools/virtiofsd/fuse.h:403:
+^I *  - When writeback caching is enabled, the kernel may send$

ERROR: code indent should never use tabs
#424: FILE: tools/virtiofsd/fuse.h:404:
+^I *    read requests even for files opened with O_WRONLY. The$

ERROR: code indent should never use tabs
#425: FILE: tools/virtiofsd/fuse.h:405:
+^I *    filesystem should be prepared to handle this.$

ERROR: code indent should never use tabs
#426: FILE: tools/virtiofsd/fuse.h:406:
+^I *$

ERROR: code indent should never use tabs
#427: FILE: tools/virtiofsd/fuse.h:407:
+^I *  - When writeback caching is disabled, the filesystem is$

ERROR: code indent should never use tabs
#428: FILE: tools/virtiofsd/fuse.h:408:
+^I *    expected to properly handle the O_APPEND flag and ensure$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/fuse.h:409:
+^I *    that each write is appending to the end of the file.$

ERROR: trailing whitespace
#430: FILE: tools/virtiofsd/fuse.h:410:
+^I * $

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/fuse.h:410:
+^I * $

ERROR: code indent should never use tabs
#432: FILE: tools/virtiofsd/fuse.h:412:
+^I *    handle O_APPEND. However, unless all changes to the file$

ERROR: code indent should never use tabs
#433: FILE: tools/virtiofsd/fuse.h:413:
+^I *    come through the kernel this will not work reliably. The$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/fuse.h:414:
+^I *    filesystem should thus either ignore the O_APPEND flag$

ERROR: code indent should never use tabs
#435: FILE: tools/virtiofsd/fuse.h:415:
+^I *    (and let the kernel handle it), or return an error$

ERROR: code indent should never use tabs
#436: FILE: tools/virtiofsd/fuse.h:416:
+^I *    (indicating that reliably O_APPEND is not available).$

ERROR: code indent should never use tabs
#437: FILE: tools/virtiofsd/fuse.h:417:
+^I *$

ERROR: code indent should never use tabs
#438: FILE: tools/virtiofsd/fuse.h:418:
+^I * Filesystem may store an arbitrary file handle (pointer,$

ERROR: code indent should never use tabs
#439: FILE: tools/virtiofsd/fuse.h:419:
+^I * index, etc) in fi->fh, and use this in other all other file$

ERROR: code indent should never use tabs
#440: FILE: tools/virtiofsd/fuse.h:420:
+^I * operations (read, write, flush, release, fsync).$

ERROR: code indent should never use tabs
#441: FILE: tools/virtiofsd/fuse.h:421:
+^I *$

ERROR: code indent should never use tabs
#442: FILE: tools/virtiofsd/fuse.h:422:
+^I * Filesystem may also implement stateless file I/O and not store$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/fuse.h:423:
+^I * anything in fi->fh.$

ERROR: code indent should never use tabs
#444: FILE: tools/virtiofsd/fuse.h:424:
+^I *$

ERROR: code indent should never use tabs
#445: FILE: tools/virtiofsd/fuse.h:425:
+^I * There are also some flags (direct_io, keep_cache) which the$

ERROR: code indent should never use tabs
#446: FILE: tools/virtiofsd/fuse.h:426:
+^I * filesystem may set in fi, to change the way the file is opened.$

ERROR: code indent should never use tabs
#447: FILE: tools/virtiofsd/fuse.h:427:
+^I * See fuse_file_info structure in <fuse_common.h> for more details.$

ERROR: code indent should never use tabs
#448: FILE: tools/virtiofsd/fuse.h:428:
+^I *$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/fuse.h:429:
+^I * If this request is answered with an error code of ENOSYS$

ERROR: code indent should never use tabs
#450: FILE: tools/virtiofsd/fuse.h:430:
+^I * and FUSE_CAP_NO_OPEN_SUPPORT is set in$

ERROR: code indent should never use tabs
#451: FILE: tools/virtiofsd/fuse.h:431:
+^I * `fuse_conn_info.capable`, this is treated as success and$

ERROR: code indent should never use tabs
#452: FILE: tools/virtiofsd/fuse.h:432:
+^I * future calls to open will also succeed without being send$

ERROR: code indent should never use tabs
#453: FILE: tools/virtiofsd/fuse.h:433:
+^I * to the filesystem process.$

ERROR: code indent should never use tabs
#454: FILE: tools/virtiofsd/fuse.h:434:
+^I *$

ERROR: code indent should never use tabs
#455: FILE: tools/virtiofsd/fuse.h:435:
+^I */$

ERROR: code indent should never use tabs
#456: FILE: tools/virtiofsd/fuse.h:436:
+^Iint (*open) (const char *, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#458: FILE: tools/virtiofsd/fuse.h:438:
+^I/** Read data from an open file$

WARNING: Block comments use a leading /* on a separate line
#458: FILE: tools/virtiofsd/fuse.h:438:
+       /** Read data from an open file

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/fuse.h:439:
+^I *$

ERROR: code indent should never use tabs
#460: FILE: tools/virtiofsd/fuse.h:440:
+^I * Read should return exactly the number of bytes requested except$

ERROR: code indent should never use tabs
#461: FILE: tools/virtiofsd/fuse.h:441:
+^I * on EOF or error, otherwise the rest of the data will be$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/fuse.h:442:
+^I * substituted with zeroes.^I An exception to this is when the$

ERROR: code indent should never use tabs
#463: FILE: tools/virtiofsd/fuse.h:443:
+^I * 'direct_io' mount option is specified, in which case the return$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/fuse.h:444:
+^I * value of the read system call will reflect the return value of$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/fuse.h:445:
+^I * this operation.$

ERROR: code indent should never use tabs
#466: FILE: tools/virtiofsd/fuse.h:446:
+^I */$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/fuse.h:447:
+^Iint (*read) (const char *, char *, size_t, off_t,$

ERROR: code indent should never use tabs
#468: FILE: tools/virtiofsd/fuse.h:448:
+^I^I     struct fuse_file_info *);$

ERROR: code indent should never use tabs
#470: FILE: tools/virtiofsd/fuse.h:450:
+^I/** Write data to an open file$

WARNING: Block comments use a leading /* on a separate line
#470: FILE: tools/virtiofsd/fuse.h:450:
+       /** Write data to an open file

ERROR: code indent should never use tabs
#471: FILE: tools/virtiofsd/fuse.h:451:
+^I *$

ERROR: code indent should never use tabs
#472: FILE: tools/virtiofsd/fuse.h:452:
+^I * Write should return exactly the number of bytes requested$

ERROR: code indent should never use tabs
#473: FILE: tools/virtiofsd/fuse.h:453:
+^I * except on error.^I An exception to this is when the 'direct_io'$

ERROR: code indent should never use tabs
#474: FILE: tools/virtiofsd/fuse.h:454:
+^I * mount option is specified (see read operation).$

ERROR: code indent should never use tabs
#475: FILE: tools/virtiofsd/fuse.h:455:
+^I *$

ERROR: code indent should never use tabs
#476: FILE: tools/virtiofsd/fuse.h:456:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#477: FILE: tools/virtiofsd/fuse.h:457:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#478: FILE: tools/virtiofsd/fuse.h:458:
+^I */$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/fuse.h:459:
+^Iint (*write) (const char *, const char *, size_t, off_t,$

ERROR: code indent should never use tabs
#480: FILE: tools/virtiofsd/fuse.h:460:
+^I^I      struct fuse_file_info *);$

ERROR: code indent should never use tabs
#482: FILE: tools/virtiofsd/fuse.h:462:
+^I/** Get file system statistics$

WARNING: Block comments use a leading /* on a separate line
#482: FILE: tools/virtiofsd/fuse.h:462:
+       /** Get file system statistics

ERROR: code indent should never use tabs
#483: FILE: tools/virtiofsd/fuse.h:463:
+^I *$

ERROR: code indent should never use tabs
#484: FILE: tools/virtiofsd/fuse.h:464:
+^I * The 'f_favail', 'f_fsid' and 'f_flag' fields are ignored$

ERROR: code indent should never use tabs
#485: FILE: tools/virtiofsd/fuse.h:465:
+^I */$

ERROR: code indent should never use tabs
#486: FILE: tools/virtiofsd/fuse.h:466:
+^Iint (*statfs) (const char *, struct statvfs *);$

ERROR: code indent should never use tabs
#488: FILE: tools/virtiofsd/fuse.h:468:
+^I/** Possibly flush cached data$

WARNING: Block comments use a leading /* on a separate line
#488: FILE: tools/virtiofsd/fuse.h:468:
+       /** Possibly flush cached data

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/fuse.h:469:
+^I *$

ERROR: code indent should never use tabs
#490: FILE: tools/virtiofsd/fuse.h:470:
+^I * BIG NOTE: This is not equivalent to fsync().  It's not a$

ERROR: code indent should never use tabs
#491: FILE: tools/virtiofsd/fuse.h:471:
+^I * request to sync dirty data.$

ERROR: code indent should never use tabs
#492: FILE: tools/virtiofsd/fuse.h:472:
+^I *$

ERROR: code indent should never use tabs
#493: FILE: tools/virtiofsd/fuse.h:473:
+^I * Flush is called on each close() of a file descriptor, as opposed to$

ERROR: code indent should never use tabs
#494: FILE: tools/virtiofsd/fuse.h:474:
+^I * release which is called on the close of the last file descriptor for$

ERROR: trailing whitespace
#495: FILE: tools/virtiofsd/fuse.h:475:
+^I * a file.  Under Linux, errors returned by flush() will be passed to $

ERROR: code indent should never use tabs
#495: FILE: tools/virtiofsd/fuse.h:475:
+^I * a file.  Under Linux, errors returned by flush() will be passed to $

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/fuse.h:476:
+^I * userspace as errors from close(), so flush() is a good place to write$

ERROR: trailing whitespace
#497: FILE: tools/virtiofsd/fuse.h:477:
+^I * back any cached dirty data. However, many applications ignore errors $

ERROR: code indent should never use tabs
#497: FILE: tools/virtiofsd/fuse.h:477:
+^I * back any cached dirty data. However, many applications ignore errors $

WARNING: line over 80 characters
#498: FILE: tools/virtiofsd/fuse.h:478:
+        * on close(), and on non-Linux systems, close() may succeed even if 
flush()

ERROR: code indent should never use tabs
#498: FILE: tools/virtiofsd/fuse.h:478:
+^I * on close(), and on non-Linux systems, close() may succeed even if flush()$

ERROR: code indent should never use tabs
#499: FILE: tools/virtiofsd/fuse.h:479:
+^I * returns an error. For these reasons, filesystems should not assume$

ERROR: code indent should never use tabs
#500: FILE: tools/virtiofsd/fuse.h:480:
+^I * that errors returned by flush will ever be noticed or even$

ERROR: code indent should never use tabs
#501: FILE: tools/virtiofsd/fuse.h:481:
+^I * delivered.$

ERROR: code indent should never use tabs
#502: FILE: tools/virtiofsd/fuse.h:482:
+^I *$

ERROR: code indent should never use tabs
#503: FILE: tools/virtiofsd/fuse.h:483:
+^I * NOTE: The flush() method may be called more than once for each$

ERROR: code indent should never use tabs
#504: FILE: tools/virtiofsd/fuse.h:484:
+^I * open().  This happens if more than one file descriptor refers to an$

ERROR: code indent should never use tabs
#505: FILE: tools/virtiofsd/fuse.h:485:
+^I * open file handle, e.g. due to dup(), dup2() or fork() calls.  It is$

ERROR: code indent should never use tabs
#506: FILE: tools/virtiofsd/fuse.h:486:
+^I * not possible to determine if a flush is final, so each flush should$

ERROR: code indent should never use tabs
#507: FILE: tools/virtiofsd/fuse.h:487:
+^I * be treated equally.  Multiple write-flush sequences are relatively$

ERROR: code indent should never use tabs
#508: FILE: tools/virtiofsd/fuse.h:488:
+^I * rare, so this shouldn't be a problem.$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/fuse.h:489:
+^I *$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/fuse.h:490:
+^I * Filesystems shouldn't assume that flush will be called at any$

ERROR: code indent should never use tabs
#511: FILE: tools/virtiofsd/fuse.h:491:
+^I * particular point.  It may be called more times than expected, or not$

ERROR: code indent should never use tabs
#512: FILE: tools/virtiofsd/fuse.h:492:
+^I * at all.$

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/fuse.h:493:
+^I *$

WARNING: line over 80 characters
#514: FILE: tools/virtiofsd/fuse.h:494:
+        * [close]: 
http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html

ERROR: code indent should never use tabs
#514: FILE: tools/virtiofsd/fuse.h:494:
+^I * [close]: 
http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html$

ERROR: code indent should never use tabs
#515: FILE: tools/virtiofsd/fuse.h:495:
+^I */$

ERROR: code indent should never use tabs
#516: FILE: tools/virtiofsd/fuse.h:496:
+^Iint (*flush) (const char *, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#518: FILE: tools/virtiofsd/fuse.h:498:
+^I/** Release an open file$

WARNING: Block comments use a leading /* on a separate line
#518: FILE: tools/virtiofsd/fuse.h:498:
+       /** Release an open file

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/fuse.h:499:
+^I *$

ERROR: code indent should never use tabs
#520: FILE: tools/virtiofsd/fuse.h:500:
+^I * Release is called when there are no more references to an open$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse.h:501:
+^I * file: all file descriptors are closed and all memory mappings$

ERROR: code indent should never use tabs
#522: FILE: tools/virtiofsd/fuse.h:502:
+^I * are unmapped.$

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/fuse.h:503:
+^I *$

ERROR: code indent should never use tabs
#524: FILE: tools/virtiofsd/fuse.h:504:
+^I * For every open() call there will be exactly one release() call$

ERROR: code indent should never use tabs
#525: FILE: tools/virtiofsd/fuse.h:505:
+^I * with the same flags and file handle.  It is possible to$

ERROR: code indent should never use tabs
#526: FILE: tools/virtiofsd/fuse.h:506:
+^I * have a file opened more than once, in which case only the last$

ERROR: code indent should never use tabs
#527: FILE: tools/virtiofsd/fuse.h:507:
+^I * release will mean, that no more reads/writes will happen on the$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/fuse.h:508:
+^I * file.  The return value of release is ignored.$

ERROR: code indent should never use tabs
#529: FILE: tools/virtiofsd/fuse.h:509:
+^I */$

ERROR: code indent should never use tabs
#530: FILE: tools/virtiofsd/fuse.h:510:
+^Iint (*release) (const char *, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#532: FILE: tools/virtiofsd/fuse.h:512:
+^I/** Synchronize file contents$

WARNING: Block comments use a leading /* on a separate line
#532: FILE: tools/virtiofsd/fuse.h:512:
+       /** Synchronize file contents

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/fuse.h:513:
+^I *$

ERROR: code indent should never use tabs
#534: FILE: tools/virtiofsd/fuse.h:514:
+^I * If the datasync parameter is non-zero, then only the user data$

ERROR: code indent should never use tabs
#535: FILE: tools/virtiofsd/fuse.h:515:
+^I * should be flushed, not the meta data.$

ERROR: code indent should never use tabs
#536: FILE: tools/virtiofsd/fuse.h:516:
+^I */$

ERROR: code indent should never use tabs
#537: FILE: tools/virtiofsd/fuse.h:517:
+^Iint (*fsync) (const char *, int, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#539: FILE: tools/virtiofsd/fuse.h:519:
+^I/** Set extended attributes */$

ERROR: code indent should never use tabs
#540: FILE: tools/virtiofsd/fuse.h:520:
+^Iint (*setxattr) (const char *, const char *, const char *, size_t, int);$

ERROR: code indent should never use tabs
#542: FILE: tools/virtiofsd/fuse.h:522:
+^I/** Get extended attributes */$

ERROR: code indent should never use tabs
#543: FILE: tools/virtiofsd/fuse.h:523:
+^Iint (*getxattr) (const char *, const char *, char *, size_t);$

ERROR: code indent should never use tabs
#545: FILE: tools/virtiofsd/fuse.h:525:
+^I/** List extended attributes */$

ERROR: code indent should never use tabs
#546: FILE: tools/virtiofsd/fuse.h:526:
+^Iint (*listxattr) (const char *, char *, size_t);$

ERROR: code indent should never use tabs
#548: FILE: tools/virtiofsd/fuse.h:528:
+^I/** Remove extended attributes */$

ERROR: code indent should never use tabs
#549: FILE: tools/virtiofsd/fuse.h:529:
+^Iint (*removexattr) (const char *, const char *);$

ERROR: code indent should never use tabs
#551: FILE: tools/virtiofsd/fuse.h:531:
+^I/** Open directory$

WARNING: Block comments use a leading /* on a separate line
#551: FILE: tools/virtiofsd/fuse.h:531:
+       /** Open directory

ERROR: code indent should never use tabs
#552: FILE: tools/virtiofsd/fuse.h:532:
+^I *$

ERROR: code indent should never use tabs
#553: FILE: tools/virtiofsd/fuse.h:533:
+^I * Unless the 'default_permissions' mount option is given,$

ERROR: code indent should never use tabs
#554: FILE: tools/virtiofsd/fuse.h:534:
+^I * this method should check if opendir is permitted for this$

ERROR: code indent should never use tabs
#555: FILE: tools/virtiofsd/fuse.h:535:
+^I * directory. Optionally opendir may also return an arbitrary$

ERROR: code indent should never use tabs
#556: FILE: tools/virtiofsd/fuse.h:536:
+^I * filehandle in the fuse_file_info structure, which will be$

ERROR: code indent should never use tabs
#557: FILE: tools/virtiofsd/fuse.h:537:
+^I * passed to readdir, releasedir and fsyncdir.$

ERROR: code indent should never use tabs
#558: FILE: tools/virtiofsd/fuse.h:538:
+^I */$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/fuse.h:539:
+^Iint (*opendir) (const char *, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#561: FILE: tools/virtiofsd/fuse.h:541:
+^I/** Read directory$

WARNING: Block comments use a leading /* on a separate line
#561: FILE: tools/virtiofsd/fuse.h:541:
+       /** Read directory

ERROR: code indent should never use tabs
#562: FILE: tools/virtiofsd/fuse.h:542:
+^I *$

ERROR: code indent should never use tabs
#563: FILE: tools/virtiofsd/fuse.h:543:
+^I * The filesystem may choose between two modes of operation:$

ERROR: code indent should never use tabs
#564: FILE: tools/virtiofsd/fuse.h:544:
+^I *$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/fuse.h:545:
+^I * 1) The readdir implementation ignores the offset parameter, and$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/fuse.h:546:
+^I * passes zero to the filler function's offset.  The filler$

ERROR: code indent should never use tabs
#567: FILE: tools/virtiofsd/fuse.h:547:
+^I * function will not return '1' (unless an error happens), so the$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/fuse.h:548:
+^I * whole directory is read in a single readdir operation.$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/fuse.h:549:
+^I *$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/fuse.h:550:
+^I * 2) The readdir implementation keeps track of the offsets of the$

ERROR: code indent should never use tabs
#571: FILE: tools/virtiofsd/fuse.h:551:
+^I * directory entries.  It uses the offset parameter and always$

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/fuse.h:552:
+^I * passes non-zero offset to the filler function.  When the buffer$

ERROR: code indent should never use tabs
#573: FILE: tools/virtiofsd/fuse.h:553:
+^I * is full (or an error happens) the filler function will return$

ERROR: code indent should never use tabs
#574: FILE: tools/virtiofsd/fuse.h:554:
+^I * '1'.$

ERROR: code indent should never use tabs
#575: FILE: tools/virtiofsd/fuse.h:555:
+^I */$

ERROR: code indent should never use tabs
#576: FILE: tools/virtiofsd/fuse.h:556:
+^Iint (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,$

ERROR: code indent should never use tabs
#577: FILE: tools/virtiofsd/fuse.h:557:
+^I^I^Istruct fuse_file_info *, enum fuse_readdir_flags);$

ERROR: code indent should never use tabs
#579: FILE: tools/virtiofsd/fuse.h:559:
+^I/** Release directory$

WARNING: Block comments use a leading /* on a separate line
#579: FILE: tools/virtiofsd/fuse.h:559:
+       /** Release directory

ERROR: code indent should never use tabs
#580: FILE: tools/virtiofsd/fuse.h:560:
+^I */$

ERROR: code indent should never use tabs
#581: FILE: tools/virtiofsd/fuse.h:561:
+^Iint (*releasedir) (const char *, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#583: FILE: tools/virtiofsd/fuse.h:563:
+^I/** Synchronize directory contents$

WARNING: Block comments use a leading /* on a separate line
#583: FILE: tools/virtiofsd/fuse.h:563:
+       /** Synchronize directory contents

ERROR: code indent should never use tabs
#584: FILE: tools/virtiofsd/fuse.h:564:
+^I *$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/fuse.h:565:
+^I * If the datasync parameter is non-zero, then only the user data$

ERROR: code indent should never use tabs
#586: FILE: tools/virtiofsd/fuse.h:566:
+^I * should be flushed, not the meta data$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/fuse.h:567:
+^I */$

ERROR: code indent should never use tabs
#588: FILE: tools/virtiofsd/fuse.h:568:
+^Iint (*fsyncdir) (const char *, int, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#590: FILE: tools/virtiofsd/fuse.h:570:
+^I/**$

ERROR: code indent should never use tabs
#591: FILE: tools/virtiofsd/fuse.h:571:
+^I * Initialize filesystem$

ERROR: code indent should never use tabs
#592: FILE: tools/virtiofsd/fuse.h:572:
+^I *$

ERROR: code indent should never use tabs
#593: FILE: tools/virtiofsd/fuse.h:573:
+^I * The return value will passed in the `private_data` field of$

ERROR: code indent should never use tabs
#594: FILE: tools/virtiofsd/fuse.h:574:
+^I * `struct fuse_context` to all file operations, and as a$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/fuse.h:575:
+^I * parameter to the destroy() method. It overrides the initial$

ERROR: code indent should never use tabs
#596: FILE: tools/virtiofsd/fuse.h:576:
+^I * value provided to fuse_main() / fuse_new().$

ERROR: code indent should never use tabs
#597: FILE: tools/virtiofsd/fuse.h:577:
+^I */$

ERROR: code indent should never use tabs
#598: FILE: tools/virtiofsd/fuse.h:578:
+^Ivoid *(*init) (struct fuse_conn_info *conn,$

ERROR: code indent should never use tabs
#599: FILE: tools/virtiofsd/fuse.h:579:
+^I^I       struct fuse_config *cfg);$

ERROR: code indent should never use tabs
#601: FILE: tools/virtiofsd/fuse.h:581:
+^I/**$

ERROR: code indent should never use tabs
#602: FILE: tools/virtiofsd/fuse.h:582:
+^I * Clean up filesystem$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/fuse.h:583:
+^I *$

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/fuse.h:584:
+^I * Called on filesystem exit.$

ERROR: code indent should never use tabs
#605: FILE: tools/virtiofsd/fuse.h:585:
+^I */$

ERROR: code indent should never use tabs
#606: FILE: tools/virtiofsd/fuse.h:586:
+^Ivoid (*destroy) (void *private_data);$

ERROR: code indent should never use tabs
#608: FILE: tools/virtiofsd/fuse.h:588:
+^I/**$

ERROR: code indent should never use tabs
#609: FILE: tools/virtiofsd/fuse.h:589:
+^I * Check file access permissions$

ERROR: code indent should never use tabs
#610: FILE: tools/virtiofsd/fuse.h:590:
+^I *$

ERROR: code indent should never use tabs
#611: FILE: tools/virtiofsd/fuse.h:591:
+^I * This will be called for the access() system call.  If the$

ERROR: code indent should never use tabs
#612: FILE: tools/virtiofsd/fuse.h:592:
+^I * 'default_permissions' mount option is given, this method is not$

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/fuse.h:593:
+^I * called.$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/fuse.h:594:
+^I *$

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/fuse.h:595:
+^I * This method is not called under Linux kernel versions 2.4.x$

ERROR: code indent should never use tabs
#616: FILE: tools/virtiofsd/fuse.h:596:
+^I */$

ERROR: code indent should never use tabs
#617: FILE: tools/virtiofsd/fuse.h:597:
+^Iint (*access) (const char *, int);$

ERROR: code indent should never use tabs
#619: FILE: tools/virtiofsd/fuse.h:599:
+^I/**$

ERROR: code indent should never use tabs
#620: FILE: tools/virtiofsd/fuse.h:600:
+^I * Create and open a file$

ERROR: code indent should never use tabs
#621: FILE: tools/virtiofsd/fuse.h:601:
+^I *$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/fuse.h:602:
+^I * If the file does not exist, first create it with the specified$

ERROR: code indent should never use tabs
#623: FILE: tools/virtiofsd/fuse.h:603:
+^I * mode, and then open it.$

ERROR: code indent should never use tabs
#624: FILE: tools/virtiofsd/fuse.h:604:
+^I *$

ERROR: code indent should never use tabs
#625: FILE: tools/virtiofsd/fuse.h:605:
+^I * If this method is not implemented or under Linux kernel$

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/fuse.h:606:
+^I * versions earlier than 2.6.15, the mknod() and open() methods$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/fuse.h:607:
+^I * will be called instead.$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/fuse.h:608:
+^I */$

ERROR: code indent should never use tabs
#629: FILE: tools/virtiofsd/fuse.h:609:
+^Iint (*create) (const char *, mode_t, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#631: FILE: tools/virtiofsd/fuse.h:611:
+^I/**$

ERROR: code indent should never use tabs
#632: FILE: tools/virtiofsd/fuse.h:612:
+^I * Perform POSIX file locking operation$

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/fuse.h:613:
+^I *$

ERROR: code indent should never use tabs
#634: FILE: tools/virtiofsd/fuse.h:614:
+^I * The cmd argument will be either F_GETLK, F_SETLK or F_SETLKW.$

ERROR: code indent should never use tabs
#635: FILE: tools/virtiofsd/fuse.h:615:
+^I *$

ERROR: code indent should never use tabs
#636: FILE: tools/virtiofsd/fuse.h:616:
+^I * For the meaning of fields in 'struct flock' see the man page$

ERROR: code indent should never use tabs
#637: FILE: tools/virtiofsd/fuse.h:617:
+^I * for fcntl(2).  The l_whence field will always be set to$

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/fuse.h:618:
+^I * SEEK_SET.$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/fuse.h:619:
+^I *$

ERROR: code indent should never use tabs
#640: FILE: tools/virtiofsd/fuse.h:620:
+^I * For checking lock ownership, the 'fuse_file_info->owner'$

ERROR: code indent should never use tabs
#641: FILE: tools/virtiofsd/fuse.h:621:
+^I * argument must be used.$

ERROR: code indent should never use tabs
#642: FILE: tools/virtiofsd/fuse.h:622:
+^I *$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/fuse.h:623:
+^I * For F_GETLK operation, the library will first check currently$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/fuse.h:624:
+^I * held locks, and if a conflicting lock is found it will return$

ERROR: code indent should never use tabs
#645: FILE: tools/virtiofsd/fuse.h:625:
+^I * information without calling this method.^I This ensures, that$

ERROR: code indent should never use tabs
#646: FILE: tools/virtiofsd/fuse.h:626:
+^I * for local locks the l_pid field is correctly filled in.^IThe$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/fuse.h:627:
+^I * results may not be accurate in case of race conditions and in$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/fuse.h:628:
+^I * the presence of hard links, but it's unlikely that an$

ERROR: code indent should never use tabs
#649: FILE: tools/virtiofsd/fuse.h:629:
+^I * application would rely on accurate GETLK results in these$

ERROR: code indent should never use tabs
#650: FILE: tools/virtiofsd/fuse.h:630:
+^I * cases.  If a conflicting lock is not found, this method will be$

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/fuse.h:631:
+^I * called, and the filesystem may fill out l_pid by a meaningful$

ERROR: code indent should never use tabs
#652: FILE: tools/virtiofsd/fuse.h:632:
+^I * value, or it may leave this field zero.$

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/fuse.h:633:
+^I *$

ERROR: code indent should never use tabs
#654: FILE: tools/virtiofsd/fuse.h:634:
+^I * For F_SETLK and F_SETLKW the l_pid field will be set to the pid$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/fuse.h:635:
+^I * of the process performing the locking operation.$

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/fuse.h:636:
+^I *$

ERROR: code indent should never use tabs
#657: FILE: tools/virtiofsd/fuse.h:637:
+^I * Note: if this method is not implemented, the kernel will still$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/fuse.h:638:
+^I * allow file locking to work locally.  Hence it is only$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/fuse.h:639:
+^I * interesting for network filesystems and similar.$

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/fuse.h:640:
+^I */$

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/fuse.h:641:
+^Iint (*lock) (const char *, struct fuse_file_info *, int cmd,$

ERROR: code indent should never use tabs
#662: FILE: tools/virtiofsd/fuse.h:642:
+^I^I     struct flock *);$

ERROR: code indent should never use tabs
#664: FILE: tools/virtiofsd/fuse.h:644:
+^I/**$

ERROR: code indent should never use tabs
#665: FILE: tools/virtiofsd/fuse.h:645:
+^I * Change the access and modification times of a file with$

ERROR: code indent should never use tabs
#666: FILE: tools/virtiofsd/fuse.h:646:
+^I * nanosecond resolution$

ERROR: code indent should never use tabs
#667: FILE: tools/virtiofsd/fuse.h:647:
+^I *$

ERROR: code indent should never use tabs
#668: FILE: tools/virtiofsd/fuse.h:648:
+^I * This supersedes the old utime() interface.  New applications$

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/fuse.h:649:
+^I * should use this.$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/fuse.h:650:
+^I *$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/fuse.h:651:
+^I * `fi` will always be NULL if the file is not currenlty open, but$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/fuse.h:652:
+^I * may also be NULL if the file is open.$

ERROR: code indent should never use tabs
#673: FILE: tools/virtiofsd/fuse.h:653:
+^I *$

ERROR: code indent should never use tabs
#674: FILE: tools/virtiofsd/fuse.h:654:
+^I * See the utimensat(2) man page for details.$

ERROR: code indent should never use tabs
#675: FILE: tools/virtiofsd/fuse.h:655:
+^I */$

ERROR: code indent should never use tabs
#676: FILE: tools/virtiofsd/fuse.h:656:
+^I int (*utimens) (const char *, const struct timespec tv[2],$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/fuse.h:657:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#679: FILE: tools/virtiofsd/fuse.h:659:
+^I/**$

ERROR: code indent should never use tabs
#680: FILE: tools/virtiofsd/fuse.h:660:
+^I * Map block index within file to block index within device$

ERROR: code indent should never use tabs
#681: FILE: tools/virtiofsd/fuse.h:661:
+^I *$

ERROR: code indent should never use tabs
#682: FILE: tools/virtiofsd/fuse.h:662:
+^I * Note: This makes sense only for block device backed filesystems$

ERROR: code indent should never use tabs
#683: FILE: tools/virtiofsd/fuse.h:663:
+^I * mounted with the 'blkdev' option$

ERROR: code indent should never use tabs
#684: FILE: tools/virtiofsd/fuse.h:664:
+^I */$

ERROR: code indent should never use tabs
#685: FILE: tools/virtiofsd/fuse.h:665:
+^Iint (*bmap) (const char *, size_t blocksize, uint64_t *idx);$

ERROR: code indent should never use tabs
#687: FILE: tools/virtiofsd/fuse.h:667:
+^I/**$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/fuse.h:668:
+^I * Ioctl$

ERROR: code indent should never use tabs
#689: FILE: tools/virtiofsd/fuse.h:669:
+^I *$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/fuse.h:670:
+^I * flags will have FUSE_IOCTL_COMPAT set for 32bit ioctls in$

ERROR: code indent should never use tabs
#691: FILE: tools/virtiofsd/fuse.h:671:
+^I * 64bit environment.  The size and direction of data is$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/fuse.h:672:
+^I * determined by _IOC_*() decoding of cmd.  For _IOC_NONE,$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/fuse.h:673:
+^I * data will be NULL, for _IOC_WRITE data is out area, for$

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/fuse.h:674:
+^I * _IOC_READ in area and if both are set in/out area.  In all$

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/fuse.h:675:
+^I * non-NULL cases, the area is of _IOC_SIZE(cmd) bytes.$

ERROR: code indent should never use tabs
#696: FILE: tools/virtiofsd/fuse.h:676:
+^I *$

ERROR: code indent should never use tabs
#697: FILE: tools/virtiofsd/fuse.h:677:
+^I * If flags has FUSE_IOCTL_DIR then the fuse_file_info refers to a$

ERROR: code indent should never use tabs
#698: FILE: tools/virtiofsd/fuse.h:678:
+^I * directory file handle.$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/fuse.h:679:
+^I *$

ERROR: code indent should never use tabs
#700: FILE: tools/virtiofsd/fuse.h:680:
+^I * Note : the unsigned long request submitted by the application$

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/fuse.h:681:
+^I * is truncated to 32 bits.$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/fuse.h:682:
+^I */$

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/fuse.h:683:
+^Iint (*ioctl) (const char *, unsigned int cmd, void *arg,$

ERROR: code indent should never use tabs
#704: FILE: tools/virtiofsd/fuse.h:684:
+^I^I      struct fuse_file_info *, unsigned int flags, void *data);$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/fuse.h:686:
+^I/**$

ERROR: code indent should never use tabs
#707: FILE: tools/virtiofsd/fuse.h:687:
+^I * Poll for IO readiness events$

ERROR: code indent should never use tabs
#708: FILE: tools/virtiofsd/fuse.h:688:
+^I *$

ERROR: code indent should never use tabs
#709: FILE: tools/virtiofsd/fuse.h:689:
+^I * Note: If ph is non-NULL, the client should notify$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/fuse.h:690:
+^I * when IO readiness events occur by calling$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/fuse.h:691:
+^I * fuse_notify_poll() with the specified ph.$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/fuse.h:692:
+^I *$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/fuse.h:693:
+^I * Regardless of the number of times poll with a non-NULL ph$

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/fuse.h:694:
+^I * is received, single notification is enough to clear all.$

ERROR: code indent should never use tabs
#715: FILE: tools/virtiofsd/fuse.h:695:
+^I * Notifying more times incurs overhead but doesn't harm$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/fuse.h:696:
+^I * correctness.$

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/fuse.h:697:
+^I *$

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/fuse.h:698:
+^I * The callee is responsible for destroying ph with$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/fuse.h:699:
+^I * fuse_pollhandle_destroy() when no longer in use.$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/fuse.h:700:
+^I */$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/fuse.h:701:
+^Iint (*poll) (const char *, struct fuse_file_info *,$

ERROR: code indent should never use tabs
#722: FILE: tools/virtiofsd/fuse.h:702:
+^I^I     struct fuse_pollhandle *ph, unsigned *reventsp);$

ERROR: code indent should never use tabs
#724: FILE: tools/virtiofsd/fuse.h:704:
+^I/** Write contents of buffer to an open file$

WARNING: Block comments use a leading /* on a separate line
#724: FILE: tools/virtiofsd/fuse.h:704:
+       /** Write contents of buffer to an open file

ERROR: code indent should never use tabs
#725: FILE: tools/virtiofsd/fuse.h:705:
+^I *$

ERROR: code indent should never use tabs
#726: FILE: tools/virtiofsd/fuse.h:706:
+^I * Similar to the write() method, but data is supplied in a$

ERROR: code indent should never use tabs
#727: FILE: tools/virtiofsd/fuse.h:707:
+^I * generic buffer.  Use fuse_buf_copy() to transfer data to$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/fuse.h:708:
+^I * the destination.$

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/fuse.h:709:
+^I *$

ERROR: code indent should never use tabs
#730: FILE: tools/virtiofsd/fuse.h:710:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#731: FILE: tools/virtiofsd/fuse.h:711:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#732: FILE: tools/virtiofsd/fuse.h:712:
+^I */$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/fuse.h:713:
+^Iint (*write_buf) (const char *, struct fuse_bufvec *buf, off_t off,$

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/fuse.h:714:
+^I^I^I  struct fuse_file_info *);$

ERROR: code indent should never use tabs
#736: FILE: tools/virtiofsd/fuse.h:716:
+^I/** Store data from an open file in a buffer$

WARNING: Block comments use a leading /* on a separate line
#736: FILE: tools/virtiofsd/fuse.h:716:
+       /** Store data from an open file in a buffer

ERROR: code indent should never use tabs
#737: FILE: tools/virtiofsd/fuse.h:717:
+^I *$

ERROR: code indent should never use tabs
#738: FILE: tools/virtiofsd/fuse.h:718:
+^I * Similar to the read() method, but data is stored and$

ERROR: code indent should never use tabs
#739: FILE: tools/virtiofsd/fuse.h:719:
+^I * returned in a generic buffer.$

ERROR: code indent should never use tabs
#740: FILE: tools/virtiofsd/fuse.h:720:
+^I *$

ERROR: code indent should never use tabs
#741: FILE: tools/virtiofsd/fuse.h:721:
+^I * No actual copying of data has to take place, the source$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/fuse.h:722:
+^I * file descriptor may simply be stored in the buffer for$

ERROR: code indent should never use tabs
#743: FILE: tools/virtiofsd/fuse.h:723:
+^I * later data transfer.$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/fuse.h:724:
+^I *$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/fuse.h:725:
+^I * The buffer must be allocated dynamically and stored at the$

ERROR: code indent should never use tabs
#746: FILE: tools/virtiofsd/fuse.h:726:
+^I * location pointed to by bufp.  If the buffer contains memory$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/fuse.h:727:
+^I * regions, they too must be allocated using malloc().  The$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/fuse.h:728:
+^I * allocated memory will be freed by the caller.$

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/fuse.h:729:
+^I */$

ERROR: code indent should never use tabs
#750: FILE: tools/virtiofsd/fuse.h:730:
+^Iint (*read_buf) (const char *, struct fuse_bufvec **bufp,$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/fuse.h:731:
+^I^I^I size_t size, off_t off, struct fuse_file_info *);$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/fuse.h:732:
+^I/**$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/fuse.h:733:
+^I * Perform BSD file locking operation$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/fuse.h:734:
+^I *$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/fuse.h:735:
+^I * The op argument will be either LOCK_SH, LOCK_EX or LOCK_UN$

ERROR: code indent should never use tabs
#756: FILE: tools/virtiofsd/fuse.h:736:
+^I *$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/fuse.h:737:
+^I * Nonblocking requests will be indicated by ORing LOCK_NB to$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/fuse.h:738:
+^I * the above operations$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/fuse.h:739:
+^I *$

ERROR: code indent should never use tabs
#760: FILE: tools/virtiofsd/fuse.h:740:
+^I * For more information see the flock(2) manual page.$

ERROR: code indent should never use tabs
#761: FILE: tools/virtiofsd/fuse.h:741:
+^I *$

ERROR: code indent should never use tabs
#762: FILE: tools/virtiofsd/fuse.h:742:
+^I * Additionally fi->owner will be set to a value unique to$

ERROR: code indent should never use tabs
#763: FILE: tools/virtiofsd/fuse.h:743:
+^I * this open file.  This same value will be supplied to$

ERROR: code indent should never use tabs
#764: FILE: tools/virtiofsd/fuse.h:744:
+^I * ->release() when the file is released.$

ERROR: code indent should never use tabs
#765: FILE: tools/virtiofsd/fuse.h:745:
+^I *$

ERROR: code indent should never use tabs
#766: FILE: tools/virtiofsd/fuse.h:746:
+^I * Note: if this method is not implemented, the kernel will still$

ERROR: code indent should never use tabs
#767: FILE: tools/virtiofsd/fuse.h:747:
+^I * allow file locking to work locally.  Hence it is only$

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/fuse.h:748:
+^I * interesting for network filesystems and similar.$

ERROR: code indent should never use tabs
#769: FILE: tools/virtiofsd/fuse.h:749:
+^I */$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse.h:750:
+^Iint (*flock) (const char *, struct fuse_file_info *, int op);$

ERROR: code indent should never use tabs
#772: FILE: tools/virtiofsd/fuse.h:752:
+^I/**$

ERROR: code indent should never use tabs
#773: FILE: tools/virtiofsd/fuse.h:753:
+^I * Allocates space for an open file$

ERROR: code indent should never use tabs
#774: FILE: tools/virtiofsd/fuse.h:754:
+^I *$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/fuse.h:755:
+^I * This function ensures that required space is allocated for specified$

ERROR: code indent should never use tabs
#776: FILE: tools/virtiofsd/fuse.h:756:
+^I * file.  If this function returns success then any subsequent write$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/fuse.h:757:
+^I * request to specified range is guaranteed not to fail because of lack$

ERROR: code indent should never use tabs
#778: FILE: tools/virtiofsd/fuse.h:758:
+^I * of space on the file system media.$

ERROR: code indent should never use tabs
#779: FILE: tools/virtiofsd/fuse.h:759:
+^I */$

ERROR: code indent should never use tabs
#780: FILE: tools/virtiofsd/fuse.h:760:
+^Iint (*fallocate) (const char *, int, off_t, off_t,$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/fuse.h:761:
+^I^I^I  struct fuse_file_info *);$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/fuse.h:763:
+^I/**$

ERROR: code indent should never use tabs
#784: FILE: tools/virtiofsd/fuse.h:764:
+^I * Copy a range of data from one file to another$

ERROR: code indent should never use tabs
#785: FILE: tools/virtiofsd/fuse.h:765:
+^I *$

ERROR: code indent should never use tabs
#786: FILE: tools/virtiofsd/fuse.h:766:
+^I * Performs an optimized copy between two file descriptors without the$

ERROR: code indent should never use tabs
#787: FILE: tools/virtiofsd/fuse.h:767:
+^I * additional cost of transferring data through the FUSE kernel module$

ERROR: code indent should never use tabs
#788: FILE: tools/virtiofsd/fuse.h:768:
+^I * to user space (glibc) and then back into the FUSE filesystem again.$

ERROR: code indent should never use tabs
#789: FILE: tools/virtiofsd/fuse.h:769:
+^I *$

ERROR: code indent should never use tabs
#790: FILE: tools/virtiofsd/fuse.h:770:
+^I * In case this method is not implemented, glibc falls back to reading$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/fuse.h:771:
+^I * data from the source and writing to the destination. Effectively$

ERROR: code indent should never use tabs
#792: FILE: tools/virtiofsd/fuse.h:772:
+^I * doing an inefficient copy of the data.$

ERROR: code indent should never use tabs
#793: FILE: tools/virtiofsd/fuse.h:773:
+^I */$

ERROR: code indent should never use tabs
#794: FILE: tools/virtiofsd/fuse.h:774:
+^Issize_t (*copy_file_range) (const char *path_in,$

ERROR: code indent should never use tabs
#795: FILE: tools/virtiofsd/fuse.h:775:
+^I^I^I^I    struct fuse_file_info *fi_in,$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/fuse.h:776:
+^I^I^I^I    off_t offset_in, const char *path_out,$

ERROR: code indent should never use tabs
#797: FILE: tools/virtiofsd/fuse.h:777:
+^I^I^I^I    struct fuse_file_info *fi_out,$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/fuse.h:778:
+^I^I^I^I    off_t offset_out, size_t size, int flags);$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/fuse.h:780:
+^I/**$

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/fuse.h:781:
+^I * Find next data or hole after the specified offset$

ERROR: code indent should never use tabs
#802: FILE: tools/virtiofsd/fuse.h:782:
+^I */$

WARNING: line over 80 characters
#803: FILE: tools/virtiofsd/fuse.h:783:
+       off_t (*lseek) (const char *, off_t off, int whence, struct 
fuse_file_info *);

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/fuse.h:783:
+^Ioff_t (*lseek) (const char *, off_t off, int whence, struct fuse_file_info 
*);$

WARNING: Block comments use a leading /* on a separate line
#806: FILE: tools/virtiofsd/fuse.h:786:
+/** Extra context that may be needed by some filesystems

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/fuse.h:792:
+^I/** Pointer to the fuse object */$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/fuse.h:793:
+^Istruct fuse *fuse;$

ERROR: code indent should never use tabs
#815: FILE: tools/virtiofsd/fuse.h:795:
+^I/** User ID of the calling process */$

ERROR: code indent should never use tabs
#816: FILE: tools/virtiofsd/fuse.h:796:
+^Iuid_t uid;$

ERROR: code indent should never use tabs
#818: FILE: tools/virtiofsd/fuse.h:798:
+^I/** Group ID of the calling process */$

ERROR: code indent should never use tabs
#819: FILE: tools/virtiofsd/fuse.h:799:
+^Igid_t gid;$

ERROR: code indent should never use tabs
#821: FILE: tools/virtiofsd/fuse.h:801:
+^I/** Process ID of the calling thread */$

ERROR: code indent should never use tabs
#822: FILE: tools/virtiofsd/fuse.h:802:
+^Ipid_t pid;$

ERROR: code indent should never use tabs
#824: FILE: tools/virtiofsd/fuse.h:804:
+^I/** Private filesystem data */$

ERROR: code indent should never use tabs
#825: FILE: tools/virtiofsd/fuse.h:805:
+^Ivoid *private_data;$

ERROR: code indent should never use tabs
#827: FILE: tools/virtiofsd/fuse.h:807:
+^I/** Umask of the calling process */$

ERROR: code indent should never use tabs
#828: FILE: tools/virtiofsd/fuse.h:808:
+^Imode_t umask;$

WARNING: Block comments use * on subsequent lines
#886: FILE: tools/virtiofsd/fuse.h:866:
+/*
+  int fuse_main(int argc, char *argv[], const struct fuse_operations *op,

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/fuse.h:869:
+#define fuse_main(argc, argv, op, private_data)^I^I^I^I\$

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/fuse.h:870:
+^Ifuse_main_real(argc, argv, op, sizeof(*(op)), private_data)$

WARNING: Block comments use a leading /* on a separate line
#892: FILE: tools/virtiofsd/fuse.h:872:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#893: FILE: tools/virtiofsd/fuse.h:873:
+ * More detailed API^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#894: FILE: tools/virtiofsd/fuse.h:874:
+ * ----------------------------------------------------------- */

WARNING: line over 80 characters
#937: FILE: tools/virtiofsd/fuse.h:917:
+struct fuse *fuse_new_30(struct fuse_args *args, const struct fuse_operations 
*op,

ERROR: code indent should never use tabs
#938: FILE: tools/virtiofsd/fuse.h:918:
+^I^I^I size_t op_size, void *private_data);$

ERROR: code indent should never use tabs
#942: FILE: tools/virtiofsd/fuse.h:922:
+^I^I      size_t op_size, void *private_data);$

ERROR: code indent should never use tabs
#967: FILE: tools/virtiofsd/fuse.h:947:
+ * NOTE: This function does not unmount the filesystem.^I If this is$

ERROR: code indent should never use tabs
#1095: FILE: tools/virtiofsd/fuse.h:1075:
+^I^I   size_t op_size, void *private_data);$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/fuse.h:1126:
+^I^I    struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/fuse.h:1128:
+^I^I   const char *newpath, unsigned int flags);$

ERROR: code indent should never use tabs
#1152: FILE: tools/virtiofsd/fuse.h:1132:
+^I^I    const char *path);$

ERROR: code indent should never use tabs
#1154: FILE: tools/virtiofsd/fuse.h:1134:
+int fuse_fs_release(struct fuse_fs *fs,^I const char *path,$

ERROR: code indent should never use tabs
#1155: FILE: tools/virtiofsd/fuse.h:1135:
+^I^I    struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/fuse.h:1137:
+^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/fuse.h:1139:
+^I^I off_t off, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1161: FILE: tools/virtiofsd/fuse.h:1141:
+^I^I     struct fuse_bufvec **bufp, size_t size, off_t off,$

ERROR: code indent should never use tabs
#1162: FILE: tools/virtiofsd/fuse.h:1142:
+^I^I     struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1164: FILE: tools/virtiofsd/fuse.h:1144:
+^I^I  size_t size, off_t off, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1166: FILE: tools/virtiofsd/fuse.h:1146:
+^I^I      struct fuse_bufvec *buf, off_t off,$

ERROR: code indent should never use tabs
#1167: FILE: tools/virtiofsd/fuse.h:1147:
+^I^I      struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1169: FILE: tools/virtiofsd/fuse.h:1149:
+^I^I  struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/fuse.h:1151:
+^I^I  struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1174: FILE: tools/virtiofsd/fuse.h:1154:
+^I^I    struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1176: FILE: tools/virtiofsd/fuse.h:1156:
+^I^I    fuse_fill_dir_t filler, off_t off,$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/fuse.h:1157:
+^I^I    struct fuse_file_info *fi, enum fuse_readdir_flags flags);$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/fuse.h:1159:
+^I^I     struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1181: FILE: tools/virtiofsd/fuse.h:1161:
+^I^I       struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/fuse.h:1163:
+^I^I   struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1185: FILE: tools/virtiofsd/fuse.h:1165:
+^I^I struct fuse_file_info *fi, int cmd, struct flock *lock);$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/fuse.h:1167:
+^I^I  struct fuse_file_info *fi, int op);$

ERROR: code indent should never use tabs
#1189: FILE: tools/virtiofsd/fuse.h:1169:
+^I^I  struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1191: FILE: tools/virtiofsd/fuse.h:1171:
+^I^I  struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1193: FILE: tools/virtiofsd/fuse.h:1173:
+^I^I     struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1195: FILE: tools/virtiofsd/fuse.h:1175:
+^I^I    const struct timespec tv[2], struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/fuse.h:1178:
+^I^I     size_t len);$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/fuse.h:1180:
+^I^I  dev_t rdev);$

ERROR: code indent should never use tabs
#1203: FILE: tools/virtiofsd/fuse.h:1183:
+^I^I     const char *value, size_t size, int flags);$

ERROR: code indent should never use tabs
#1205: FILE: tools/virtiofsd/fuse.h:1185:
+^I^I     char *value, size_t size);$

ERROR: code indent should never use tabs
#1207: FILE: tools/virtiofsd/fuse.h:1187:
+^I^I      size_t size);$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/fuse.h:1189:
+^I^I^Iconst char *name);$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/fuse.h:1191:
+^I^I uint64_t *idx);$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/fuse.h:1193:
+^I^I  void *arg, struct fuse_file_info *fi, unsigned int flags,$

ERROR: code indent should never use tabs
#1214: FILE: tools/virtiofsd/fuse.h:1194:
+^I^I  void *data);$

ERROR: code indent should never use tabs
#1216: FILE: tools/virtiofsd/fuse.h:1196:
+^I^I struct fuse_file_info *fi, struct fuse_pollhandle *ph,$

ERROR: code indent should never use tabs
#1217: FILE: tools/virtiofsd/fuse.h:1197:
+^I^I unsigned *reventsp);$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/fuse.h:1199:
+^I^I off_t offset, off_t length, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/fuse.h:1201:
+^I^I^I^Istruct fuse_file_info *fi_in, off_t off_in,$

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/fuse.h:1202:
+^I^I^I^Iconst char *path_out,$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/fuse.h:1203:
+^I^I^I^Istruct fuse_file_info *fi_out, off_t off_out,$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/fuse.h:1204:
+^I^I^I^Isize_t len, int flags);$

ERROR: code indent should never use tabs
#1226: FILE: tools/virtiofsd/fuse.h:1206:
+^I^I    struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#1228: FILE: tools/virtiofsd/fuse.h:1208:
+^I^Istruct fuse_config *cfg);$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/fuse.h:1227:
+^I^I^I    void *private_data);$

ERROR: code indent should never use tabs
#1264: FILE: tools/virtiofsd/fuse.h:1244:
+^I^I^I^I^I^I struct fuse_fs *fs[]);$

ERROR: code indent should never use tabs
#1276: FILE: tools/virtiofsd/fuse.h:1256:
+^Ifuse_module_factory_t fuse_module_ ## name_ ## _factory = factory_$

WARNING: architecture specific defines should be avoided
#1291: FILE: tools/virtiofsd/fuse.h:1271:
+#ifdef __cplusplus

WARNING: Block comments use a leading /* on a separate line
#1302: FILE: tools/virtiofsd/fuse_common.h:1:
+/*  FUSE: Filesystem in Userspace

WARNING: Block comments use * on subsequent lines
#1303: FILE: tools/virtiofsd/fuse_common.h:2:
+/*  FUSE: Filesystem in Userspace
+  Copyright (C) 2001-2007  Miklos Szeredi <address@hidden>

ERROR: line over 90 characters
#1312: FILE: tools/virtiofsd/fuse_common.h:11:
+#error "Never include <fuse_common.h> directly; use <fuse.h> or 
<fuse_lowlevel.h> instead."

WARNING: architecture specific defines should be avoided
#1332: FILE: tools/virtiofsd/fuse_common.h:31:
+#ifdef __cplusplus

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/fuse_common.h:45:
+^I/** Open flags.^I Available in open() and release() */$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/fuse_common.h:46:
+^Iint flags;$

ERROR: code indent should never use tabs
#1349: FILE: tools/virtiofsd/fuse_common.h:48:
+^I/** In case of a write operation indicates if this was caused$

WARNING: Block comments use a leading /* on a separate line
#1349: FILE: tools/virtiofsd/fuse_common.h:48:
+       /** In case of a write operation indicates if this was caused

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/fuse_common.h:49:
+^I    by a delayed write from the page cache. If so, then the$

WARNING: Block comments use * on subsequent lines
#1350: FILE: tools/virtiofsd/fuse_common.h:49:
+       /** In case of a write operation indicates if this was caused
+           by a delayed write from the page cache. If so, then the

ERROR: code indent should never use tabs
#1351: FILE: tools/virtiofsd/fuse_common.h:50:
+^I    context's pid, uid, and gid fields will not be valid, and$

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/fuse_common.h:51:
+^I    the *fh* value may not match the *fh* value that would$

ERROR: code indent should never use tabs
#1353: FILE: tools/virtiofsd/fuse_common.h:52:
+^I    have been sent with the corresponding individual write$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/fuse_common.h:53:
+^I    requests if write caching had been disabled. */$

WARNING: Block comments use a trailing */ on a separate line
#1354: FILE: tools/virtiofsd/fuse_common.h:53:
+           requests if write caching had been disabled. */

ERROR: code indent should never use tabs
#1355: FILE: tools/virtiofsd/fuse_common.h:54:
+^Iunsigned int writepage : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1355: FILE: tools/virtiofsd/fuse_common.h:54:
+       unsigned int writepage : 1;
                               ^

ERROR: code indent should never use tabs
#1357: FILE: tools/virtiofsd/fuse_common.h:56:
+^I/** Can be filled in by open, to use direct I/O on this file. */$

ERROR: code indent should never use tabs
#1358: FILE: tools/virtiofsd/fuse_common.h:57:
+^Iunsigned int direct_io : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1358: FILE: tools/virtiofsd/fuse_common.h:57:
+       unsigned int direct_io : 1;
                               ^

ERROR: code indent should never use tabs
#1360: FILE: tools/virtiofsd/fuse_common.h:59:
+^I/** Can be filled in by open. It signals the kernel that any$

WARNING: Block comments use a leading /* on a separate line
#1360: FILE: tools/virtiofsd/fuse_common.h:59:
+       /** Can be filled in by open. It signals the kernel that any

ERROR: code indent should never use tabs
#1361: FILE: tools/virtiofsd/fuse_common.h:60:
+^I    currently cached file data (ie., data that the filesystem$

WARNING: Block comments use * on subsequent lines
#1361: FILE: tools/virtiofsd/fuse_common.h:60:
+       /** Can be filled in by open. It signals the kernel that any
+           currently cached file data (ie., data that the filesystem

ERROR: code indent should never use tabs
#1362: FILE: tools/virtiofsd/fuse_common.h:61:
+^I    provided the last time the file was open) need not be$

ERROR: code indent should never use tabs
#1363: FILE: tools/virtiofsd/fuse_common.h:62:
+^I    invalidated. Has no effect when set in other contexts (in$

ERROR: code indent should never use tabs
#1364: FILE: tools/virtiofsd/fuse_common.h:63:
+^I    particular it does nothing when set by opendir()). */$

WARNING: Block comments use a trailing */ on a separate line
#1364: FILE: tools/virtiofsd/fuse_common.h:63:
+           particular it does nothing when set by opendir()). */

ERROR: code indent should never use tabs
#1365: FILE: tools/virtiofsd/fuse_common.h:64:
+^Iunsigned int keep_cache : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1365: FILE: tools/virtiofsd/fuse_common.h:64:
+       unsigned int keep_cache : 1;
                                ^

ERROR: code indent should never use tabs
#1367: FILE: tools/virtiofsd/fuse_common.h:66:
+^I/** Indicates a flush operation.  Set in flush operation, also$

WARNING: Block comments use a leading /* on a separate line
#1367: FILE: tools/virtiofsd/fuse_common.h:66:
+       /** Indicates a flush operation.  Set in flush operation, also

ERROR: code indent should never use tabs
#1368: FILE: tools/virtiofsd/fuse_common.h:67:
+^I    maybe set in highlevel lock operation and lowlevel release$

WARNING: Block comments use * on subsequent lines
#1368: FILE: tools/virtiofsd/fuse_common.h:67:
+       /** Indicates a flush operation.  Set in flush operation, also
+           maybe set in highlevel lock operation and lowlevel release

ERROR: code indent should never use tabs
#1369: FILE: tools/virtiofsd/fuse_common.h:68:
+^I    operation. */$

WARNING: Block comments use a trailing */ on a separate line
#1369: FILE: tools/virtiofsd/fuse_common.h:68:
+           operation. */

ERROR: code indent should never use tabs
#1370: FILE: tools/virtiofsd/fuse_common.h:69:
+^Iunsigned int flush : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1370: FILE: tools/virtiofsd/fuse_common.h:69:
+       unsigned int flush : 1;
                           ^

ERROR: code indent should never use tabs
#1372: FILE: tools/virtiofsd/fuse_common.h:71:
+^I/** Can be filled in by open, to indicate that the file is not$

WARNING: Block comments use a leading /* on a separate line
#1372: FILE: tools/virtiofsd/fuse_common.h:71:
+       /** Can be filled in by open, to indicate that the file is not

ERROR: code indent should never use tabs
#1373: FILE: tools/virtiofsd/fuse_common.h:72:
+^I    seekable. */$

WARNING: Block comments use * on subsequent lines
#1373: FILE: tools/virtiofsd/fuse_common.h:72:
+       /** Can be filled in by open, to indicate that the file is not
+           seekable. */

WARNING: Block comments use a trailing */ on a separate line
#1373: FILE: tools/virtiofsd/fuse_common.h:72:
+           seekable. */

ERROR: code indent should never use tabs
#1374: FILE: tools/virtiofsd/fuse_common.h:73:
+^Iunsigned int nonseekable : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1374: FILE: tools/virtiofsd/fuse_common.h:73:
+       unsigned int nonseekable : 1;
                                 ^

ERROR: code indent should never use tabs
#1376: FILE: tools/virtiofsd/fuse_common.h:75:
+^I/* Indicates that flock locks for this file should be$

WARNING: Block comments use a leading /* on a separate line
#1376: FILE: tools/virtiofsd/fuse_common.h:75:
+       /* Indicates that flock locks for this file should be

ERROR: code indent should never use tabs
#1377: FILE: tools/virtiofsd/fuse_common.h:76:
+^I   released.  If set, lock_owner shall contain a valid value.$

WARNING: Block comments use * on subsequent lines
#1377: FILE: tools/virtiofsd/fuse_common.h:76:
+       /* Indicates that flock locks for this file should be
+          released.  If set, lock_owner shall contain a valid value.

ERROR: code indent should never use tabs
#1378: FILE: tools/virtiofsd/fuse_common.h:77:
+^I   May only be set in ->release(). */$

WARNING: Block comments use a trailing */ on a separate line
#1378: FILE: tools/virtiofsd/fuse_common.h:77:
+          May only be set in ->release(). */

ERROR: code indent should never use tabs
#1379: FILE: tools/virtiofsd/fuse_common.h:78:
+^Iunsigned int flock_release : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1379: FILE: tools/virtiofsd/fuse_common.h:78:
+       unsigned int flock_release : 1;
                                   ^

ERROR: code indent should never use tabs
#1381: FILE: tools/virtiofsd/fuse_common.h:80:
+^I/** Can be filled in by opendir. It signals the kernel to$

WARNING: Block comments use a leading /* on a separate line
#1381: FILE: tools/virtiofsd/fuse_common.h:80:
+       /** Can be filled in by opendir. It signals the kernel to

ERROR: code indent should never use tabs
#1382: FILE: tools/virtiofsd/fuse_common.h:81:
+^I    enable caching of entries returned by readdir().  Has no$

WARNING: Block comments use * on subsequent lines
#1382: FILE: tools/virtiofsd/fuse_common.h:81:
+       /** Can be filled in by opendir. It signals the kernel to
+           enable caching of entries returned by readdir().  Has no

ERROR: code indent should never use tabs
#1383: FILE: tools/virtiofsd/fuse_common.h:82:
+^I    effect when set in other contexts (in particular it does$

ERROR: code indent should never use tabs
#1384: FILE: tools/virtiofsd/fuse_common.h:83:
+^I    nothing when set by open()). */$

WARNING: Block comments use a trailing */ on a separate line
#1384: FILE: tools/virtiofsd/fuse_common.h:83:
+           nothing when set by open()). */

ERROR: code indent should never use tabs
#1385: FILE: tools/virtiofsd/fuse_common.h:84:
+^Iunsigned int cache_readdir : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1385: FILE: tools/virtiofsd/fuse_common.h:84:
+       unsigned int cache_readdir : 1;
                                   ^

ERROR: code indent should never use tabs
#1387: FILE: tools/virtiofsd/fuse_common.h:86:
+^I/** Padding.  Reserved for future use*/$

ERROR: code indent should never use tabs
#1388: FILE: tools/virtiofsd/fuse_common.h:87:
+^Iunsigned int padding : 25;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1388: FILE: tools/virtiofsd/fuse_common.h:87:
+       unsigned int padding : 25;
                             ^

ERROR: code indent should never use tabs
#1389: FILE: tools/virtiofsd/fuse_common.h:88:
+^Iunsigned int padding2 : 32;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#1389: FILE: tools/virtiofsd/fuse_common.h:88:
+       unsigned int padding2 : 32;
                              ^

ERROR: code indent should never use tabs
#1391: FILE: tools/virtiofsd/fuse_common.h:90:
+^I/** File handle id.  May be filled in by filesystem in create,$

WARNING: Block comments use a leading /* on a separate line
#1391: FILE: tools/virtiofsd/fuse_common.h:90:
+       /** File handle id.  May be filled in by filesystem in create,

ERROR: code indent should never use tabs
#1392: FILE: tools/virtiofsd/fuse_common.h:91:
+^I * open, and opendir().  Available in most other file operations on the$

ERROR: code indent should never use tabs
#1393: FILE: tools/virtiofsd/fuse_common.h:92:
+^I * same file handle. */$

WARNING: Block comments use a trailing */ on a separate line
#1393: FILE: tools/virtiofsd/fuse_common.h:92:
+        * same file handle. */

ERROR: code indent should never use tabs
#1394: FILE: tools/virtiofsd/fuse_common.h:93:
+^Iuint64_t fh;$

ERROR: code indent should never use tabs
#1396: FILE: tools/virtiofsd/fuse_common.h:95:
+^I/** Lock owner id.  Available in locking operations and flush */$

ERROR: code indent should never use tabs
#1397: FILE: tools/virtiofsd/fuse_common.h:96:
+^Iuint64_t lock_owner;$

ERROR: code indent should never use tabs
#1399: FILE: tools/virtiofsd/fuse_common.h:98:
+^I/** Requested poll events.  Available in ->poll.  Only set on kernels$

WARNING: Block comments use a leading /* on a separate line
#1399: FILE: tools/virtiofsd/fuse_common.h:98:
+       /** Requested poll events.  Available in ->poll.  Only set on kernels

ERROR: code indent should never use tabs
#1400: FILE: tools/virtiofsd/fuse_common.h:99:
+^I    which support it.  If unsupported, this field is set to zero. */$

WARNING: Block comments use * on subsequent lines
#1400: FILE: tools/virtiofsd/fuse_common.h:99:
+       /** Requested poll events.  Available in ->poll.  Only set on kernels
+           which support it.  If unsupported, this field is set to zero. */

WARNING: Block comments use a trailing */ on a separate line
#1400: FILE: tools/virtiofsd/fuse_common.h:99:
+           which support it.  If unsupported, this field is set to zero. */

ERROR: code indent should never use tabs
#1401: FILE: tools/virtiofsd/fuse_common.h:100:
+^Iuint32_t poll_events;$

ERROR: code indent should never use tabs
#1409: FILE: tools/virtiofsd/fuse_common.h:108:
+^I/**$

ERROR: code indent should never use tabs
#1410: FILE: tools/virtiofsd/fuse_common.h:109:
+^I * whether to use separate device fds for each thread$

ERROR: code indent should never use tabs
#1411: FILE: tools/virtiofsd/fuse_common.h:110:
+^I * (may increase performance)$

ERROR: code indent should never use tabs
#1412: FILE: tools/virtiofsd/fuse_common.h:111:
+^I */$

ERROR: code indent should never use tabs
#1413: FILE: tools/virtiofsd/fuse_common.h:112:
+^Iint clone_fd;$

ERROR: code indent should never use tabs
#1415: FILE: tools/virtiofsd/fuse_common.h:114:
+^I/**$

ERROR: code indent should never use tabs
#1416: FILE: tools/virtiofsd/fuse_common.h:115:
+^I * The maximum number of available worker threads before they$

ERROR: code indent should never use tabs
#1417: FILE: tools/virtiofsd/fuse_common.h:116:
+^I * start to get deleted when they become idle. If not$

ERROR: code indent should never use tabs
#1418: FILE: tools/virtiofsd/fuse_common.h:117:
+^I * specified, the default is 10.$

ERROR: code indent should never use tabs
#1419: FILE: tools/virtiofsd/fuse_common.h:118:
+^I *$

ERROR: code indent should never use tabs
#1420: FILE: tools/virtiofsd/fuse_common.h:119:
+^I * Adjusting this has performance implications; a very small number$

ERROR: code indent should never use tabs
#1421: FILE: tools/virtiofsd/fuse_common.h:120:
+^I * of threads in the pool will cause a lot of thread creation and$

ERROR: code indent should never use tabs
#1422: FILE: tools/virtiofsd/fuse_common.h:121:
+^I * deletion overhead and performance may suffer. When set to 0, a new$

ERROR: code indent should never use tabs
#1423: FILE: tools/virtiofsd/fuse_common.h:122:
+^I * thread will be created to service every operation.$

ERROR: code indent should never use tabs
#1424: FILE: tools/virtiofsd/fuse_common.h:123:
+^I */$

ERROR: code indent should never use tabs
#1425: FILE: tools/virtiofsd/fuse_common.h:124:
+^Iunsigned int max_idle_threads;$

WARNING: Block comments use a leading /* on a separate line
#1428: FILE: tools/virtiofsd/fuse_common.h:127:
+/**************************************************************************

ERROR: code indent should never use tabs
#1442: FILE: tools/virtiofsd/fuse_common.h:141:
+#define FUSE_CAP_ASYNC_READ^I^I(1 << 0)$

ERROR: code indent should never use tabs
#1450: FILE: tools/virtiofsd/fuse_common.h:149:
+#define FUSE_CAP_POSIX_LOCKS^I^I(1 << 1)$

ERROR: code indent should never use tabs
#1459: FILE: tools/virtiofsd/fuse_common.h:158:
+#define FUSE_CAP_ATOMIC_O_TRUNC^I^I(1 << 3)$

ERROR: code indent should never use tabs
#1466: FILE: tools/virtiofsd/fuse_common.h:165:
+#define FUSE_CAP_EXPORT_SUPPORT^I^I(1 << 4)$

ERROR: code indent should never use tabs
#1474: FILE: tools/virtiofsd/fuse_common.h:173:
+#define FUSE_CAP_DONT_MASK^I^I(1 << 6)$

ERROR: code indent should never use tabs
#1482: FILE: tools/virtiofsd/fuse_common.h:181:
+#define FUSE_CAP_SPLICE_WRITE^I^I(1 << 7)$

ERROR: code indent should never use tabs
#1490: FILE: tools/virtiofsd/fuse_common.h:189:
+#define FUSE_CAP_SPLICE_MOVE^I^I(1 << 8)$

ERROR: code indent should never use tabs
#1499: FILE: tools/virtiofsd/fuse_common.h:198:
+#define FUSE_CAP_SPLICE_READ^I^I(1 << 9)$

ERROR: code indent should never use tabs
#1512: FILE: tools/virtiofsd/fuse_common.h:211:
+#define FUSE_CAP_FLOCK_LOCKS^I^I(1 << 10)$

ERROR: code indent should never use tabs
#1519: FILE: tools/virtiofsd/fuse_common.h:218:
+#define FUSE_CAP_IOCTL_DIR^I^I(1 << 11)$

ERROR: code indent should never use tabs
#1541: FILE: tools/virtiofsd/fuse_common.h:240:
+#define FUSE_CAP_AUTO_INVAL_DATA^I(1 << 12)$

ERROR: code indent should never use tabs
#1549: FILE: tools/virtiofsd/fuse_common.h:248:
+#define FUSE_CAP_READDIRPLUS^I^I(1 << 13)$

ERROR: code indent should never use tabs
#1577: FILE: tools/virtiofsd/fuse_common.h:276:
+#define FUSE_CAP_READDIRPLUS_AUTO^I(1 << 14)$

ERROR: code indent should never use tabs
#1588: FILE: tools/virtiofsd/fuse_common.h:287:
+#define FUSE_CAP_ASYNC_DIO^I^I(1 << 15)$

ERROR: code indent should never use tabs
#1597: FILE: tools/virtiofsd/fuse_common.h:296:
+#define FUSE_CAP_WRITEBACK_CACHE^I(1 << 16)$

ERROR: code indent should never use tabs
#1610: FILE: tools/virtiofsd/fuse_common.h:309:
+#define FUSE_CAP_NO_OPEN_SUPPORT^I(1 << 17)$

ERROR: code indent should never use tabs
#1672: FILE: tools/virtiofsd/fuse_common.h:371:
+#define FUSE_IOCTL_COMPAT^I(1 << 0)$

ERROR: code indent should never use tabs
#1673: FILE: tools/virtiofsd/fuse_common.h:372:
+#define FUSE_IOCTL_UNRESTRICTED^I(1 << 1)$

ERROR: code indent should never use tabs
#1674: FILE: tools/virtiofsd/fuse_common.h:373:
+#define FUSE_IOCTL_RETRY^I(1 << 2)$

ERROR: code indent should never use tabs
#1675: FILE: tools/virtiofsd/fuse_common.h:374:
+#define FUSE_IOCTL_DIR^I^I(1 << 4)$

ERROR: code indent should never use tabs
#1677: FILE: tools/virtiofsd/fuse_common.h:376:
+#define FUSE_IOCTL_MAX_IOV^I256$

ERROR: code indent should never use tabs
#1687: FILE: tools/virtiofsd/fuse_common.h:386:
+^I/**$

ERROR: code indent should never use tabs
#1688: FILE: tools/virtiofsd/fuse_common.h:387:
+^I * Major version of the protocol (read-only)$

ERROR: code indent should never use tabs
#1689: FILE: tools/virtiofsd/fuse_common.h:388:
+^I */$

ERROR: code indent should never use tabs
#1690: FILE: tools/virtiofsd/fuse_common.h:389:
+^Iunsigned proto_major;$

ERROR: code indent should never use tabs
#1692: FILE: tools/virtiofsd/fuse_common.h:391:
+^I/**$

ERROR: code indent should never use tabs
#1693: FILE: tools/virtiofsd/fuse_common.h:392:
+^I * Minor version of the protocol (read-only)$

ERROR: code indent should never use tabs
#1694: FILE: tools/virtiofsd/fuse_common.h:393:
+^I */$

ERROR: code indent should never use tabs
#1695: FILE: tools/virtiofsd/fuse_common.h:394:
+^Iunsigned proto_minor;$

ERROR: code indent should never use tabs
#1697: FILE: tools/virtiofsd/fuse_common.h:396:
+^I/**$

ERROR: code indent should never use tabs
#1698: FILE: tools/virtiofsd/fuse_common.h:397:
+^I * Maximum size of the write buffer$

ERROR: code indent should never use tabs
#1699: FILE: tools/virtiofsd/fuse_common.h:398:
+^I */$

ERROR: code indent should never use tabs
#1700: FILE: tools/virtiofsd/fuse_common.h:399:
+^Iunsigned max_write;$

ERROR: code indent should never use tabs
#1702: FILE: tools/virtiofsd/fuse_common.h:401:
+^I/**$

ERROR: code indent should never use tabs
#1703: FILE: tools/virtiofsd/fuse_common.h:402:
+^I * Maximum size of read requests. A value of zero indicates no$

ERROR: code indent should never use tabs
#1704: FILE: tools/virtiofsd/fuse_common.h:403:
+^I * limit. However, even if the filesystem does not specify a$

ERROR: code indent should never use tabs
#1705: FILE: tools/virtiofsd/fuse_common.h:404:
+^I * limit, the maximum size of read requests will still be$

ERROR: code indent should never use tabs
#1706: FILE: tools/virtiofsd/fuse_common.h:405:
+^I * limited by the kernel.$

ERROR: code indent should never use tabs
#1707: FILE: tools/virtiofsd/fuse_common.h:406:
+^I *$

ERROR: code indent should never use tabs
#1708: FILE: tools/virtiofsd/fuse_common.h:407:
+^I * NOTE: For the time being, the maximum size of read requests$

ERROR: code indent should never use tabs
#1709: FILE: tools/virtiofsd/fuse_common.h:408:
+^I * must be set both here *and* passed to fuse_session_new()$

ERROR: code indent should never use tabs
#1710: FILE: tools/virtiofsd/fuse_common.h:409:
+^I * using the ``-o max_read=<n>`` mount option. At some point$

ERROR: code indent should never use tabs
#1711: FILE: tools/virtiofsd/fuse_common.h:410:
+^I * in the future, specifying the mount option will no longer$

ERROR: code indent should never use tabs
#1712: FILE: tools/virtiofsd/fuse_common.h:411:
+^I * be necessary.$

ERROR: code indent should never use tabs
#1713: FILE: tools/virtiofsd/fuse_common.h:412:
+^I */$

ERROR: code indent should never use tabs
#1714: FILE: tools/virtiofsd/fuse_common.h:413:
+^Iunsigned max_read;$

ERROR: code indent should never use tabs
#1716: FILE: tools/virtiofsd/fuse_common.h:415:
+^I/**$

ERROR: code indent should never use tabs
#1717: FILE: tools/virtiofsd/fuse_common.h:416:
+^I * Maximum readahead$

ERROR: code indent should never use tabs
#1718: FILE: tools/virtiofsd/fuse_common.h:417:
+^I */$

ERROR: code indent should never use tabs
#1719: FILE: tools/virtiofsd/fuse_common.h:418:
+^Iunsigned max_readahead;$

ERROR: code indent should never use tabs
#1721: FILE: tools/virtiofsd/fuse_common.h:420:
+^I/**$

ERROR: code indent should never use tabs
#1722: FILE: tools/virtiofsd/fuse_common.h:421:
+^I * Capability flags that the kernel supports (read-only)$

ERROR: code indent should never use tabs
#1723: FILE: tools/virtiofsd/fuse_common.h:422:
+^I */$

ERROR: code indent should never use tabs
#1724: FILE: tools/virtiofsd/fuse_common.h:423:
+^Iunsigned capable;$

ERROR: code indent should never use tabs
#1726: FILE: tools/virtiofsd/fuse_common.h:425:
+^I/**$

ERROR: code indent should never use tabs
#1727: FILE: tools/virtiofsd/fuse_common.h:426:
+^I * Capability flags that the filesystem wants to enable.$

ERROR: code indent should never use tabs
#1728: FILE: tools/virtiofsd/fuse_common.h:427:
+^I *$

ERROR: code indent should never use tabs
#1729: FILE: tools/virtiofsd/fuse_common.h:428:
+^I * libfuse attempts to initialize this field with$

ERROR: code indent should never use tabs
#1730: FILE: tools/virtiofsd/fuse_common.h:429:
+^I * reasonable default values before calling the init() handler.$

ERROR: code indent should never use tabs
#1731: FILE: tools/virtiofsd/fuse_common.h:430:
+^I */$

ERROR: code indent should never use tabs
#1732: FILE: tools/virtiofsd/fuse_common.h:431:
+^Iunsigned want;$

ERROR: code indent should never use tabs
#1734: FILE: tools/virtiofsd/fuse_common.h:433:
+^I/**$

ERROR: code indent should never use tabs
#1735: FILE: tools/virtiofsd/fuse_common.h:434:
+^I * Maximum number of pending "background" requests. A$

ERROR: code indent should never use tabs
#1736: FILE: tools/virtiofsd/fuse_common.h:435:
+^I * background request is any type of request for which the$

ERROR: code indent should never use tabs
#1737: FILE: tools/virtiofsd/fuse_common.h:436:
+^I * total number is not limited by other means. As of kernel$

ERROR: code indent should never use tabs
#1738: FILE: tools/virtiofsd/fuse_common.h:437:
+^I * 4.8, only two types of requests fall into this category:$

ERROR: code indent should never use tabs
#1739: FILE: tools/virtiofsd/fuse_common.h:438:
+^I *$

ERROR: code indent should never use tabs
#1740: FILE: tools/virtiofsd/fuse_common.h:439:
+^I *   1. Read-ahead requests$

ERROR: code indent should never use tabs
#1741: FILE: tools/virtiofsd/fuse_common.h:440:
+^I *   2. Asynchronous direct I/O requests$

ERROR: code indent should never use tabs
#1742: FILE: tools/virtiofsd/fuse_common.h:441:
+^I *$

ERROR: code indent should never use tabs
#1743: FILE: tools/virtiofsd/fuse_common.h:442:
+^I * Read-ahead requests are generated (if max_readahead is$

ERROR: code indent should never use tabs
#1744: FILE: tools/virtiofsd/fuse_common.h:443:
+^I * non-zero) by the kernel to preemptively fill its caches$

ERROR: code indent should never use tabs
#1745: FILE: tools/virtiofsd/fuse_common.h:444:
+^I * when it anticipates that userspace will soon read more$

ERROR: code indent should never use tabs
#1746: FILE: tools/virtiofsd/fuse_common.h:445:
+^I * data.$

ERROR: code indent should never use tabs
#1747: FILE: tools/virtiofsd/fuse_common.h:446:
+^I *$

ERROR: code indent should never use tabs
#1748: FILE: tools/virtiofsd/fuse_common.h:447:
+^I * Asynchronous direct I/O requests are generated if$

ERROR: code indent should never use tabs
#1749: FILE: tools/virtiofsd/fuse_common.h:448:
+^I * FUSE_CAP_ASYNC_DIO is enabled and userspace submits a large$

ERROR: code indent should never use tabs
#1750: FILE: tools/virtiofsd/fuse_common.h:449:
+^I * direct I/O request. In this case the kernel will internally$

ERROR: code indent should never use tabs
#1751: FILE: tools/virtiofsd/fuse_common.h:450:
+^I * split it up into multiple smaller requests and submit them$

ERROR: code indent should never use tabs
#1752: FILE: tools/virtiofsd/fuse_common.h:451:
+^I * to the filesystem concurrently.$

ERROR: code indent should never use tabs
#1753: FILE: tools/virtiofsd/fuse_common.h:452:
+^I *$

ERROR: code indent should never use tabs
#1754: FILE: tools/virtiofsd/fuse_common.h:453:
+^I * Note that the following requests are *not* background$

ERROR: code indent should never use tabs
#1755: FILE: tools/virtiofsd/fuse_common.h:454:
+^I * requests: writeback requests (limited by the kernel's$

ERROR: code indent should never use tabs
#1756: FILE: tools/virtiofsd/fuse_common.h:455:
+^I * flusher algorithm), regular (i.e., synchronous and$

ERROR: code indent should never use tabs
#1757: FILE: tools/virtiofsd/fuse_common.h:456:
+^I * buffered) userspace read/write requests (limited to one per$

ERROR: code indent should never use tabs
#1758: FILE: tools/virtiofsd/fuse_common.h:457:
+^I * thread), asynchronous read requests (Linux's io_submit(2)$

ERROR: code indent should never use tabs
#1759: FILE: tools/virtiofsd/fuse_common.h:458:
+^I * call actually blocks, so these are also limited to one per$

ERROR: code indent should never use tabs
#1760: FILE: tools/virtiofsd/fuse_common.h:459:
+^I * thread).$

ERROR: code indent should never use tabs
#1761: FILE: tools/virtiofsd/fuse_common.h:460:
+^I */$

ERROR: code indent should never use tabs
#1762: FILE: tools/virtiofsd/fuse_common.h:461:
+^Iunsigned max_background;$

ERROR: code indent should never use tabs
#1764: FILE: tools/virtiofsd/fuse_common.h:463:
+^I/**$

ERROR: code indent should never use tabs
#1765: FILE: tools/virtiofsd/fuse_common.h:464:
+^I * Kernel congestion threshold parameter. If the number of pending$

ERROR: code indent should never use tabs
#1766: FILE: tools/virtiofsd/fuse_common.h:465:
+^I * background requests exceeds this number, the FUSE kernel module will$

ERROR: code indent should never use tabs
#1767: FILE: tools/virtiofsd/fuse_common.h:466:
+^I * mark the filesystem as "congested". This instructs the kernel to$

ERROR: code indent should never use tabs
#1768: FILE: tools/virtiofsd/fuse_common.h:467:
+^I * expect that queued requests will take some time to complete, and to$

ERROR: code indent should never use tabs
#1769: FILE: tools/virtiofsd/fuse_common.h:468:
+^I * adjust its algorithms accordingly (e.g. by putting a waiting thread$

ERROR: code indent should never use tabs
#1770: FILE: tools/virtiofsd/fuse_common.h:469:
+^I * to sleep instead of using a busy-loop).$

ERROR: code indent should never use tabs
#1771: FILE: tools/virtiofsd/fuse_common.h:470:
+^I */$

ERROR: code indent should never use tabs
#1772: FILE: tools/virtiofsd/fuse_common.h:471:
+^Iunsigned congestion_threshold;$

ERROR: code indent should never use tabs
#1774: FILE: tools/virtiofsd/fuse_common.h:473:
+^I/**$

ERROR: code indent should never use tabs
#1775: FILE: tools/virtiofsd/fuse_common.h:474:
+^I * When FUSE_CAP_WRITEBACK_CACHE is enabled, the kernel is responsible$

ERROR: code indent should never use tabs
#1776: FILE: tools/virtiofsd/fuse_common.h:475:
+^I * for updating mtime and ctime when write requests are received. The$

ERROR: code indent should never use tabs
#1777: FILE: tools/virtiofsd/fuse_common.h:476:
+^I * updated values are passed to the filesystem with setattr() requests.$

ERROR: code indent should never use tabs
#1778: FILE: tools/virtiofsd/fuse_common.h:477:
+^I * However, if the filesystem does not support the full resolution of$

ERROR: code indent should never use tabs
#1779: FILE: tools/virtiofsd/fuse_common.h:478:
+^I * the kernel timestamps (nanoseconds), the mtime and ctime values used$

ERROR: code indent should never use tabs
#1780: FILE: tools/virtiofsd/fuse_common.h:479:
+^I * by kernel and filesystem will differ (and result in an apparent$

ERROR: code indent should never use tabs
#1781: FILE: tools/virtiofsd/fuse_common.h:480:
+^I * change of times after a cache flush).$

ERROR: code indent should never use tabs
#1782: FILE: tools/virtiofsd/fuse_common.h:481:
+^I *$

ERROR: code indent should never use tabs
#1783: FILE: tools/virtiofsd/fuse_common.h:482:
+^I * To prevent this problem, this variable can be used to inform the$

ERROR: code indent should never use tabs
#1784: FILE: tools/virtiofsd/fuse_common.h:483:
+^I * kernel about the timestamp granularity supported by the file-system.$

ERROR: code indent should never use tabs
#1785: FILE: tools/virtiofsd/fuse_common.h:484:
+^I * The value should be power of 10.  The default is 1, i.e. full$

ERROR: code indent should never use tabs
#1786: FILE: tools/virtiofsd/fuse_common.h:485:
+^I * nano-second resolution. Filesystems supporting only second resolution$

ERROR: code indent should never use tabs
#1787: FILE: tools/virtiofsd/fuse_common.h:486:
+^I * should set this to 1000000000.$

ERROR: code indent should never use tabs
#1788: FILE: tools/virtiofsd/fuse_common.h:487:
+^I */$

ERROR: code indent should never use tabs
#1789: FILE: tools/virtiofsd/fuse_common.h:488:
+^Iunsigned time_gran;$

ERROR: code indent should never use tabs
#1791: FILE: tools/virtiofsd/fuse_common.h:490:
+^I/**$

ERROR: code indent should never use tabs
#1792: FILE: tools/virtiofsd/fuse_common.h:491:
+^I * For future use.$

ERROR: code indent should never use tabs
#1793: FILE: tools/virtiofsd/fuse_common.h:492:
+^I */$

ERROR: code indent should never use tabs
#1794: FILE: tools/virtiofsd/fuse_common.h:493:
+^Iunsigned reserved[22];$

WARNING: line over 80 characters
#1821: FILE: tools/virtiofsd/fuse_common.h:520:
+ *   -o no_remote_lock      Equivalent to -o 
no_remote_flock,no_remote_posix_lock

ERROR: "foo* bar" should be "foo *bar"
#1843: FILE: tools/virtiofsd/fuse_common.h:542:
+struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args);

ERROR: code indent should never use tabs
#1853: FILE: tools/virtiofsd/fuse_common.h:552:
+^I^I^I  struct fuse_conn_info *conn);$

WARNING: Block comments use a leading /* on a separate line
#1884: FILE: tools/virtiofsd/fuse_common.h:583:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#1885: FILE: tools/virtiofsd/fuse_common.h:584:
+ * Data buffer^I^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#1886: FILE: tools/virtiofsd/fuse_common.h:585:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#1892: FILE: tools/virtiofsd/fuse_common.h:591:
+^I/**$

ERROR: code indent should never use tabs
#1893: FILE: tools/virtiofsd/fuse_common.h:592:
+^I * Buffer contains a file descriptor$

ERROR: code indent should never use tabs
#1894: FILE: tools/virtiofsd/fuse_common.h:593:
+^I *$

ERROR: code indent should never use tabs
#1895: FILE: tools/virtiofsd/fuse_common.h:594:
+^I * If this flag is set, the .fd field is valid, otherwise the$

ERROR: code indent should never use tabs
#1896: FILE: tools/virtiofsd/fuse_common.h:595:
+^I * .mem fields is valid.$

ERROR: code indent should never use tabs
#1897: FILE: tools/virtiofsd/fuse_common.h:596:
+^I */$

ERROR: code indent should never use tabs
#1898: FILE: tools/virtiofsd/fuse_common.h:597:
+^IFUSE_BUF_IS_FD^I^I= (1 << 1),$

ERROR: code indent should never use tabs
#1900: FILE: tools/virtiofsd/fuse_common.h:599:
+^I/**$

ERROR: code indent should never use tabs
#1901: FILE: tools/virtiofsd/fuse_common.h:600:
+^I * Seek on the file descriptor$

ERROR: code indent should never use tabs
#1902: FILE: tools/virtiofsd/fuse_common.h:601:
+^I *$

ERROR: code indent should never use tabs
#1903: FILE: tools/virtiofsd/fuse_common.h:602:
+^I * If this flag is set then the .pos field is valid and is$

ERROR: code indent should never use tabs
#1904: FILE: tools/virtiofsd/fuse_common.h:603:
+^I * used to seek to the given offset before performing$

ERROR: code indent should never use tabs
#1905: FILE: tools/virtiofsd/fuse_common.h:604:
+^I * operation on file descriptor.$

ERROR: code indent should never use tabs
#1906: FILE: tools/virtiofsd/fuse_common.h:605:
+^I */$

ERROR: code indent should never use tabs
#1907: FILE: tools/virtiofsd/fuse_common.h:606:
+^IFUSE_BUF_FD_SEEK^I= (1 << 2),$

ERROR: code indent should never use tabs
#1909: FILE: tools/virtiofsd/fuse_common.h:608:
+^I/**$

ERROR: code indent should never use tabs
#1910: FILE: tools/virtiofsd/fuse_common.h:609:
+^I * Retry operation on file descriptor$

ERROR: code indent should never use tabs
#1911: FILE: tools/virtiofsd/fuse_common.h:610:
+^I *$

ERROR: code indent should never use tabs
#1912: FILE: tools/virtiofsd/fuse_common.h:611:
+^I * If this flag is set then retry operation on file descriptor$

ERROR: code indent should never use tabs
#1913: FILE: tools/virtiofsd/fuse_common.h:612:
+^I * until .size bytes have been copied or an error or EOF is$

ERROR: code indent should never use tabs
#1914: FILE: tools/virtiofsd/fuse_common.h:613:
+^I * detected.$

ERROR: code indent should never use tabs
#1915: FILE: tools/virtiofsd/fuse_common.h:614:
+^I */$

ERROR: code indent should never use tabs
#1916: FILE: tools/virtiofsd/fuse_common.h:615:
+^IFUSE_BUF_FD_RETRY^I= (1 << 3),$

ERROR: code indent should never use tabs
#1923: FILE: tools/virtiofsd/fuse_common.h:622:
+^I/**$

ERROR: code indent should never use tabs
#1924: FILE: tools/virtiofsd/fuse_common.h:623:
+^I * Don't use splice(2)$

ERROR: code indent should never use tabs
#1925: FILE: tools/virtiofsd/fuse_common.h:624:
+^I *$

ERROR: code indent should never use tabs
#1926: FILE: tools/virtiofsd/fuse_common.h:625:
+^I * Always fall back to using read and write instead of$

ERROR: code indent should never use tabs
#1927: FILE: tools/virtiofsd/fuse_common.h:626:
+^I * splice(2) to copy data from one file descriptor to another.$

ERROR: code indent should never use tabs
#1928: FILE: tools/virtiofsd/fuse_common.h:627:
+^I *$

ERROR: code indent should never use tabs
#1929: FILE: tools/virtiofsd/fuse_common.h:628:
+^I * If this flag is not set, then only fall back if splice is$

ERROR: code indent should never use tabs
#1930: FILE: tools/virtiofsd/fuse_common.h:629:
+^I * unavailable.$

ERROR: code indent should never use tabs
#1931: FILE: tools/virtiofsd/fuse_common.h:630:
+^I */$

ERROR: code indent should never use tabs
#1932: FILE: tools/virtiofsd/fuse_common.h:631:
+^IFUSE_BUF_NO_SPLICE^I= (1 << 1),$

ERROR: code indent should never use tabs
#1934: FILE: tools/virtiofsd/fuse_common.h:633:
+^I/**$

ERROR: code indent should never use tabs
#1935: FILE: tools/virtiofsd/fuse_common.h:634:
+^I * Force splice$

ERROR: code indent should never use tabs
#1936: FILE: tools/virtiofsd/fuse_common.h:635:
+^I *$

ERROR: code indent should never use tabs
#1937: FILE: tools/virtiofsd/fuse_common.h:636:
+^I * Always use splice(2) to copy data from one file descriptor$

ERROR: code indent should never use tabs
#1938: FILE: tools/virtiofsd/fuse_common.h:637:
+^I * to another.  If splice is not available, return -EINVAL.$

ERROR: code indent should never use tabs
#1939: FILE: tools/virtiofsd/fuse_common.h:638:
+^I */$

ERROR: code indent should never use tabs
#1940: FILE: tools/virtiofsd/fuse_common.h:639:
+^IFUSE_BUF_FORCE_SPLICE^I= (1 << 2),$

ERROR: code indent should never use tabs
#1942: FILE: tools/virtiofsd/fuse_common.h:641:
+^I/**$

ERROR: code indent should never use tabs
#1943: FILE: tools/virtiofsd/fuse_common.h:642:
+^I * Try to move data with splice.$

ERROR: code indent should never use tabs
#1944: FILE: tools/virtiofsd/fuse_common.h:643:
+^I *$

ERROR: code indent should never use tabs
#1945: FILE: tools/virtiofsd/fuse_common.h:644:
+^I * If splice is used, try to move pages from the source to the$

ERROR: code indent should never use tabs
#1946: FILE: tools/virtiofsd/fuse_common.h:645:
+^I * destination instead of copying.  See documentation of$

ERROR: code indent should never use tabs
#1947: FILE: tools/virtiofsd/fuse_common.h:646:
+^I * SPLICE_F_MOVE in splice(2) man page.$

ERROR: code indent should never use tabs
#1948: FILE: tools/virtiofsd/fuse_common.h:647:
+^I */$

ERROR: code indent should never use tabs
#1949: FILE: tools/virtiofsd/fuse_common.h:648:
+^IFUSE_BUF_SPLICE_MOVE^I= (1 << 3),$

ERROR: code indent should never use tabs
#1951: FILE: tools/virtiofsd/fuse_common.h:650:
+^I/**$

ERROR: code indent should never use tabs
#1952: FILE: tools/virtiofsd/fuse_common.h:651:
+^I * Don't block on the pipe when copying data with splice$

ERROR: code indent should never use tabs
#1953: FILE: tools/virtiofsd/fuse_common.h:652:
+^I *$

ERROR: code indent should never use tabs
#1954: FILE: tools/virtiofsd/fuse_common.h:653:
+^I * Makes the operations on the pipe non-blocking (if the pipe$

ERROR: code indent should never use tabs
#1955: FILE: tools/virtiofsd/fuse_common.h:654:
+^I * is full or empty).  See SPLICE_F_NONBLOCK in the splice(2)$

ERROR: code indent should never use tabs
#1956: FILE: tools/virtiofsd/fuse_common.h:655:
+^I * man page.$

ERROR: code indent should never use tabs
#1957: FILE: tools/virtiofsd/fuse_common.h:656:
+^I */$

ERROR: code indent should never use tabs
#1958: FILE: tools/virtiofsd/fuse_common.h:657:
+^IFUSE_BUF_SPLICE_NONBLOCK= (1 << 4),$

ERROR: spaces required around that '=' (ctx:VxW)
#1958: FILE: tools/virtiofsd/fuse_common.h:657:
+       FUSE_BUF_SPLICE_NONBLOCK= (1 << 4),
                                ^

ERROR: code indent should never use tabs
#1968: FILE: tools/virtiofsd/fuse_common.h:667:
+^I/**$

ERROR: code indent should never use tabs
#1969: FILE: tools/virtiofsd/fuse_common.h:668:
+^I * Size of data in bytes$

ERROR: code indent should never use tabs
#1970: FILE: tools/virtiofsd/fuse_common.h:669:
+^I */$

ERROR: code indent should never use tabs
#1971: FILE: tools/virtiofsd/fuse_common.h:670:
+^Isize_t size;$

ERROR: code indent should never use tabs
#1973: FILE: tools/virtiofsd/fuse_common.h:672:
+^I/**$

ERROR: code indent should never use tabs
#1974: FILE: tools/virtiofsd/fuse_common.h:673:
+^I * Buffer flags$

ERROR: code indent should never use tabs
#1975: FILE: tools/virtiofsd/fuse_common.h:674:
+^I */$

ERROR: code indent should never use tabs
#1976: FILE: tools/virtiofsd/fuse_common.h:675:
+^Ienum fuse_buf_flags flags;$

ERROR: code indent should never use tabs
#1978: FILE: tools/virtiofsd/fuse_common.h:677:
+^I/**$

ERROR: code indent should never use tabs
#1979: FILE: tools/virtiofsd/fuse_common.h:678:
+^I * Memory pointer$

ERROR: code indent should never use tabs
#1980: FILE: tools/virtiofsd/fuse_common.h:679:
+^I *$

ERROR: code indent should never use tabs
#1981: FILE: tools/virtiofsd/fuse_common.h:680:
+^I * Used unless FUSE_BUF_IS_FD flag is set.$

ERROR: code indent should never use tabs
#1982: FILE: tools/virtiofsd/fuse_common.h:681:
+^I */$

ERROR: code indent should never use tabs
#1983: FILE: tools/virtiofsd/fuse_common.h:682:
+^Ivoid *mem;$

ERROR: code indent should never use tabs
#1985: FILE: tools/virtiofsd/fuse_common.h:684:
+^I/**$

ERROR: code indent should never use tabs
#1986: FILE: tools/virtiofsd/fuse_common.h:685:
+^I * File descriptor$

ERROR: code indent should never use tabs
#1987: FILE: tools/virtiofsd/fuse_common.h:686:
+^I *$

ERROR: code indent should never use tabs
#1988: FILE: tools/virtiofsd/fuse_common.h:687:
+^I * Used if FUSE_BUF_IS_FD flag is set.$

ERROR: code indent should never use tabs
#1989: FILE: tools/virtiofsd/fuse_common.h:688:
+^I */$

ERROR: code indent should never use tabs
#1990: FILE: tools/virtiofsd/fuse_common.h:689:
+^Iint fd;$

ERROR: code indent should never use tabs
#1992: FILE: tools/virtiofsd/fuse_common.h:691:
+^I/**$

ERROR: code indent should never use tabs
#1993: FILE: tools/virtiofsd/fuse_common.h:692:
+^I * File position$

ERROR: code indent should never use tabs
#1994: FILE: tools/virtiofsd/fuse_common.h:693:
+^I *$

ERROR: code indent should never use tabs
#1995: FILE: tools/virtiofsd/fuse_common.h:694:
+^I * Used if FUSE_BUF_FD_SEEK flag is set.$

ERROR: code indent should never use tabs
#1996: FILE: tools/virtiofsd/fuse_common.h:695:
+^I */$

ERROR: code indent should never use tabs
#1997: FILE: tools/virtiofsd/fuse_common.h:696:
+^Ioff_t pos;$

ERROR: code indent should never use tabs
#2009: FILE: tools/virtiofsd/fuse_common.h:708:
+^I/**$

ERROR: code indent should never use tabs
#2010: FILE: tools/virtiofsd/fuse_common.h:709:
+^I * Number of buffers in the array$

ERROR: code indent should never use tabs
#2011: FILE: tools/virtiofsd/fuse_common.h:710:
+^I */$

ERROR: code indent should never use tabs
#2012: FILE: tools/virtiofsd/fuse_common.h:711:
+^Isize_t count;$

ERROR: code indent should never use tabs
#2014: FILE: tools/virtiofsd/fuse_common.h:713:
+^I/**$

ERROR: code indent should never use tabs
#2015: FILE: tools/virtiofsd/fuse_common.h:714:
+^I * Index of current buffer within the array$

ERROR: code indent should never use tabs
#2016: FILE: tools/virtiofsd/fuse_common.h:715:
+^I */$

ERROR: code indent should never use tabs
#2017: FILE: tools/virtiofsd/fuse_common.h:716:
+^Isize_t idx;$

ERROR: code indent should never use tabs
#2019: FILE: tools/virtiofsd/fuse_common.h:718:
+^I/**$

ERROR: code indent should never use tabs
#2020: FILE: tools/virtiofsd/fuse_common.h:719:
+^I * Current offset within the current buffer$

ERROR: code indent should never use tabs
#2021: FILE: tools/virtiofsd/fuse_common.h:720:
+^I */$

ERROR: code indent should never use tabs
#2022: FILE: tools/virtiofsd/fuse_common.h:721:
+^Isize_t off;$

ERROR: code indent should never use tabs
#2024: FILE: tools/virtiofsd/fuse_common.h:723:
+^I/**$

ERROR: code indent should never use tabs
#2025: FILE: tools/virtiofsd/fuse_common.h:724:
+^I * Array of buffers$

ERROR: code indent should never use tabs
#2026: FILE: tools/virtiofsd/fuse_common.h:725:
+^I */$

ERROR: code indent should never use tabs
#2027: FILE: tools/virtiofsd/fuse_common.h:726:
+^Istruct fuse_buf buf[1];$

ERROR: code indent should never use tabs
#2031: FILE: tools/virtiofsd/fuse_common.h:730:
+#define FUSE_BUFVEC_INIT(size__)^I^I^I^I\$

ERROR: code indent should never use tabs
#2032: FILE: tools/virtiofsd/fuse_common.h:731:
+^I((struct fuse_bufvec) {^I^I^I^I^I\$

ERROR: code indent should never use tabs
#2033: FILE: tools/virtiofsd/fuse_common.h:732:
+^I^I/* .count= */ 1,^I^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2033: FILE: tools/virtiofsd/fuse_common.h:732:
+               /* .count= */ 1,                                \

ERROR: code indent should never use tabs
#2034: FILE: tools/virtiofsd/fuse_common.h:733:
+^I^I/* .idx =  */ 0,^I^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2034: FILE: tools/virtiofsd/fuse_common.h:733:
+               /* .idx =  */ 0,                                \

ERROR: code indent should never use tabs
#2035: FILE: tools/virtiofsd/fuse_common.h:734:
+^I^I/* .off =  */ 0,^I^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2035: FILE: tools/virtiofsd/fuse_common.h:734:
+               /* .off =  */ 0,                                \

ERROR: code indent should never use tabs
#2036: FILE: tools/virtiofsd/fuse_common.h:735:
+^I^I/* .buf =  */ { /* [0] = */ {^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2036: FILE: tools/virtiofsd/fuse_common.h:735:
+               /* .buf =  */ { /* [0] = */ {                   \

ERROR: code indent should never use tabs
#2037: FILE: tools/virtiofsd/fuse_common.h:736:
+^I^I^I/* .size =  */ (size__),^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2037: FILE: tools/virtiofsd/fuse_common.h:736:
+                       /* .size =  */ (size__),                \

ERROR: code indent should never use tabs
#2038: FILE: tools/virtiofsd/fuse_common.h:737:
+^I^I^I/* .flags = */ (enum fuse_buf_flags) 0,^I\$

WARNING: Block comments use a leading /* on a separate line
#2038: FILE: tools/virtiofsd/fuse_common.h:737:
+                       /* .flags = */ (enum fuse_buf_flags) 0, \

ERROR: code indent should never use tabs
#2039: FILE: tools/virtiofsd/fuse_common.h:738:
+^I^I^I/* .mem =   */ NULL,^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2039: FILE: tools/virtiofsd/fuse_common.h:738:
+                       /* .mem =   */ NULL,                    \

ERROR: code indent should never use tabs
#2040: FILE: tools/virtiofsd/fuse_common.h:739:
+^I^I^I/* .fd =    */ -1,^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2040: FILE: tools/virtiofsd/fuse_common.h:739:
+                       /* .fd =    */ -1,                      \

ERROR: code indent should never use tabs
#2041: FILE: tools/virtiofsd/fuse_common.h:740:
+^I^I^I/* .pos =   */ 0,^I^I^I\$

WARNING: Block comments use a leading /* on a separate line
#2041: FILE: tools/virtiofsd/fuse_common.h:740:
+                       /* .pos =   */ 0,                       \

ERROR: code indent should never use tabs
#2042: FILE: tools/virtiofsd/fuse_common.h:741:
+^I^I} }^I^I^I^I^I^I\$

ERROR: code indent should never use tabs
#2043: FILE: tools/virtiofsd/fuse_common.h:742:
+^I} )$

ERROR: space prohibited before that close parenthesis ')'
#2043: FILE: tools/virtiofsd/fuse_common.h:742:
+       } )

ERROR: code indent should never use tabs
#2062: FILE: tools/virtiofsd/fuse_common.h:761:
+^I^I      enum fuse_buf_copy_flags flags);$

WARNING: Block comments use a leading /* on a separate line
#2064: FILE: tools/virtiofsd/fuse_common.h:763:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#2065: FILE: tools/virtiofsd/fuse_common.h:764:
+ * Signal handling^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#2066: FILE: tools/virtiofsd/fuse_common.h:765:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#2071: FILE: tools/virtiofsd/fuse_common.h:770:
+ * Stores session in a global variable.^I May only be called once per$

WARNING: Block comments use a leading /* on a separate line
#2098: FILE: tools/virtiofsd/fuse_common.h:797:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#2099: FILE: tools/virtiofsd/fuse_common.h:798:
+ * Compatibility stuff^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#2100: FILE: tools/virtiofsd/fuse_common.h:799:
+ * ----------------------------------------------------------- */

WARNING: architecture specific defines should be avoided
#2106: FILE: tools/virtiofsd/fuse_common.h:805:
+#ifdef __cplusplus

ERROR: line over 90 characters
#2117: FILE: tools/virtiofsd/fuse_common.h:816:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 
6) && !defined __cplusplus

WARNING: architecture specific defines should be avoided
#2117: FILE: tools/virtiofsd/fuse_common.h:816:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 
6) && !defined __cplusplus

ERROR: code indent should never use tabs
#2121: FILE: tools/virtiofsd/fuse_common.h:820:
+^I{ unsigned _fuse_off_t_must_be_64bit:((sizeof(off_t) == 8) ? 1 : -1); };$

WARNING: Block comments use * on subsequent lines
#2132: FILE: tools/virtiofsd/fuse_i.h:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#2145: FILE: tools/virtiofsd/fuse_i.h:15:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#2146: FILE: tools/virtiofsd/fuse_i.h:16:
+^Iuint64_t unique;$

ERROR: code indent should never use tabs
#2147: FILE: tools/virtiofsd/fuse_i.h:17:
+^Iint ctr;$

ERROR: code indent should never use tabs
#2148: FILE: tools/virtiofsd/fuse_i.h:18:
+^Ipthread_mutex_t lock;$

ERROR: code indent should never use tabs
#2149: FILE: tools/virtiofsd/fuse_i.h:19:
+^Istruct fuse_ctx ctx;$

ERROR: code indent should never use tabs
#2150: FILE: tools/virtiofsd/fuse_i.h:20:
+^Istruct fuse_chan *ch;$

ERROR: code indent should never use tabs
#2151: FILE: tools/virtiofsd/fuse_i.h:21:
+^Iint interrupted;$

ERROR: code indent should never use tabs
#2152: FILE: tools/virtiofsd/fuse_i.h:22:
+^Iunsigned int ioctl_64bit : 1;$

ERROR: spaces prohibited around that ':' (ctx:WxW)
#2152: FILE: tools/virtiofsd/fuse_i.h:22:
+       unsigned int ioctl_64bit : 1;
                                 ^

ERROR: code indent should never use tabs
#2153: FILE: tools/virtiofsd/fuse_i.h:23:
+^Iunion {$

ERROR: code indent should never use tabs
#2154: FILE: tools/virtiofsd/fuse_i.h:24:
+^I^Istruct {$

ERROR: code indent should never use tabs
#2155: FILE: tools/virtiofsd/fuse_i.h:25:
+^I^I^Iuint64_t unique;$

ERROR: code indent should never use tabs
#2156: FILE: tools/virtiofsd/fuse_i.h:26:
+^I^I} i;$

ERROR: code indent should never use tabs
#2157: FILE: tools/virtiofsd/fuse_i.h:27:
+^I^Istruct {$

ERROR: code indent should never use tabs
#2158: FILE: tools/virtiofsd/fuse_i.h:28:
+^I^I^Ifuse_interrupt_func_t func;$

ERROR: code indent should never use tabs
#2159: FILE: tools/virtiofsd/fuse_i.h:29:
+^I^I^Ivoid *data;$

ERROR: code indent should never use tabs
#2160: FILE: tools/virtiofsd/fuse_i.h:30:
+^I^I} ni;$

ERROR: code indent should never use tabs
#2161: FILE: tools/virtiofsd/fuse_i.h:31:
+^I} u;$

ERROR: code indent should never use tabs
#2162: FILE: tools/virtiofsd/fuse_i.h:32:
+^Istruct fuse_req *next;$

ERROR: code indent should never use tabs
#2163: FILE: tools/virtiofsd/fuse_i.h:33:
+^Istruct fuse_req *prev;$

ERROR: code indent should never use tabs
#2167: FILE: tools/virtiofsd/fuse_i.h:37:
+^Iuint64_t unique;$

ERROR: code indent should never use tabs
#2168: FILE: tools/virtiofsd/fuse_i.h:38:
+^Ivoid (*reply)(struct fuse_notify_req *, fuse_req_t, fuse_ino_t,$

ERROR: code indent should never use tabs
#2169: FILE: tools/virtiofsd/fuse_i.h:39:
+^I^I      const void *, const struct fuse_buf *);$

ERROR: code indent should never use tabs
#2170: FILE: tools/virtiofsd/fuse_i.h:40:
+^Istruct fuse_notify_req *next;$

ERROR: code indent should never use tabs
#2171: FILE: tools/virtiofsd/fuse_i.h:41:
+^Istruct fuse_notify_req *prev;$

ERROR: code indent should never use tabs
#2175: FILE: tools/virtiofsd/fuse_i.h:45:
+^Ichar *mountpoint;$

ERROR: code indent should never use tabs
#2176: FILE: tools/virtiofsd/fuse_i.h:46:
+^Ivolatile int exited;$

ERROR: Use of volatile is usually wrong, please add a comment
#2176: FILE: tools/virtiofsd/fuse_i.h:46:
+       volatile int exited;

ERROR: code indent should never use tabs
#2177: FILE: tools/virtiofsd/fuse_i.h:47:
+^Iint fd;$

ERROR: code indent should never use tabs
#2178: FILE: tools/virtiofsd/fuse_i.h:48:
+^Istruct mount_opts *mo;$

ERROR: code indent should never use tabs
#2179: FILE: tools/virtiofsd/fuse_i.h:49:
+^Iint debug;$

ERROR: code indent should never use tabs
#2180: FILE: tools/virtiofsd/fuse_i.h:50:
+^Iint deny_others;$

ERROR: code indent should never use tabs
#2181: FILE: tools/virtiofsd/fuse_i.h:51:
+^Istruct fuse_lowlevel_ops op;$

ERROR: code indent should never use tabs
#2182: FILE: tools/virtiofsd/fuse_i.h:52:
+^Iint got_init;$

ERROR: code indent should never use tabs
#2183: FILE: tools/virtiofsd/fuse_i.h:53:
+^Istruct cuse_data *cuse_data;$

ERROR: code indent should never use tabs
#2184: FILE: tools/virtiofsd/fuse_i.h:54:
+^Ivoid *userdata;$

ERROR: code indent should never use tabs
#2185: FILE: tools/virtiofsd/fuse_i.h:55:
+^Iuid_t owner;$

ERROR: code indent should never use tabs
#2186: FILE: tools/virtiofsd/fuse_i.h:56:
+^Istruct fuse_conn_info conn;$

ERROR: code indent should never use tabs
#2187: FILE: tools/virtiofsd/fuse_i.h:57:
+^Istruct fuse_req list;$

ERROR: code indent should never use tabs
#2188: FILE: tools/virtiofsd/fuse_i.h:58:
+^Istruct fuse_req interrupts;$

ERROR: code indent should never use tabs
#2189: FILE: tools/virtiofsd/fuse_i.h:59:
+^Ipthread_mutex_t lock;$

ERROR: code indent should never use tabs
#2190: FILE: tools/virtiofsd/fuse_i.h:60:
+^Iint got_destroy;$

ERROR: code indent should never use tabs
#2191: FILE: tools/virtiofsd/fuse_i.h:61:
+^Ipthread_key_t pipe_key;$

ERROR: code indent should never use tabs
#2192: FILE: tools/virtiofsd/fuse_i.h:62:
+^Iint broken_splice_nonblock;$

ERROR: code indent should never use tabs
#2193: FILE: tools/virtiofsd/fuse_i.h:63:
+^Iuint64_t notify_ctr;$

ERROR: code indent should never use tabs
#2194: FILE: tools/virtiofsd/fuse_i.h:64:
+^Istruct fuse_notify_req notify_list;$

ERROR: code indent should never use tabs
#2195: FILE: tools/virtiofsd/fuse_i.h:65:
+^Isize_t bufsize;$

ERROR: code indent should never use tabs
#2196: FILE: tools/virtiofsd/fuse_i.h:66:
+^Iint error;$

ERROR: code indent should never use tabs
#2200: FILE: tools/virtiofsd/fuse_i.h:70:
+^Ipthread_mutex_t lock;$

ERROR: code indent should never use tabs
#2201: FILE: tools/virtiofsd/fuse_i.h:71:
+^Iint ctr;$

ERROR: code indent should never use tabs
#2202: FILE: tools/virtiofsd/fuse_i.h:72:
+^Iint fd;$

ERROR: code indent should never use tabs
#2213: FILE: tools/virtiofsd/fuse_i.h:83:
+^Ichar *name;$

ERROR: code indent should never use tabs
#2214: FILE: tools/virtiofsd/fuse_i.h:84:
+^Ifuse_module_factory_t factory;$

ERROR: code indent should never use tabs
#2215: FILE: tools/virtiofsd/fuse_i.h:85:
+^Istruct fuse_module *next;$

ERROR: code indent should never use tabs
#2216: FILE: tools/virtiofsd/fuse_i.h:86:
+^Istruct fusemod_so *so;$

ERROR: code indent should never use tabs
#2217: FILE: tools/virtiofsd/fuse_i.h:87:
+^Iint ctr;$

WARNING: Block comments use a leading /* on a separate line
#2220: FILE: tools/virtiofsd/fuse_i.h:90:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#2221: FILE: tools/virtiofsd/fuse_i.h:91:
+ * Channel interface (when using -o clone_fd)^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#2222: FILE: tools/virtiofsd/fuse_i.h:92:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#2247: FILE: tools/virtiofsd/fuse_i.h:117:
+^I^I^I       int count);$

ERROR: code indent should never use tabs
#2255: FILE: tools/virtiofsd/fuse_i.h:125:
+^I^I^I^I struct fuse_chan *ch);$

WARNING: line over 80 characters
#2257: FILE: tools/virtiofsd/fuse_i.h:127:
+                                 const struct fuse_buf *buf, struct fuse_chan 
*ch);

ERROR: code indent should never use tabs
#2257: FILE: tools/virtiofsd/fuse_i.h:127:
+^I^I^I^I  const struct fuse_buf *buf, struct fuse_chan *ch);$

WARNING: line over 80 characters
#2259: FILE: tools/virtiofsd/fuse_i.h:129:
+struct fuse *fuse_new_31(struct fuse_args *args, const struct fuse_operations 
*op,

ERROR: code indent should never use tabs
#2260: FILE: tools/virtiofsd/fuse_i.h:130:
+^I^I      size_t op_size, void *private_data);$

WARNING: line over 80 characters
#2262: FILE: tools/virtiofsd/fuse_i.h:132:
+int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config 
*config);

WARNING: Block comments use * on subsequent lines
#2277: FILE: tools/virtiofsd/fuse_log.h:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#2287: FILE: tools/virtiofsd/fuse_log.h:12:
+/** @file

WARNING: architecture specific defines should be avoided
#2294: FILE: tools/virtiofsd/fuse_log.h:19:
+#ifdef __cplusplus

ERROR: code indent should never use tabs
#2304: FILE: tools/virtiofsd/fuse_log.h:29:
+^IFUSE_LOG_EMERG,$

ERROR: code indent should never use tabs
#2305: FILE: tools/virtiofsd/fuse_log.h:30:
+^IFUSE_LOG_ALERT,$

ERROR: code indent should never use tabs
#2306: FILE: tools/virtiofsd/fuse_log.h:31:
+^IFUSE_LOG_CRIT,$

ERROR: code indent should never use tabs
#2307: FILE: tools/virtiofsd/fuse_log.h:32:
+^IFUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#2308: FILE: tools/virtiofsd/fuse_log.h:33:
+^IFUSE_LOG_WARNING,$

ERROR: code indent should never use tabs
#2309: FILE: tools/virtiofsd/fuse_log.h:34:
+^IFUSE_LOG_NOTICE,$

ERROR: code indent should never use tabs
#2310: FILE: tools/virtiofsd/fuse_log.h:35:
+^IFUSE_LOG_INFO,$

ERROR: code indent should never use tabs
#2311: FILE: tools/virtiofsd/fuse_log.h:36:
+^IFUSE_LOG_DEBUG$

ERROR: code indent should never use tabs
#2328: FILE: tools/virtiofsd/fuse_log.h:53:
+^I^I^I^Iconst char *fmt, va_list ap);$

WARNING: architecture specific defines should be avoided
#2353: FILE: tools/virtiofsd/fuse_log.h:78:
+#ifdef __cplusplus

WARNING: Block comments use * on subsequent lines
#2365: FILE: tools/virtiofsd/fuse_lowlevel.h:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#2375: FILE: tools/virtiofsd/fuse_lowlevel.h:12:
+/** @file

WARNING: architecture specific defines should be avoided
#2397: FILE: tools/virtiofsd/fuse_lowlevel.h:34:
+#ifdef __cplusplus

WARNING: Block comments use a leading /* on a separate line
#2401: FILE: tools/virtiofsd/fuse_lowlevel.h:38:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#2402: FILE: tools/virtiofsd/fuse_lowlevel.h:39:
+ * Miscellaneous definitions^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#2403: FILE: tools/virtiofsd/fuse_lowlevel.h:40:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#2423: FILE: tools/virtiofsd/fuse_lowlevel.h:60:
+^I/** Unique inode number$

WARNING: Block comments use a leading /* on a separate line
#2423: FILE: tools/virtiofsd/fuse_lowlevel.h:60:
+       /** Unique inode number

ERROR: code indent should never use tabs
#2424: FILE: tools/virtiofsd/fuse_lowlevel.h:61:
+^I *$

ERROR: code indent should never use tabs
#2425: FILE: tools/virtiofsd/fuse_lowlevel.h:62:
+^I * In lookup, zero means negative entry (from version 2.5)$

ERROR: code indent should never use tabs
#2426: FILE: tools/virtiofsd/fuse_lowlevel.h:63:
+^I * Returning ENOENT also means negative entry, but by setting zero$

ERROR: code indent should never use tabs
#2427: FILE: tools/virtiofsd/fuse_lowlevel.h:64:
+^I * ino the kernel may cache negative entries for entry_timeout$

ERROR: code indent should never use tabs
#2428: FILE: tools/virtiofsd/fuse_lowlevel.h:65:
+^I * seconds.$

ERROR: code indent should never use tabs
#2429: FILE: tools/virtiofsd/fuse_lowlevel.h:66:
+^I */$

ERROR: code indent should never use tabs
#2430: FILE: tools/virtiofsd/fuse_lowlevel.h:67:
+^Ifuse_ino_t ino;$

ERROR: code indent should never use tabs
#2432: FILE: tools/virtiofsd/fuse_lowlevel.h:69:
+^I/** Generation number for this entry.$

WARNING: Block comments use a leading /* on a separate line
#2432: FILE: tools/virtiofsd/fuse_lowlevel.h:69:
+       /** Generation number for this entry.

ERROR: code indent should never use tabs
#2433: FILE: tools/virtiofsd/fuse_lowlevel.h:70:
+^I *$

ERROR: code indent should never use tabs
#2434: FILE: tools/virtiofsd/fuse_lowlevel.h:71:
+^I * If the file system will be exported over NFS, the$

ERROR: code indent should never use tabs
#2435: FILE: tools/virtiofsd/fuse_lowlevel.h:72:
+^I * ino/generation pairs need to be unique over the file$

ERROR: code indent should never use tabs
#2436: FILE: tools/virtiofsd/fuse_lowlevel.h:73:
+^I * system's lifetime (rather than just the mount time). So if$

ERROR: code indent should never use tabs
#2437: FILE: tools/virtiofsd/fuse_lowlevel.h:74:
+^I * the file system reuses an inode after it has been deleted,$

ERROR: code indent should never use tabs
#2438: FILE: tools/virtiofsd/fuse_lowlevel.h:75:
+^I * it must assign a new, previously unused generation number$

ERROR: code indent should never use tabs
#2439: FILE: tools/virtiofsd/fuse_lowlevel.h:76:
+^I * to the inode at the same time.$

ERROR: code indent should never use tabs
#2440: FILE: tools/virtiofsd/fuse_lowlevel.h:77:
+^I *$

ERROR: code indent should never use tabs
#2441: FILE: tools/virtiofsd/fuse_lowlevel.h:78:
+^I */$

ERROR: code indent should never use tabs
#2442: FILE: tools/virtiofsd/fuse_lowlevel.h:79:
+^Iuint64_t generation;$

ERROR: code indent should never use tabs
#2444: FILE: tools/virtiofsd/fuse_lowlevel.h:81:
+^I/** Inode attributes.$

WARNING: Block comments use a leading /* on a separate line
#2444: FILE: tools/virtiofsd/fuse_lowlevel.h:81:
+       /** Inode attributes.

ERROR: code indent should never use tabs
#2445: FILE: tools/virtiofsd/fuse_lowlevel.h:82:
+^I *$

ERROR: code indent should never use tabs
#2446: FILE: tools/virtiofsd/fuse_lowlevel.h:83:
+^I * Even if attr_timeout == 0, attr must be correct. For example,$

ERROR: code indent should never use tabs
#2447: FILE: tools/virtiofsd/fuse_lowlevel.h:84:
+^I * for open(), FUSE uses attr.st_size from lookup() to determine$

ERROR: code indent should never use tabs
#2448: FILE: tools/virtiofsd/fuse_lowlevel.h:85:
+^I * how many bytes to request. If this value is not correct,$

ERROR: code indent should never use tabs
#2449: FILE: tools/virtiofsd/fuse_lowlevel.h:86:
+^I * incorrect data will be returned.$

ERROR: code indent should never use tabs
#2450: FILE: tools/virtiofsd/fuse_lowlevel.h:87:
+^I */$

ERROR: code indent should never use tabs
#2451: FILE: tools/virtiofsd/fuse_lowlevel.h:88:
+^Istruct stat attr;$

ERROR: code indent should never use tabs
#2453: FILE: tools/virtiofsd/fuse_lowlevel.h:90:
+^I/** Validity timeout (in seconds) for inode attributes. If$

WARNING: Block comments use a leading /* on a separate line
#2453: FILE: tools/virtiofsd/fuse_lowlevel.h:90:
+       /** Validity timeout (in seconds) for inode attributes. If

ERROR: code indent should never use tabs
#2454: FILE: tools/virtiofsd/fuse_lowlevel.h:91:
+^I    attributes only change as a result of requests that come$

WARNING: Block comments use * on subsequent lines
#2454: FILE: tools/virtiofsd/fuse_lowlevel.h:91:
+       /** Validity timeout (in seconds) for inode attributes. If
+           attributes only change as a result of requests that come

ERROR: code indent should never use tabs
#2455: FILE: tools/virtiofsd/fuse_lowlevel.h:92:
+^I    through the kernel, this should be set to a very large$

ERROR: code indent should never use tabs
#2456: FILE: tools/virtiofsd/fuse_lowlevel.h:93:
+^I    value. */$

WARNING: Block comments use a trailing */ on a separate line
#2456: FILE: tools/virtiofsd/fuse_lowlevel.h:93:
+           value. */

ERROR: code indent should never use tabs
#2457: FILE: tools/virtiofsd/fuse_lowlevel.h:94:
+^Idouble attr_timeout;$

ERROR: code indent should never use tabs
#2459: FILE: tools/virtiofsd/fuse_lowlevel.h:96:
+^I/** Validity timeout (in seconds) for the name. If directory$

WARNING: Block comments use a leading /* on a separate line
#2459: FILE: tools/virtiofsd/fuse_lowlevel.h:96:
+       /** Validity timeout (in seconds) for the name. If directory

ERROR: code indent should never use tabs
#2460: FILE: tools/virtiofsd/fuse_lowlevel.h:97:
+^I    entries are changed/deleted only as a result of requests$

WARNING: Block comments use * on subsequent lines
#2460: FILE: tools/virtiofsd/fuse_lowlevel.h:97:
+       /** Validity timeout (in seconds) for the name. If directory
+           entries are changed/deleted only as a result of requests

ERROR: code indent should never use tabs
#2461: FILE: tools/virtiofsd/fuse_lowlevel.h:98:
+^I    that come through the kernel, this should be set to a very$

ERROR: code indent should never use tabs
#2462: FILE: tools/virtiofsd/fuse_lowlevel.h:99:
+^I    large value. */$

WARNING: Block comments use a trailing */ on a separate line
#2462: FILE: tools/virtiofsd/fuse_lowlevel.h:99:
+           large value. */

ERROR: code indent should never use tabs
#2463: FILE: tools/virtiofsd/fuse_lowlevel.h:100:
+^Idouble entry_timeout;$

ERROR: code indent should never use tabs
#2475: FILE: tools/virtiofsd/fuse_lowlevel.h:112:
+^I/** User ID of the calling process */$

ERROR: code indent should never use tabs
#2476: FILE: tools/virtiofsd/fuse_lowlevel.h:113:
+^Iuid_t uid;$

ERROR: code indent should never use tabs
#2478: FILE: tools/virtiofsd/fuse_lowlevel.h:115:
+^I/** Group ID of the calling process */$

ERROR: code indent should never use tabs
#2479: FILE: tools/virtiofsd/fuse_lowlevel.h:116:
+^Igid_t gid;$

ERROR: code indent should never use tabs
#2481: FILE: tools/virtiofsd/fuse_lowlevel.h:118:
+^I/** Thread ID of the calling process */$

ERROR: code indent should never use tabs
#2482: FILE: tools/virtiofsd/fuse_lowlevel.h:119:
+^Ipid_t pid;$

ERROR: code indent should never use tabs
#2484: FILE: tools/virtiofsd/fuse_lowlevel.h:121:
+^I/** Umask of the calling process */$

ERROR: code indent should never use tabs
#2485: FILE: tools/virtiofsd/fuse_lowlevel.h:122:
+^Imode_t umask;$

ERROR: code indent should never use tabs
#2489: FILE: tools/virtiofsd/fuse_lowlevel.h:126:
+^Ifuse_ino_t ino;$

ERROR: code indent should never use tabs
#2490: FILE: tools/virtiofsd/fuse_lowlevel.h:127:
+^Iuint64_t nlookup;$

ERROR: code indent should never use tabs
#2494: FILE: tools/virtiofsd/fuse_lowlevel.h:131:
+#define FUSE_SET_ATTR_MODE^I(1 << 0)$

ERROR: code indent should never use tabs
#2495: FILE: tools/virtiofsd/fuse_lowlevel.h:132:
+#define FUSE_SET_ATTR_UID^I(1 << 1)$

ERROR: code indent should never use tabs
#2496: FILE: tools/virtiofsd/fuse_lowlevel.h:133:
+#define FUSE_SET_ATTR_GID^I(1 << 2)$

ERROR: code indent should never use tabs
#2497: FILE: tools/virtiofsd/fuse_lowlevel.h:134:
+#define FUSE_SET_ATTR_SIZE^I(1 << 3)$

ERROR: code indent should never use tabs
#2498: FILE: tools/virtiofsd/fuse_lowlevel.h:135:
+#define FUSE_SET_ATTR_ATIME^I(1 << 4)$

ERROR: code indent should never use tabs
#2499: FILE: tools/virtiofsd/fuse_lowlevel.h:136:
+#define FUSE_SET_ATTR_MTIME^I(1 << 5)$

ERROR: code indent should never use tabs
#2500: FILE: tools/virtiofsd/fuse_lowlevel.h:137:
+#define FUSE_SET_ATTR_ATIME_NOW^I(1 << 7)$

ERROR: code indent should never use tabs
#2501: FILE: tools/virtiofsd/fuse_lowlevel.h:138:
+#define FUSE_SET_ATTR_MTIME_NOW^I(1 << 8)$

ERROR: code indent should never use tabs
#2502: FILE: tools/virtiofsd/fuse_lowlevel.h:139:
+#define FUSE_SET_ATTR_CTIME^I(1 << 10)$

WARNING: Block comments use a leading /* on a separate line
#2504: FILE: tools/virtiofsd/fuse_lowlevel.h:141:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#2505: FILE: tools/virtiofsd/fuse_lowlevel.h:142:
+ * Request methods and replies^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#2506: FILE: tools/virtiofsd/fuse_lowlevel.h:143:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#2536: FILE: tools/virtiofsd/fuse_lowlevel.h:173:
+^I/**$

ERROR: code indent should never use tabs
#2537: FILE: tools/virtiofsd/fuse_lowlevel.h:174:
+^I * Initialize filesystem$

ERROR: code indent should never use tabs
#2538: FILE: tools/virtiofsd/fuse_lowlevel.h:175:
+^I *$

ERROR: code indent should never use tabs
#2539: FILE: tools/virtiofsd/fuse_lowlevel.h:176:
+^I * This function is called when libfuse establishes$

ERROR: code indent should never use tabs
#2540: FILE: tools/virtiofsd/fuse_lowlevel.h:177:
+^I * communication with the FUSE kernel module. The file system$

ERROR: code indent should never use tabs
#2541: FILE: tools/virtiofsd/fuse_lowlevel.h:178:
+^I * should use this module to inspect and/or modify the$

ERROR: code indent should never use tabs
#2542: FILE: tools/virtiofsd/fuse_lowlevel.h:179:
+^I * connection parameters provided in the `conn` structure.$

ERROR: code indent should never use tabs
#2543: FILE: tools/virtiofsd/fuse_lowlevel.h:180:
+^I *$

ERROR: code indent should never use tabs
#2544: FILE: tools/virtiofsd/fuse_lowlevel.h:181:
+^I * Note that some parameters may be overwritten by options$

ERROR: code indent should never use tabs
#2545: FILE: tools/virtiofsd/fuse_lowlevel.h:182:
+^I * passed to fuse_session_new() which take precedence over the$

ERROR: code indent should never use tabs
#2546: FILE: tools/virtiofsd/fuse_lowlevel.h:183:
+^I * values set in this handler.$

ERROR: code indent should never use tabs
#2547: FILE: tools/virtiofsd/fuse_lowlevel.h:184:
+^I *$

ERROR: code indent should never use tabs
#2548: FILE: tools/virtiofsd/fuse_lowlevel.h:185:
+^I * There's no reply to this function$

ERROR: code indent should never use tabs
#2549: FILE: tools/virtiofsd/fuse_lowlevel.h:186:
+^I *$

ERROR: code indent should never use tabs
#2550: FILE: tools/virtiofsd/fuse_lowlevel.h:187:
+^I * @param userdata the user data passed to fuse_session_new()$

ERROR: code indent should never use tabs
#2551: FILE: tools/virtiofsd/fuse_lowlevel.h:188:
+^I */$

ERROR: code indent should never use tabs
#2552: FILE: tools/virtiofsd/fuse_lowlevel.h:189:
+^Ivoid (*init) (void *userdata, struct fuse_conn_info *conn);$

ERROR: code indent should never use tabs
#2554: FILE: tools/virtiofsd/fuse_lowlevel.h:191:
+^I/**$

ERROR: code indent should never use tabs
#2555: FILE: tools/virtiofsd/fuse_lowlevel.h:192:
+^I * Clean up filesystem.$

ERROR: code indent should never use tabs
#2556: FILE: tools/virtiofsd/fuse_lowlevel.h:193:
+^I *$

ERROR: code indent should never use tabs
#2557: FILE: tools/virtiofsd/fuse_lowlevel.h:194:
+^I * Called on filesystem exit. When this method is called, the$

ERROR: code indent should never use tabs
#2558: FILE: tools/virtiofsd/fuse_lowlevel.h:195:
+^I * connection to the kernel may be gone already, so that eg. calls$

ERROR: code indent should never use tabs
#2559: FILE: tools/virtiofsd/fuse_lowlevel.h:196:
+^I * to fuse_lowlevel_notify_* will fail.$

ERROR: code indent should never use tabs
#2560: FILE: tools/virtiofsd/fuse_lowlevel.h:197:
+^I *$

ERROR: code indent should never use tabs
#2561: FILE: tools/virtiofsd/fuse_lowlevel.h:198:
+^I * There's no reply to this function$

ERROR: code indent should never use tabs
#2562: FILE: tools/virtiofsd/fuse_lowlevel.h:199:
+^I *$

ERROR: code indent should never use tabs
#2563: FILE: tools/virtiofsd/fuse_lowlevel.h:200:
+^I * @param userdata the user data passed to fuse_session_new()$

ERROR: code indent should never use tabs
#2564: FILE: tools/virtiofsd/fuse_lowlevel.h:201:
+^I */$

ERROR: code indent should never use tabs
#2565: FILE: tools/virtiofsd/fuse_lowlevel.h:202:
+^Ivoid (*destroy) (void *userdata);$

ERROR: code indent should never use tabs
#2567: FILE: tools/virtiofsd/fuse_lowlevel.h:204:
+^I/**$

ERROR: code indent should never use tabs
#2568: FILE: tools/virtiofsd/fuse_lowlevel.h:205:
+^I * Look up a directory entry by name and get its attributes.$

ERROR: code indent should never use tabs
#2569: FILE: tools/virtiofsd/fuse_lowlevel.h:206:
+^I *$

ERROR: code indent should never use tabs
#2570: FILE: tools/virtiofsd/fuse_lowlevel.h:207:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2571: FILE: tools/virtiofsd/fuse_lowlevel.h:208:
+^I *   fuse_reply_entry$

ERROR: code indent should never use tabs
#2572: FILE: tools/virtiofsd/fuse_lowlevel.h:209:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2573: FILE: tools/virtiofsd/fuse_lowlevel.h:210:
+^I *$

ERROR: code indent should never use tabs
#2574: FILE: tools/virtiofsd/fuse_lowlevel.h:211:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2575: FILE: tools/virtiofsd/fuse_lowlevel.h:212:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2576: FILE: tools/virtiofsd/fuse_lowlevel.h:213:
+^I * @param name the name to look up$

ERROR: code indent should never use tabs
#2577: FILE: tools/virtiofsd/fuse_lowlevel.h:214:
+^I */$

ERROR: code indent should never use tabs
#2578: FILE: tools/virtiofsd/fuse_lowlevel.h:215:
+^Ivoid (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);$

ERROR: code indent should never use tabs
#2580: FILE: tools/virtiofsd/fuse_lowlevel.h:217:
+^I/**$

ERROR: code indent should never use tabs
#2581: FILE: tools/virtiofsd/fuse_lowlevel.h:218:
+^I * Forget about an inode$

ERROR: code indent should never use tabs
#2582: FILE: tools/virtiofsd/fuse_lowlevel.h:219:
+^I *$

ERROR: code indent should never use tabs
#2583: FILE: tools/virtiofsd/fuse_lowlevel.h:220:
+^I * This function is called when the kernel removes an inode$

ERROR: code indent should never use tabs
#2584: FILE: tools/virtiofsd/fuse_lowlevel.h:221:
+^I * from its internal caches.$

ERROR: code indent should never use tabs
#2585: FILE: tools/virtiofsd/fuse_lowlevel.h:222:
+^I *$

ERROR: code indent should never use tabs
#2586: FILE: tools/virtiofsd/fuse_lowlevel.h:223:
+^I * The inode's lookup count increases by one for every call to$

ERROR: code indent should never use tabs
#2587: FILE: tools/virtiofsd/fuse_lowlevel.h:224:
+^I * fuse_reply_entry and fuse_reply_create. The nlookup parameter$

ERROR: code indent should never use tabs
#2588: FILE: tools/virtiofsd/fuse_lowlevel.h:225:
+^I * indicates by how much the lookup count should be decreased.$

ERROR: code indent should never use tabs
#2589: FILE: tools/virtiofsd/fuse_lowlevel.h:226:
+^I *$

ERROR: code indent should never use tabs
#2590: FILE: tools/virtiofsd/fuse_lowlevel.h:227:
+^I * Inodes with a non-zero lookup count may receive request from$

ERROR: code indent should never use tabs
#2591: FILE: tools/virtiofsd/fuse_lowlevel.h:228:
+^I * the kernel even after calls to unlink, rmdir or (when$

ERROR: code indent should never use tabs
#2592: FILE: tools/virtiofsd/fuse_lowlevel.h:229:
+^I * overwriting an existing file) rename. Filesystems must handle$

ERROR: code indent should never use tabs
#2593: FILE: tools/virtiofsd/fuse_lowlevel.h:230:
+^I * such requests properly and it is recommended to defer removal$

ERROR: code indent should never use tabs
#2594: FILE: tools/virtiofsd/fuse_lowlevel.h:231:
+^I * of the inode until the lookup count reaches zero. Calls to$

ERROR: code indent should never use tabs
#2595: FILE: tools/virtiofsd/fuse_lowlevel.h:232:
+^I * unlink, rmdir or rename will be followed closely by forget$

ERROR: code indent should never use tabs
#2596: FILE: tools/virtiofsd/fuse_lowlevel.h:233:
+^I * unless the file or directory is open, in which case the$

ERROR: code indent should never use tabs
#2597: FILE: tools/virtiofsd/fuse_lowlevel.h:234:
+^I * kernel issues forget only after the release or releasedir$

ERROR: code indent should never use tabs
#2598: FILE: tools/virtiofsd/fuse_lowlevel.h:235:
+^I * calls.$

ERROR: code indent should never use tabs
#2599: FILE: tools/virtiofsd/fuse_lowlevel.h:236:
+^I *$

ERROR: code indent should never use tabs
#2600: FILE: tools/virtiofsd/fuse_lowlevel.h:237:
+^I * Note that if a file system will be exported over NFS the$

ERROR: code indent should never use tabs
#2601: FILE: tools/virtiofsd/fuse_lowlevel.h:238:
+^I * inodes lifetime must extend even beyond forget. See the$

ERROR: code indent should never use tabs
#2602: FILE: tools/virtiofsd/fuse_lowlevel.h:239:
+^I * generation field in struct fuse_entry_param above.$

ERROR: code indent should never use tabs
#2603: FILE: tools/virtiofsd/fuse_lowlevel.h:240:
+^I *$

ERROR: code indent should never use tabs
#2604: FILE: tools/virtiofsd/fuse_lowlevel.h:241:
+^I * On unmount the lookup count for all inodes implicitly drops$

ERROR: code indent should never use tabs
#2605: FILE: tools/virtiofsd/fuse_lowlevel.h:242:
+^I * to zero. It is not guaranteed that the file system will$

ERROR: code indent should never use tabs
#2606: FILE: tools/virtiofsd/fuse_lowlevel.h:243:
+^I * receive corresponding forget messages for the affected$

ERROR: code indent should never use tabs
#2607: FILE: tools/virtiofsd/fuse_lowlevel.h:244:
+^I * inodes.$

ERROR: code indent should never use tabs
#2608: FILE: tools/virtiofsd/fuse_lowlevel.h:245:
+^I *$

ERROR: code indent should never use tabs
#2609: FILE: tools/virtiofsd/fuse_lowlevel.h:246:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2610: FILE: tools/virtiofsd/fuse_lowlevel.h:247:
+^I *   fuse_reply_none$

ERROR: code indent should never use tabs
#2611: FILE: tools/virtiofsd/fuse_lowlevel.h:248:
+^I *$

ERROR: code indent should never use tabs
#2612: FILE: tools/virtiofsd/fuse_lowlevel.h:249:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2613: FILE: tools/virtiofsd/fuse_lowlevel.h:250:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2614: FILE: tools/virtiofsd/fuse_lowlevel.h:251:
+^I * @param nlookup the number of lookups to forget$

ERROR: code indent should never use tabs
#2615: FILE: tools/virtiofsd/fuse_lowlevel.h:252:
+^I */$

ERROR: code indent should never use tabs
#2616: FILE: tools/virtiofsd/fuse_lowlevel.h:253:
+^Ivoid (*forget) (fuse_req_t req, fuse_ino_t ino, uint64_t nlookup);$

ERROR: code indent should never use tabs
#2618: FILE: tools/virtiofsd/fuse_lowlevel.h:255:
+^I/**$

ERROR: code indent should never use tabs
#2619: FILE: tools/virtiofsd/fuse_lowlevel.h:256:
+^I * Get file attributes.$

ERROR: code indent should never use tabs
#2620: FILE: tools/virtiofsd/fuse_lowlevel.h:257:
+^I *$

ERROR: code indent should never use tabs
#2621: FILE: tools/virtiofsd/fuse_lowlevel.h:258:
+^I * If writeback caching is enabled, the kernel may have a$

ERROR: code indent should never use tabs
#2622: FILE: tools/virtiofsd/fuse_lowlevel.h:259:
+^I * better idea of a file's length than the FUSE file system$

ERROR: code indent should never use tabs
#2623: FILE: tools/virtiofsd/fuse_lowlevel.h:260:
+^I * (eg if there has been a write that extended the file size,$

ERROR: code indent should never use tabs
#2624: FILE: tools/virtiofsd/fuse_lowlevel.h:261:
+^I * but that has not yet been passed to the filesystem.n$

ERROR: code indent should never use tabs
#2625: FILE: tools/virtiofsd/fuse_lowlevel.h:262:
+^I *$

ERROR: code indent should never use tabs
#2626: FILE: tools/virtiofsd/fuse_lowlevel.h:263:
+^I * In this case, the st_size value provided by the file system$

ERROR: code indent should never use tabs
#2627: FILE: tools/virtiofsd/fuse_lowlevel.h:264:
+^I * will be ignored.$

ERROR: code indent should never use tabs
#2628: FILE: tools/virtiofsd/fuse_lowlevel.h:265:
+^I *$

ERROR: code indent should never use tabs
#2629: FILE: tools/virtiofsd/fuse_lowlevel.h:266:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2630: FILE: tools/virtiofsd/fuse_lowlevel.h:267:
+^I *   fuse_reply_attr$

ERROR: code indent should never use tabs
#2631: FILE: tools/virtiofsd/fuse_lowlevel.h:268:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2632: FILE: tools/virtiofsd/fuse_lowlevel.h:269:
+^I *$

ERROR: code indent should never use tabs
#2633: FILE: tools/virtiofsd/fuse_lowlevel.h:270:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2634: FILE: tools/virtiofsd/fuse_lowlevel.h:271:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2635: FILE: tools/virtiofsd/fuse_lowlevel.h:272:
+^I * @param fi for future use, currently always NULL$

ERROR: code indent should never use tabs
#2636: FILE: tools/virtiofsd/fuse_lowlevel.h:273:
+^I */$

ERROR: code indent should never use tabs
#2637: FILE: tools/virtiofsd/fuse_lowlevel.h:274:
+^Ivoid (*getattr) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2638: FILE: tools/virtiofsd/fuse_lowlevel.h:275:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2640: FILE: tools/virtiofsd/fuse_lowlevel.h:277:
+^I/**$

ERROR: code indent should never use tabs
#2641: FILE: tools/virtiofsd/fuse_lowlevel.h:278:
+^I * Set file attributes$

ERROR: code indent should never use tabs
#2642: FILE: tools/virtiofsd/fuse_lowlevel.h:279:
+^I *$

ERROR: code indent should never use tabs
#2643: FILE: tools/virtiofsd/fuse_lowlevel.h:280:
+^I * In the 'attr' argument only members indicated by the 'to_set'$

ERROR: code indent should never use tabs
#2644: FILE: tools/virtiofsd/fuse_lowlevel.h:281:
+^I * bitmask contain valid values.  Other members contain undefined$

ERROR: code indent should never use tabs
#2645: FILE: tools/virtiofsd/fuse_lowlevel.h:282:
+^I * values.$

ERROR: code indent should never use tabs
#2646: FILE: tools/virtiofsd/fuse_lowlevel.h:283:
+^I *$

ERROR: code indent should never use tabs
#2647: FILE: tools/virtiofsd/fuse_lowlevel.h:284:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#2648: FILE: tools/virtiofsd/fuse_lowlevel.h:285:
+^I * expected to reset the setuid and setgid bits if the file$

ERROR: code indent should never use tabs
#2649: FILE: tools/virtiofsd/fuse_lowlevel.h:286:
+^I * size or owner is being changed.$

ERROR: code indent should never use tabs
#2650: FILE: tools/virtiofsd/fuse_lowlevel.h:287:
+^I *$

ERROR: code indent should never use tabs
#2651: FILE: tools/virtiofsd/fuse_lowlevel.h:288:
+^I * If the setattr was invoked from the ftruncate() system call$

ERROR: code indent should never use tabs
#2652: FILE: tools/virtiofsd/fuse_lowlevel.h:289:
+^I * under Linux kernel versions 2.6.15 or later, the fi->fh will$

ERROR: code indent should never use tabs
#2653: FILE: tools/virtiofsd/fuse_lowlevel.h:290:
+^I * contain the value set by the open method or will be undefined$

ERROR: code indent should never use tabs
#2654: FILE: tools/virtiofsd/fuse_lowlevel.h:291:
+^I * if the open method didn't set any value.  Otherwise (not$

ERROR: code indent should never use tabs
#2655: FILE: tools/virtiofsd/fuse_lowlevel.h:292:
+^I * ftruncate call, or kernel version earlier than 2.6.15) the fi$

ERROR: code indent should never use tabs
#2656: FILE: tools/virtiofsd/fuse_lowlevel.h:293:
+^I * parameter will be NULL.$

ERROR: code indent should never use tabs
#2657: FILE: tools/virtiofsd/fuse_lowlevel.h:294:
+^I *$

ERROR: code indent should never use tabs
#2658: FILE: tools/virtiofsd/fuse_lowlevel.h:295:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2659: FILE: tools/virtiofsd/fuse_lowlevel.h:296:
+^I *   fuse_reply_attr$

ERROR: code indent should never use tabs
#2660: FILE: tools/virtiofsd/fuse_lowlevel.h:297:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2661: FILE: tools/virtiofsd/fuse_lowlevel.h:298:
+^I *$

ERROR: code indent should never use tabs
#2662: FILE: tools/virtiofsd/fuse_lowlevel.h:299:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2663: FILE: tools/virtiofsd/fuse_lowlevel.h:300:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2664: FILE: tools/virtiofsd/fuse_lowlevel.h:301:
+^I * @param attr the attributes$

ERROR: code indent should never use tabs
#2665: FILE: tools/virtiofsd/fuse_lowlevel.h:302:
+^I * @param to_set bit mask of attributes which should be set$

ERROR: code indent should never use tabs
#2666: FILE: tools/virtiofsd/fuse_lowlevel.h:303:
+^I * @param fi file information, or NULL$

ERROR: code indent should never use tabs
#2667: FILE: tools/virtiofsd/fuse_lowlevel.h:304:
+^I */$

ERROR: code indent should never use tabs
#2668: FILE: tools/virtiofsd/fuse_lowlevel.h:305:
+^Ivoid (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,$

ERROR: code indent should never use tabs
#2669: FILE: tools/virtiofsd/fuse_lowlevel.h:306:
+^I^I^I int to_set, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2671: FILE: tools/virtiofsd/fuse_lowlevel.h:308:
+^I/**$

ERROR: code indent should never use tabs
#2672: FILE: tools/virtiofsd/fuse_lowlevel.h:309:
+^I * Read symbolic link$

ERROR: code indent should never use tabs
#2673: FILE: tools/virtiofsd/fuse_lowlevel.h:310:
+^I *$

ERROR: code indent should never use tabs
#2674: FILE: tools/virtiofsd/fuse_lowlevel.h:311:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2675: FILE: tools/virtiofsd/fuse_lowlevel.h:312:
+^I *   fuse_reply_readlink$

ERROR: code indent should never use tabs
#2676: FILE: tools/virtiofsd/fuse_lowlevel.h:313:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2677: FILE: tools/virtiofsd/fuse_lowlevel.h:314:
+^I *$

ERROR: code indent should never use tabs
#2678: FILE: tools/virtiofsd/fuse_lowlevel.h:315:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2679: FILE: tools/virtiofsd/fuse_lowlevel.h:316:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2680: FILE: tools/virtiofsd/fuse_lowlevel.h:317:
+^I */$

ERROR: code indent should never use tabs
#2681: FILE: tools/virtiofsd/fuse_lowlevel.h:318:
+^Ivoid (*readlink) (fuse_req_t req, fuse_ino_t ino);$

ERROR: code indent should never use tabs
#2683: FILE: tools/virtiofsd/fuse_lowlevel.h:320:
+^I/**$

ERROR: code indent should never use tabs
#2684: FILE: tools/virtiofsd/fuse_lowlevel.h:321:
+^I * Create file node$

ERROR: code indent should never use tabs
#2685: FILE: tools/virtiofsd/fuse_lowlevel.h:322:
+^I *$

ERROR: code indent should never use tabs
#2686: FILE: tools/virtiofsd/fuse_lowlevel.h:323:
+^I * Create a regular file, character device, block device, fifo or$

ERROR: code indent should never use tabs
#2687: FILE: tools/virtiofsd/fuse_lowlevel.h:324:
+^I * socket node.$

ERROR: code indent should never use tabs
#2688: FILE: tools/virtiofsd/fuse_lowlevel.h:325:
+^I *$

ERROR: code indent should never use tabs
#2689: FILE: tools/virtiofsd/fuse_lowlevel.h:326:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2690: FILE: tools/virtiofsd/fuse_lowlevel.h:327:
+^I *   fuse_reply_entry$

ERROR: code indent should never use tabs
#2691: FILE: tools/virtiofsd/fuse_lowlevel.h:328:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2692: FILE: tools/virtiofsd/fuse_lowlevel.h:329:
+^I *$

ERROR: code indent should never use tabs
#2693: FILE: tools/virtiofsd/fuse_lowlevel.h:330:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2694: FILE: tools/virtiofsd/fuse_lowlevel.h:331:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2695: FILE: tools/virtiofsd/fuse_lowlevel.h:332:
+^I * @param name to create$

ERROR: code indent should never use tabs
#2696: FILE: tools/virtiofsd/fuse_lowlevel.h:333:
+^I * @param mode file type and mode with which to create the new file$

WARNING: line over 80 characters
#2697: FILE: tools/virtiofsd/fuse_lowlevel.h:334:
+        * @param rdev the device number (only valid if created file is a 
device)

ERROR: code indent should never use tabs
#2697: FILE: tools/virtiofsd/fuse_lowlevel.h:334:
+^I * @param rdev the device number (only valid if created file is a device)$

ERROR: code indent should never use tabs
#2698: FILE: tools/virtiofsd/fuse_lowlevel.h:335:
+^I */$

ERROR: code indent should never use tabs
#2699: FILE: tools/virtiofsd/fuse_lowlevel.h:336:
+^Ivoid (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,$

ERROR: code indent should never use tabs
#2700: FILE: tools/virtiofsd/fuse_lowlevel.h:337:
+^I^I       mode_t mode, dev_t rdev);$

ERROR: code indent should never use tabs
#2702: FILE: tools/virtiofsd/fuse_lowlevel.h:339:
+^I/**$

ERROR: code indent should never use tabs
#2703: FILE: tools/virtiofsd/fuse_lowlevel.h:340:
+^I * Create a directory$

ERROR: code indent should never use tabs
#2704: FILE: tools/virtiofsd/fuse_lowlevel.h:341:
+^I *$

ERROR: code indent should never use tabs
#2705: FILE: tools/virtiofsd/fuse_lowlevel.h:342:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2706: FILE: tools/virtiofsd/fuse_lowlevel.h:343:
+^I *   fuse_reply_entry$

ERROR: code indent should never use tabs
#2707: FILE: tools/virtiofsd/fuse_lowlevel.h:344:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2708: FILE: tools/virtiofsd/fuse_lowlevel.h:345:
+^I *$

ERROR: code indent should never use tabs
#2709: FILE: tools/virtiofsd/fuse_lowlevel.h:346:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2710: FILE: tools/virtiofsd/fuse_lowlevel.h:347:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2711: FILE: tools/virtiofsd/fuse_lowlevel.h:348:
+^I * @param name to create$

ERROR: code indent should never use tabs
#2712: FILE: tools/virtiofsd/fuse_lowlevel.h:349:
+^I * @param mode with which to create the new file$

ERROR: code indent should never use tabs
#2713: FILE: tools/virtiofsd/fuse_lowlevel.h:350:
+^I */$

ERROR: code indent should never use tabs
#2714: FILE: tools/virtiofsd/fuse_lowlevel.h:351:
+^Ivoid (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,$

ERROR: code indent should never use tabs
#2715: FILE: tools/virtiofsd/fuse_lowlevel.h:352:
+^I^I       mode_t mode);$

ERROR: code indent should never use tabs
#2717: FILE: tools/virtiofsd/fuse_lowlevel.h:354:
+^I/**$

ERROR: code indent should never use tabs
#2718: FILE: tools/virtiofsd/fuse_lowlevel.h:355:
+^I * Remove a file$

ERROR: code indent should never use tabs
#2719: FILE: tools/virtiofsd/fuse_lowlevel.h:356:
+^I *$

ERROR: code indent should never use tabs
#2720: FILE: tools/virtiofsd/fuse_lowlevel.h:357:
+^I * If the file's inode's lookup count is non-zero, the file$

ERROR: code indent should never use tabs
#2721: FILE: tools/virtiofsd/fuse_lowlevel.h:358:
+^I * system is expected to postpone any removal of the inode$

ERROR: code indent should never use tabs
#2722: FILE: tools/virtiofsd/fuse_lowlevel.h:359:
+^I * until the lookup count reaches zero (see description of the$

ERROR: code indent should never use tabs
#2723: FILE: tools/virtiofsd/fuse_lowlevel.h:360:
+^I * forget function).$

ERROR: code indent should never use tabs
#2724: FILE: tools/virtiofsd/fuse_lowlevel.h:361:
+^I *$

ERROR: code indent should never use tabs
#2725: FILE: tools/virtiofsd/fuse_lowlevel.h:362:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2726: FILE: tools/virtiofsd/fuse_lowlevel.h:363:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2727: FILE: tools/virtiofsd/fuse_lowlevel.h:364:
+^I *$

ERROR: code indent should never use tabs
#2728: FILE: tools/virtiofsd/fuse_lowlevel.h:365:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2729: FILE: tools/virtiofsd/fuse_lowlevel.h:366:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2730: FILE: tools/virtiofsd/fuse_lowlevel.h:367:
+^I * @param name to remove$

ERROR: code indent should never use tabs
#2731: FILE: tools/virtiofsd/fuse_lowlevel.h:368:
+^I */$

ERROR: code indent should never use tabs
#2732: FILE: tools/virtiofsd/fuse_lowlevel.h:369:
+^Ivoid (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);$

ERROR: code indent should never use tabs
#2734: FILE: tools/virtiofsd/fuse_lowlevel.h:371:
+^I/**$

ERROR: code indent should never use tabs
#2735: FILE: tools/virtiofsd/fuse_lowlevel.h:372:
+^I * Remove a directory$

ERROR: code indent should never use tabs
#2736: FILE: tools/virtiofsd/fuse_lowlevel.h:373:
+^I *$

ERROR: code indent should never use tabs
#2737: FILE: tools/virtiofsd/fuse_lowlevel.h:374:
+^I * If the directory's inode's lookup count is non-zero, the$

ERROR: code indent should never use tabs
#2738: FILE: tools/virtiofsd/fuse_lowlevel.h:375:
+^I * file system is expected to postpone any removal of the$

ERROR: code indent should never use tabs
#2739: FILE: tools/virtiofsd/fuse_lowlevel.h:376:
+^I * inode until the lookup count reaches zero (see description$

ERROR: code indent should never use tabs
#2740: FILE: tools/virtiofsd/fuse_lowlevel.h:377:
+^I * of the forget function).$

ERROR: code indent should never use tabs
#2741: FILE: tools/virtiofsd/fuse_lowlevel.h:378:
+^I *$

ERROR: code indent should never use tabs
#2742: FILE: tools/virtiofsd/fuse_lowlevel.h:379:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2743: FILE: tools/virtiofsd/fuse_lowlevel.h:380:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2744: FILE: tools/virtiofsd/fuse_lowlevel.h:381:
+^I *$

ERROR: code indent should never use tabs
#2745: FILE: tools/virtiofsd/fuse_lowlevel.h:382:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2746: FILE: tools/virtiofsd/fuse_lowlevel.h:383:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2747: FILE: tools/virtiofsd/fuse_lowlevel.h:384:
+^I * @param name to remove$

ERROR: code indent should never use tabs
#2748: FILE: tools/virtiofsd/fuse_lowlevel.h:385:
+^I */$

ERROR: code indent should never use tabs
#2749: FILE: tools/virtiofsd/fuse_lowlevel.h:386:
+^Ivoid (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);$

ERROR: code indent should never use tabs
#2751: FILE: tools/virtiofsd/fuse_lowlevel.h:388:
+^I/**$

ERROR: code indent should never use tabs
#2752: FILE: tools/virtiofsd/fuse_lowlevel.h:389:
+^I * Create a symbolic link$

ERROR: code indent should never use tabs
#2753: FILE: tools/virtiofsd/fuse_lowlevel.h:390:
+^I *$

ERROR: code indent should never use tabs
#2754: FILE: tools/virtiofsd/fuse_lowlevel.h:391:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2755: FILE: tools/virtiofsd/fuse_lowlevel.h:392:
+^I *   fuse_reply_entry$

ERROR: code indent should never use tabs
#2756: FILE: tools/virtiofsd/fuse_lowlevel.h:393:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2757: FILE: tools/virtiofsd/fuse_lowlevel.h:394:
+^I *$

ERROR: code indent should never use tabs
#2758: FILE: tools/virtiofsd/fuse_lowlevel.h:395:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2759: FILE: tools/virtiofsd/fuse_lowlevel.h:396:
+^I * @param link the contents of the symbolic link$

ERROR: code indent should never use tabs
#2760: FILE: tools/virtiofsd/fuse_lowlevel.h:397:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#2761: FILE: tools/virtiofsd/fuse_lowlevel.h:398:
+^I * @param name to create$

ERROR: code indent should never use tabs
#2762: FILE: tools/virtiofsd/fuse_lowlevel.h:399:
+^I */$

ERROR: code indent should never use tabs
#2763: FILE: tools/virtiofsd/fuse_lowlevel.h:400:
+^Ivoid (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,$

ERROR: code indent should never use tabs
#2764: FILE: tools/virtiofsd/fuse_lowlevel.h:401:
+^I^I^I const char *name);$

ERROR: code indent should never use tabs
#2766: FILE: tools/virtiofsd/fuse_lowlevel.h:403:
+^I/** Rename a file$

WARNING: Block comments use a leading /* on a separate line
#2766: FILE: tools/virtiofsd/fuse_lowlevel.h:403:
+       /** Rename a file

ERROR: code indent should never use tabs
#2767: FILE: tools/virtiofsd/fuse_lowlevel.h:404:
+^I *$

ERROR: code indent should never use tabs
#2768: FILE: tools/virtiofsd/fuse_lowlevel.h:405:
+^I * If the target exists it should be atomically replaced. If$

ERROR: code indent should never use tabs
#2769: FILE: tools/virtiofsd/fuse_lowlevel.h:406:
+^I * the target's inode's lookup count is non-zero, the file$

ERROR: code indent should never use tabs
#2770: FILE: tools/virtiofsd/fuse_lowlevel.h:407:
+^I * system is expected to postpone any removal of the inode$

ERROR: code indent should never use tabs
#2771: FILE: tools/virtiofsd/fuse_lowlevel.h:408:
+^I * until the lookup count reaches zero (see description of the$

ERROR: code indent should never use tabs
#2772: FILE: tools/virtiofsd/fuse_lowlevel.h:409:
+^I * forget function).$

ERROR: code indent should never use tabs
#2773: FILE: tools/virtiofsd/fuse_lowlevel.h:410:
+^I *$

ERROR: code indent should never use tabs
#2774: FILE: tools/virtiofsd/fuse_lowlevel.h:411:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#2775: FILE: tools/virtiofsd/fuse_lowlevel.h:412:
+^I * treated as a permanent failure with error code EINVAL, i.e. all$

ERROR: code indent should never use tabs
#2776: FILE: tools/virtiofsd/fuse_lowlevel.h:413:
+^I * future bmap requests will fail with EINVAL without being$

ERROR: code indent should never use tabs
#2777: FILE: tools/virtiofsd/fuse_lowlevel.h:414:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#2778: FILE: tools/virtiofsd/fuse_lowlevel.h:415:
+^I *$

ERROR: code indent should never use tabs
#2779: FILE: tools/virtiofsd/fuse_lowlevel.h:416:
+^I * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If$

ERROR: code indent should never use tabs
#2780: FILE: tools/virtiofsd/fuse_lowlevel.h:417:
+^I * RENAME_NOREPLACE is specified, the filesystem must not$

ERROR: code indent should never use tabs
#2781: FILE: tools/virtiofsd/fuse_lowlevel.h:418:
+^I * overwrite *newname* if it exists and return an error$

ERROR: code indent should never use tabs
#2782: FILE: tools/virtiofsd/fuse_lowlevel.h:419:
+^I * instead. If `RENAME_EXCHANGE` is specified, the filesystem$

ERROR: code indent should never use tabs
#2783: FILE: tools/virtiofsd/fuse_lowlevel.h:420:
+^I * must atomically exchange the two files, i.e. both must$

ERROR: code indent should never use tabs
#2784: FILE: tools/virtiofsd/fuse_lowlevel.h:421:
+^I * exist and neither may be deleted.$

ERROR: code indent should never use tabs
#2785: FILE: tools/virtiofsd/fuse_lowlevel.h:422:
+^I *$

ERROR: code indent should never use tabs
#2786: FILE: tools/virtiofsd/fuse_lowlevel.h:423:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2787: FILE: tools/virtiofsd/fuse_lowlevel.h:424:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2788: FILE: tools/virtiofsd/fuse_lowlevel.h:425:
+^I *$

ERROR: code indent should never use tabs
#2789: FILE: tools/virtiofsd/fuse_lowlevel.h:426:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2790: FILE: tools/virtiofsd/fuse_lowlevel.h:427:
+^I * @param parent inode number of the old parent directory$

ERROR: code indent should never use tabs
#2791: FILE: tools/virtiofsd/fuse_lowlevel.h:428:
+^I * @param name old name$

ERROR: code indent should never use tabs
#2792: FILE: tools/virtiofsd/fuse_lowlevel.h:429:
+^I * @param newparent inode number of the new parent directory$

ERROR: code indent should never use tabs
#2793: FILE: tools/virtiofsd/fuse_lowlevel.h:430:
+^I * @param newname new name$

ERROR: code indent should never use tabs
#2794: FILE: tools/virtiofsd/fuse_lowlevel.h:431:
+^I */$

ERROR: code indent should never use tabs
#2795: FILE: tools/virtiofsd/fuse_lowlevel.h:432:
+^Ivoid (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,$

ERROR: code indent should never use tabs
#2796: FILE: tools/virtiofsd/fuse_lowlevel.h:433:
+^I^I^Ifuse_ino_t newparent, const char *newname,$

ERROR: code indent should never use tabs
#2797: FILE: tools/virtiofsd/fuse_lowlevel.h:434:
+^I^I^Iunsigned int flags);$

ERROR: code indent should never use tabs
#2799: FILE: tools/virtiofsd/fuse_lowlevel.h:436:
+^I/**$

ERROR: code indent should never use tabs
#2800: FILE: tools/virtiofsd/fuse_lowlevel.h:437:
+^I * Create a hard link$

ERROR: code indent should never use tabs
#2801: FILE: tools/virtiofsd/fuse_lowlevel.h:438:
+^I *$

ERROR: code indent should never use tabs
#2802: FILE: tools/virtiofsd/fuse_lowlevel.h:439:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2803: FILE: tools/virtiofsd/fuse_lowlevel.h:440:
+^I *   fuse_reply_entry$

ERROR: code indent should never use tabs
#2804: FILE: tools/virtiofsd/fuse_lowlevel.h:441:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2805: FILE: tools/virtiofsd/fuse_lowlevel.h:442:
+^I *$

ERROR: code indent should never use tabs
#2806: FILE: tools/virtiofsd/fuse_lowlevel.h:443:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2807: FILE: tools/virtiofsd/fuse_lowlevel.h:444:
+^I * @param ino the old inode number$

ERROR: code indent should never use tabs
#2808: FILE: tools/virtiofsd/fuse_lowlevel.h:445:
+^I * @param newparent inode number of the new parent directory$

ERROR: code indent should never use tabs
#2809: FILE: tools/virtiofsd/fuse_lowlevel.h:446:
+^I * @param newname new name to create$

ERROR: code indent should never use tabs
#2810: FILE: tools/virtiofsd/fuse_lowlevel.h:447:
+^I */$

ERROR: code indent should never use tabs
#2811: FILE: tools/virtiofsd/fuse_lowlevel.h:448:
+^Ivoid (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,$

ERROR: code indent should never use tabs
#2812: FILE: tools/virtiofsd/fuse_lowlevel.h:449:
+^I^I      const char *newname);$

ERROR: code indent should never use tabs
#2814: FILE: tools/virtiofsd/fuse_lowlevel.h:451:
+^I/**$

ERROR: code indent should never use tabs
#2815: FILE: tools/virtiofsd/fuse_lowlevel.h:452:
+^I * Open a file$

ERROR: code indent should never use tabs
#2816: FILE: tools/virtiofsd/fuse_lowlevel.h:453:
+^I *$

ERROR: code indent should never use tabs
#2817: FILE: tools/virtiofsd/fuse_lowlevel.h:454:
+^I * Open flags are available in fi->flags. The following rules$

ERROR: code indent should never use tabs
#2818: FILE: tools/virtiofsd/fuse_lowlevel.h:455:
+^I * apply.$

ERROR: code indent should never use tabs
#2819: FILE: tools/virtiofsd/fuse_lowlevel.h:456:
+^I *$

ERROR: code indent should never use tabs
#2820: FILE: tools/virtiofsd/fuse_lowlevel.h:457:
+^I *  - Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be$

ERROR: code indent should never use tabs
#2821: FILE: tools/virtiofsd/fuse_lowlevel.h:458:
+^I *    filtered out / handled by the kernel.$

ERROR: code indent should never use tabs
#2822: FILE: tools/virtiofsd/fuse_lowlevel.h:459:
+^I *$

ERROR: code indent should never use tabs
#2823: FILE: tools/virtiofsd/fuse_lowlevel.h:460:
+^I *  - Access modes (O_RDONLY, O_WRONLY, O_RDWR) should be used$

ERROR: code indent should never use tabs
#2824: FILE: tools/virtiofsd/fuse_lowlevel.h:461:
+^I *    by the filesystem to check if the operation is$

ERROR: code indent should never use tabs
#2825: FILE: tools/virtiofsd/fuse_lowlevel.h:462:
+^I *    permitted.  If the ``-o default_permissions`` mount$

ERROR: code indent should never use tabs
#2826: FILE: tools/virtiofsd/fuse_lowlevel.h:463:
+^I *    option is given, this check is already done by the$

ERROR: code indent should never use tabs
#2827: FILE: tools/virtiofsd/fuse_lowlevel.h:464:
+^I *    kernel before calling open() and may thus be omitted by$

ERROR: code indent should never use tabs
#2828: FILE: tools/virtiofsd/fuse_lowlevel.h:465:
+^I *    the filesystem.$

ERROR: code indent should never use tabs
#2829: FILE: tools/virtiofsd/fuse_lowlevel.h:466:
+^I *$

ERROR: code indent should never use tabs
#2830: FILE: tools/virtiofsd/fuse_lowlevel.h:467:
+^I *  - When writeback caching is enabled, the kernel may send$

ERROR: code indent should never use tabs
#2831: FILE: tools/virtiofsd/fuse_lowlevel.h:468:
+^I *    read requests even for files opened with O_WRONLY. The$

ERROR: code indent should never use tabs
#2832: FILE: tools/virtiofsd/fuse_lowlevel.h:469:
+^I *    filesystem should be prepared to handle this.$

ERROR: code indent should never use tabs
#2833: FILE: tools/virtiofsd/fuse_lowlevel.h:470:
+^I *$

ERROR: code indent should never use tabs
#2834: FILE: tools/virtiofsd/fuse_lowlevel.h:471:
+^I *  - When writeback caching is disabled, the filesystem is$

ERROR: code indent should never use tabs
#2835: FILE: tools/virtiofsd/fuse_lowlevel.h:472:
+^I *    expected to properly handle the O_APPEND flag and ensure$

ERROR: code indent should never use tabs
#2836: FILE: tools/virtiofsd/fuse_lowlevel.h:473:
+^I *    that each write is appending to the end of the file.$

ERROR: trailing whitespace
#2837: FILE: tools/virtiofsd/fuse_lowlevel.h:474:
+^I * $

ERROR: code indent should never use tabs
#2837: FILE: tools/virtiofsd/fuse_lowlevel.h:474:
+^I * $

ERROR: code indent should never use tabs
#2839: FILE: tools/virtiofsd/fuse_lowlevel.h:476:
+^I *    handle O_APPEND. However, unless all changes to the file$

ERROR: code indent should never use tabs
#2840: FILE: tools/virtiofsd/fuse_lowlevel.h:477:
+^I *    come through the kernel this will not work reliably. The$

ERROR: code indent should never use tabs
#2841: FILE: tools/virtiofsd/fuse_lowlevel.h:478:
+^I *    filesystem should thus either ignore the O_APPEND flag$

ERROR: code indent should never use tabs
#2842: FILE: tools/virtiofsd/fuse_lowlevel.h:479:
+^I *    (and let the kernel handle it), or return an error$

ERROR: code indent should never use tabs
#2843: FILE: tools/virtiofsd/fuse_lowlevel.h:480:
+^I *    (indicating that reliably O_APPEND is not available).$

ERROR: code indent should never use tabs
#2844: FILE: tools/virtiofsd/fuse_lowlevel.h:481:
+^I *$

ERROR: code indent should never use tabs
#2845: FILE: tools/virtiofsd/fuse_lowlevel.h:482:
+^I * Filesystem may store an arbitrary file handle (pointer,$

ERROR: code indent should never use tabs
#2846: FILE: tools/virtiofsd/fuse_lowlevel.h:483:
+^I * index, etc) in fi->fh, and use this in other all other file$

ERROR: code indent should never use tabs
#2847: FILE: tools/virtiofsd/fuse_lowlevel.h:484:
+^I * operations (read, write, flush, release, fsync).$

ERROR: code indent should never use tabs
#2848: FILE: tools/virtiofsd/fuse_lowlevel.h:485:
+^I *$

ERROR: code indent should never use tabs
#2849: FILE: tools/virtiofsd/fuse_lowlevel.h:486:
+^I * Filesystem may also implement stateless file I/O and not store$

ERROR: code indent should never use tabs
#2850: FILE: tools/virtiofsd/fuse_lowlevel.h:487:
+^I * anything in fi->fh.$

ERROR: code indent should never use tabs
#2851: FILE: tools/virtiofsd/fuse_lowlevel.h:488:
+^I *$

ERROR: code indent should never use tabs
#2852: FILE: tools/virtiofsd/fuse_lowlevel.h:489:
+^I * There are also some flags (direct_io, keep_cache) which the$

ERROR: code indent should never use tabs
#2853: FILE: tools/virtiofsd/fuse_lowlevel.h:490:
+^I * filesystem may set in fi, to change the way the file is opened.$

ERROR: code indent should never use tabs
#2854: FILE: tools/virtiofsd/fuse_lowlevel.h:491:
+^I * See fuse_file_info structure in <fuse_common.h> for more details.$

ERROR: code indent should never use tabs
#2855: FILE: tools/virtiofsd/fuse_lowlevel.h:492:
+^I *$

ERROR: code indent should never use tabs
#2856: FILE: tools/virtiofsd/fuse_lowlevel.h:493:
+^I * If this request is answered with an error code of ENOSYS$

ERROR: code indent should never use tabs
#2857: FILE: tools/virtiofsd/fuse_lowlevel.h:494:
+^I * and FUSE_CAP_NO_OPEN_SUPPORT is set in$

ERROR: code indent should never use tabs
#2858: FILE: tools/virtiofsd/fuse_lowlevel.h:495:
+^I * `fuse_conn_info.capable`, this is treated as success and$

ERROR: code indent should never use tabs
#2859: FILE: tools/virtiofsd/fuse_lowlevel.h:496:
+^I * future calls to open and release will also succeed without being$

ERROR: code indent should never use tabs
#2860: FILE: tools/virtiofsd/fuse_lowlevel.h:497:
+^I * sent to the filesystem process.$

ERROR: code indent should never use tabs
#2861: FILE: tools/virtiofsd/fuse_lowlevel.h:498:
+^I *$

ERROR: code indent should never use tabs
#2862: FILE: tools/virtiofsd/fuse_lowlevel.h:499:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2863: FILE: tools/virtiofsd/fuse_lowlevel.h:500:
+^I *   fuse_reply_open$

ERROR: code indent should never use tabs
#2864: FILE: tools/virtiofsd/fuse_lowlevel.h:501:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2865: FILE: tools/virtiofsd/fuse_lowlevel.h:502:
+^I *$

ERROR: code indent should never use tabs
#2866: FILE: tools/virtiofsd/fuse_lowlevel.h:503:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2867: FILE: tools/virtiofsd/fuse_lowlevel.h:504:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2868: FILE: tools/virtiofsd/fuse_lowlevel.h:505:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#2869: FILE: tools/virtiofsd/fuse_lowlevel.h:506:
+^I */$

ERROR: code indent should never use tabs
#2870: FILE: tools/virtiofsd/fuse_lowlevel.h:507:
+^Ivoid (*open) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2871: FILE: tools/virtiofsd/fuse_lowlevel.h:508:
+^I^I      struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2873: FILE: tools/virtiofsd/fuse_lowlevel.h:510:
+^I/**$

ERROR: code indent should never use tabs
#2874: FILE: tools/virtiofsd/fuse_lowlevel.h:511:
+^I * Read data$

ERROR: code indent should never use tabs
#2875: FILE: tools/virtiofsd/fuse_lowlevel.h:512:
+^I *$

ERROR: code indent should never use tabs
#2876: FILE: tools/virtiofsd/fuse_lowlevel.h:513:
+^I * Read should send exactly the number of bytes requested except$

ERROR: code indent should never use tabs
#2877: FILE: tools/virtiofsd/fuse_lowlevel.h:514:
+^I * on EOF or error, otherwise the rest of the data will be$

ERROR: code indent should never use tabs
#2878: FILE: tools/virtiofsd/fuse_lowlevel.h:515:
+^I * substituted with zeroes.  An exception to this is when the file$

ERROR: code indent should never use tabs
#2879: FILE: tools/virtiofsd/fuse_lowlevel.h:516:
+^I * has been opened in 'direct_io' mode, in which case the return$

ERROR: code indent should never use tabs
#2880: FILE: tools/virtiofsd/fuse_lowlevel.h:517:
+^I * value of the read system call will reflect the return value of$

ERROR: code indent should never use tabs
#2881: FILE: tools/virtiofsd/fuse_lowlevel.h:518:
+^I * this operation.$

ERROR: code indent should never use tabs
#2882: FILE: tools/virtiofsd/fuse_lowlevel.h:519:
+^I *$

ERROR: code indent should never use tabs
#2883: FILE: tools/virtiofsd/fuse_lowlevel.h:520:
+^I * fi->fh will contain the value set by the open method, or will$

ERROR: code indent should never use tabs
#2884: FILE: tools/virtiofsd/fuse_lowlevel.h:521:
+^I * be undefined if the open method didn't set any value.$

ERROR: code indent should never use tabs
#2885: FILE: tools/virtiofsd/fuse_lowlevel.h:522:
+^I *$

ERROR: code indent should never use tabs
#2886: FILE: tools/virtiofsd/fuse_lowlevel.h:523:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2887: FILE: tools/virtiofsd/fuse_lowlevel.h:524:
+^I *   fuse_reply_buf$

ERROR: code indent should never use tabs
#2888: FILE: tools/virtiofsd/fuse_lowlevel.h:525:
+^I *   fuse_reply_iov$

ERROR: code indent should never use tabs
#2889: FILE: tools/virtiofsd/fuse_lowlevel.h:526:
+^I *   fuse_reply_data$

ERROR: code indent should never use tabs
#2890: FILE: tools/virtiofsd/fuse_lowlevel.h:527:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2891: FILE: tools/virtiofsd/fuse_lowlevel.h:528:
+^I *$

ERROR: code indent should never use tabs
#2892: FILE: tools/virtiofsd/fuse_lowlevel.h:529:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2893: FILE: tools/virtiofsd/fuse_lowlevel.h:530:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2894: FILE: tools/virtiofsd/fuse_lowlevel.h:531:
+^I * @param size number of bytes to read$

ERROR: code indent should never use tabs
#2895: FILE: tools/virtiofsd/fuse_lowlevel.h:532:
+^I * @param off offset to read from$

ERROR: code indent should never use tabs
#2896: FILE: tools/virtiofsd/fuse_lowlevel.h:533:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#2897: FILE: tools/virtiofsd/fuse_lowlevel.h:534:
+^I */$

ERROR: code indent should never use tabs
#2898: FILE: tools/virtiofsd/fuse_lowlevel.h:535:
+^Ivoid (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$

ERROR: code indent should never use tabs
#2899: FILE: tools/virtiofsd/fuse_lowlevel.h:536:
+^I^I      struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2901: FILE: tools/virtiofsd/fuse_lowlevel.h:538:
+^I/**$

ERROR: code indent should never use tabs
#2902: FILE: tools/virtiofsd/fuse_lowlevel.h:539:
+^I * Write data$

ERROR: code indent should never use tabs
#2903: FILE: tools/virtiofsd/fuse_lowlevel.h:540:
+^I *$

ERROR: code indent should never use tabs
#2904: FILE: tools/virtiofsd/fuse_lowlevel.h:541:
+^I * Write should return exactly the number of bytes requested$

ERROR: code indent should never use tabs
#2905: FILE: tools/virtiofsd/fuse_lowlevel.h:542:
+^I * except on error.  An exception to this is when the file has$

ERROR: code indent should never use tabs
#2906: FILE: tools/virtiofsd/fuse_lowlevel.h:543:
+^I * been opened in 'direct_io' mode, in which case the return value$

ERROR: code indent should never use tabs
#2907: FILE: tools/virtiofsd/fuse_lowlevel.h:544:
+^I * of the write system call will reflect the return value of this$

ERROR: code indent should never use tabs
#2908: FILE: tools/virtiofsd/fuse_lowlevel.h:545:
+^I * operation.$

ERROR: code indent should never use tabs
#2909: FILE: tools/virtiofsd/fuse_lowlevel.h:546:
+^I *$

ERROR: code indent should never use tabs
#2910: FILE: tools/virtiofsd/fuse_lowlevel.h:547:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#2911: FILE: tools/virtiofsd/fuse_lowlevel.h:548:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#2912: FILE: tools/virtiofsd/fuse_lowlevel.h:549:
+^I *$

ERROR: code indent should never use tabs
#2913: FILE: tools/virtiofsd/fuse_lowlevel.h:550:
+^I * fi->fh will contain the value set by the open method, or will$

ERROR: code indent should never use tabs
#2914: FILE: tools/virtiofsd/fuse_lowlevel.h:551:
+^I * be undefined if the open method didn't set any value.$

ERROR: code indent should never use tabs
#2915: FILE: tools/virtiofsd/fuse_lowlevel.h:552:
+^I *$

ERROR: code indent should never use tabs
#2916: FILE: tools/virtiofsd/fuse_lowlevel.h:553:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2917: FILE: tools/virtiofsd/fuse_lowlevel.h:554:
+^I *   fuse_reply_write$

ERROR: code indent should never use tabs
#2918: FILE: tools/virtiofsd/fuse_lowlevel.h:555:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2919: FILE: tools/virtiofsd/fuse_lowlevel.h:556:
+^I *$

ERROR: code indent should never use tabs
#2920: FILE: tools/virtiofsd/fuse_lowlevel.h:557:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2921: FILE: tools/virtiofsd/fuse_lowlevel.h:558:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2922: FILE: tools/virtiofsd/fuse_lowlevel.h:559:
+^I * @param buf data to write$

ERROR: code indent should never use tabs
#2923: FILE: tools/virtiofsd/fuse_lowlevel.h:560:
+^I * @param size number of bytes to write$

ERROR: code indent should never use tabs
#2924: FILE: tools/virtiofsd/fuse_lowlevel.h:561:
+^I * @param off offset to write to$

ERROR: code indent should never use tabs
#2925: FILE: tools/virtiofsd/fuse_lowlevel.h:562:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#2926: FILE: tools/virtiofsd/fuse_lowlevel.h:563:
+^I */$

ERROR: code indent should never use tabs
#2927: FILE: tools/virtiofsd/fuse_lowlevel.h:564:
+^Ivoid (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,$

ERROR: code indent should never use tabs
#2928: FILE: tools/virtiofsd/fuse_lowlevel.h:565:
+^I^I       size_t size, off_t off, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2930: FILE: tools/virtiofsd/fuse_lowlevel.h:567:
+^I/**$

ERROR: code indent should never use tabs
#2931: FILE: tools/virtiofsd/fuse_lowlevel.h:568:
+^I * Flush method$

ERROR: code indent should never use tabs
#2932: FILE: tools/virtiofsd/fuse_lowlevel.h:569:
+^I *$

ERROR: code indent should never use tabs
#2933: FILE: tools/virtiofsd/fuse_lowlevel.h:570:
+^I * This is called on each close() of the opened file.$

ERROR: code indent should never use tabs
#2934: FILE: tools/virtiofsd/fuse_lowlevel.h:571:
+^I *$

ERROR: code indent should never use tabs
#2935: FILE: tools/virtiofsd/fuse_lowlevel.h:572:
+^I * Since file descriptors can be duplicated (dup, dup2, fork), for$

ERROR: code indent should never use tabs
#2936: FILE: tools/virtiofsd/fuse_lowlevel.h:573:
+^I * one open call there may be many flush calls.$

ERROR: code indent should never use tabs
#2937: FILE: tools/virtiofsd/fuse_lowlevel.h:574:
+^I *$

ERROR: code indent should never use tabs
#2938: FILE: tools/virtiofsd/fuse_lowlevel.h:575:
+^I * Filesystems shouldn't assume that flush will always be called$

ERROR: code indent should never use tabs
#2939: FILE: tools/virtiofsd/fuse_lowlevel.h:576:
+^I * after some writes, or that if will be called at all.$

ERROR: code indent should never use tabs
#2940: FILE: tools/virtiofsd/fuse_lowlevel.h:577:
+^I *$

ERROR: code indent should never use tabs
#2941: FILE: tools/virtiofsd/fuse_lowlevel.h:578:
+^I * fi->fh will contain the value set by the open method, or will$

ERROR: code indent should never use tabs
#2942: FILE: tools/virtiofsd/fuse_lowlevel.h:579:
+^I * be undefined if the open method didn't set any value.$

ERROR: code indent should never use tabs
#2943: FILE: tools/virtiofsd/fuse_lowlevel.h:580:
+^I *$

ERROR: code indent should never use tabs
#2944: FILE: tools/virtiofsd/fuse_lowlevel.h:581:
+^I * NOTE: the name of the method is misleading, since (unlike$

ERROR: code indent should never use tabs
#2945: FILE: tools/virtiofsd/fuse_lowlevel.h:582:
+^I * fsync) the filesystem is not forced to flush pending writes.$

ERROR: code indent should never use tabs
#2946: FILE: tools/virtiofsd/fuse_lowlevel.h:583:
+^I * One reason to flush data is if the filesystem wants to return$

ERROR: code indent should never use tabs
#2947: FILE: tools/virtiofsd/fuse_lowlevel.h:584:
+^I * write errors during close.  However, such use is non-portable$

ERROR: code indent should never use tabs
#2948: FILE: tools/virtiofsd/fuse_lowlevel.h:585:
+^I * because POSIX does not require [close] to wait for delayed I/O to$

ERROR: code indent should never use tabs
#2949: FILE: tools/virtiofsd/fuse_lowlevel.h:586:
+^I * complete.$

ERROR: code indent should never use tabs
#2950: FILE: tools/virtiofsd/fuse_lowlevel.h:587:
+^I *$

ERROR: code indent should never use tabs
#2951: FILE: tools/virtiofsd/fuse_lowlevel.h:588:
+^I * If the filesystem supports file locking operations (setlk,$

ERROR: code indent should never use tabs
#2952: FILE: tools/virtiofsd/fuse_lowlevel.h:589:
+^I * getlk) it should remove all locks belonging to 'fi->owner'.$

ERROR: code indent should never use tabs
#2953: FILE: tools/virtiofsd/fuse_lowlevel.h:590:
+^I *$

ERROR: code indent should never use tabs
#2954: FILE: tools/virtiofsd/fuse_lowlevel.h:591:
+^I * If this request is answered with an error code of ENOSYS,$

ERROR: code indent should never use tabs
#2955: FILE: tools/virtiofsd/fuse_lowlevel.h:592:
+^I * this is treated as success and future calls to flush() will$

ERROR: code indent should never use tabs
#2956: FILE: tools/virtiofsd/fuse_lowlevel.h:593:
+^I * succeed automatically without being send to the filesystem$

ERROR: code indent should never use tabs
#2957: FILE: tools/virtiofsd/fuse_lowlevel.h:594:
+^I * process.$

ERROR: code indent should never use tabs
#2958: FILE: tools/virtiofsd/fuse_lowlevel.h:595:
+^I *$

ERROR: code indent should never use tabs
#2959: FILE: tools/virtiofsd/fuse_lowlevel.h:596:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2960: FILE: tools/virtiofsd/fuse_lowlevel.h:597:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2961: FILE: tools/virtiofsd/fuse_lowlevel.h:598:
+^I *$

ERROR: code indent should never use tabs
#2962: FILE: tools/virtiofsd/fuse_lowlevel.h:599:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2963: FILE: tools/virtiofsd/fuse_lowlevel.h:600:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2964: FILE: tools/virtiofsd/fuse_lowlevel.h:601:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#2965: FILE: tools/virtiofsd/fuse_lowlevel.h:602:
+^I *$

WARNING: line over 80 characters
#2966: FILE: tools/virtiofsd/fuse_lowlevel.h:603:
+        * [close]: 
http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html

ERROR: code indent should never use tabs
#2966: FILE: tools/virtiofsd/fuse_lowlevel.h:603:
+^I * [close]: 
http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html$

ERROR: code indent should never use tabs
#2967: FILE: tools/virtiofsd/fuse_lowlevel.h:604:
+^I */$

ERROR: code indent should never use tabs
#2968: FILE: tools/virtiofsd/fuse_lowlevel.h:605:
+^Ivoid (*flush) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2969: FILE: tools/virtiofsd/fuse_lowlevel.h:606:
+^I^I       struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2971: FILE: tools/virtiofsd/fuse_lowlevel.h:608:
+^I/**$

ERROR: code indent should never use tabs
#2972: FILE: tools/virtiofsd/fuse_lowlevel.h:609:
+^I * Release an open file$

ERROR: code indent should never use tabs
#2973: FILE: tools/virtiofsd/fuse_lowlevel.h:610:
+^I *$

ERROR: code indent should never use tabs
#2974: FILE: tools/virtiofsd/fuse_lowlevel.h:611:
+^I * Release is called when there are no more references to an open$

ERROR: code indent should never use tabs
#2975: FILE: tools/virtiofsd/fuse_lowlevel.h:612:
+^I * file: all file descriptors are closed and all memory mappings$

ERROR: code indent should never use tabs
#2976: FILE: tools/virtiofsd/fuse_lowlevel.h:613:
+^I * are unmapped.$

ERROR: code indent should never use tabs
#2977: FILE: tools/virtiofsd/fuse_lowlevel.h:614:
+^I *$

ERROR: code indent should never use tabs
#2978: FILE: tools/virtiofsd/fuse_lowlevel.h:615:
+^I * For every open call there will be exactly one release call (unless$

ERROR: code indent should never use tabs
#2979: FILE: tools/virtiofsd/fuse_lowlevel.h:616:
+^I * the filesystem is force-unmounted).$

ERROR: code indent should never use tabs
#2980: FILE: tools/virtiofsd/fuse_lowlevel.h:617:
+^I *$

ERROR: code indent should never use tabs
#2981: FILE: tools/virtiofsd/fuse_lowlevel.h:618:
+^I * The filesystem may reply with an error, but error values are$

ERROR: code indent should never use tabs
#2982: FILE: tools/virtiofsd/fuse_lowlevel.h:619:
+^I * not returned to close() or munmap() which triggered the$

ERROR: code indent should never use tabs
#2983: FILE: tools/virtiofsd/fuse_lowlevel.h:620:
+^I * release.$

ERROR: code indent should never use tabs
#2984: FILE: tools/virtiofsd/fuse_lowlevel.h:621:
+^I *$

ERROR: code indent should never use tabs
#2985: FILE: tools/virtiofsd/fuse_lowlevel.h:622:
+^I * fi->fh will contain the value set by the open method, or will$

ERROR: code indent should never use tabs
#2986: FILE: tools/virtiofsd/fuse_lowlevel.h:623:
+^I * be undefined if the open method didn't set any value.$

ERROR: code indent should never use tabs
#2987: FILE: tools/virtiofsd/fuse_lowlevel.h:624:
+^I * fi->flags will contain the same flags as for open.$

ERROR: code indent should never use tabs
#2988: FILE: tools/virtiofsd/fuse_lowlevel.h:625:
+^I *$

ERROR: code indent should never use tabs
#2989: FILE: tools/virtiofsd/fuse_lowlevel.h:626:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#2990: FILE: tools/virtiofsd/fuse_lowlevel.h:627:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#2991: FILE: tools/virtiofsd/fuse_lowlevel.h:628:
+^I *$

ERROR: code indent should never use tabs
#2992: FILE: tools/virtiofsd/fuse_lowlevel.h:629:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#2993: FILE: tools/virtiofsd/fuse_lowlevel.h:630:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#2994: FILE: tools/virtiofsd/fuse_lowlevel.h:631:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#2995: FILE: tools/virtiofsd/fuse_lowlevel.h:632:
+^I */$

ERROR: code indent should never use tabs
#2996: FILE: tools/virtiofsd/fuse_lowlevel.h:633:
+^Ivoid (*release) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2997: FILE: tools/virtiofsd/fuse_lowlevel.h:634:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#2999: FILE: tools/virtiofsd/fuse_lowlevel.h:636:
+^I/**$

ERROR: code indent should never use tabs
#3000: FILE: tools/virtiofsd/fuse_lowlevel.h:637:
+^I * Synchronize file contents$

ERROR: code indent should never use tabs
#3001: FILE: tools/virtiofsd/fuse_lowlevel.h:638:
+^I *$

ERROR: code indent should never use tabs
#3002: FILE: tools/virtiofsd/fuse_lowlevel.h:639:
+^I * If the datasync parameter is non-zero, then only the user data$

ERROR: code indent should never use tabs
#3003: FILE: tools/virtiofsd/fuse_lowlevel.h:640:
+^I * should be flushed, not the meta data.$

ERROR: code indent should never use tabs
#3004: FILE: tools/virtiofsd/fuse_lowlevel.h:641:
+^I *$

ERROR: code indent should never use tabs
#3005: FILE: tools/virtiofsd/fuse_lowlevel.h:642:
+^I * If this request is answered with an error code of ENOSYS,$

ERROR: code indent should never use tabs
#3006: FILE: tools/virtiofsd/fuse_lowlevel.h:643:
+^I * this is treated as success and future calls to fsync() will$

ERROR: code indent should never use tabs
#3007: FILE: tools/virtiofsd/fuse_lowlevel.h:644:
+^I * succeed automatically without being send to the filesystem$

ERROR: code indent should never use tabs
#3008: FILE: tools/virtiofsd/fuse_lowlevel.h:645:
+^I * process.$

ERROR: code indent should never use tabs
#3009: FILE: tools/virtiofsd/fuse_lowlevel.h:646:
+^I *$

ERROR: code indent should never use tabs
#3010: FILE: tools/virtiofsd/fuse_lowlevel.h:647:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3011: FILE: tools/virtiofsd/fuse_lowlevel.h:648:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3012: FILE: tools/virtiofsd/fuse_lowlevel.h:649:
+^I *$

ERROR: code indent should never use tabs
#3013: FILE: tools/virtiofsd/fuse_lowlevel.h:650:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3014: FILE: tools/virtiofsd/fuse_lowlevel.h:651:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3015: FILE: tools/virtiofsd/fuse_lowlevel.h:652:
+^I * @param datasync flag indicating if only data should be flushed$

ERROR: code indent should never use tabs
#3016: FILE: tools/virtiofsd/fuse_lowlevel.h:653:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3017: FILE: tools/virtiofsd/fuse_lowlevel.h:654:
+^I */$

ERROR: code indent should never use tabs
#3018: FILE: tools/virtiofsd/fuse_lowlevel.h:655:
+^Ivoid (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,$

ERROR: code indent should never use tabs
#3019: FILE: tools/virtiofsd/fuse_lowlevel.h:656:
+^I^I       struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3021: FILE: tools/virtiofsd/fuse_lowlevel.h:658:
+^I/**$

ERROR: code indent should never use tabs
#3022: FILE: tools/virtiofsd/fuse_lowlevel.h:659:
+^I * Open a directory$

ERROR: code indent should never use tabs
#3023: FILE: tools/virtiofsd/fuse_lowlevel.h:660:
+^I *$

ERROR: code indent should never use tabs
#3024: FILE: tools/virtiofsd/fuse_lowlevel.h:661:
+^I * Filesystem may store an arbitrary file handle (pointer, index,$

ERROR: code indent should never use tabs
#3025: FILE: tools/virtiofsd/fuse_lowlevel.h:662:
+^I * etc) in fi->fh, and use this in other all other directory$

ERROR: code indent should never use tabs
#3026: FILE: tools/virtiofsd/fuse_lowlevel.h:663:
+^I * stream operations (readdir, releasedir, fsyncdir).$

ERROR: code indent should never use tabs
#3027: FILE: tools/virtiofsd/fuse_lowlevel.h:664:
+^I *$

ERROR: code indent should never use tabs
#3028: FILE: tools/virtiofsd/fuse_lowlevel.h:665:
+^I * If this request is answered with an error code of ENOSYS and$

ERROR: code indent should never use tabs
#3029: FILE: tools/virtiofsd/fuse_lowlevel.h:666:
+^I * FUSE_CAP_NO_OPENDIR_SUPPORT is set in `fuse_conn_info.capable`,$

ERROR: code indent should never use tabs
#3030: FILE: tools/virtiofsd/fuse_lowlevel.h:667:
+^I * this is treated as success and future calls to opendir and$

ERROR: code indent should never use tabs
#3031: FILE: tools/virtiofsd/fuse_lowlevel.h:668:
+^I * releasedir will also succeed without being sent to the filesystem$

ERROR: code indent should never use tabs
#3032: FILE: tools/virtiofsd/fuse_lowlevel.h:669:
+^I * process. In addition, the kernel will cache readdir results$

ERROR: code indent should never use tabs
#3033: FILE: tools/virtiofsd/fuse_lowlevel.h:670:
+^I * as if opendir returned FOPEN_KEEP_CACHE | FOPEN_CACHE_DIR.$

ERROR: code indent should never use tabs
#3034: FILE: tools/virtiofsd/fuse_lowlevel.h:671:
+^I *$

ERROR: code indent should never use tabs
#3035: FILE: tools/virtiofsd/fuse_lowlevel.h:672:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3036: FILE: tools/virtiofsd/fuse_lowlevel.h:673:
+^I *   fuse_reply_open$

ERROR: code indent should never use tabs
#3037: FILE: tools/virtiofsd/fuse_lowlevel.h:674:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3038: FILE: tools/virtiofsd/fuse_lowlevel.h:675:
+^I *$

ERROR: code indent should never use tabs
#3039: FILE: tools/virtiofsd/fuse_lowlevel.h:676:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3040: FILE: tools/virtiofsd/fuse_lowlevel.h:677:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3041: FILE: tools/virtiofsd/fuse_lowlevel.h:678:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3042: FILE: tools/virtiofsd/fuse_lowlevel.h:679:
+^I */$

ERROR: code indent should never use tabs
#3043: FILE: tools/virtiofsd/fuse_lowlevel.h:680:
+^Ivoid (*opendir) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3044: FILE: tools/virtiofsd/fuse_lowlevel.h:681:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3046: FILE: tools/virtiofsd/fuse_lowlevel.h:683:
+^I/**$

ERROR: code indent should never use tabs
#3047: FILE: tools/virtiofsd/fuse_lowlevel.h:684:
+^I * Read directory$

ERROR: code indent should never use tabs
#3048: FILE: tools/virtiofsd/fuse_lowlevel.h:685:
+^I *$

ERROR: code indent should never use tabs
#3049: FILE: tools/virtiofsd/fuse_lowlevel.h:686:
+^I * Send a buffer filled using fuse_add_direntry(), with size not$

ERROR: code indent should never use tabs
#3050: FILE: tools/virtiofsd/fuse_lowlevel.h:687:
+^I * exceeding the requested size.  Send an empty buffer on end of$

ERROR: code indent should never use tabs
#3051: FILE: tools/virtiofsd/fuse_lowlevel.h:688:
+^I * stream.$

ERROR: code indent should never use tabs
#3052: FILE: tools/virtiofsd/fuse_lowlevel.h:689:
+^I *$

ERROR: code indent should never use tabs
#3053: FILE: tools/virtiofsd/fuse_lowlevel.h:690:
+^I * fi->fh will contain the value set by the opendir method, or$

ERROR: code indent should never use tabs
#3054: FILE: tools/virtiofsd/fuse_lowlevel.h:691:
+^I * will be undefined if the opendir method didn't set any value.$

ERROR: code indent should never use tabs
#3055: FILE: tools/virtiofsd/fuse_lowlevel.h:692:
+^I *$

ERROR: code indent should never use tabs
#3056: FILE: tools/virtiofsd/fuse_lowlevel.h:693:
+^I * Returning a directory entry from readdir() does not affect$

ERROR: code indent should never use tabs
#3057: FILE: tools/virtiofsd/fuse_lowlevel.h:694:
+^I * its lookup count.$

ERROR: code indent should never use tabs
#3058: FILE: tools/virtiofsd/fuse_lowlevel.h:695:
+^I *$

ERROR: code indent should never use tabs
#3060: FILE: tools/virtiofsd/fuse_lowlevel.h:697:
+^I * values that was previously returned by readdir() for the same$

ERROR: code indent should never use tabs
#3061: FILE: tools/virtiofsd/fuse_lowlevel.h:698:
+^I * directory handle. In this case, readdir() should skip over entries$

ERROR: code indent should never use tabs
#3062: FILE: tools/virtiofsd/fuse_lowlevel.h:699:
+^I * coming before the position defined by the off_t value. If entries$

WARNING: line over 80 characters
#3063: FILE: tools/virtiofsd/fuse_lowlevel.h:700:
+        * are added or removed while the directory handle is open, they 
filesystem

ERROR: code indent should never use tabs
#3063: FILE: tools/virtiofsd/fuse_lowlevel.h:700:
+^I * are added or removed while the directory handle is open, they filesystem$

ERROR: code indent should never use tabs
#3064: FILE: tools/virtiofsd/fuse_lowlevel.h:701:
+^I * may still include the entries that have been removed, and may not$

ERROR: code indent should never use tabs
#3065: FILE: tools/virtiofsd/fuse_lowlevel.h:702:
+^I * report the entries that have been created. However, addition or$

ERROR: code indent should never use tabs
#3066: FILE: tools/virtiofsd/fuse_lowlevel.h:703:
+^I * removal of entries must never cause readdir() to skip over unrelated$

ERROR: code indent should never use tabs
#3067: FILE: tools/virtiofsd/fuse_lowlevel.h:704:
+^I * entries or to report them more than once. This means$

ERROR: code indent should never use tabs
#3068: FILE: tools/virtiofsd/fuse_lowlevel.h:705:
+^I * that off_t can not be a simple index that enumerates the entries$

ERROR: code indent should never use tabs
#3069: FILE: tools/virtiofsd/fuse_lowlevel.h:706:
+^I * that have been returned but must contain sufficient information to$

ERROR: code indent should never use tabs
#3070: FILE: tools/virtiofsd/fuse_lowlevel.h:707:
+^I * uniquely determine the next directory entry to return even when the$

ERROR: code indent should never use tabs
#3071: FILE: tools/virtiofsd/fuse_lowlevel.h:708:
+^I * set of entries is changing.$

ERROR: code indent should never use tabs
#3072: FILE: tools/virtiofsd/fuse_lowlevel.h:709:
+^I *$

ERROR: code indent should never use tabs
#3073: FILE: tools/virtiofsd/fuse_lowlevel.h:710:
+^I * The function does not have to report the '.' and '..'$

ERROR: code indent should never use tabs
#3074: FILE: tools/virtiofsd/fuse_lowlevel.h:711:
+^I * entries, but is allowed to do so. Note that, if readdir does$

ERROR: code indent should never use tabs
#3075: FILE: tools/virtiofsd/fuse_lowlevel.h:712:
+^I * not return '.' or '..', they will not be implicitly returned,$

ERROR: code indent should never use tabs
#3076: FILE: tools/virtiofsd/fuse_lowlevel.h:713:
+^I * and this behavior is observable by the caller.$

ERROR: code indent should never use tabs
#3077: FILE: tools/virtiofsd/fuse_lowlevel.h:714:
+^I *$

ERROR: code indent should never use tabs
#3078: FILE: tools/virtiofsd/fuse_lowlevel.h:715:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3079: FILE: tools/virtiofsd/fuse_lowlevel.h:716:
+^I *   fuse_reply_buf$

ERROR: code indent should never use tabs
#3080: FILE: tools/virtiofsd/fuse_lowlevel.h:717:
+^I *   fuse_reply_data$

ERROR: code indent should never use tabs
#3081: FILE: tools/virtiofsd/fuse_lowlevel.h:718:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3082: FILE: tools/virtiofsd/fuse_lowlevel.h:719:
+^I *$

ERROR: code indent should never use tabs
#3083: FILE: tools/virtiofsd/fuse_lowlevel.h:720:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3084: FILE: tools/virtiofsd/fuse_lowlevel.h:721:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3085: FILE: tools/virtiofsd/fuse_lowlevel.h:722:
+^I * @param size maximum number of bytes to send$

ERROR: code indent should never use tabs
#3086: FILE: tools/virtiofsd/fuse_lowlevel.h:723:
+^I * @param off offset to continue reading the directory stream$

ERROR: code indent should never use tabs
#3087: FILE: tools/virtiofsd/fuse_lowlevel.h:724:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3088: FILE: tools/virtiofsd/fuse_lowlevel.h:725:
+^I */$

ERROR: code indent should never use tabs
#3089: FILE: tools/virtiofsd/fuse_lowlevel.h:726:
+^Ivoid (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$

ERROR: code indent should never use tabs
#3090: FILE: tools/virtiofsd/fuse_lowlevel.h:727:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3092: FILE: tools/virtiofsd/fuse_lowlevel.h:729:
+^I/**$

ERROR: code indent should never use tabs
#3093: FILE: tools/virtiofsd/fuse_lowlevel.h:730:
+^I * Release an open directory$

ERROR: code indent should never use tabs
#3094: FILE: tools/virtiofsd/fuse_lowlevel.h:731:
+^I *$

ERROR: code indent should never use tabs
#3095: FILE: tools/virtiofsd/fuse_lowlevel.h:732:
+^I * For every opendir call there will be exactly one releasedir$

ERROR: code indent should never use tabs
#3096: FILE: tools/virtiofsd/fuse_lowlevel.h:733:
+^I * call (unless the filesystem is force-unmounted).$

ERROR: code indent should never use tabs
#3097: FILE: tools/virtiofsd/fuse_lowlevel.h:734:
+^I *$

ERROR: code indent should never use tabs
#3098: FILE: tools/virtiofsd/fuse_lowlevel.h:735:
+^I * fi->fh will contain the value set by the opendir method, or$

ERROR: code indent should never use tabs
#3099: FILE: tools/virtiofsd/fuse_lowlevel.h:736:
+^I * will be undefined if the opendir method didn't set any value.$

ERROR: code indent should never use tabs
#3100: FILE: tools/virtiofsd/fuse_lowlevel.h:737:
+^I *$

ERROR: code indent should never use tabs
#3101: FILE: tools/virtiofsd/fuse_lowlevel.h:738:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3102: FILE: tools/virtiofsd/fuse_lowlevel.h:739:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3103: FILE: tools/virtiofsd/fuse_lowlevel.h:740:
+^I *$

ERROR: code indent should never use tabs
#3104: FILE: tools/virtiofsd/fuse_lowlevel.h:741:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3105: FILE: tools/virtiofsd/fuse_lowlevel.h:742:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3106: FILE: tools/virtiofsd/fuse_lowlevel.h:743:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3107: FILE: tools/virtiofsd/fuse_lowlevel.h:744:
+^I */$

ERROR: code indent should never use tabs
#3108: FILE: tools/virtiofsd/fuse_lowlevel.h:745:
+^Ivoid (*releasedir) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3109: FILE: tools/virtiofsd/fuse_lowlevel.h:746:
+^I^I^I    struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3111: FILE: tools/virtiofsd/fuse_lowlevel.h:748:
+^I/**$

ERROR: code indent should never use tabs
#3112: FILE: tools/virtiofsd/fuse_lowlevel.h:749:
+^I * Synchronize directory contents$

ERROR: code indent should never use tabs
#3113: FILE: tools/virtiofsd/fuse_lowlevel.h:750:
+^I *$

ERROR: code indent should never use tabs
#3114: FILE: tools/virtiofsd/fuse_lowlevel.h:751:
+^I * If the datasync parameter is non-zero, then only the directory$

ERROR: code indent should never use tabs
#3115: FILE: tools/virtiofsd/fuse_lowlevel.h:752:
+^I * contents should be flushed, not the meta data.$

ERROR: code indent should never use tabs
#3116: FILE: tools/virtiofsd/fuse_lowlevel.h:753:
+^I *$

ERROR: code indent should never use tabs
#3117: FILE: tools/virtiofsd/fuse_lowlevel.h:754:
+^I * fi->fh will contain the value set by the opendir method, or$

ERROR: code indent should never use tabs
#3118: FILE: tools/virtiofsd/fuse_lowlevel.h:755:
+^I * will be undefined if the opendir method didn't set any value.$

ERROR: code indent should never use tabs
#3119: FILE: tools/virtiofsd/fuse_lowlevel.h:756:
+^I *$

ERROR: code indent should never use tabs
#3120: FILE: tools/virtiofsd/fuse_lowlevel.h:757:
+^I * If this request is answered with an error code of ENOSYS,$

ERROR: code indent should never use tabs
#3121: FILE: tools/virtiofsd/fuse_lowlevel.h:758:
+^I * this is treated as success and future calls to fsyncdir() will$

ERROR: code indent should never use tabs
#3122: FILE: tools/virtiofsd/fuse_lowlevel.h:759:
+^I * succeed automatically without being send to the filesystem$

ERROR: code indent should never use tabs
#3123: FILE: tools/virtiofsd/fuse_lowlevel.h:760:
+^I * process.$

ERROR: code indent should never use tabs
#3124: FILE: tools/virtiofsd/fuse_lowlevel.h:761:
+^I *$

ERROR: code indent should never use tabs
#3125: FILE: tools/virtiofsd/fuse_lowlevel.h:762:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3126: FILE: tools/virtiofsd/fuse_lowlevel.h:763:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3127: FILE: tools/virtiofsd/fuse_lowlevel.h:764:
+^I *$

ERROR: code indent should never use tabs
#3128: FILE: tools/virtiofsd/fuse_lowlevel.h:765:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3129: FILE: tools/virtiofsd/fuse_lowlevel.h:766:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3130: FILE: tools/virtiofsd/fuse_lowlevel.h:767:
+^I * @param datasync flag indicating if only data should be flushed$

ERROR: code indent should never use tabs
#3131: FILE: tools/virtiofsd/fuse_lowlevel.h:768:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3132: FILE: tools/virtiofsd/fuse_lowlevel.h:769:
+^I */$

ERROR: code indent should never use tabs
#3133: FILE: tools/virtiofsd/fuse_lowlevel.h:770:
+^Ivoid (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,$

ERROR: code indent should never use tabs
#3134: FILE: tools/virtiofsd/fuse_lowlevel.h:771:
+^I^I^I  struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3136: FILE: tools/virtiofsd/fuse_lowlevel.h:773:
+^I/**$

ERROR: code indent should never use tabs
#3137: FILE: tools/virtiofsd/fuse_lowlevel.h:774:
+^I * Get file system statistics$

ERROR: code indent should never use tabs
#3138: FILE: tools/virtiofsd/fuse_lowlevel.h:775:
+^I *$

ERROR: code indent should never use tabs
#3139: FILE: tools/virtiofsd/fuse_lowlevel.h:776:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3140: FILE: tools/virtiofsd/fuse_lowlevel.h:777:
+^I *   fuse_reply_statfs$

ERROR: code indent should never use tabs
#3141: FILE: tools/virtiofsd/fuse_lowlevel.h:778:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3142: FILE: tools/virtiofsd/fuse_lowlevel.h:779:
+^I *$

ERROR: code indent should never use tabs
#3143: FILE: tools/virtiofsd/fuse_lowlevel.h:780:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3144: FILE: tools/virtiofsd/fuse_lowlevel.h:781:
+^I * @param ino the inode number, zero means "undefined"$

ERROR: code indent should never use tabs
#3145: FILE: tools/virtiofsd/fuse_lowlevel.h:782:
+^I */$

ERROR: code indent should never use tabs
#3146: FILE: tools/virtiofsd/fuse_lowlevel.h:783:
+^Ivoid (*statfs) (fuse_req_t req, fuse_ino_t ino);$

ERROR: code indent should never use tabs
#3148: FILE: tools/virtiofsd/fuse_lowlevel.h:785:
+^I/**$

ERROR: code indent should never use tabs
#3149: FILE: tools/virtiofsd/fuse_lowlevel.h:786:
+^I * Set an extended attribute$

ERROR: code indent should never use tabs
#3150: FILE: tools/virtiofsd/fuse_lowlevel.h:787:
+^I *$

ERROR: code indent should never use tabs
#3151: FILE: tools/virtiofsd/fuse_lowlevel.h:788:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3152: FILE: tools/virtiofsd/fuse_lowlevel.h:789:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3153: FILE: tools/virtiofsd/fuse_lowlevel.h:790:
+^I * future setxattr() requests will fail with EOPNOTSUPP without being$

ERROR: code indent should never use tabs
#3154: FILE: tools/virtiofsd/fuse_lowlevel.h:791:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#3155: FILE: tools/virtiofsd/fuse_lowlevel.h:792:
+^I *$

ERROR: code indent should never use tabs
#3156: FILE: tools/virtiofsd/fuse_lowlevel.h:793:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3157: FILE: tools/virtiofsd/fuse_lowlevel.h:794:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3158: FILE: tools/virtiofsd/fuse_lowlevel.h:795:
+^I */$

ERROR: code indent should never use tabs
#3159: FILE: tools/virtiofsd/fuse_lowlevel.h:796:
+^Ivoid (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,$

ERROR: code indent should never use tabs
#3160: FILE: tools/virtiofsd/fuse_lowlevel.h:797:
+^I^I^I  const char *value, size_t size, int flags);$

ERROR: code indent should never use tabs
#3162: FILE: tools/virtiofsd/fuse_lowlevel.h:799:
+^I/**$

ERROR: code indent should never use tabs
#3163: FILE: tools/virtiofsd/fuse_lowlevel.h:800:
+^I * Get an extended attribute$

ERROR: code indent should never use tabs
#3164: FILE: tools/virtiofsd/fuse_lowlevel.h:801:
+^I *$

ERROR: code indent should never use tabs
#3165: FILE: tools/virtiofsd/fuse_lowlevel.h:802:
+^I * If size is zero, the size of the value should be sent with$

ERROR: code indent should never use tabs
#3166: FILE: tools/virtiofsd/fuse_lowlevel.h:803:
+^I * fuse_reply_xattr.$

ERROR: code indent should never use tabs
#3167: FILE: tools/virtiofsd/fuse_lowlevel.h:804:
+^I *$

ERROR: code indent should never use tabs
#3168: FILE: tools/virtiofsd/fuse_lowlevel.h:805:
+^I * If the size is non-zero, and the value fits in the buffer, the$

ERROR: code indent should never use tabs
#3169: FILE: tools/virtiofsd/fuse_lowlevel.h:806:
+^I * value should be sent with fuse_reply_buf.$

ERROR: code indent should never use tabs
#3170: FILE: tools/virtiofsd/fuse_lowlevel.h:807:
+^I *$

ERROR: code indent should never use tabs
#3171: FILE: tools/virtiofsd/fuse_lowlevel.h:808:
+^I * If the size is too small for the value, the ERANGE error should$

ERROR: code indent should never use tabs
#3172: FILE: tools/virtiofsd/fuse_lowlevel.h:809:
+^I * be sent.$

ERROR: code indent should never use tabs
#3173: FILE: tools/virtiofsd/fuse_lowlevel.h:810:
+^I *$

ERROR: code indent should never use tabs
#3174: FILE: tools/virtiofsd/fuse_lowlevel.h:811:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3175: FILE: tools/virtiofsd/fuse_lowlevel.h:812:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3176: FILE: tools/virtiofsd/fuse_lowlevel.h:813:
+^I * future getxattr() requests will fail with EOPNOTSUPP without being$

ERROR: code indent should never use tabs
#3177: FILE: tools/virtiofsd/fuse_lowlevel.h:814:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#3178: FILE: tools/virtiofsd/fuse_lowlevel.h:815:
+^I *$

ERROR: code indent should never use tabs
#3179: FILE: tools/virtiofsd/fuse_lowlevel.h:816:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3180: FILE: tools/virtiofsd/fuse_lowlevel.h:817:
+^I *   fuse_reply_buf$

ERROR: code indent should never use tabs
#3181: FILE: tools/virtiofsd/fuse_lowlevel.h:818:
+^I *   fuse_reply_data$

ERROR: code indent should never use tabs
#3182: FILE: tools/virtiofsd/fuse_lowlevel.h:819:
+^I *   fuse_reply_xattr$

ERROR: code indent should never use tabs
#3183: FILE: tools/virtiofsd/fuse_lowlevel.h:820:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3184: FILE: tools/virtiofsd/fuse_lowlevel.h:821:
+^I *$

ERROR: code indent should never use tabs
#3185: FILE: tools/virtiofsd/fuse_lowlevel.h:822:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3186: FILE: tools/virtiofsd/fuse_lowlevel.h:823:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3187: FILE: tools/virtiofsd/fuse_lowlevel.h:824:
+^I * @param name of the extended attribute$

ERROR: code indent should never use tabs
#3188: FILE: tools/virtiofsd/fuse_lowlevel.h:825:
+^I * @param size maximum size of the value to send$

ERROR: code indent should never use tabs
#3189: FILE: tools/virtiofsd/fuse_lowlevel.h:826:
+^I */$

ERROR: code indent should never use tabs
#3190: FILE: tools/virtiofsd/fuse_lowlevel.h:827:
+^Ivoid (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,$

ERROR: code indent should never use tabs
#3191: FILE: tools/virtiofsd/fuse_lowlevel.h:828:
+^I^I^I  size_t size);$

ERROR: code indent should never use tabs
#3193: FILE: tools/virtiofsd/fuse_lowlevel.h:830:
+^I/**$

ERROR: code indent should never use tabs
#3194: FILE: tools/virtiofsd/fuse_lowlevel.h:831:
+^I * List extended attribute names$

ERROR: code indent should never use tabs
#3195: FILE: tools/virtiofsd/fuse_lowlevel.h:832:
+^I *$

ERROR: code indent should never use tabs
#3196: FILE: tools/virtiofsd/fuse_lowlevel.h:833:
+^I * If size is zero, the total size of the attribute list should be$

ERROR: code indent should never use tabs
#3197: FILE: tools/virtiofsd/fuse_lowlevel.h:834:
+^I * sent with fuse_reply_xattr.$

ERROR: code indent should never use tabs
#3198: FILE: tools/virtiofsd/fuse_lowlevel.h:835:
+^I *$

ERROR: code indent should never use tabs
#3199: FILE: tools/virtiofsd/fuse_lowlevel.h:836:
+^I * If the size is non-zero, and the null character separated$

ERROR: code indent should never use tabs
#3200: FILE: tools/virtiofsd/fuse_lowlevel.h:837:
+^I * attribute list fits in the buffer, the list should be sent with$

ERROR: code indent should never use tabs
#3201: FILE: tools/virtiofsd/fuse_lowlevel.h:838:
+^I * fuse_reply_buf.$

ERROR: code indent should never use tabs
#3202: FILE: tools/virtiofsd/fuse_lowlevel.h:839:
+^I *$

ERROR: code indent should never use tabs
#3203: FILE: tools/virtiofsd/fuse_lowlevel.h:840:
+^I * If the size is too small for the list, the ERANGE error should$

ERROR: code indent should never use tabs
#3204: FILE: tools/virtiofsd/fuse_lowlevel.h:841:
+^I * be sent.$

ERROR: code indent should never use tabs
#3205: FILE: tools/virtiofsd/fuse_lowlevel.h:842:
+^I *$

ERROR: code indent should never use tabs
#3206: FILE: tools/virtiofsd/fuse_lowlevel.h:843:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3207: FILE: tools/virtiofsd/fuse_lowlevel.h:844:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3208: FILE: tools/virtiofsd/fuse_lowlevel.h:845:
+^I * future listxattr() requests will fail with EOPNOTSUPP without being$

ERROR: code indent should never use tabs
#3209: FILE: tools/virtiofsd/fuse_lowlevel.h:846:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#3210: FILE: tools/virtiofsd/fuse_lowlevel.h:847:
+^I *$

ERROR: code indent should never use tabs
#3211: FILE: tools/virtiofsd/fuse_lowlevel.h:848:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3212: FILE: tools/virtiofsd/fuse_lowlevel.h:849:
+^I *   fuse_reply_buf$

ERROR: code indent should never use tabs
#3213: FILE: tools/virtiofsd/fuse_lowlevel.h:850:
+^I *   fuse_reply_data$

ERROR: code indent should never use tabs
#3214: FILE: tools/virtiofsd/fuse_lowlevel.h:851:
+^I *   fuse_reply_xattr$

ERROR: code indent should never use tabs
#3215: FILE: tools/virtiofsd/fuse_lowlevel.h:852:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3216: FILE: tools/virtiofsd/fuse_lowlevel.h:853:
+^I *$

ERROR: code indent should never use tabs
#3217: FILE: tools/virtiofsd/fuse_lowlevel.h:854:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3218: FILE: tools/virtiofsd/fuse_lowlevel.h:855:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3219: FILE: tools/virtiofsd/fuse_lowlevel.h:856:
+^I * @param size maximum size of the list to send$

ERROR: code indent should never use tabs
#3220: FILE: tools/virtiofsd/fuse_lowlevel.h:857:
+^I */$

ERROR: code indent should never use tabs
#3221: FILE: tools/virtiofsd/fuse_lowlevel.h:858:
+^Ivoid (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);$

ERROR: code indent should never use tabs
#3223: FILE: tools/virtiofsd/fuse_lowlevel.h:860:
+^I/**$

ERROR: code indent should never use tabs
#3224: FILE: tools/virtiofsd/fuse_lowlevel.h:861:
+^I * Remove an extended attribute$

ERROR: code indent should never use tabs
#3225: FILE: tools/virtiofsd/fuse_lowlevel.h:862:
+^I *$

ERROR: code indent should never use tabs
#3226: FILE: tools/virtiofsd/fuse_lowlevel.h:863:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3227: FILE: tools/virtiofsd/fuse_lowlevel.h:864:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3228: FILE: tools/virtiofsd/fuse_lowlevel.h:865:
+^I * future removexattr() requests will fail with EOPNOTSUPP without being$

ERROR: code indent should never use tabs
#3229: FILE: tools/virtiofsd/fuse_lowlevel.h:866:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#3230: FILE: tools/virtiofsd/fuse_lowlevel.h:867:
+^I *$

ERROR: code indent should never use tabs
#3231: FILE: tools/virtiofsd/fuse_lowlevel.h:868:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3232: FILE: tools/virtiofsd/fuse_lowlevel.h:869:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3233: FILE: tools/virtiofsd/fuse_lowlevel.h:870:
+^I *$

ERROR: code indent should never use tabs
#3234: FILE: tools/virtiofsd/fuse_lowlevel.h:871:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3235: FILE: tools/virtiofsd/fuse_lowlevel.h:872:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3236: FILE: tools/virtiofsd/fuse_lowlevel.h:873:
+^I * @param name of the extended attribute$

ERROR: code indent should never use tabs
#3237: FILE: tools/virtiofsd/fuse_lowlevel.h:874:
+^I */$

ERROR: code indent should never use tabs
#3238: FILE: tools/virtiofsd/fuse_lowlevel.h:875:
+^Ivoid (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);$

ERROR: code indent should never use tabs
#3240: FILE: tools/virtiofsd/fuse_lowlevel.h:877:
+^I/**$

ERROR: code indent should never use tabs
#3241: FILE: tools/virtiofsd/fuse_lowlevel.h:878:
+^I * Check file access permissions$

ERROR: code indent should never use tabs
#3242: FILE: tools/virtiofsd/fuse_lowlevel.h:879:
+^I *$

ERROR: code indent should never use tabs
#3243: FILE: tools/virtiofsd/fuse_lowlevel.h:880:
+^I * This will be called for the access() and chdir() system$

ERROR: code indent should never use tabs
#3244: FILE: tools/virtiofsd/fuse_lowlevel.h:881:
+^I * calls.  If the 'default_permissions' mount option is given,$

ERROR: code indent should never use tabs
#3245: FILE: tools/virtiofsd/fuse_lowlevel.h:882:
+^I * this method is not called.$

ERROR: code indent should never use tabs
#3246: FILE: tools/virtiofsd/fuse_lowlevel.h:883:
+^I *$

ERROR: code indent should never use tabs
#3247: FILE: tools/virtiofsd/fuse_lowlevel.h:884:
+^I * This method is not called under Linux kernel versions 2.4.x$

ERROR: code indent should never use tabs
#3248: FILE: tools/virtiofsd/fuse_lowlevel.h:885:
+^I *$

ERROR: code indent should never use tabs
#3249: FILE: tools/virtiofsd/fuse_lowlevel.h:886:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3250: FILE: tools/virtiofsd/fuse_lowlevel.h:887:
+^I * treated as a permanent success, i.e. this and all future access()$

ERROR: code indent should never use tabs
#3251: FILE: tools/virtiofsd/fuse_lowlevel.h:888:
+^I * requests will succeed without being send to the filesystem process.$

ERROR: code indent should never use tabs
#3252: FILE: tools/virtiofsd/fuse_lowlevel.h:889:
+^I *$

ERROR: code indent should never use tabs
#3253: FILE: tools/virtiofsd/fuse_lowlevel.h:890:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3254: FILE: tools/virtiofsd/fuse_lowlevel.h:891:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3255: FILE: tools/virtiofsd/fuse_lowlevel.h:892:
+^I *$

ERROR: code indent should never use tabs
#3256: FILE: tools/virtiofsd/fuse_lowlevel.h:893:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3257: FILE: tools/virtiofsd/fuse_lowlevel.h:894:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3258: FILE: tools/virtiofsd/fuse_lowlevel.h:895:
+^I * @param mask requested access mode$

ERROR: code indent should never use tabs
#3259: FILE: tools/virtiofsd/fuse_lowlevel.h:896:
+^I */$

ERROR: code indent should never use tabs
#3260: FILE: tools/virtiofsd/fuse_lowlevel.h:897:
+^Ivoid (*access) (fuse_req_t req, fuse_ino_t ino, int mask);$

ERROR: code indent should never use tabs
#3262: FILE: tools/virtiofsd/fuse_lowlevel.h:899:
+^I/**$

ERROR: code indent should never use tabs
#3263: FILE: tools/virtiofsd/fuse_lowlevel.h:900:
+^I * Create and open a file$

ERROR: code indent should never use tabs
#3264: FILE: tools/virtiofsd/fuse_lowlevel.h:901:
+^I *$

ERROR: code indent should never use tabs
#3265: FILE: tools/virtiofsd/fuse_lowlevel.h:902:
+^I * If the file does not exist, first create it with the specified$

ERROR: code indent should never use tabs
#3266: FILE: tools/virtiofsd/fuse_lowlevel.h:903:
+^I * mode, and then open it.$

ERROR: code indent should never use tabs
#3267: FILE: tools/virtiofsd/fuse_lowlevel.h:904:
+^I *$

ERROR: code indent should never use tabs
#3268: FILE: tools/virtiofsd/fuse_lowlevel.h:905:
+^I * See the description of the open handler for more$

ERROR: code indent should never use tabs
#3269: FILE: tools/virtiofsd/fuse_lowlevel.h:906:
+^I * information.$

ERROR: code indent should never use tabs
#3270: FILE: tools/virtiofsd/fuse_lowlevel.h:907:
+^I *$

ERROR: code indent should never use tabs
#3271: FILE: tools/virtiofsd/fuse_lowlevel.h:908:
+^I * If this method is not implemented or under Linux kernel$

ERROR: code indent should never use tabs
#3272: FILE: tools/virtiofsd/fuse_lowlevel.h:909:
+^I * versions earlier than 2.6.15, the mknod() and open() methods$

ERROR: code indent should never use tabs
#3273: FILE: tools/virtiofsd/fuse_lowlevel.h:910:
+^I * will be called instead.$

ERROR: code indent should never use tabs
#3274: FILE: tools/virtiofsd/fuse_lowlevel.h:911:
+^I *$

ERROR: code indent should never use tabs
#3275: FILE: tools/virtiofsd/fuse_lowlevel.h:912:
+^I * If this request is answered with an error code of ENOSYS, the handler$

ERROR: code indent should never use tabs
#3276: FILE: tools/virtiofsd/fuse_lowlevel.h:913:
+^I * is treated as not implemented (i.e., for this and future requests the$

ERROR: code indent should never use tabs
#3277: FILE: tools/virtiofsd/fuse_lowlevel.h:914:
+^I * mknod() and open() handlers will be called instead).$

ERROR: code indent should never use tabs
#3278: FILE: tools/virtiofsd/fuse_lowlevel.h:915:
+^I *$

ERROR: code indent should never use tabs
#3279: FILE: tools/virtiofsd/fuse_lowlevel.h:916:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3280: FILE: tools/virtiofsd/fuse_lowlevel.h:917:
+^I *   fuse_reply_create$

ERROR: code indent should never use tabs
#3281: FILE: tools/virtiofsd/fuse_lowlevel.h:918:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3282: FILE: tools/virtiofsd/fuse_lowlevel.h:919:
+^I *$

ERROR: code indent should never use tabs
#3283: FILE: tools/virtiofsd/fuse_lowlevel.h:920:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3284: FILE: tools/virtiofsd/fuse_lowlevel.h:921:
+^I * @param parent inode number of the parent directory$

ERROR: code indent should never use tabs
#3285: FILE: tools/virtiofsd/fuse_lowlevel.h:922:
+^I * @param name to create$

ERROR: code indent should never use tabs
#3286: FILE: tools/virtiofsd/fuse_lowlevel.h:923:
+^I * @param mode file type and mode with which to create the new file$

ERROR: code indent should never use tabs
#3287: FILE: tools/virtiofsd/fuse_lowlevel.h:924:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3288: FILE: tools/virtiofsd/fuse_lowlevel.h:925:
+^I */$

ERROR: code indent should never use tabs
#3289: FILE: tools/virtiofsd/fuse_lowlevel.h:926:
+^Ivoid (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,$

ERROR: code indent should never use tabs
#3290: FILE: tools/virtiofsd/fuse_lowlevel.h:927:
+^I^I^Imode_t mode, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3292: FILE: tools/virtiofsd/fuse_lowlevel.h:929:
+^I/**$

ERROR: code indent should never use tabs
#3293: FILE: tools/virtiofsd/fuse_lowlevel.h:930:
+^I * Test for a POSIX file lock$

ERROR: code indent should never use tabs
#3294: FILE: tools/virtiofsd/fuse_lowlevel.h:931:
+^I *$

ERROR: code indent should never use tabs
#3295: FILE: tools/virtiofsd/fuse_lowlevel.h:932:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3296: FILE: tools/virtiofsd/fuse_lowlevel.h:933:
+^I *   fuse_reply_lock$

ERROR: code indent should never use tabs
#3297: FILE: tools/virtiofsd/fuse_lowlevel.h:934:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3298: FILE: tools/virtiofsd/fuse_lowlevel.h:935:
+^I *$

ERROR: code indent should never use tabs
#3299: FILE: tools/virtiofsd/fuse_lowlevel.h:936:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3300: FILE: tools/virtiofsd/fuse_lowlevel.h:937:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3301: FILE: tools/virtiofsd/fuse_lowlevel.h:938:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3302: FILE: tools/virtiofsd/fuse_lowlevel.h:939:
+^I * @param lock the region/type to test$

ERROR: code indent should never use tabs
#3303: FILE: tools/virtiofsd/fuse_lowlevel.h:940:
+^I */$

ERROR: code indent should never use tabs
#3304: FILE: tools/virtiofsd/fuse_lowlevel.h:941:
+^Ivoid (*getlk) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3305: FILE: tools/virtiofsd/fuse_lowlevel.h:942:
+^I^I       struct fuse_file_info *fi, struct flock *lock);$

ERROR: code indent should never use tabs
#3307: FILE: tools/virtiofsd/fuse_lowlevel.h:944:
+^I/**$

ERROR: code indent should never use tabs
#3308: FILE: tools/virtiofsd/fuse_lowlevel.h:945:
+^I * Acquire, modify or release a POSIX file lock$

ERROR: code indent should never use tabs
#3309: FILE: tools/virtiofsd/fuse_lowlevel.h:946:
+^I *$

ERROR: code indent should never use tabs
#3310: FILE: tools/virtiofsd/fuse_lowlevel.h:947:
+^I * For POSIX threads (NPTL) there's a 1-1 relation between pid and$

ERROR: code indent should never use tabs
#3311: FILE: tools/virtiofsd/fuse_lowlevel.h:948:
+^I * owner, but otherwise this is not always the case.  For checking$

ERROR: code indent should never use tabs
#3312: FILE: tools/virtiofsd/fuse_lowlevel.h:949:
+^I * lock ownership, 'fi->owner' must be used.  The l_pid field in$

ERROR: code indent should never use tabs
#3313: FILE: tools/virtiofsd/fuse_lowlevel.h:950:
+^I * 'struct flock' should only be used to fill in this field in$

ERROR: code indent should never use tabs
#3314: FILE: tools/virtiofsd/fuse_lowlevel.h:951:
+^I * getlk().$

ERROR: code indent should never use tabs
#3315: FILE: tools/virtiofsd/fuse_lowlevel.h:952:
+^I *$

ERROR: code indent should never use tabs
#3316: FILE: tools/virtiofsd/fuse_lowlevel.h:953:
+^I * Note: if the locking methods are not implemented, the kernel$

ERROR: code indent should never use tabs
#3317: FILE: tools/virtiofsd/fuse_lowlevel.h:954:
+^I * will still allow file locking to work locally.  Hence these are$

ERROR: code indent should never use tabs
#3318: FILE: tools/virtiofsd/fuse_lowlevel.h:955:
+^I * only interesting for network filesystems and similar.$

ERROR: code indent should never use tabs
#3319: FILE: tools/virtiofsd/fuse_lowlevel.h:956:
+^I *$

ERROR: code indent should never use tabs
#3320: FILE: tools/virtiofsd/fuse_lowlevel.h:957:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3321: FILE: tools/virtiofsd/fuse_lowlevel.h:958:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3322: FILE: tools/virtiofsd/fuse_lowlevel.h:959:
+^I *$

ERROR: code indent should never use tabs
#3323: FILE: tools/virtiofsd/fuse_lowlevel.h:960:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3324: FILE: tools/virtiofsd/fuse_lowlevel.h:961:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3325: FILE: tools/virtiofsd/fuse_lowlevel.h:962:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3326: FILE: tools/virtiofsd/fuse_lowlevel.h:963:
+^I * @param lock the region/type to set$

ERROR: code indent should never use tabs
#3327: FILE: tools/virtiofsd/fuse_lowlevel.h:964:
+^I * @param sleep locking operation may sleep$

ERROR: code indent should never use tabs
#3328: FILE: tools/virtiofsd/fuse_lowlevel.h:965:
+^I */$

ERROR: code indent should never use tabs
#3329: FILE: tools/virtiofsd/fuse_lowlevel.h:966:
+^Ivoid (*setlk) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3330: FILE: tools/virtiofsd/fuse_lowlevel.h:967:
+^I^I       struct fuse_file_info *fi,$

ERROR: code indent should never use tabs
#3331: FILE: tools/virtiofsd/fuse_lowlevel.h:968:
+^I^I       struct flock *lock, int sleep);$

ERROR: code indent should never use tabs
#3333: FILE: tools/virtiofsd/fuse_lowlevel.h:970:
+^I/**$

ERROR: code indent should never use tabs
#3334: FILE: tools/virtiofsd/fuse_lowlevel.h:971:
+^I * Map block index within file to block index within device$

ERROR: code indent should never use tabs
#3335: FILE: tools/virtiofsd/fuse_lowlevel.h:972:
+^I *$

ERROR: code indent should never use tabs
#3336: FILE: tools/virtiofsd/fuse_lowlevel.h:973:
+^I * Note: This makes sense only for block device backed filesystems$

ERROR: code indent should never use tabs
#3337: FILE: tools/virtiofsd/fuse_lowlevel.h:974:
+^I * mounted with the 'blkdev' option$

ERROR: code indent should never use tabs
#3338: FILE: tools/virtiofsd/fuse_lowlevel.h:975:
+^I *$

ERROR: code indent should never use tabs
#3339: FILE: tools/virtiofsd/fuse_lowlevel.h:976:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3340: FILE: tools/virtiofsd/fuse_lowlevel.h:977:
+^I * treated as a permanent failure, i.e. all future bmap() requests will$

ERROR: code indent should never use tabs
#3341: FILE: tools/virtiofsd/fuse_lowlevel.h:978:
+^I * fail with the same error code without being send to the filesystem$

ERROR: code indent should never use tabs
#3342: FILE: tools/virtiofsd/fuse_lowlevel.h:979:
+^I * process.$

ERROR: code indent should never use tabs
#3343: FILE: tools/virtiofsd/fuse_lowlevel.h:980:
+^I *$

ERROR: code indent should never use tabs
#3344: FILE: tools/virtiofsd/fuse_lowlevel.h:981:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3345: FILE: tools/virtiofsd/fuse_lowlevel.h:982:
+^I *   fuse_reply_bmap$

ERROR: code indent should never use tabs
#3346: FILE: tools/virtiofsd/fuse_lowlevel.h:983:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3347: FILE: tools/virtiofsd/fuse_lowlevel.h:984:
+^I *$

ERROR: code indent should never use tabs
#3348: FILE: tools/virtiofsd/fuse_lowlevel.h:985:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3349: FILE: tools/virtiofsd/fuse_lowlevel.h:986:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3350: FILE: tools/virtiofsd/fuse_lowlevel.h:987:
+^I * @param blocksize unit of block index$

ERROR: code indent should never use tabs
#3351: FILE: tools/virtiofsd/fuse_lowlevel.h:988:
+^I * @param idx block index within file$

ERROR: code indent should never use tabs
#3352: FILE: tools/virtiofsd/fuse_lowlevel.h:989:
+^I */$

ERROR: code indent should never use tabs
#3353: FILE: tools/virtiofsd/fuse_lowlevel.h:990:
+^Ivoid (*bmap) (fuse_req_t req, fuse_ino_t ino, size_t blocksize,$

ERROR: code indent should never use tabs
#3354: FILE: tools/virtiofsd/fuse_lowlevel.h:991:
+^I^I      uint64_t idx);$

ERROR: code indent should never use tabs
#3356: FILE: tools/virtiofsd/fuse_lowlevel.h:993:
+^I/**$

ERROR: code indent should never use tabs
#3357: FILE: tools/virtiofsd/fuse_lowlevel.h:994:
+^I * Ioctl$

ERROR: code indent should never use tabs
#3358: FILE: tools/virtiofsd/fuse_lowlevel.h:995:
+^I *$

ERROR: code indent should never use tabs
#3359: FILE: tools/virtiofsd/fuse_lowlevel.h:996:
+^I * Note: For unrestricted ioctls (not allowed for FUSE$

ERROR: code indent should never use tabs
#3360: FILE: tools/virtiofsd/fuse_lowlevel.h:997:
+^I * servers), data in and out areas can be discovered by giving$

ERROR: code indent should never use tabs
#3361: FILE: tools/virtiofsd/fuse_lowlevel.h:998:
+^I * iovs and setting FUSE_IOCTL_RETRY in *flags*.  For$

ERROR: code indent should never use tabs
#3362: FILE: tools/virtiofsd/fuse_lowlevel.h:999:
+^I * restricted ioctls, kernel prepares in/out data area$

ERROR: code indent should never use tabs
#3363: FILE: tools/virtiofsd/fuse_lowlevel.h:1000:
+^I * according to the information encoded in cmd.$

ERROR: code indent should never use tabs
#3364: FILE: tools/virtiofsd/fuse_lowlevel.h:1001:
+^I *$

ERROR: code indent should never use tabs
#3365: FILE: tools/virtiofsd/fuse_lowlevel.h:1002:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3366: FILE: tools/virtiofsd/fuse_lowlevel.h:1003:
+^I *   fuse_reply_ioctl_retry$

ERROR: code indent should never use tabs
#3367: FILE: tools/virtiofsd/fuse_lowlevel.h:1004:
+^I *   fuse_reply_ioctl$

ERROR: code indent should never use tabs
#3368: FILE: tools/virtiofsd/fuse_lowlevel.h:1005:
+^I *   fuse_reply_ioctl_iov$

ERROR: code indent should never use tabs
#3369: FILE: tools/virtiofsd/fuse_lowlevel.h:1006:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3370: FILE: tools/virtiofsd/fuse_lowlevel.h:1007:
+^I *$

ERROR: code indent should never use tabs
#3371: FILE: tools/virtiofsd/fuse_lowlevel.h:1008:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3372: FILE: tools/virtiofsd/fuse_lowlevel.h:1009:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3373: FILE: tools/virtiofsd/fuse_lowlevel.h:1010:
+^I * @param cmd ioctl command$

ERROR: code indent should never use tabs
#3374: FILE: tools/virtiofsd/fuse_lowlevel.h:1011:
+^I * @param arg ioctl argument$

ERROR: code indent should never use tabs
#3375: FILE: tools/virtiofsd/fuse_lowlevel.h:1012:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3376: FILE: tools/virtiofsd/fuse_lowlevel.h:1013:
+^I * @param flags for FUSE_IOCTL_* flags$

ERROR: code indent should never use tabs
#3377: FILE: tools/virtiofsd/fuse_lowlevel.h:1014:
+^I * @param in_buf data fetched from the caller$

ERROR: code indent should never use tabs
#3378: FILE: tools/virtiofsd/fuse_lowlevel.h:1015:
+^I * @param in_bufsz number of fetched bytes$

ERROR: code indent should never use tabs
#3379: FILE: tools/virtiofsd/fuse_lowlevel.h:1016:
+^I * @param out_bufsz maximum size of output data$

ERROR: code indent should never use tabs
#3380: FILE: tools/virtiofsd/fuse_lowlevel.h:1017:
+^I *$

ERROR: code indent should never use tabs
#3381: FILE: tools/virtiofsd/fuse_lowlevel.h:1018:
+^I * Note : the unsigned long request submitted by the application$

ERROR: code indent should never use tabs
#3382: FILE: tools/virtiofsd/fuse_lowlevel.h:1019:
+^I * is truncated to 32 bits.$

ERROR: code indent should never use tabs
#3383: FILE: tools/virtiofsd/fuse_lowlevel.h:1020:
+^I */$

ERROR: code indent should never use tabs
#3384: FILE: tools/virtiofsd/fuse_lowlevel.h:1021:
+^Ivoid (*ioctl) (fuse_req_t req, fuse_ino_t ino, unsigned int cmd,$

ERROR: code indent should never use tabs
#3385: FILE: tools/virtiofsd/fuse_lowlevel.h:1022:
+^I^I       void *arg, struct fuse_file_info *fi, unsigned flags,$

ERROR: code indent should never use tabs
#3386: FILE: tools/virtiofsd/fuse_lowlevel.h:1023:
+^I^I       const void *in_buf, size_t in_bufsz, size_t out_bufsz);$

ERROR: code indent should never use tabs
#3388: FILE: tools/virtiofsd/fuse_lowlevel.h:1025:
+^I/**$

ERROR: code indent should never use tabs
#3389: FILE: tools/virtiofsd/fuse_lowlevel.h:1026:
+^I * Poll for IO readiness$

ERROR: code indent should never use tabs
#3390: FILE: tools/virtiofsd/fuse_lowlevel.h:1027:
+^I *$

ERROR: code indent should never use tabs
#3391: FILE: tools/virtiofsd/fuse_lowlevel.h:1028:
+^I * Note: If ph is non-NULL, the client should notify$

ERROR: code indent should never use tabs
#3392: FILE: tools/virtiofsd/fuse_lowlevel.h:1029:
+^I * when IO readiness events occur by calling$

ERROR: code indent should never use tabs
#3393: FILE: tools/virtiofsd/fuse_lowlevel.h:1030:
+^I * fuse_lowlevel_notify_poll() with the specified ph.$

ERROR: code indent should never use tabs
#3394: FILE: tools/virtiofsd/fuse_lowlevel.h:1031:
+^I *$

ERROR: code indent should never use tabs
#3395: FILE: tools/virtiofsd/fuse_lowlevel.h:1032:
+^I * Regardless of the number of times poll with a non-NULL ph$

ERROR: code indent should never use tabs
#3396: FILE: tools/virtiofsd/fuse_lowlevel.h:1033:
+^I * is received, single notification is enough to clear all.$

ERROR: code indent should never use tabs
#3397: FILE: tools/virtiofsd/fuse_lowlevel.h:1034:
+^I * Notifying more times incurs overhead but doesn't harm$

ERROR: code indent should never use tabs
#3398: FILE: tools/virtiofsd/fuse_lowlevel.h:1035:
+^I * correctness.$

ERROR: code indent should never use tabs
#3399: FILE: tools/virtiofsd/fuse_lowlevel.h:1036:
+^I *$

ERROR: code indent should never use tabs
#3400: FILE: tools/virtiofsd/fuse_lowlevel.h:1037:
+^I * The callee is responsible for destroying ph with$

ERROR: code indent should never use tabs
#3401: FILE: tools/virtiofsd/fuse_lowlevel.h:1038:
+^I * fuse_pollhandle_destroy() when no longer in use.$

ERROR: code indent should never use tabs
#3402: FILE: tools/virtiofsd/fuse_lowlevel.h:1039:
+^I *$

ERROR: code indent should never use tabs
#3403: FILE: tools/virtiofsd/fuse_lowlevel.h:1040:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3404: FILE: tools/virtiofsd/fuse_lowlevel.h:1041:
+^I * treated as success (with a kernel-defined default poll-mask) and$

ERROR: code indent should never use tabs
#3405: FILE: tools/virtiofsd/fuse_lowlevel.h:1042:
+^I * future calls to pull() will succeed the same way without being send$

ERROR: code indent should never use tabs
#3406: FILE: tools/virtiofsd/fuse_lowlevel.h:1043:
+^I * to the filesystem process.$

ERROR: code indent should never use tabs
#3407: FILE: tools/virtiofsd/fuse_lowlevel.h:1044:
+^I *$

ERROR: code indent should never use tabs
#3408: FILE: tools/virtiofsd/fuse_lowlevel.h:1045:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3409: FILE: tools/virtiofsd/fuse_lowlevel.h:1046:
+^I *   fuse_reply_poll$

ERROR: code indent should never use tabs
#3410: FILE: tools/virtiofsd/fuse_lowlevel.h:1047:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3411: FILE: tools/virtiofsd/fuse_lowlevel.h:1048:
+^I *$

ERROR: code indent should never use tabs
#3412: FILE: tools/virtiofsd/fuse_lowlevel.h:1049:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3413: FILE: tools/virtiofsd/fuse_lowlevel.h:1050:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3414: FILE: tools/virtiofsd/fuse_lowlevel.h:1051:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3415: FILE: tools/virtiofsd/fuse_lowlevel.h:1052:
+^I * @param ph poll handle to be used for notification$

ERROR: code indent should never use tabs
#3416: FILE: tools/virtiofsd/fuse_lowlevel.h:1053:
+^I */$

ERROR: code indent should never use tabs
#3417: FILE: tools/virtiofsd/fuse_lowlevel.h:1054:
+^Ivoid (*poll) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi,$

ERROR: code indent should never use tabs
#3418: FILE: tools/virtiofsd/fuse_lowlevel.h:1055:
+^I^I      struct fuse_pollhandle *ph);$

ERROR: code indent should never use tabs
#3420: FILE: tools/virtiofsd/fuse_lowlevel.h:1057:
+^I/**$

ERROR: code indent should never use tabs
#3421: FILE: tools/virtiofsd/fuse_lowlevel.h:1058:
+^I * Write data made available in a buffer$

ERROR: code indent should never use tabs
#3422: FILE: tools/virtiofsd/fuse_lowlevel.h:1059:
+^I *$

ERROR: code indent should never use tabs
#3423: FILE: tools/virtiofsd/fuse_lowlevel.h:1060:
+^I * This is a more generic version of the ->write() method.  If$

ERROR: code indent should never use tabs
#3424: FILE: tools/virtiofsd/fuse_lowlevel.h:1061:
+^I * FUSE_CAP_SPLICE_READ is set in fuse_conn_info.want and the$

ERROR: code indent should never use tabs
#3425: FILE: tools/virtiofsd/fuse_lowlevel.h:1062:
+^I * kernel supports splicing from the fuse device, then the$

ERROR: code indent should never use tabs
#3426: FILE: tools/virtiofsd/fuse_lowlevel.h:1063:
+^I * data will be made available in pipe for supporting zero$

ERROR: code indent should never use tabs
#3427: FILE: tools/virtiofsd/fuse_lowlevel.h:1064:
+^I * copy data transfer.$

ERROR: code indent should never use tabs
#3428: FILE: tools/virtiofsd/fuse_lowlevel.h:1065:
+^I *$

ERROR: code indent should never use tabs
#3429: FILE: tools/virtiofsd/fuse_lowlevel.h:1066:
+^I * buf->count is guaranteed to be one (and thus buf->idx is$

ERROR: code indent should never use tabs
#3430: FILE: tools/virtiofsd/fuse_lowlevel.h:1067:
+^I * always zero). The write_buf handler must ensure that$

ERROR: code indent should never use tabs
#3431: FILE: tools/virtiofsd/fuse_lowlevel.h:1068:
+^I * bufv->off is correctly updated (reflecting the number of$

ERROR: code indent should never use tabs
#3432: FILE: tools/virtiofsd/fuse_lowlevel.h:1069:
+^I * bytes read from bufv->buf[0]).$

ERROR: code indent should never use tabs
#3433: FILE: tools/virtiofsd/fuse_lowlevel.h:1070:
+^I *$

ERROR: code indent should never use tabs
#3434: FILE: tools/virtiofsd/fuse_lowlevel.h:1071:
+^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$

ERROR: code indent should never use tabs
#3435: FILE: tools/virtiofsd/fuse_lowlevel.h:1072:
+^I * expected to reset the setuid and setgid bits.$

ERROR: code indent should never use tabs
#3436: FILE: tools/virtiofsd/fuse_lowlevel.h:1073:
+^I *$

ERROR: code indent should never use tabs
#3437: FILE: tools/virtiofsd/fuse_lowlevel.h:1074:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3438: FILE: tools/virtiofsd/fuse_lowlevel.h:1075:
+^I *   fuse_reply_write$

ERROR: code indent should never use tabs
#3439: FILE: tools/virtiofsd/fuse_lowlevel.h:1076:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3440: FILE: tools/virtiofsd/fuse_lowlevel.h:1077:
+^I *$

ERROR: code indent should never use tabs
#3441: FILE: tools/virtiofsd/fuse_lowlevel.h:1078:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3442: FILE: tools/virtiofsd/fuse_lowlevel.h:1079:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3443: FILE: tools/virtiofsd/fuse_lowlevel.h:1080:
+^I * @param bufv buffer containing the data$

ERROR: code indent should never use tabs
#3444: FILE: tools/virtiofsd/fuse_lowlevel.h:1081:
+^I * @param off offset to write to$

ERROR: code indent should never use tabs
#3445: FILE: tools/virtiofsd/fuse_lowlevel.h:1082:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3446: FILE: tools/virtiofsd/fuse_lowlevel.h:1083:
+^I */$

ERROR: code indent should never use tabs
#3447: FILE: tools/virtiofsd/fuse_lowlevel.h:1084:
+^Ivoid (*write_buf) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3448: FILE: tools/virtiofsd/fuse_lowlevel.h:1085:
+^I^I^I   struct fuse_bufvec *bufv, off_t off,$

ERROR: code indent should never use tabs
#3449: FILE: tools/virtiofsd/fuse_lowlevel.h:1086:
+^I^I^I   struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3451: FILE: tools/virtiofsd/fuse_lowlevel.h:1088:
+^I/**$

ERROR: code indent should never use tabs
#3452: FILE: tools/virtiofsd/fuse_lowlevel.h:1089:
+^I * Callback function for the retrieve request$

ERROR: code indent should never use tabs
#3453: FILE: tools/virtiofsd/fuse_lowlevel.h:1090:
+^I *$

ERROR: code indent should never use tabs
#3454: FILE: tools/virtiofsd/fuse_lowlevel.h:1091:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3455: FILE: tools/virtiofsd/fuse_lowlevel.h:1092:
+^I *^Ifuse_reply_none$

ERROR: code indent should never use tabs
#3456: FILE: tools/virtiofsd/fuse_lowlevel.h:1093:
+^I *$

ERROR: code indent should never use tabs
#3457: FILE: tools/virtiofsd/fuse_lowlevel.h:1094:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3458: FILE: tools/virtiofsd/fuse_lowlevel.h:1095:
+^I * @param cookie user data supplied to fuse_lowlevel_notify_retrieve()$

WARNING: line over 80 characters
#3459: FILE: tools/virtiofsd/fuse_lowlevel.h:1096:
+        * @param ino the inode number supplied to 
fuse_lowlevel_notify_retrieve()

ERROR: code indent should never use tabs
#3459: FILE: tools/virtiofsd/fuse_lowlevel.h:1096:
+^I * @param ino the inode number supplied to fuse_lowlevel_notify_retrieve()$

ERROR: code indent should never use tabs
#3460: FILE: tools/virtiofsd/fuse_lowlevel.h:1097:
+^I * @param offset the offset supplied to fuse_lowlevel_notify_retrieve()$

ERROR: code indent should never use tabs
#3461: FILE: tools/virtiofsd/fuse_lowlevel.h:1098:
+^I * @param bufv the buffer containing the returned data$

ERROR: code indent should never use tabs
#3462: FILE: tools/virtiofsd/fuse_lowlevel.h:1099:
+^I */$

ERROR: code indent should never use tabs
#3463: FILE: tools/virtiofsd/fuse_lowlevel.h:1100:
+^Ivoid (*retrieve_reply) (fuse_req_t req, void *cookie, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3464: FILE: tools/virtiofsd/fuse_lowlevel.h:1101:
+^I^I^I^Ioff_t offset, struct fuse_bufvec *bufv);$

ERROR: code indent should never use tabs
#3466: FILE: tools/virtiofsd/fuse_lowlevel.h:1103:
+^I/**$

ERROR: code indent should never use tabs
#3467: FILE: tools/virtiofsd/fuse_lowlevel.h:1104:
+^I * Forget about multiple inodes$

ERROR: code indent should never use tabs
#3468: FILE: tools/virtiofsd/fuse_lowlevel.h:1105:
+^I *$

ERROR: code indent should never use tabs
#3469: FILE: tools/virtiofsd/fuse_lowlevel.h:1106:
+^I * See description of the forget function for more$

ERROR: code indent should never use tabs
#3470: FILE: tools/virtiofsd/fuse_lowlevel.h:1107:
+^I * information.$

ERROR: code indent should never use tabs
#3471: FILE: tools/virtiofsd/fuse_lowlevel.h:1108:
+^I *$

ERROR: code indent should never use tabs
#3472: FILE: tools/virtiofsd/fuse_lowlevel.h:1109:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3473: FILE: tools/virtiofsd/fuse_lowlevel.h:1110:
+^I *   fuse_reply_none$

ERROR: code indent should never use tabs
#3474: FILE: tools/virtiofsd/fuse_lowlevel.h:1111:
+^I *$

ERROR: code indent should never use tabs
#3475: FILE: tools/virtiofsd/fuse_lowlevel.h:1112:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3476: FILE: tools/virtiofsd/fuse_lowlevel.h:1113:
+^I */$

ERROR: code indent should never use tabs
#3477: FILE: tools/virtiofsd/fuse_lowlevel.h:1114:
+^Ivoid (*forget_multi) (fuse_req_t req, size_t count,$

ERROR: code indent should never use tabs
#3478: FILE: tools/virtiofsd/fuse_lowlevel.h:1115:
+^I^I^I      struct fuse_forget_data *forgets);$

ERROR: code indent should never use tabs
#3480: FILE: tools/virtiofsd/fuse_lowlevel.h:1117:
+^I/**$

ERROR: code indent should never use tabs
#3481: FILE: tools/virtiofsd/fuse_lowlevel.h:1118:
+^I * Acquire, modify or release a BSD file lock$

ERROR: code indent should never use tabs
#3482: FILE: tools/virtiofsd/fuse_lowlevel.h:1119:
+^I *$

ERROR: code indent should never use tabs
#3483: FILE: tools/virtiofsd/fuse_lowlevel.h:1120:
+^I * Note: if the locking methods are not implemented, the kernel$

ERROR: code indent should never use tabs
#3484: FILE: tools/virtiofsd/fuse_lowlevel.h:1121:
+^I * will still allow file locking to work locally.  Hence these are$

ERROR: code indent should never use tabs
#3485: FILE: tools/virtiofsd/fuse_lowlevel.h:1122:
+^I * only interesting for network filesystems and similar.$

ERROR: code indent should never use tabs
#3486: FILE: tools/virtiofsd/fuse_lowlevel.h:1123:
+^I *$

ERROR: code indent should never use tabs
#3487: FILE: tools/virtiofsd/fuse_lowlevel.h:1124:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3488: FILE: tools/virtiofsd/fuse_lowlevel.h:1125:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3489: FILE: tools/virtiofsd/fuse_lowlevel.h:1126:
+^I *$

ERROR: code indent should never use tabs
#3490: FILE: tools/virtiofsd/fuse_lowlevel.h:1127:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3491: FILE: tools/virtiofsd/fuse_lowlevel.h:1128:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3492: FILE: tools/virtiofsd/fuse_lowlevel.h:1129:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3493: FILE: tools/virtiofsd/fuse_lowlevel.h:1130:
+^I * @param op the locking operation, see flock(2)$

ERROR: code indent should never use tabs
#3494: FILE: tools/virtiofsd/fuse_lowlevel.h:1131:
+^I */$

ERROR: code indent should never use tabs
#3495: FILE: tools/virtiofsd/fuse_lowlevel.h:1132:
+^Ivoid (*flock) (fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#3496: FILE: tools/virtiofsd/fuse_lowlevel.h:1133:
+^I^I       struct fuse_file_info *fi, int op);$

ERROR: code indent should never use tabs
#3498: FILE: tools/virtiofsd/fuse_lowlevel.h:1135:
+^I/**$

ERROR: code indent should never use tabs
#3499: FILE: tools/virtiofsd/fuse_lowlevel.h:1136:
+^I * Allocate requested space. If this function returns success then$

WARNING: line over 80 characters
#3500: FILE: tools/virtiofsd/fuse_lowlevel.h:1137:
+        * subsequent writes to the specified range shall not fail due to the 
lack

ERROR: code indent should never use tabs
#3500: FILE: tools/virtiofsd/fuse_lowlevel.h:1137:
+^I * subsequent writes to the specified range shall not fail due to the lack$

ERROR: code indent should never use tabs
#3501: FILE: tools/virtiofsd/fuse_lowlevel.h:1138:
+^I * of free space on the file system storage media.$

ERROR: code indent should never use tabs
#3502: FILE: tools/virtiofsd/fuse_lowlevel.h:1139:
+^I *$

ERROR: code indent should never use tabs
#3503: FILE: tools/virtiofsd/fuse_lowlevel.h:1140:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3504: FILE: tools/virtiofsd/fuse_lowlevel.h:1141:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3505: FILE: tools/virtiofsd/fuse_lowlevel.h:1142:
+^I * future fallocate() requests will fail with EOPNOTSUPP without being$

ERROR: code indent should never use tabs
#3506: FILE: tools/virtiofsd/fuse_lowlevel.h:1143:
+^I * send to the filesystem process.$

ERROR: code indent should never use tabs
#3507: FILE: tools/virtiofsd/fuse_lowlevel.h:1144:
+^I *$

ERROR: code indent should never use tabs
#3508: FILE: tools/virtiofsd/fuse_lowlevel.h:1145:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3509: FILE: tools/virtiofsd/fuse_lowlevel.h:1146:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3510: FILE: tools/virtiofsd/fuse_lowlevel.h:1147:
+^I *$

ERROR: code indent should never use tabs
#3511: FILE: tools/virtiofsd/fuse_lowlevel.h:1148:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3512: FILE: tools/virtiofsd/fuse_lowlevel.h:1149:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3513: FILE: tools/virtiofsd/fuse_lowlevel.h:1150:
+^I * @param offset starting point for allocated region$

ERROR: code indent should never use tabs
#3514: FILE: tools/virtiofsd/fuse_lowlevel.h:1151:
+^I * @param length size of allocated region$

WARNING: line over 80 characters
#3515: FILE: tools/virtiofsd/fuse_lowlevel.h:1152:
+        * @param mode determines the operation to be performed on the given 
range,

ERROR: code indent should never use tabs
#3515: FILE: tools/virtiofsd/fuse_lowlevel.h:1152:
+^I * @param mode determines the operation to be performed on the given range,$

ERROR: code indent should never use tabs
#3516: FILE: tools/virtiofsd/fuse_lowlevel.h:1153:
+^I *             see fallocate(2)$

ERROR: code indent should never use tabs
#3517: FILE: tools/virtiofsd/fuse_lowlevel.h:1154:
+^I */$

ERROR: code indent should never use tabs
#3518: FILE: tools/virtiofsd/fuse_lowlevel.h:1155:
+^Ivoid (*fallocate) (fuse_req_t req, fuse_ino_t ino, int mode,$

ERROR: code indent should never use tabs
#3519: FILE: tools/virtiofsd/fuse_lowlevel.h:1156:
+^I^I       off_t offset, off_t length, struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3521: FILE: tools/virtiofsd/fuse_lowlevel.h:1158:
+^I/**$

ERROR: code indent should never use tabs
#3522: FILE: tools/virtiofsd/fuse_lowlevel.h:1159:
+^I * Read directory with attributes$

ERROR: code indent should never use tabs
#3523: FILE: tools/virtiofsd/fuse_lowlevel.h:1160:
+^I *$

ERROR: code indent should never use tabs
#3524: FILE: tools/virtiofsd/fuse_lowlevel.h:1161:
+^I * Send a buffer filled using fuse_add_direntry_plus(), with size not$

ERROR: code indent should never use tabs
#3525: FILE: tools/virtiofsd/fuse_lowlevel.h:1162:
+^I * exceeding the requested size.  Send an empty buffer on end of$

ERROR: code indent should never use tabs
#3526: FILE: tools/virtiofsd/fuse_lowlevel.h:1163:
+^I * stream.$

ERROR: code indent should never use tabs
#3527: FILE: tools/virtiofsd/fuse_lowlevel.h:1164:
+^I *$

ERROR: code indent should never use tabs
#3528: FILE: tools/virtiofsd/fuse_lowlevel.h:1165:
+^I * fi->fh will contain the value set by the opendir method, or$

ERROR: code indent should never use tabs
#3529: FILE: tools/virtiofsd/fuse_lowlevel.h:1166:
+^I * will be undefined if the opendir method didn't set any value.$

ERROR: code indent should never use tabs
#3530: FILE: tools/virtiofsd/fuse_lowlevel.h:1167:
+^I *$

ERROR: code indent should never use tabs
#3531: FILE: tools/virtiofsd/fuse_lowlevel.h:1168:
+^I * In contrast to readdir() (which does not affect the lookup counts),$

ERROR: code indent should never use tabs
#3532: FILE: tools/virtiofsd/fuse_lowlevel.h:1169:
+^I * the lookup count of every entry returned by readdirplus(), except "."$

ERROR: code indent should never use tabs
#3533: FILE: tools/virtiofsd/fuse_lowlevel.h:1170:
+^I * and "..", is incremented by one.$

ERROR: code indent should never use tabs
#3534: FILE: tools/virtiofsd/fuse_lowlevel.h:1171:
+^I *$

ERROR: code indent should never use tabs
#3535: FILE: tools/virtiofsd/fuse_lowlevel.h:1172:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3536: FILE: tools/virtiofsd/fuse_lowlevel.h:1173:
+^I *   fuse_reply_buf$

ERROR: code indent should never use tabs
#3537: FILE: tools/virtiofsd/fuse_lowlevel.h:1174:
+^I *   fuse_reply_data$

ERROR: code indent should never use tabs
#3538: FILE: tools/virtiofsd/fuse_lowlevel.h:1175:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3539: FILE: tools/virtiofsd/fuse_lowlevel.h:1176:
+^I *$

ERROR: code indent should never use tabs
#3540: FILE: tools/virtiofsd/fuse_lowlevel.h:1177:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3541: FILE: tools/virtiofsd/fuse_lowlevel.h:1178:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3542: FILE: tools/virtiofsd/fuse_lowlevel.h:1179:
+^I * @param size maximum number of bytes to send$

ERROR: code indent should never use tabs
#3543: FILE: tools/virtiofsd/fuse_lowlevel.h:1180:
+^I * @param off offset to continue reading the directory stream$

ERROR: code indent should never use tabs
#3544: FILE: tools/virtiofsd/fuse_lowlevel.h:1181:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3545: FILE: tools/virtiofsd/fuse_lowlevel.h:1182:
+^I */$

WARNING: line over 80 characters
#3546: FILE: tools/virtiofsd/fuse_lowlevel.h:1183:
+       void (*readdirplus) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t 
off,

ERROR: code indent should never use tabs
#3546: FILE: tools/virtiofsd/fuse_lowlevel.h:1183:
+^Ivoid (*readdirplus) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$

ERROR: code indent should never use tabs
#3547: FILE: tools/virtiofsd/fuse_lowlevel.h:1184:
+^I^I^I struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3549: FILE: tools/virtiofsd/fuse_lowlevel.h:1186:
+^I/**$

ERROR: code indent should never use tabs
#3550: FILE: tools/virtiofsd/fuse_lowlevel.h:1187:
+^I * Copy a range of data from one file to another$

ERROR: code indent should never use tabs
#3551: FILE: tools/virtiofsd/fuse_lowlevel.h:1188:
+^I *$

ERROR: code indent should never use tabs
#3552: FILE: tools/virtiofsd/fuse_lowlevel.h:1189:
+^I * Performs an optimized copy between two file descriptors without the$

ERROR: code indent should never use tabs
#3553: FILE: tools/virtiofsd/fuse_lowlevel.h:1190:
+^I * additional cost of transferring data through the FUSE kernel module$

ERROR: code indent should never use tabs
#3554: FILE: tools/virtiofsd/fuse_lowlevel.h:1191:
+^I * to user space (glibc) and then back into the FUSE filesystem again.$

ERROR: code indent should never use tabs
#3555: FILE: tools/virtiofsd/fuse_lowlevel.h:1192:
+^I *$

ERROR: code indent should never use tabs
#3556: FILE: tools/virtiofsd/fuse_lowlevel.h:1193:
+^I * In case this method is not implemented, glibc falls back to reading$

ERROR: code indent should never use tabs
#3557: FILE: tools/virtiofsd/fuse_lowlevel.h:1194:
+^I * data from the source and writing to the destination. Effectively$

ERROR: code indent should never use tabs
#3558: FILE: tools/virtiofsd/fuse_lowlevel.h:1195:
+^I * doing an inefficient copy of the data.$

ERROR: code indent should never use tabs
#3559: FILE: tools/virtiofsd/fuse_lowlevel.h:1196:
+^I *$

ERROR: code indent should never use tabs
#3560: FILE: tools/virtiofsd/fuse_lowlevel.h:1197:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3561: FILE: tools/virtiofsd/fuse_lowlevel.h:1198:
+^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$

ERROR: code indent should never use tabs
#3562: FILE: tools/virtiofsd/fuse_lowlevel.h:1199:
+^I * future copy_file_range() requests will fail with EOPNOTSUPP without$

ERROR: code indent should never use tabs
#3563: FILE: tools/virtiofsd/fuse_lowlevel.h:1200:
+^I * being send to the filesystem process.$

ERROR: code indent should never use tabs
#3564: FILE: tools/virtiofsd/fuse_lowlevel.h:1201:
+^I *$

ERROR: code indent should never use tabs
#3565: FILE: tools/virtiofsd/fuse_lowlevel.h:1202:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3566: FILE: tools/virtiofsd/fuse_lowlevel.h:1203:
+^I *   fuse_reply_write$

ERROR: code indent should never use tabs
#3567: FILE: tools/virtiofsd/fuse_lowlevel.h:1204:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3568: FILE: tools/virtiofsd/fuse_lowlevel.h:1205:
+^I *$

ERROR: code indent should never use tabs
#3569: FILE: tools/virtiofsd/fuse_lowlevel.h:1206:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3570: FILE: tools/virtiofsd/fuse_lowlevel.h:1207:
+^I * @param ino_in the inode number or the source file$

ERROR: code indent should never use tabs
#3571: FILE: tools/virtiofsd/fuse_lowlevel.h:1208:
+^I * @param off_in starting point from were the data should be read$

ERROR: code indent should never use tabs
#3572: FILE: tools/virtiofsd/fuse_lowlevel.h:1209:
+^I * @param fi_in file information of the source file$

ERROR: code indent should never use tabs
#3573: FILE: tools/virtiofsd/fuse_lowlevel.h:1210:
+^I * @param ino_out the inode number or the destination file$

ERROR: code indent should never use tabs
#3574: FILE: tools/virtiofsd/fuse_lowlevel.h:1211:
+^I * @param off_out starting point where the data should be written$

ERROR: code indent should never use tabs
#3575: FILE: tools/virtiofsd/fuse_lowlevel.h:1212:
+^I * @param fi_out file information of the destination file$

ERROR: code indent should never use tabs
#3576: FILE: tools/virtiofsd/fuse_lowlevel.h:1213:
+^I * @param len maximum size of the data to copy$

ERROR: code indent should never use tabs
#3577: FILE: tools/virtiofsd/fuse_lowlevel.h:1214:
+^I * @param flags passed along with the copy_file_range() syscall$

ERROR: code indent should never use tabs
#3578: FILE: tools/virtiofsd/fuse_lowlevel.h:1215:
+^I */$

ERROR: code indent should never use tabs
#3579: FILE: tools/virtiofsd/fuse_lowlevel.h:1216:
+^Ivoid (*copy_file_range) (fuse_req_t req, fuse_ino_t ino_in,$

ERROR: code indent should never use tabs
#3580: FILE: tools/virtiofsd/fuse_lowlevel.h:1217:
+^I^I^I^I off_t off_in, struct fuse_file_info *fi_in,$

ERROR: code indent should never use tabs
#3581: FILE: tools/virtiofsd/fuse_lowlevel.h:1218:
+^I^I^I^I fuse_ino_t ino_out, off_t off_out,$

ERROR: code indent should never use tabs
#3582: FILE: tools/virtiofsd/fuse_lowlevel.h:1219:
+^I^I^I^I struct fuse_file_info *fi_out, size_t len,$

ERROR: code indent should never use tabs
#3583: FILE: tools/virtiofsd/fuse_lowlevel.h:1220:
+^I^I^I^I int flags);$

ERROR: code indent should never use tabs
#3585: FILE: tools/virtiofsd/fuse_lowlevel.h:1222:
+^I/**$

ERROR: code indent should never use tabs
#3586: FILE: tools/virtiofsd/fuse_lowlevel.h:1223:
+^I * Find next data or hole after the specified offset$

ERROR: code indent should never use tabs
#3587: FILE: tools/virtiofsd/fuse_lowlevel.h:1224:
+^I *$

ERROR: code indent should never use tabs
#3588: FILE: tools/virtiofsd/fuse_lowlevel.h:1225:
+^I * If this request is answered with an error code of ENOSYS, this is$

ERROR: code indent should never use tabs
#3589: FILE: tools/virtiofsd/fuse_lowlevel.h:1226:
+^I * treated as a permanent failure, i.e. all future lseek() requests will$

ERROR: code indent should never use tabs
#3590: FILE: tools/virtiofsd/fuse_lowlevel.h:1227:
+^I * fail with the same error code without being send to the filesystem$

ERROR: code indent should never use tabs
#3591: FILE: tools/virtiofsd/fuse_lowlevel.h:1228:
+^I * process.$

ERROR: code indent should never use tabs
#3592: FILE: tools/virtiofsd/fuse_lowlevel.h:1229:
+^I *$

ERROR: code indent should never use tabs
#3593: FILE: tools/virtiofsd/fuse_lowlevel.h:1230:
+^I * Valid replies:$

ERROR: code indent should never use tabs
#3594: FILE: tools/virtiofsd/fuse_lowlevel.h:1231:
+^I *   fuse_reply_lseek$

ERROR: code indent should never use tabs
#3595: FILE: tools/virtiofsd/fuse_lowlevel.h:1232:
+^I *   fuse_reply_err$

ERROR: code indent should never use tabs
#3596: FILE: tools/virtiofsd/fuse_lowlevel.h:1233:
+^I *$

ERROR: code indent should never use tabs
#3597: FILE: tools/virtiofsd/fuse_lowlevel.h:1234:
+^I * @param req request handle$

ERROR: code indent should never use tabs
#3598: FILE: tools/virtiofsd/fuse_lowlevel.h:1235:
+^I * @param ino the inode number$

ERROR: code indent should never use tabs
#3599: FILE: tools/virtiofsd/fuse_lowlevel.h:1236:
+^I * @param off offset to start search from$

ERROR: code indent should never use tabs
#3600: FILE: tools/virtiofsd/fuse_lowlevel.h:1237:
+^I * @param whence either SEEK_DATA or SEEK_HOLE$

ERROR: code indent should never use tabs
#3601: FILE: tools/virtiofsd/fuse_lowlevel.h:1238:
+^I * @param fi file information$

ERROR: code indent should never use tabs
#3602: FILE: tools/virtiofsd/fuse_lowlevel.h:1239:
+^I */$

ERROR: code indent should never use tabs
#3603: FILE: tools/virtiofsd/fuse_lowlevel.h:1240:
+^Ivoid (*lseek) (fuse_req_t req, fuse_ino_t ino, off_t off, int whence,$

ERROR: code indent should never use tabs
#3604: FILE: tools/virtiofsd/fuse_lowlevel.h:1241:
+^I^I       struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3675: FILE: tools/virtiofsd/fuse_lowlevel.h:1312:
+^I^I      const struct fuse_file_info *fi);$

ERROR: code indent should never use tabs
#3685: FILE: tools/virtiofsd/fuse_lowlevel.h:1322:
+ * @param attr_timeout^Ivalidity timeout (in seconds) for the attributes$

ERROR: code indent should never use tabs
#3689: FILE: tools/virtiofsd/fuse_lowlevel.h:1326:
+^I^I    double attr_timeout);$

ERROR: code indent should never use tabs
#3787: FILE: tools/virtiofsd/fuse_lowlevel.h:1424:
+^I^I    enum fuse_buf_copy_flags flags);$

WARNING: Block comments use a leading /* on a separate line
#3850: FILE: tools/virtiofsd/fuse_lowlevel.h:1487:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#3851: FILE: tools/virtiofsd/fuse_lowlevel.h:1488:
+ * Filling a buffer in readdir^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#3852: FILE: tools/virtiofsd/fuse_lowlevel.h:1489:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#3882: FILE: tools/virtiofsd/fuse_lowlevel.h:1519:
+^I^I^I const char *name, const struct stat *stbuf,$

ERROR: code indent should never use tabs
#3883: FILE: tools/virtiofsd/fuse_lowlevel.h:1520:
+^I^I^I off_t off);$

ERROR: code indent should never use tabs
#3899: FILE: tools/virtiofsd/fuse_lowlevel.h:1536:
+^I^I^I      const char *name,$

ERROR: code indent should never use tabs
#3900: FILE: tools/virtiofsd/fuse_lowlevel.h:1537:
+^I^I^I      const struct fuse_entry_param *e, off_t off);$

ERROR: code indent should never use tabs
#3918: FILE: tools/virtiofsd/fuse_lowlevel.h:1555:
+^I^I^I   const struct iovec *in_iov, size_t in_count,$

ERROR: code indent should never use tabs
#3919: FILE: tools/virtiofsd/fuse_lowlevel.h:1556:
+^I^I^I   const struct iovec *out_iov, size_t out_count);$

ERROR: code indent should never use tabs
#3946: FILE: tools/virtiofsd/fuse_lowlevel.h:1583:
+^I^I^I int count);$

WARNING: Block comments use a leading /* on a separate line
#3968: FILE: tools/virtiofsd/fuse_lowlevel.h:1605:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#3969: FILE: tools/virtiofsd/fuse_lowlevel.h:1606:
+ * Notification^I^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#3970: FILE: tools/virtiofsd/fuse_lowlevel.h:1607:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#4005: FILE: tools/virtiofsd/fuse_lowlevel.h:1642:
+^I^I^I^I     off_t off, off_t len);$

ERROR: code indent should never use tabs
#4033: FILE: tools/virtiofsd/fuse_lowlevel.h:1670:
+^I^I^I^I     const char *name, size_t namelen);$

ERROR: code indent should never use tabs
#4064: FILE: tools/virtiofsd/fuse_lowlevel.h:1701:
+^I^I^I^Ifuse_ino_t parent, fuse_ino_t child,$

ERROR: code indent should never use tabs
#4065: FILE: tools/virtiofsd/fuse_lowlevel.h:1702:
+^I^I^I^Iconst char *name, size_t namelen);$

ERROR: code indent should never use tabs
#4093: FILE: tools/virtiofsd/fuse_lowlevel.h:1730:
+^I^I^I       off_t offset, struct fuse_bufvec *bufv,$

ERROR: code indent should never use tabs
#4094: FILE: tools/virtiofsd/fuse_lowlevel.h:1731:
+^I^I^I       enum fuse_buf_copy_flags flags);$

ERROR: code indent should never use tabs
#4125: FILE: tools/virtiofsd/fuse_lowlevel.h:1762:
+^I^I^I^I  size_t size, off_t offset, void *cookie);$

WARNING: Block comments use a leading /* on a separate line
#4128: FILE: tools/virtiofsd/fuse_lowlevel.h:1765:
+/* ----------------------------------------------------------- *

ERROR: code indent should never use tabs
#4129: FILE: tools/virtiofsd/fuse_lowlevel.h:1766:
+ * Utility functions^I^I^I^I^I       *$

WARNING: Block comments use a trailing */ on a separate line
#4130: FILE: tools/virtiofsd/fuse_lowlevel.h:1767:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#4192: FILE: tools/virtiofsd/fuse_lowlevel.h:1829:
+^I^I^I     void *data);$

WARNING: Block comments use a leading /* on a separate line
#4203: FILE: tools/virtiofsd/fuse_lowlevel.h:1840:
+/* ----------------------------------------------------------- *

WARNING: Block comments use a trailing */ on a separate line
#4205: FILE: tools/virtiofsd/fuse_lowlevel.h:1842:
+ * ----------------------------------------------------------- */

WARNING: Block comments use a leading /* on a separate line
#4224: FILE: tools/virtiofsd/fuse_lowlevel.h:1861:
+/* ----------------------------------------------------------- *

WARNING: Block comments use a trailing */ on a separate line
#4226: FILE: tools/virtiofsd/fuse_lowlevel.h:1863:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#4229: FILE: tools/virtiofsd/fuse_lowlevel.h:1866:
+^Iint singlethread;$

ERROR: code indent should never use tabs
#4230: FILE: tools/virtiofsd/fuse_lowlevel.h:1867:
+^Iint foreground;$

ERROR: code indent should never use tabs
#4231: FILE: tools/virtiofsd/fuse_lowlevel.h:1868:
+^Iint debug;$

ERROR: code indent should never use tabs
#4232: FILE: tools/virtiofsd/fuse_lowlevel.h:1869:
+^Iint nodefault_subtype;$

ERROR: code indent should never use tabs
#4233: FILE: tools/virtiofsd/fuse_lowlevel.h:1870:
+^Ichar *mountpoint;$

ERROR: code indent should never use tabs
#4234: FILE: tools/virtiofsd/fuse_lowlevel.h:1871:
+^Iint show_version;$

ERROR: code indent should never use tabs
#4235: FILE: tools/virtiofsd/fuse_lowlevel.h:1872:
+^Iint show_help;$

ERROR: code indent should never use tabs
#4236: FILE: tools/virtiofsd/fuse_lowlevel.h:1873:
+^Iint clone_fd;$

ERROR: code indent should never use tabs
#4237: FILE: tools/virtiofsd/fuse_lowlevel.h:1874:
+^Iunsigned int max_idle_threads;$

ERROR: code indent should never use tabs
#4259: FILE: tools/virtiofsd/fuse_lowlevel.h:1896:
+^I^I       struct fuse_cmdline_opts *opts);$

ERROR: code indent should never use tabs
#4290: FILE: tools/virtiofsd/fuse_lowlevel.h:1927:
+^I^I^I^I      const struct fuse_lowlevel_ops *op,$

ERROR: code indent should never use tabs
#4291: FILE: tools/virtiofsd/fuse_lowlevel.h:1928:
+^I^I^I^I      size_t op_size, void *userdata);$

ERROR: trailing whitespace
#4335: FILE: tools/virtiofsd/fuse_lowlevel.h:1972:
+ * @param config session loop configuration $

WARNING: line over 80 characters
#4342: FILE: tools/virtiofsd/fuse_lowlevel.h:1979:
+int fuse_session_loop_mt(struct fuse_session *se, struct fuse_loop_config 
*config);

WARNING: Block comments use a leading /* on a separate line
#4404: FILE: tools/virtiofsd/fuse_lowlevel.h:2041:
+/* ----------------------------------------------------------- *

WARNING: Block comments use a trailing */ on a separate line
#4406: FILE: tools/virtiofsd/fuse_lowlevel.h:2043:
+ * ----------------------------------------------------------- */

ERROR: code indent should never use tabs
#4433: FILE: tools/virtiofsd/fuse_lowlevel.h:2070:
+^I^I^I      const struct fuse_buf *buf);$

WARNING: architecture specific defines should be avoided
#4448: FILE: tools/virtiofsd/fuse_lowlevel.h:2085:
+#ifdef __cplusplus

WARNING: Block comments use * on subsequent lines
#4460: FILE: tools/virtiofsd/fuse_misc.h:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use * on subsequent lines
#4470: FILE: tools/virtiofsd/fuse_misc.h:12:
+/*
+  Versioned symbols cannot be used in some cases because it

WARNING: architecture specific defines should be avoided
#4474: FILE: tools/virtiofsd/fuse_misc.h:16:
+#if (!defined(__UCLIBC__) && !defined(__APPLE__))

ERROR: code indent should never use tabs
#4486: FILE: tools/virtiofsd/fuse_misc.h:28:
+^Ipthread_mutexattr_t attr;$

ERROR: code indent should never use tabs
#4487: FILE: tools/virtiofsd/fuse_misc.h:29:
+^Ipthread_mutexattr_init(&attr);$

ERROR: code indent should never use tabs
#4488: FILE: tools/virtiofsd/fuse_misc.h:30:
+^Ipthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);$

ERROR: code indent should never use tabs
#4489: FILE: tools/virtiofsd/fuse_misc.h:31:
+^Ipthread_mutex_init(mut, &attr);$

ERROR: code indent should never use tabs
#4490: FILE: tools/virtiofsd/fuse_misc.h:32:
+^Ipthread_mutexattr_destroy(&attr);$

WARNING: Block comments use * on subsequent lines
#4525: FILE: tools/virtiofsd/fuse_opt.h:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#4535: FILE: tools/virtiofsd/fuse_opt.h:12:
+/** @file

WARNING: architecture specific defines should be avoided
#4540: FILE: tools/virtiofsd/fuse_opt.h:17:
+#ifdef __cplusplus

ERROR: code indent should never use tabs
#4567: FILE: tools/virtiofsd/fuse_opt.h:44:
+ *  - -1^I^I^I      action ii)$

ERROR: code indent should never use tabs
#4578: FILE: tools/virtiofsd/fuse_opt.h:55:
+ * 1) "-x", "-foo", "--foo", "--foo-bar", etc.^IThese match only$

ERROR: code indent should never use tabs
#4601: FILE: tools/virtiofsd/fuse_opt.h:78:
+^I/** Matching template and optional parameter formatting */$

ERROR: code indent should never use tabs
#4602: FILE: tools/virtiofsd/fuse_opt.h:79:
+^Iconst char *templ;$

ERROR: code indent should never use tabs
#4604: FILE: tools/virtiofsd/fuse_opt.h:81:
+^I/**$

ERROR: code indent should never use tabs
#4605: FILE: tools/virtiofsd/fuse_opt.h:82:
+^I * Offset of variable within 'data' parameter of fuse_opt_parse()$

ERROR: code indent should never use tabs
#4606: FILE: tools/virtiofsd/fuse_opt.h:83:
+^I * or -1$

ERROR: code indent should never use tabs
#4607: FILE: tools/virtiofsd/fuse_opt.h:84:
+^I */$

ERROR: code indent should never use tabs
#4608: FILE: tools/virtiofsd/fuse_opt.h:85:
+^Iunsigned long offset;$

ERROR: code indent should never use tabs
#4610: FILE: tools/virtiofsd/fuse_opt.h:87:
+^I/**$

ERROR: code indent should never use tabs
#4611: FILE: tools/virtiofsd/fuse_opt.h:88:
+^I * Value to set the variable to, or to be passed as 'key' to the$

ERROR: code indent should never use tabs
#4612: FILE: tools/virtiofsd/fuse_opt.h:89:
+^I * processing function.^I Ignored if template has a format$

ERROR: code indent should never use tabs
#4613: FILE: tools/virtiofsd/fuse_opt.h:90:
+^I */$

ERROR: code indent should never use tabs
#4614: FILE: tools/virtiofsd/fuse_opt.h:91:
+^Iint value;$

ERROR: code indent should never use tabs
#4618: FILE: tools/virtiofsd/fuse_opt.h:95:
+ * Key option.^IIn case of a match, the processing function will be$

ERROR: code indent should never use tabs
#4624: FILE: tools/virtiofsd/fuse_opt.h:101:
+ * Last option.^I An array of 'struct fuse_opt' must end with a NULL$

ERROR: code indent should never use tabs
#4633: FILE: tools/virtiofsd/fuse_opt.h:110:
+^I/** Argument count */$

ERROR: code indent should never use tabs
#4634: FILE: tools/virtiofsd/fuse_opt.h:111:
+^Iint argc;$

ERROR: code indent should never use tabs
#4636: FILE: tools/virtiofsd/fuse_opt.h:113:
+^I/** Argument vector.  NULL terminated */$

ERROR: code indent should never use tabs
#4637: FILE: tools/virtiofsd/fuse_opt.h:114:
+^Ichar **argv;$

ERROR: code indent should never use tabs
#4639: FILE: tools/virtiofsd/fuse_opt.h:116:
+^I/** Is 'argv' allocated? */$

ERROR: code indent should never use tabs
#4640: FILE: tools/virtiofsd/fuse_opt.h:117:
+^Iint allocated;$

ERROR: code indent should never use tabs
#4704: FILE: tools/virtiofsd/fuse_opt.h:181:
+^I^I^I       struct fuse_args *outargs);$

ERROR: code indent should never use tabs
#4727: FILE: tools/virtiofsd/fuse_opt.h:204:
+^I^I   const struct fuse_opt opts[], fuse_opt_proc_t proc);$

WARNING: architecture specific defines should be avoided
#4790: FILE: tools/virtiofsd/fuse_opt.h:267:
+#ifdef __cplusplus

ERROR: code indent should never use tabs
#4831: FILE: tools/virtiofsd/passthrough_helpers.h:31:
+^Iint mode, dev_t rdev)$

ERROR: code indent should never use tabs
#4833: FILE: tools/virtiofsd/passthrough_helpers.h:33:
+^Iint res;$

ERROR: code indent should never use tabs
#4835: FILE: tools/virtiofsd/passthrough_helpers.h:35:
+^Iif (S_ISREG(mode)) {$

ERROR: code indent should never use tabs
#4836: FILE: tools/virtiofsd/passthrough_helpers.h:36:
+^I^Ires = openat(dirfd, path, O_CREAT | O_EXCL | O_WRONLY, mode);$

ERROR: code indent should never use tabs
#4837: FILE: tools/virtiofsd/passthrough_helpers.h:37:
+^I^Iif (res >= 0)$

ERROR: braces {} are necessary for all arms of this statement
#4837: FILE: tools/virtiofsd/passthrough_helpers.h:37:
+               if (res >= 0)
[...]

ERROR: code indent should never use tabs
#4838: FILE: tools/virtiofsd/passthrough_helpers.h:38:
+^I^I^Ires = close(res);$

ERROR: code indent should never use tabs
#4839: FILE: tools/virtiofsd/passthrough_helpers.h:39:
+^I} else if (S_ISDIR(mode)) {$

ERROR: code indent should never use tabs
#4840: FILE: tools/virtiofsd/passthrough_helpers.h:40:
+^I^Ires = mkdirat(dirfd, path, mode);$

ERROR: code indent should never use tabs
#4841: FILE: tools/virtiofsd/passthrough_helpers.h:41:
+^I} else if (S_ISLNK(mode) && link != NULL) {$

ERROR: code indent should never use tabs
#4842: FILE: tools/virtiofsd/passthrough_helpers.h:42:
+^I^Ires = symlinkat(link, dirfd, path);$

ERROR: code indent should never use tabs
#4843: FILE: tools/virtiofsd/passthrough_helpers.h:43:
+^I} else if (S_ISFIFO(mode)) {$

ERROR: code indent should never use tabs
#4844: FILE: tools/virtiofsd/passthrough_helpers.h:44:
+^I^Ires = mkfifoat(dirfd, path, mode);$

WARNING: architecture specific defines should be avoided
#4845: FILE: tools/virtiofsd/passthrough_helpers.h:45:
+#ifdef __FreeBSD__

ERROR: code indent should never use tabs
#4846: FILE: tools/virtiofsd/passthrough_helpers.h:46:
+^I} else if (S_ISSOCK(mode)) {$

ERROR: code indent should never use tabs
#4847: FILE: tools/virtiofsd/passthrough_helpers.h:47:
+^I^Istruct sockaddr_un su;$

ERROR: code indent should never use tabs
#4848: FILE: tools/virtiofsd/passthrough_helpers.h:48:
+^I^Iint fd;$

ERROR: code indent should never use tabs
#4850: FILE: tools/virtiofsd/passthrough_helpers.h:50:
+^I^Iif (strlen(path) >= sizeof(su.sun_path)) {$

ERROR: code indent should never use tabs
#4851: FILE: tools/virtiofsd/passthrough_helpers.h:51:
+^I^I^Ierrno = ENAMETOOLONG;$

ERROR: code indent should never use tabs
#4852: FILE: tools/virtiofsd/passthrough_helpers.h:52:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#4853: FILE: tools/virtiofsd/passthrough_helpers.h:53:
+^I^I}$

ERROR: code indent should never use tabs
#4854: FILE: tools/virtiofsd/passthrough_helpers.h:54:
+^I^Ifd = socket(AF_UNIX, SOCK_STREAM, 0);$

ERROR: code indent should never use tabs
#4855: FILE: tools/virtiofsd/passthrough_helpers.h:55:
+^I^Iif (fd >= 0) {$

ERROR: code indent should never use tabs
#4856: FILE: tools/virtiofsd/passthrough_helpers.h:56:
+^I^I^I/*$

ERROR: code indent should never use tabs
#4857: FILE: tools/virtiofsd/passthrough_helpers.h:57:
+^I^I^I * We must bind the socket to the underlying file$

ERROR: code indent should never use tabs
#4858: FILE: tools/virtiofsd/passthrough_helpers.h:58:
+^I^I^I * system to create the socket file, even though$

ERROR: code indent should never use tabs
#4859: FILE: tools/virtiofsd/passthrough_helpers.h:59:
+^I^I^I * we'll never listen on this socket.$

ERROR: code indent should never use tabs
#4860: FILE: tools/virtiofsd/passthrough_helpers.h:60:
+^I^I^I */$

ERROR: code indent should never use tabs
#4861: FILE: tools/virtiofsd/passthrough_helpers.h:61:
+^I^I^Isu.sun_family = AF_UNIX;$

ERROR: code indent should never use tabs
#4862: FILE: tools/virtiofsd/passthrough_helpers.h:62:
+^I^I^Istrncpy(su.sun_path, path, sizeof(su.sun_path));$

ERROR: code indent should never use tabs
#4863: FILE: tools/virtiofsd/passthrough_helpers.h:63:
+^I^I^Ires = bindat(dirfd, fd, (struct sockaddr*)&su,$

ERROR: "(foo*)" should be "(foo *)"
#4863: FILE: tools/virtiofsd/passthrough_helpers.h:63:
+                       res = bindat(dirfd, fd, (struct sockaddr*)&su,

ERROR: code indent should never use tabs
#4864: FILE: tools/virtiofsd/passthrough_helpers.h:64:
+^I^I^I^Isizeof(su));$

ERROR: code indent should never use tabs
#4865: FILE: tools/virtiofsd/passthrough_helpers.h:65:
+^I^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#4865: FILE: tools/virtiofsd/passthrough_helpers.h:65:
+                       if (res == 0)
[...]

ERROR: code indent should never use tabs
#4866: FILE: tools/virtiofsd/passthrough_helpers.h:66:
+^I^I^I^Iclose(fd);$

ERROR: code indent should never use tabs
#4867: FILE: tools/virtiofsd/passthrough_helpers.h:67:
+^I^I} else {$

ERROR: code indent should never use tabs
#4868: FILE: tools/virtiofsd/passthrough_helpers.h:68:
+^I^I^Ires = -1;$

ERROR: code indent should never use tabs
#4869: FILE: tools/virtiofsd/passthrough_helpers.h:69:
+^I^I}$

ERROR: code indent should never use tabs
#4871: FILE: tools/virtiofsd/passthrough_helpers.h:71:
+^I} else {$

ERROR: code indent should never use tabs
#4872: FILE: tools/virtiofsd/passthrough_helpers.h:72:
+^I^Ires = mknodat(dirfd, path, mode, rdev);$

ERROR: code indent should never use tabs
#4873: FILE: tools/virtiofsd/passthrough_helpers.h:73:
+^I}$

ERROR: code indent should never use tabs
#4875: FILE: tools/virtiofsd/passthrough_helpers.h:75:
+^Ireturn res;$

total: 2271 errors, 139 warnings, 4814 lines checked

Patch 1/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/111 Checking commit 927a1285d820 (virtiofsd: Pull in kernel's fuse.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#16: 
new file mode 100644

total: 0 errors, 1 warnings, 898 lines checked

Patch 2/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/111 Checking commit 218ce1365802 (virtiofsd: Add auxiliary .c's)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#21: FILE: tools/virtiofsd/buffer.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#43: FILE: tools/virtiofsd/buffer.c:24:
+^Isize_t i;$

ERROR: code indent should never use tabs
#44: FILE: tools/virtiofsd/buffer.c:25:
+^Isize_t size = 0;$

ERROR: code indent should never use tabs
#46: FILE: tools/virtiofsd/buffer.c:27:
+^Ifor (i = 0; i < bufv->count; i++) {$

ERROR: code indent should never use tabs
#47: FILE: tools/virtiofsd/buffer.c:28:
+^I^Iif (bufv->buf[i].size == SIZE_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#47: FILE: tools/virtiofsd/buffer.c:28:
+               if (bufv->buf[i].size == SIZE_MAX)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#48: FILE: tools/virtiofsd/buffer.c:29:
+^I^I^Isize = SIZE_MAX;$

ERROR: code indent should never use tabs
#49: FILE: tools/virtiofsd/buffer.c:30:
+^I^Ielse$

ERROR: code indent should never use tabs
#50: FILE: tools/virtiofsd/buffer.c:31:
+^I^I^Isize += bufv->buf[i].size;$

ERROR: code indent should never use tabs
#51: FILE: tools/virtiofsd/buffer.c:32:
+^I}$

ERROR: code indent should never use tabs
#53: FILE: tools/virtiofsd/buffer.c:34:
+^Ireturn size;$

ERROR: code indent should never use tabs
#58: FILE: tools/virtiofsd/buffer.c:39:
+^Ireturn s1 < s2 ? s1 : s2;$

ERROR: code indent should never use tabs
#62: FILE: tools/virtiofsd/buffer.c:43:
+^I^I^I      const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#63: FILE: tools/virtiofsd/buffer.c:44:
+^I^I^I      size_t len)$

ERROR: code indent should never use tabs
#65: FILE: tools/virtiofsd/buffer.c:46:
+^Issize_t res = 0;$

ERROR: code indent should never use tabs
#66: FILE: tools/virtiofsd/buffer.c:47:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#68: FILE: tools/virtiofsd/buffer.c:49:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#69: FILE: tools/virtiofsd/buffer.c:50:
+^I^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#70: FILE: tools/virtiofsd/buffer.c:51:
+^I^I^Ires = pwrite(dst->fd, (char *)src->mem + src_off, len,$

ERROR: code indent should never use tabs
#71: FILE: tools/virtiofsd/buffer.c:52:
+^I^I^I^I     dst->pos + dst_off);$

ERROR: code indent should never use tabs
#72: FILE: tools/virtiofsd/buffer.c:53:
+^I^I} else {$

ERROR: code indent should never use tabs
#73: FILE: tools/virtiofsd/buffer.c:54:
+^I^I^Ires = write(dst->fd, (char *)src->mem + src_off, len);$

ERROR: code indent should never use tabs
#74: FILE: tools/virtiofsd/buffer.c:55:
+^I^I}$

ERROR: code indent should never use tabs
#75: FILE: tools/virtiofsd/buffer.c:56:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#76: FILE: tools/virtiofsd/buffer.c:57:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#76: FILE: tools/virtiofsd/buffer.c:57:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#77: FILE: tools/virtiofsd/buffer.c:58:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#78: FILE: tools/virtiofsd/buffer.c:59:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#79: FILE: tools/virtiofsd/buffer.c:60:
+^I^I}$

ERROR: code indent should never use tabs
#80: FILE: tools/virtiofsd/buffer.c:61:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#80: FILE: tools/virtiofsd/buffer.c:61:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#81: FILE: tools/virtiofsd/buffer.c:62:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#83: FILE: tools/virtiofsd/buffer.c:64:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#84: FILE: tools/virtiofsd/buffer.c:65:
+^I^Iif (!(dst->flags & FUSE_BUF_FD_RETRY))$

ERROR: braces {} are necessary for all arms of this statement
#84: FILE: tools/virtiofsd/buffer.c:65:
+               if (!(dst->flags & FUSE_BUF_FD_RETRY))
[...]

ERROR: code indent should never use tabs
#85: FILE: tools/virtiofsd/buffer.c:66:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#87: FILE: tools/virtiofsd/buffer.c:68:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#88: FILE: tools/virtiofsd/buffer.c:69:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#89: FILE: tools/virtiofsd/buffer.c:70:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#90: FILE: tools/virtiofsd/buffer.c:71:
+^I}$

ERROR: code indent should never use tabs
#92: FILE: tools/virtiofsd/buffer.c:73:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/buffer.c:77:
+^I^I^I     const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#97: FILE: tools/virtiofsd/buffer.c:78:
+^I^I^I     size_t len)$

ERROR: code indent should never use tabs
#99: FILE: tools/virtiofsd/buffer.c:80:
+^Issize_t res = 0;$

ERROR: code indent should never use tabs
#100: FILE: tools/virtiofsd/buffer.c:81:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/buffer.c:83:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/buffer.c:84:
+^I^Iif (src->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/buffer.c:85:
+^I^I^Ires = pread(src->fd, (char *)dst->mem + dst_off, len,$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/buffer.c:86:
+^I^I^I^I     src->pos + src_off);$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/buffer.c:87:
+^I^I} else {$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/buffer.c:88:
+^I^I^Ires = read(src->fd, (char *)dst->mem + dst_off, len);$

ERROR: code indent should never use tabs
#108: FILE: tools/virtiofsd/buffer.c:89:
+^I^I}$

ERROR: code indent should never use tabs
#109: FILE: tools/virtiofsd/buffer.c:90:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#110: FILE: tools/virtiofsd/buffer.c:91:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#110: FILE: tools/virtiofsd/buffer.c:91:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#111: FILE: tools/virtiofsd/buffer.c:92:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#112: FILE: tools/virtiofsd/buffer.c:93:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/buffer.c:94:
+^I^I}$

ERROR: code indent should never use tabs
#114: FILE: tools/virtiofsd/buffer.c:95:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#114: FILE: tools/virtiofsd/buffer.c:95:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#115: FILE: tools/virtiofsd/buffer.c:96:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#117: FILE: tools/virtiofsd/buffer.c:98:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/buffer.c:99:
+^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY))$

ERROR: braces {} are necessary for all arms of this statement
#118: FILE: tools/virtiofsd/buffer.c:99:
+               if (!(src->flags & FUSE_BUF_FD_RETRY))
[...]

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/buffer.c:100:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#121: FILE: tools/virtiofsd/buffer.c:102:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#122: FILE: tools/virtiofsd/buffer.c:103:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#123: FILE: tools/virtiofsd/buffer.c:104:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#124: FILE: tools/virtiofsd/buffer.c:105:
+^I}$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/buffer.c:107:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#130: FILE: tools/virtiofsd/buffer.c:111:
+^I^I^I^I const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/buffer.c:112:
+^I^I^I^I size_t len)$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/buffer.c:114:
+^Ichar buf[4096];$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/buffer.c:115:
+^Istruct fuse_buf tmp = {$

ERROR: code indent should never use tabs
#135: FILE: tools/virtiofsd/buffer.c:116:
+^I^I.size = sizeof(buf),$

ERROR: code indent should never use tabs
#136: FILE: tools/virtiofsd/buffer.c:117:
+^I^I.flags = 0,$

ERROR: code indent should never use tabs
#137: FILE: tools/virtiofsd/buffer.c:118:
+^I};$

ERROR: code indent should never use tabs
#138: FILE: tools/virtiofsd/buffer.c:119:
+^Issize_t res;$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/buffer.c:120:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/buffer.c:122:
+^Itmp.mem = buf;$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/buffer.c:124:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#144: FILE: tools/virtiofsd/buffer.c:125:
+^I^Isize_t this_len = min_size(tmp.size, len);$

ERROR: code indent should never use tabs
#145: FILE: tools/virtiofsd/buffer.c:126:
+^I^Isize_t read_len;$

ERROR: code indent should never use tabs
#147: FILE: tools/virtiofsd/buffer.c:128:
+^I^Ires = fuse_buf_read(&tmp, 0, src, src_off, this_len);$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/buffer.c:129:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/buffer.c:130:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#149: FILE: tools/virtiofsd/buffer.c:130:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#150: FILE: tools/virtiofsd/buffer.c:131:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#151: FILE: tools/virtiofsd/buffer.c:132:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#152: FILE: tools/virtiofsd/buffer.c:133:
+^I^I}$

ERROR: code indent should never use tabs
#153: FILE: tools/virtiofsd/buffer.c:134:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#153: FILE: tools/virtiofsd/buffer.c:134:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#154: FILE: tools/virtiofsd/buffer.c:135:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#156: FILE: tools/virtiofsd/buffer.c:137:
+^I^Iread_len = res;$

ERROR: code indent should never use tabs
#157: FILE: tools/virtiofsd/buffer.c:138:
+^I^Ires = fuse_buf_write(dst, dst_off, &tmp, 0, read_len);$

ERROR: code indent should never use tabs
#158: FILE: tools/virtiofsd/buffer.c:139:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#159: FILE: tools/virtiofsd/buffer.c:140:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#159: FILE: tools/virtiofsd/buffer.c:140:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/buffer.c:141:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#161: FILE: tools/virtiofsd/buffer.c:142:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#162: FILE: tools/virtiofsd/buffer.c:143:
+^I^I}$

ERROR: code indent should never use tabs
#163: FILE: tools/virtiofsd/buffer.c:144:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#163: FILE: tools/virtiofsd/buffer.c:144:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#164: FILE: tools/virtiofsd/buffer.c:145:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/buffer.c:147:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#168: FILE: tools/virtiofsd/buffer.c:149:
+^I^Iif (res < this_len)$

ERROR: braces {} are necessary for all arms of this statement
#168: FILE: tools/virtiofsd/buffer.c:149:
+               if (res < this_len)
[...]

ERROR: code indent should never use tabs
#169: FILE: tools/virtiofsd/buffer.c:150:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#171: FILE: tools/virtiofsd/buffer.c:152:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#172: FILE: tools/virtiofsd/buffer.c:153:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/buffer.c:154:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#174: FILE: tools/virtiofsd/buffer.c:155:
+^I}$

ERROR: code indent should never use tabs
#176: FILE: tools/virtiofsd/buffer.c:157:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#181: FILE: tools/virtiofsd/buffer.c:162:
+^I^I^I       const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#182: FILE: tools/virtiofsd/buffer.c:163:
+^I^I^I       size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#184: FILE: tools/virtiofsd/buffer.c:165:
+^Iint splice_flags = 0;$

ERROR: code indent should never use tabs
#185: FILE: tools/virtiofsd/buffer.c:166:
+^Ioff_t *srcpos = NULL;$

ERROR: code indent should never use tabs
#186: FILE: tools/virtiofsd/buffer.c:167:
+^Ioff_t *dstpos = NULL;$

ERROR: code indent should never use tabs
#187: FILE: tools/virtiofsd/buffer.c:168:
+^Ioff_t srcpos_val;$

ERROR: code indent should never use tabs
#188: FILE: tools/virtiofsd/buffer.c:169:
+^Ioff_t dstpos_val;$

ERROR: code indent should never use tabs
#189: FILE: tools/virtiofsd/buffer.c:170:
+^Issize_t res;$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/buffer.c:171:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/buffer.c:173:
+^Iif (flags & FUSE_BUF_SPLICE_MOVE)$

ERROR: braces {} are necessary for all arms of this statement
#192: FILE: tools/virtiofsd/buffer.c:173:
+       if (flags & FUSE_BUF_SPLICE_MOVE)
[...]

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/buffer.c:174:
+^I^Isplice_flags |= SPLICE_F_MOVE;$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/buffer.c:175:
+^Iif (flags & FUSE_BUF_SPLICE_NONBLOCK)$

ERROR: braces {} are necessary for all arms of this statement
#194: FILE: tools/virtiofsd/buffer.c:175:
+       if (flags & FUSE_BUF_SPLICE_NONBLOCK)
[...]

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/buffer.c:176:
+^I^Isplice_flags |= SPLICE_F_NONBLOCK;$

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/buffer.c:178:
+^Iif (src->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/buffer.c:179:
+^I^Isrcpos_val = src->pos + src_off;$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/buffer.c:180:
+^I^Isrcpos = &srcpos_val;$

ERROR: code indent should never use tabs
#200: FILE: tools/virtiofsd/buffer.c:181:
+^I}$

ERROR: code indent should never use tabs
#201: FILE: tools/virtiofsd/buffer.c:182:
+^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#202: FILE: tools/virtiofsd/buffer.c:183:
+^I^Idstpos_val = dst->pos + dst_off;$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/buffer.c:184:
+^I^Idstpos = &dstpos_val;$

ERROR: code indent should never use tabs
#204: FILE: tools/virtiofsd/buffer.c:185:
+^I}$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/buffer.c:187:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/buffer.c:188:
+^I^Ires = splice(src->fd, srcpos, dst->fd, dstpos, len,$

ERROR: code indent should never use tabs
#208: FILE: tools/virtiofsd/buffer.c:189:
+^I^I^I     splice_flags);$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/buffer.c:190:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#210: FILE: tools/virtiofsd/buffer.c:191:
+^I^I^Iif (copied)$

ERROR: braces {} are necessary for all arms of this statement
#210: FILE: tools/virtiofsd/buffer.c:191:
+                       if (copied)
[...]

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/buffer.c:192:
+^I^I^I^Ibreak;$

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/buffer.c:194:
+^I^I^Iif (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE))$

ERROR: braces {} are necessary for all arms of this statement
#213: FILE: tools/virtiofsd/buffer.c:194:
+                       if (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE))
[...]

ERROR: code indent should never use tabs
#214: FILE: tools/virtiofsd/buffer.c:195:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#216: FILE: tools/virtiofsd/buffer.c:197:
+^I^I^I/* Maybe splice is not supported for this combination */$

ERROR: code indent should never use tabs
#217: FILE: tools/virtiofsd/buffer.c:198:
+^I^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off,$

ERROR: code indent should never use tabs
#218: FILE: tools/virtiofsd/buffer.c:199:
+^I^I^I^I^I^I len);$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/buffer.c:200:
+^I^I}$

ERROR: code indent should never use tabs
#220: FILE: tools/virtiofsd/buffer.c:201:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#220: FILE: tools/virtiofsd/buffer.c:201:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#221: FILE: tools/virtiofsd/buffer.c:202:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#223: FILE: tools/virtiofsd/buffer.c:204:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#224: FILE: tools/virtiofsd/buffer.c:205:
+^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY) &&$

ERROR: code indent should never use tabs
#225: FILE: tools/virtiofsd/buffer.c:206:
+^I^I    !(dst->flags & FUSE_BUF_FD_RETRY)) {$

ERROR: code indent should never use tabs
#226: FILE: tools/virtiofsd/buffer.c:207:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/buffer.c:208:
+^I^I}$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/buffer.c:210:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#230: FILE: tools/virtiofsd/buffer.c:211:
+^I}$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/buffer.c:213:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#236: FILE: tools/virtiofsd/buffer.c:217:
+^I^I^I       const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#237: FILE: tools/virtiofsd/buffer.c:218:
+^I^I^I       size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/buffer.c:220:
+^I(void) flags;$

ERROR: code indent should never use tabs
#241: FILE: tools/virtiofsd/buffer.c:222:
+^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#247: FILE: tools/virtiofsd/buffer.c:228:
+^I^I^I^I const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/buffer.c:229:
+^I^I^I^I size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/buffer.c:231:
+^Iint src_is_fd = src->flags & FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/buffer.c:232:
+^Iint dst_is_fd = dst->flags & FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#253: FILE: tools/virtiofsd/buffer.c:234:
+^Iif (!src_is_fd && !dst_is_fd) {$

ERROR: code indent should never use tabs
#254: FILE: tools/virtiofsd/buffer.c:235:
+^I^Ichar *dstmem = (char *)dst->mem + dst_off;$

ERROR: code indent should never use tabs
#255: FILE: tools/virtiofsd/buffer.c:236:
+^I^Ichar *srcmem = (char *)src->mem + src_off;$

ERROR: code indent should never use tabs
#257: FILE: tools/virtiofsd/buffer.c:238:
+^I^Iif (dstmem != srcmem) {$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/buffer.c:239:
+^I^I^Iif (dstmem + len <= srcmem || srcmem + len <= dstmem)$

ERROR: braces {} are necessary for all arms of this statement
#258: FILE: tools/virtiofsd/buffer.c:239:
+                       if (dstmem + len <= srcmem || srcmem + len <= dstmem)
[...]
+                       else
[...]

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/buffer.c:240:
+^I^I^I^Imemcpy(dstmem, srcmem, len);$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/buffer.c:241:
+^I^I^Ielse$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/buffer.c:242:
+^I^I^I^Imemmove(dstmem, srcmem, len);$

ERROR: code indent should never use tabs
#262: FILE: tools/virtiofsd/buffer.c:243:
+^I^I}$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/buffer.c:245:
+^I^Ireturn len;$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/buffer.c:246:
+^I} else if (!src_is_fd) {$

ERROR: code indent should never use tabs
#266: FILE: tools/virtiofsd/buffer.c:247:
+^I^Ireturn fuse_buf_write(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#267: FILE: tools/virtiofsd/buffer.c:248:
+^I} else if (!dst_is_fd) {$

ERROR: code indent should never use tabs
#268: FILE: tools/virtiofsd/buffer.c:249:
+^I^Ireturn fuse_buf_read(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#269: FILE: tools/virtiofsd/buffer.c:250:
+^I} else if (flags & FUSE_BUF_NO_SPLICE) {$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/buffer.c:251:
+^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/buffer.c:252:
+^I} else {$

ERROR: code indent should never use tabs
#272: FILE: tools/virtiofsd/buffer.c:253:
+^I^Ireturn fuse_buf_splice(dst, dst_off, src, src_off, len, flags);$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/buffer.c:254:
+^I}$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/buffer.c:259:
+^Iif (bufv->idx < bufv->count)$

ERROR: braces {} are necessary for all arms of this statement
#278: FILE: tools/virtiofsd/buffer.c:259:
+       if (bufv->idx < bufv->count)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#279: FILE: tools/virtiofsd/buffer.c:260:
+^I^Ireturn &bufv->buf[bufv->idx];$

ERROR: code indent should never use tabs
#280: FILE: tools/virtiofsd/buffer.c:261:
+^Ielse$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/buffer.c:262:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#286: FILE: tools/virtiofsd/buffer.c:267:
+^Iconst struct fuse_buf *buf = fuse_bufvec_current(bufv);$

ERROR: code indent should never use tabs
#288: FILE: tools/virtiofsd/buffer.c:269:
+^Ibufv->off += len;$

ERROR: code indent should never use tabs
#289: FILE: tools/virtiofsd/buffer.c:270:
+^Iassert(bufv->off <= buf->size);$

ERROR: code indent should never use tabs
#290: FILE: tools/virtiofsd/buffer.c:271:
+^Iif (bufv->off == buf->size) {$

ERROR: code indent should never use tabs
#291: FILE: tools/virtiofsd/buffer.c:272:
+^I^Iassert(bufv->idx < bufv->count);$

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/buffer.c:273:
+^I^Ibufv->idx++;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/buffer.c:274:
+^I^Iif (bufv->idx == bufv->count)$

ERROR: braces {} are necessary for all arms of this statement
#293: FILE: tools/virtiofsd/buffer.c:274:
+               if (bufv->idx == bufv->count)
[...]

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/buffer.c:275:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#295: FILE: tools/virtiofsd/buffer.c:276:
+^I^Ibufv->off = 0;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/buffer.c:277:
+^I}$

ERROR: code indent should never use tabs
#297: FILE: tools/virtiofsd/buffer.c:278:
+^Ireturn 1;$

ERROR: code indent should never use tabs
#301: FILE: tools/virtiofsd/buffer.c:282:
+^I^I      enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#303: FILE: tools/virtiofsd/buffer.c:284:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#305: FILE: tools/virtiofsd/buffer.c:286:
+^Iif (dstv == srcv)$

ERROR: braces {} are necessary for all arms of this statement
#305: FILE: tools/virtiofsd/buffer.c:286:
+       if (dstv == srcv)
[...]

ERROR: code indent should never use tabs
#306: FILE: tools/virtiofsd/buffer.c:287:
+^I^Ireturn fuse_buf_size(dstv);$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/buffer.c:289:
+^Ifor (;;) {$

ERROR: code indent should never use tabs
#309: FILE: tools/virtiofsd/buffer.c:290:
+^I^Iconst struct fuse_buf *src = fuse_bufvec_current(srcv);$

ERROR: code indent should never use tabs
#310: FILE: tools/virtiofsd/buffer.c:291:
+^I^Iconst struct fuse_buf *dst = fuse_bufvec_current(dstv);$

ERROR: code indent should never use tabs
#311: FILE: tools/virtiofsd/buffer.c:292:
+^I^Isize_t src_len;$

ERROR: code indent should never use tabs
#312: FILE: tools/virtiofsd/buffer.c:293:
+^I^Isize_t dst_len;$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/buffer.c:294:
+^I^Isize_t len;$

ERROR: code indent should never use tabs
#314: FILE: tools/virtiofsd/buffer.c:295:
+^I^Issize_t res;$

ERROR: code indent should never use tabs
#316: FILE: tools/virtiofsd/buffer.c:297:
+^I^Iif (src == NULL || dst == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#316: FILE: tools/virtiofsd/buffer.c:297:
+               if (src == NULL || dst == NULL)
[...]

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/buffer.c:298:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/buffer.c:300:
+^I^Isrc_len = src->size - srcv->off;$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/buffer.c:301:
+^I^Idst_len = dst->size - dstv->off;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/buffer.c:302:
+^I^Ilen = min_size(src_len, dst_len);$

WARNING: line over 80 characters
#323: FILE: tools/virtiofsd/buffer.c:304:
+               res = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, 
flags);

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/buffer.c:304:
+^I^Ires = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, flags);$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/buffer.c:305:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/buffer.c:306:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#325: FILE: tools/virtiofsd/buffer.c:306:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/buffer.c:307:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#327: FILE: tools/virtiofsd/buffer.c:308:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#328: FILE: tools/virtiofsd/buffer.c:309:
+^I^I}$

ERROR: code indent should never use tabs
#329: FILE: tools/virtiofsd/buffer.c:310:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#331: FILE: tools/virtiofsd/buffer.c:312:
+^I^Iif (!fuse_bufvec_advance(srcv, res) ||$

ERROR: code indent should never use tabs
#332: FILE: tools/virtiofsd/buffer.c:313:
+^I^I    !fuse_bufvec_advance(dstv, res))$

ERROR: code indent should never use tabs
#333: FILE: tools/virtiofsd/buffer.c:314:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#335: FILE: tools/virtiofsd/buffer.c:316:
+^I^Iif (res < len)$

ERROR: braces {} are necessary for all arms of this statement
#335: FILE: tools/virtiofsd/buffer.c:316:
+               if (res < len)
[...]

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/buffer.c:317:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#337: FILE: tools/virtiofsd/buffer.c:318:
+^I}$

ERROR: code indent should never use tabs
#339: FILE: tools/virtiofsd/buffer.c:320:
+^Ireturn copied;$

WARNING: Block comments use * on subsequent lines
#348: FILE: tools/virtiofsd/fuse_log.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+^I^I__attribute__(( unused )) enum fuse_log_level level,$

ERROR: space prohibited after that open parenthesis '('
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+               __attribute__(( unused )) enum fuse_log_level level,

ERROR: space prohibited before that close parenthesis ')'
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+               __attribute__(( unused )) enum fuse_log_level level,

ERROR: code indent should never use tabs
#364: FILE: tools/virtiofsd/fuse_log.c:18:
+^I^Iconst char *fmt, va_list ap)$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/fuse_log.c:20:
+^Ivfprintf(stderr, fmt, ap);$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/fuse_log.c:27:
+^Iif (!func)$

ERROR: braces {} are necessary for all arms of this statement
#373: FILE: tools/virtiofsd/fuse_log.c:27:
+       if (!func)
[...]

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/fuse_log.c:28:
+^I^Ifunc = default_log_func;$

ERROR: code indent should never use tabs
#376: FILE: tools/virtiofsd/fuse_log.c:30:
+^Ilog_func = func;$

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/fuse_log.c:35:
+^Iva_list ap;$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/fuse_log.c:37:
+^Iva_start(ap, fmt);$

ERROR: code indent should never use tabs
#384: FILE: tools/virtiofsd/fuse_log.c:38:
+^Ilog_func(level, fmt, ap);$

ERROR: code indent should never use tabs
#385: FILE: tools/virtiofsd/fuse_log.c:39:
+^Iva_end(ap);$

WARNING: Block comments use * on subsequent lines
#394: FILE: tools/virtiofsd/fuse_opt.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/fuse_opt.c:23:
+^Ivoid *data;$

ERROR: code indent should never use tabs
#416: FILE: tools/virtiofsd/fuse_opt.c:24:
+^Iconst struct fuse_opt *opt;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/fuse_opt.c:25:
+^Ifuse_opt_proc_t proc;$

ERROR: code indent should never use tabs
#418: FILE: tools/virtiofsd/fuse_opt.c:26:
+^Iint argctr;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/fuse_opt.c:27:
+^Iint argc;$

ERROR: code indent should never use tabs
#420: FILE: tools/virtiofsd/fuse_opt.c:28:
+^Ichar **argv;$

ERROR: code indent should never use tabs
#421: FILE: tools/virtiofsd/fuse_opt.c:29:
+^Istruct fuse_args outargs;$

ERROR: code indent should never use tabs
#422: FILE: tools/virtiofsd/fuse_opt.c:30:
+^Ichar *opts;$

ERROR: code indent should never use tabs
#423: FILE: tools/virtiofsd/fuse_opt.c:31:
+^Iint nonopt;$

ERROR: code indent should never use tabs
#428: FILE: tools/virtiofsd/fuse_opt.c:36:
+^Iif (args) {$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/fuse_opt.c:37:
+^I^Iif (args->argv && args->allocated) {$

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/fuse_opt.c:38:
+^I^I^Iint i;$

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/fuse_opt.c:39:
+^I^I^Ifor (i = 0; i < args->argc; i++)$

ERROR: braces {} are necessary for all arms of this statement
#431: FILE: tools/virtiofsd/fuse_opt.c:39:
+                       for (i = 0; i < args->argc; i++)
[...]

ERROR: code indent should never use tabs
#432: FILE: tools/virtiofsd/fuse_opt.c:40:
+^I^I^I^Ifree(args->argv[i]);$

ERROR: code indent should never use tabs
#433: FILE: tools/virtiofsd/fuse_opt.c:41:
+^I^I^Ifree(args->argv);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/fuse_opt.c:42:
+^I^I}$

ERROR: code indent should never use tabs
#435: FILE: tools/virtiofsd/fuse_opt.c:43:
+^I^Iargs->argc = 0;$

ERROR: code indent should never use tabs
#436: FILE: tools/virtiofsd/fuse_opt.c:44:
+^I^Iargs->argv = NULL;$

ERROR: code indent should never use tabs
#437: FILE: tools/virtiofsd/fuse_opt.c:45:
+^I^Iargs->allocated = 0;$

ERROR: code indent should never use tabs
#438: FILE: tools/virtiofsd/fuse_opt.c:46:
+^I}$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/fuse_opt.c:51:
+^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#444: FILE: tools/virtiofsd/fuse_opt.c:52:
+^Ireturn -1;$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/fuse_opt.c:57:
+^Ichar **newargv;$

ERROR: code indent should never use tabs
#450: FILE: tools/virtiofsd/fuse_opt.c:58:
+^Ichar *newarg;$

ERROR: code indent should never use tabs
#452: FILE: tools/virtiofsd/fuse_opt.c:60:
+^Iassert(!args->argv || args->allocated);$

ERROR: code indent should never use tabs
#454: FILE: tools/virtiofsd/fuse_opt.c:62:
+^Inewarg = strdup(arg);$

ERROR: code indent should never use tabs
#455: FILE: tools/virtiofsd/fuse_opt.c:63:
+^Iif (!newarg)$

ERROR: braces {} are necessary for all arms of this statement
#455: FILE: tools/virtiofsd/fuse_opt.c:63:
+       if (!newarg)
[...]

ERROR: code indent should never use tabs
#456: FILE: tools/virtiofsd/fuse_opt.c:64:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#458: FILE: tools/virtiofsd/fuse_opt.c:66:
+^Inewargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/fuse_opt.c:67:
+^Iif (!newargv) {$

ERROR: code indent should never use tabs
#460: FILE: tools/virtiofsd/fuse_opt.c:68:
+^I^Ifree(newarg);$

ERROR: code indent should never use tabs
#461: FILE: tools/virtiofsd/fuse_opt.c:69:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/fuse_opt.c:70:
+^I}$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/fuse_opt.c:72:
+^Iargs->argv = newargv;$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/fuse_opt.c:73:
+^Iargs->allocated = 1;$

ERROR: code indent should never use tabs
#466: FILE: tools/virtiofsd/fuse_opt.c:74:
+^Iargs->argv[args->argc++] = newarg;$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/fuse_opt.c:75:
+^Iargs->argv[args->argc] = NULL;$

ERROR: code indent should never use tabs
#468: FILE: tools/virtiofsd/fuse_opt.c:76:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#472: FILE: tools/virtiofsd/fuse_opt.c:80:
+^I^I^I^I      const char *arg)$

ERROR: code indent should never use tabs
#474: FILE: tools/virtiofsd/fuse_opt.c:82:
+^Iassert(pos <= args->argc);$

ERROR: code indent should never use tabs
#475: FILE: tools/virtiofsd/fuse_opt.c:83:
+^Iif (fuse_opt_add_arg(args, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#475: FILE: tools/virtiofsd/fuse_opt.c:83:
+       if (fuse_opt_add_arg(args, arg) == -1)
[...]

ERROR: code indent should never use tabs
#476: FILE: tools/virtiofsd/fuse_opt.c:84:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#478: FILE: tools/virtiofsd/fuse_opt.c:86:
+^Iif (pos != args->argc - 1) {$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/fuse_opt.c:87:
+^I^Ichar *newarg = args->argv[args->argc - 1];$

ERROR: code indent should never use tabs
#480: FILE: tools/virtiofsd/fuse_opt.c:88:
+^I^Imemmove(&args->argv[pos + 1], &args->argv[pos],$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/fuse_opt.c:89:
+^I^I^Isizeof(char *) * (args->argc - pos - 1));$

ERROR: code indent should never use tabs
#482: FILE: tools/virtiofsd/fuse_opt.c:90:
+^I^Iargs->argv[pos] = newarg;$

ERROR: code indent should never use tabs
#483: FILE: tools/virtiofsd/fuse_opt.c:91:
+^I}$

ERROR: code indent should never use tabs
#484: FILE: tools/virtiofsd/fuse_opt.c:92:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/fuse_opt.c:97:
+^Ireturn fuse_opt_insert_arg_common(args, pos, arg);$

ERROR: code indent should never use tabs
#494: FILE: tools/virtiofsd/fuse_opt.c:102:
+^Iif (ctx->argctr + 1 >= ctx->argc) {$

WARNING: line over 80 characters
#495: FILE: tools/virtiofsd/fuse_opt.c:103:
+               fuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", 
opt);

ERROR: code indent should never use tabs
#495: FILE: tools/virtiofsd/fuse_opt.c:103:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", opt);$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/fuse_opt.c:104:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#497: FILE: tools/virtiofsd/fuse_opt.c:105:
+^I}$

ERROR: code indent should never use tabs
#498: FILE: tools/virtiofsd/fuse_opt.c:106:
+^Ictx->argctr++;$

ERROR: code indent should never use tabs
#499: FILE: tools/virtiofsd/fuse_opt.c:107:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#504: FILE: tools/virtiofsd/fuse_opt.c:112:
+^Ireturn fuse_opt_add_arg(&ctx->outargs, arg);$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/fuse_opt.c:117:
+^Iunsigned oldlen = *opts ? strlen(*opts) : 0;$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/fuse_opt.c:118:
+^Ichar *d = realloc(*opts, oldlen + 1 + strlen(opt) * 2 + 1);$

ERROR: code indent should never use tabs
#512: FILE: tools/virtiofsd/fuse_opt.c:120:
+^Iif (!d)$

ERROR: braces {} are necessary for all arms of this statement
#512: FILE: tools/virtiofsd/fuse_opt.c:120:
+       if (!d)
[...]

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/fuse_opt.c:121:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#515: FILE: tools/virtiofsd/fuse_opt.c:123:
+^I*opts = d;$

ERROR: code indent should never use tabs
#516: FILE: tools/virtiofsd/fuse_opt.c:124:
+^Iif (oldlen) {$

ERROR: code indent should never use tabs
#517: FILE: tools/virtiofsd/fuse_opt.c:125:
+^I^Id += oldlen;$

ERROR: code indent should never use tabs
#518: FILE: tools/virtiofsd/fuse_opt.c:126:
+^I^I*d++ = ',';$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/fuse_opt.c:127:
+^I}$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_opt.c:129:
+^Ifor (; *opt; opt++) {$

ERROR: code indent should never use tabs
#522: FILE: tools/virtiofsd/fuse_opt.c:130:
+^I^Iif (esc && (*opt == ',' || *opt == '\\'))$

ERROR: braces {} are necessary for all arms of this statement
#522: FILE: tools/virtiofsd/fuse_opt.c:130:
+               if (esc && (*opt == ',' || *opt == '\\'))
[...]

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/fuse_opt.c:131:
+^I^I^I*d++ = '\\';$

ERROR: code indent should never use tabs
#524: FILE: tools/virtiofsd/fuse_opt.c:132:
+^I^I*d++ = *opt;$

ERROR: code indent should never use tabs
#525: FILE: tools/virtiofsd/fuse_opt.c:133:
+^I}$

ERROR: code indent should never use tabs
#526: FILE: tools/virtiofsd/fuse_opt.c:134:
+^I*d = '\0';$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/fuse_opt.c:136:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/fuse_opt.c:141:
+^Ireturn add_opt_common(opts, opt, 0);$

ERROR: code indent should never use tabs
#538: FILE: tools/virtiofsd/fuse_opt.c:146:
+^Ireturn add_opt_common(opts, opt, 1);$

ERROR: code indent should never use tabs
#543: FILE: tools/virtiofsd/fuse_opt.c:151:
+^Ireturn add_opt_common(&ctx->opts, opt, 1);$

ERROR: code indent should never use tabs
#547: FILE: tools/virtiofsd/fuse_opt.c:155:
+^I^I     int iso)$

ERROR: code indent should never use tabs
#549: FILE: tools/virtiofsd/fuse_opt.c:157:
+^Iif (key == FUSE_OPT_KEY_DISCARD)$

ERROR: braces {} are necessary for all arms of this statement
#549: FILE: tools/virtiofsd/fuse_opt.c:157:
+       if (key == FUSE_OPT_KEY_DISCARD)
[...]

ERROR: code indent should never use tabs
#550: FILE: tools/virtiofsd/fuse_opt.c:158:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#552: FILE: tools/virtiofsd/fuse_opt.c:160:
+^Iif (key != FUSE_OPT_KEY_KEEP && ctx->proc) {$

ERROR: code indent should never use tabs
#553: FILE: tools/virtiofsd/fuse_opt.c:161:
+^I^Iint res = ctx->proc(ctx->data, arg, key, &ctx->outargs);$

ERROR: code indent should never use tabs
#554: FILE: tools/virtiofsd/fuse_opt.c:162:
+^I^Iif (res == -1 || !res)$

ERROR: braces {} are necessary for all arms of this statement
#554: FILE: tools/virtiofsd/fuse_opt.c:162:
+               if (res == -1 || !res)
[...]

ERROR: code indent should never use tabs
#555: FILE: tools/virtiofsd/fuse_opt.c:163:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#556: FILE: tools/virtiofsd/fuse_opt.c:164:
+^I}$

ERROR: code indent should never use tabs
#557: FILE: tools/virtiofsd/fuse_opt.c:165:
+^Iif (iso)$

ERROR: braces {} are necessary for all arms of this statement
#557: FILE: tools/virtiofsd/fuse_opt.c:165:
+       if (iso)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#558: FILE: tools/virtiofsd/fuse_opt.c:166:
+^I^Ireturn add_opt(ctx, arg);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/fuse_opt.c:167:
+^Ielse$

ERROR: code indent should never use tabs
#560: FILE: tools/virtiofsd/fuse_opt.c:168:
+^I^Ireturn add_arg(ctx, arg);$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/fuse_opt.c:173:
+^Iint arglen = strlen(arg);$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/fuse_opt.c:174:
+^Iconst char *sep = strchr(t, '=');$

ERROR: code indent should never use tabs
#567: FILE: tools/virtiofsd/fuse_opt.c:175:
+^Isep = sep ? sep : strchr(t, ' ');$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/fuse_opt.c:176:
+^Iif (sep && (!sep[1] || sep[1] == '%')) {$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/fuse_opt.c:177:
+^I^Iint tlen = sep - t;$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/fuse_opt.c:178:
+^I^Iif (sep[0] == '=')$

ERROR: braces {} are necessary for all arms of this statement
#570: FILE: tools/virtiofsd/fuse_opt.c:178:
+               if (sep[0] == '=')
[...]

ERROR: code indent should never use tabs
#571: FILE: tools/virtiofsd/fuse_opt.c:179:
+^I^I^Itlen ++;$

ERROR: space prohibited before that '++' (ctx:WxO)
#571: FILE: tools/virtiofsd/fuse_opt.c:179:
+                       tlen ++;
                             ^

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/fuse_opt.c:180:
+^I^Iif (arglen >= tlen && strncmp(arg, t, tlen) == 0) {$

ERROR: code indent should never use tabs
#573: FILE: tools/virtiofsd/fuse_opt.c:181:
+^I^I^I*sepp = sep - t;$

ERROR: code indent should never use tabs
#574: FILE: tools/virtiofsd/fuse_opt.c:182:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#575: FILE: tools/virtiofsd/fuse_opt.c:183:
+^I^I}$

ERROR: code indent should never use tabs
#576: FILE: tools/virtiofsd/fuse_opt.c:184:
+^I}$

ERROR: code indent should never use tabs
#577: FILE: tools/virtiofsd/fuse_opt.c:185:
+^Iif (strcmp(t, arg) == 0) {$

ERROR: code indent should never use tabs
#578: FILE: tools/virtiofsd/fuse_opt.c:186:
+^I^I*sepp = 0;$

ERROR: code indent should never use tabs
#579: FILE: tools/virtiofsd/fuse_opt.c:187:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#580: FILE: tools/virtiofsd/fuse_opt.c:188:
+^I}$

ERROR: code indent should never use tabs
#581: FILE: tools/virtiofsd/fuse_opt.c:189:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/fuse_opt.c:193:
+^I^I^I^I       const char *arg, unsigned *sepp)$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/fuse_opt.c:195:
+^Ifor (; opt && opt->templ; opt++)$

ERROR: code indent should never use tabs
#588: FILE: tools/virtiofsd/fuse_opt.c:196:
+^I^Iif (match_template(opt->templ, arg, sepp))$

ERROR: braces {} are necessary for all arms of this statement
#588: FILE: tools/virtiofsd/fuse_opt.c:196:
+               if (match_template(opt->templ, arg, sepp))
[...]

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/fuse_opt.c:197:
+^I^I^Ireturn opt;$

ERROR: code indent should never use tabs
#590: FILE: tools/virtiofsd/fuse_opt.c:198:
+^Ireturn NULL;$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/fuse_opt.c:203:
+^Iunsigned dummy;$

ERROR: code indent should never use tabs
#596: FILE: tools/virtiofsd/fuse_opt.c:204:
+^Ireturn find_opt(opts, opt, &dummy) ? 1 : 0;$

ERROR: code indent should never use tabs
#600: FILE: tools/virtiofsd/fuse_opt.c:208:
+^I^I^I     const char *arg)$

ERROR: code indent should never use tabs
#602: FILE: tools/virtiofsd/fuse_opt.c:210:
+^Iassert(format[0] == '%');$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/fuse_opt.c:211:
+^Iif (format[1] == 's') {$

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/fuse_opt.c:212:
+^I^Ichar **s = var;$

ERROR: code indent should never use tabs
#605: FILE: tools/virtiofsd/fuse_opt.c:213:
+^I^Ichar *copy = strdup(param);$

ERROR: code indent should never use tabs
#606: FILE: tools/virtiofsd/fuse_opt.c:214:
+^I^Iif (!copy)$

ERROR: braces {} are necessary for all arms of this statement
#606: FILE: tools/virtiofsd/fuse_opt.c:214:
+               if (!copy)
[...]

ERROR: code indent should never use tabs
#607: FILE: tools/virtiofsd/fuse_opt.c:215:
+^I^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#609: FILE: tools/virtiofsd/fuse_opt.c:217:
+^I^Ifree(*s);$

ERROR: code indent should never use tabs
#610: FILE: tools/virtiofsd/fuse_opt.c:218:
+^I^I*s = copy;$

ERROR: code indent should never use tabs
#611: FILE: tools/virtiofsd/fuse_opt.c:219:
+^I} else {$

ERROR: code indent should never use tabs
#612: FILE: tools/virtiofsd/fuse_opt.c:220:
+^I^Iif (sscanf(param, format, var) != 1) {$

ERROR: line over 90 characters
#613: FILE: tools/virtiofsd/fuse_opt.c:221:
+                       fuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in 
option `%s'\n", arg);

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/fuse_opt.c:221:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in option `%s'\n", arg);$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/fuse_opt.c:222:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/fuse_opt.c:223:
+^I^I}$

ERROR: code indent should never use tabs
#616: FILE: tools/virtiofsd/fuse_opt.c:224:
+^I}$

ERROR: code indent should never use tabs
#617: FILE: tools/virtiofsd/fuse_opt.c:225:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#621: FILE: tools/virtiofsd/fuse_opt.c:229:
+^I^I       const struct fuse_opt *opt, unsigned sep,$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/fuse_opt.c:230:
+^I^I       const char *arg, int iso)$

ERROR: code indent should never use tabs
#624: FILE: tools/virtiofsd/fuse_opt.c:232:
+^Iif (opt->offset == -1U) {$

ERROR: code indent should never use tabs
#625: FILE: tools/virtiofsd/fuse_opt.c:233:
+^I^Iif (call_proc(ctx, arg, opt->value, iso) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#625: FILE: tools/virtiofsd/fuse_opt.c:233:
+               if (call_proc(ctx, arg, opt->value, iso) == -1)
[...]

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/fuse_opt.c:234:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/fuse_opt.c:235:
+^I} else {$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/fuse_opt.c:236:
+^I^Ivoid *var = (char *)ctx->data + opt->offset;$

ERROR: code indent should never use tabs
#629: FILE: tools/virtiofsd/fuse_opt.c:237:
+^I^Iif (sep && opt->templ[sep + 1]) {$

ERROR: code indent should never use tabs
#630: FILE: tools/virtiofsd/fuse_opt.c:238:
+^I^I^Iconst char *param = arg + sep;$

ERROR: code indent should never use tabs
#631: FILE: tools/virtiofsd/fuse_opt.c:239:
+^I^I^Iif (opt->templ[sep] == '=')$

ERROR: braces {} are necessary for all arms of this statement
#631: FILE: tools/virtiofsd/fuse_opt.c:239:
+                       if (opt->templ[sep] == '=')
[...]

ERROR: code indent should never use tabs
#632: FILE: tools/virtiofsd/fuse_opt.c:240:
+^I^I^I^Iparam ++;$

ERROR: space prohibited before that '++' (ctx:WxO)
#632: FILE: tools/virtiofsd/fuse_opt.c:240:
+                               param ++;
                                      ^

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/fuse_opt.c:241:
+^I^I^Iif (process_opt_param(var, opt->templ + sep + 1,$

ERROR: code indent should never use tabs
#634: FILE: tools/virtiofsd/fuse_opt.c:242:
+^I^I^I^I^I      param, arg) == -1)$

ERROR: code indent should never use tabs
#635: FILE: tools/virtiofsd/fuse_opt.c:243:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#636: FILE: tools/virtiofsd/fuse_opt.c:244:
+^I^I} else$

ERROR: code indent should never use tabs
#637: FILE: tools/virtiofsd/fuse_opt.c:245:
+^I^I^I*(int *)var = opt->value;$

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/fuse_opt.c:246:
+^I}$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/fuse_opt.c:247:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/fuse_opt.c:251:
+^I^I^I       const struct fuse_opt *opt, unsigned sep,$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/fuse_opt.c:252:
+^I^I^I       const char *arg, int iso)$

ERROR: code indent should never use tabs
#646: FILE: tools/virtiofsd/fuse_opt.c:254:
+^Iint res;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/fuse_opt.c:255:
+^Ichar *newarg;$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/fuse_opt.c:256:
+^Ichar *param;$

ERROR: code indent should never use tabs
#650: FILE: tools/virtiofsd/fuse_opt.c:258:
+^Iif (next_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#650: FILE: tools/virtiofsd/fuse_opt.c:258:
+       if (next_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/fuse_opt.c:259:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/fuse_opt.c:261:
+^Iparam = ctx->argv[ctx->argctr];$

ERROR: code indent should never use tabs
#654: FILE: tools/virtiofsd/fuse_opt.c:262:
+^Inewarg = malloc(sep + strlen(param) + 1);$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/fuse_opt.c:263:
+^Iif (!newarg)$

ERROR: braces {} are necessary for all arms of this statement
#655: FILE: tools/virtiofsd/fuse_opt.c:263:
+       if (!newarg)
[...]

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/fuse_opt.c:264:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/fuse_opt.c:266:
+^Imemcpy(newarg, arg, sep);$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/fuse_opt.c:267:
+^Istrcpy(newarg + sep, param);$

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/fuse_opt.c:268:
+^Ires = process_opt(ctx, opt, sep, newarg, iso);$

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/fuse_opt.c:269:
+^Ifree(newarg);$

ERROR: code indent should never use tabs
#663: FILE: tools/virtiofsd/fuse_opt.c:271:
+^Ireturn res;$

ERROR: code indent should never use tabs
#668: FILE: tools/virtiofsd/fuse_opt.c:276:
+^Iunsigned sep;$

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/fuse_opt.c:277:
+^Iconst struct fuse_opt *opt = find_opt(ctx->opt, arg, &sep);$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/fuse_opt.c:278:
+^Iif (opt) {$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/fuse_opt.c:279:
+^I^Ifor (; opt; opt = find_opt(opt + 1, arg, &sep)) {$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/fuse_opt.c:280:
+^I^I^Iint res;$

ERROR: code indent should never use tabs
#673: FILE: tools/virtiofsd/fuse_opt.c:281:
+^I^I^Iif (sep && opt->templ[sep] == ' ' && !arg[sep])$

ERROR: code indent should never use tabs
#674: FILE: tools/virtiofsd/fuse_opt.c:282:
+^I^I^I^Ires = process_opt_sep_arg(ctx, opt, sep, arg,$

ERROR: code indent should never use tabs
#675: FILE: tools/virtiofsd/fuse_opt.c:283:
+^I^I^I^I^I^I^I  iso);$

ERROR: code indent should never use tabs
#676: FILE: tools/virtiofsd/fuse_opt.c:284:
+^I^I^Ielse$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/fuse_opt.c:285:
+^I^I^I^Ires = process_opt(ctx, opt, sep, arg, iso);$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/fuse_opt.c:286:
+^I^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#678: FILE: tools/virtiofsd/fuse_opt.c:286:
+                       if (res == -1)
[...]

ERROR: code indent should never use tabs
#679: FILE: tools/virtiofsd/fuse_opt.c:287:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#680: FILE: tools/virtiofsd/fuse_opt.c:288:
+^I^I}$

ERROR: code indent should never use tabs
#681: FILE: tools/virtiofsd/fuse_opt.c:289:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#682: FILE: tools/virtiofsd/fuse_opt.c:290:
+^I} else$

ERROR: code indent should never use tabs
#683: FILE: tools/virtiofsd/fuse_opt.c:291:
+^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_OPT, iso);$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/fuse_opt.c:296:
+^Ichar *s = opts;$

ERROR: code indent should never use tabs
#689: FILE: tools/virtiofsd/fuse_opt.c:297:
+^Ichar *d = s;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/fuse_opt.c:298:
+^Iint end = 0;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/fuse_opt.c:300:
+^Iwhile (!end) {$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/fuse_opt.c:301:
+^I^Iif (*s == '\0')$

ERROR: braces {} are necessary for all arms of this statement
#693: FILE: tools/virtiofsd/fuse_opt.c:301:
+               if (*s == '\0')
[...]

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/fuse_opt.c:302:
+^I^I^Iend = 1;$

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/fuse_opt.c:303:
+^I^Iif (*s == ',' || end) {$

ERROR: code indent should never use tabs
#696: FILE: tools/virtiofsd/fuse_opt.c:304:
+^I^I^Iint res;$

ERROR: code indent should never use tabs
#698: FILE: tools/virtiofsd/fuse_opt.c:306:
+^I^I^I*d = '\0';$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/fuse_opt.c:307:
+^I^I^Ires = process_gopt(ctx, opts, 1);$

ERROR: code indent should never use tabs
#700: FILE: tools/virtiofsd/fuse_opt.c:308:
+^I^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#700: FILE: tools/virtiofsd/fuse_opt.c:308:
+                       if (res == -1)
[...]

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/fuse_opt.c:309:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/fuse_opt.c:310:
+^I^I^Id = opts;$

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/fuse_opt.c:311:
+^I^I} else {$

ERROR: code indent should never use tabs
#704: FILE: tools/virtiofsd/fuse_opt.c:312:
+^I^I^Iif (s[0] == '\\' && s[1] != '\0') {$

ERROR: code indent should never use tabs
#705: FILE: tools/virtiofsd/fuse_opt.c:313:
+^I^I^I^Is++;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/fuse_opt.c:314:
+^I^I^I^Iif (s[0] >= '0' && s[0] <= '3' &&$

ERROR: code indent should never use tabs
#707: FILE: tools/virtiofsd/fuse_opt.c:315:
+^I^I^I^I    s[1] >= '0' && s[1] <= '7' &&$

ERROR: code indent should never use tabs
#708: FILE: tools/virtiofsd/fuse_opt.c:316:
+^I^I^I^I    s[2] >= '0' && s[2] <= '7') {$

ERROR: code indent should never use tabs
#709: FILE: tools/virtiofsd/fuse_opt.c:317:
+^I^I^I^I^I*d++ = (s[0] - '0') * 0100 +$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/fuse_opt.c:318:
+^I^I^I^I^I^I(s[1] - '0') * 0010 +$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/fuse_opt.c:319:
+^I^I^I^I^I^I(s[2] - '0');$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/fuse_opt.c:320:
+^I^I^I^I^Is += 2;$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/fuse_opt.c:321:
+^I^I^I^I} else {$

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/fuse_opt.c:322:
+^I^I^I^I^I*d++ = *s;$

ERROR: code indent should never use tabs
#715: FILE: tools/virtiofsd/fuse_opt.c:323:
+^I^I^I^I}$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/fuse_opt.c:324:
+^I^I^I} else {$

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/fuse_opt.c:325:
+^I^I^I^I*d++ = *s;$

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/fuse_opt.c:326:
+^I^I^I}$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/fuse_opt.c:327:
+^I^I}$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/fuse_opt.c:328:
+^I^Is++;$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/fuse_opt.c:329:
+^I}$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/fuse_opt.c:331:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/fuse_opt.c:336:
+^Iint res;$

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/fuse_opt.c:337:
+^Ichar *copy = strdup(opts);$

ERROR: code indent should never use tabs
#731: FILE: tools/virtiofsd/fuse_opt.c:339:
+^Iif (!copy) {$

ERROR: code indent should never use tabs
#732: FILE: tools/virtiofsd/fuse_opt.c:340:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/fuse_opt.c:341:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/fuse_opt.c:342:
+^I}$

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/fuse_opt.c:343:
+^Ires = process_real_option_group(ctx, copy);$

ERROR: code indent should never use tabs
#736: FILE: tools/virtiofsd/fuse_opt.c:344:
+^Ifree(copy);$

ERROR: code indent should never use tabs
#737: FILE: tools/virtiofsd/fuse_opt.c:345:
+^Ireturn res;$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/fuse_opt.c:350:
+^Iif (ctx->nonopt || arg[0] != '-')$

ERROR: code indent should never use tabs
#743: FILE: tools/virtiofsd/fuse_opt.c:351:
+^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_NONOPT, 0);$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/fuse_opt.c:352:
+^Ielse if (arg[1] == 'o') {$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/fuse_opt.c:353:
+^I^Iif (arg[2])$

ERROR: code indent should never use tabs
#746: FILE: tools/virtiofsd/fuse_opt.c:354:
+^I^I^Ireturn process_option_group(ctx, arg + 2);$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/fuse_opt.c:355:
+^I^Ielse {$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/fuse_opt.c:356:
+^I^I^Iif (next_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#748: FILE: tools/virtiofsd/fuse_opt.c:356:
+                       if (next_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/fuse_opt.c:357:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/fuse_opt.c:359:
+^I^I^Ireturn process_option_group(ctx,$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/fuse_opt.c:360:
+^I^I^I^I^I^I    ctx->argv[ctx->argctr]);$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/fuse_opt.c:361:
+^I^I}$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/fuse_opt.c:362:
+^I} else if (arg[1] == '-' && !arg[2]) {$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/fuse_opt.c:363:
+^I^Iif (add_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#755: FILE: tools/virtiofsd/fuse_opt.c:363:
+               if (add_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#756: FILE: tools/virtiofsd/fuse_opt.c:364:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/fuse_opt.c:365:
+^I^Ictx->nonopt = ctx->outargs.argc;$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/fuse_opt.c:366:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/fuse_opt.c:367:
+^I} else$

ERROR: code indent should never use tabs
#760: FILE: tools/virtiofsd/fuse_opt.c:368:
+^I^Ireturn process_gopt(ctx, arg, 0);$

ERROR: code indent should never use tabs
#765: FILE: tools/virtiofsd/fuse_opt.c:373:
+^Iif (ctx->argc) {$

ERROR: code indent should never use tabs
#766: FILE: tools/virtiofsd/fuse_opt.c:374:
+^I^Iif (add_arg(ctx, ctx->argv[0]) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#766: FILE: tools/virtiofsd/fuse_opt.c:374:
+               if (add_arg(ctx, ctx->argv[0]) == -1)
[...]

ERROR: code indent should never use tabs
#767: FILE: tools/virtiofsd/fuse_opt.c:375:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/fuse_opt.c:376:
+^I}$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_opt.c:378:
+^Ifor (ctx->argctr = 1; ctx->argctr < ctx->argc; ctx->argctr++)$

ERROR: code indent should never use tabs
#771: FILE: tools/virtiofsd/fuse_opt.c:379:
+^I^Iif (process_one(ctx, ctx->argv[ctx->argctr]) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#771: FILE: tools/virtiofsd/fuse_opt.c:379:
+               if (process_one(ctx, ctx->argv[ctx->argctr]) == -1)
[...]

ERROR: code indent should never use tabs
#772: FILE: tools/virtiofsd/fuse_opt.c:380:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#774: FILE: tools/virtiofsd/fuse_opt.c:382:
+^Iif (ctx->opts) {$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/fuse_opt.c:383:
+^I^Iif (fuse_opt_insert_arg(&ctx->outargs, 1, "-o") == -1 ||$

ERROR: code indent should never use tabs
#776: FILE: tools/virtiofsd/fuse_opt.c:384:
+^I^I    fuse_opt_insert_arg(&ctx->outargs, 2, ctx->opts) == -1)$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/fuse_opt.c:385:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#778: FILE: tools/virtiofsd/fuse_opt.c:386:
+^I}$

ERROR: code indent should never use tabs
#780: FILE: tools/virtiofsd/fuse_opt.c:388:
+^I/* If option separator ("--") is the last argument, remove it */$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/fuse_opt.c:389:
+^Iif (ctx->nonopt && ctx->nonopt == ctx->outargs.argc &&$

ERROR: code indent should never use tabs
#782: FILE: tools/virtiofsd/fuse_opt.c:390:
+^I    strcmp(ctx->outargs.argv[ctx->outargs.argc - 1], "--") == 0) {$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/fuse_opt.c:391:
+^I^Ifree(ctx->outargs.argv[ctx->outargs.argc - 1]);$

ERROR: code indent should never use tabs
#784: FILE: tools/virtiofsd/fuse_opt.c:392:
+^I^Ictx->outargs.argv[--ctx->outargs.argc] = NULL;$

ERROR: code indent should never use tabs
#785: FILE: tools/virtiofsd/fuse_opt.c:393:
+^I}$

ERROR: code indent should never use tabs
#787: FILE: tools/virtiofsd/fuse_opt.c:395:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/fuse_opt.c:399:
+^I^I   const struct fuse_opt opts[], fuse_opt_proc_t proc)$

ERROR: code indent should never use tabs
#793: FILE: tools/virtiofsd/fuse_opt.c:401:
+^Iint res;$

ERROR: code indent should never use tabs
#794: FILE: tools/virtiofsd/fuse_opt.c:402:
+^Istruct fuse_opt_context ctx = {$

ERROR: code indent should never use tabs
#795: FILE: tools/virtiofsd/fuse_opt.c:403:
+^I^I.data = data,$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/fuse_opt.c:404:
+^I^I.opt = opts,$

ERROR: code indent should never use tabs
#797: FILE: tools/virtiofsd/fuse_opt.c:405:
+^I^I.proc = proc,$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/fuse_opt.c:406:
+^I};$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/fuse_opt.c:408:
+^Iif (!args || !args->argv || !args->argc)$

ERROR: braces {} are necessary for all arms of this statement
#800: FILE: tools/virtiofsd/fuse_opt.c:408:
+       if (!args || !args->argv || !args->argc)
[...]

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/fuse_opt.c:409:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/fuse_opt.c:411:
+^Ictx.argc = args->argc;$

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/fuse_opt.c:412:
+^Ictx.argv = args->argv;$

ERROR: code indent should never use tabs
#806: FILE: tools/virtiofsd/fuse_opt.c:414:
+^Ires = opt_parse(&ctx);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/fuse_opt.c:415:
+^Iif (res != -1) {$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/fuse_opt.c:416:
+^I^Istruct fuse_args tmp = *args;$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/fuse_opt.c:417:
+^I^I*args = ctx.outargs;$

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/fuse_opt.c:418:
+^I^Ictx.outargs = tmp;$

ERROR: code indent should never use tabs
#811: FILE: tools/virtiofsd/fuse_opt.c:419:
+^I}$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/fuse_opt.c:420:
+^Ifree(ctx.opts);$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/fuse_opt.c:421:
+^Ifuse_opt_free_args(&ctx.outargs);$

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/fuse_opt.c:422:
+^Ireturn res;$

WARNING: Block comments use * on subsequent lines
#823: FILE: tools/virtiofsd/fuse_signals.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/fuse_signals.c:24:
+^Iif (fuse_instance) {$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/fuse_signals.c:25:
+^I^Ifuse_session_exit(fuse_instance);$

ERROR: code indent should never use tabs
#847: FILE: tools/virtiofsd/fuse_signals.c:26:
+^I^Iif(sig <= 0) {$

ERROR: space required before the open parenthesis '('
#847: FILE: tools/virtiofsd/fuse_signals.c:26:
+               if(sig <= 0) {

WARNING: line over 80 characters
#848: FILE: tools/virtiofsd/fuse_signals.c:27:
+                       fuse_log(FUSE_LOG_ERR, "assertion error: signal value 
<= 0\n");

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/fuse_signals.c:27:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "assertion error: signal value <= 0\n");$

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/fuse_signals.c:28:
+^I^I^Iabort();$

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/fuse_signals.c:29:
+^I^I}$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/fuse_signals.c:30:
+^I^Ifuse_instance->error = sig;$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/fuse_signals.c:31:
+^I}$

ERROR: code indent should never use tabs
#857: FILE: tools/virtiofsd/fuse_signals.c:36:
+^I(void) sig;$

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/fuse_signals.c:41:
+^Istruct sigaction sa;$

ERROR: code indent should never use tabs
#863: FILE: tools/virtiofsd/fuse_signals.c:42:
+^Istruct sigaction old_sa;$

ERROR: code indent should never use tabs
#865: FILE: tools/virtiofsd/fuse_signals.c:44:
+^Imemset(&sa, 0, sizeof(struct sigaction));$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/fuse_signals.c:45:
+^Isa.sa_handler = remove ? SIG_DFL : handler;$

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/fuse_signals.c:46:
+^Isigemptyset(&(sa.sa_mask));$

ERROR: code indent should never use tabs
#868: FILE: tools/virtiofsd/fuse_signals.c:47:
+^Isa.sa_flags = 0;$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/fuse_signals.c:49:
+^Iif (sigaction(sig, NULL, &old_sa) == -1) {$

ERROR: code indent should never use tabs
#871: FILE: tools/virtiofsd/fuse_signals.c:50:
+^I^Iperror("fuse: cannot get old signal handler");$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/fuse_signals.c:51:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#873: FILE: tools/virtiofsd/fuse_signals.c:52:
+^I}$

ERROR: code indent should never use tabs
#875: FILE: tools/virtiofsd/fuse_signals.c:54:
+^Iif (old_sa.sa_handler == (remove ? handler : SIG_DFL) &&$

ERROR: code indent should never use tabs
#876: FILE: tools/virtiofsd/fuse_signals.c:55:
+^I    sigaction(sig, &sa, NULL) == -1) {$

ERROR: code indent should never use tabs
#877: FILE: tools/virtiofsd/fuse_signals.c:56:
+^I^Iperror("fuse: cannot set signal handler");$

ERROR: code indent should never use tabs
#878: FILE: tools/virtiofsd/fuse_signals.c:57:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/fuse_signals.c:58:
+^I}$

ERROR: code indent should never use tabs
#880: FILE: tools/virtiofsd/fuse_signals.c:59:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#885: FILE: tools/virtiofsd/fuse_signals.c:64:
+^I/* If we used SIG_IGN instead of the do_nothing function,$

WARNING: Block comments use a leading /* on a separate line
#885: FILE: tools/virtiofsd/fuse_signals.c:64:
+       /* If we used SIG_IGN instead of the do_nothing function,

ERROR: code indent should never use tabs
#886: FILE: tools/virtiofsd/fuse_signals.c:65:
+^I   then we would be unable to tell if we set SIG_IGN (and$

WARNING: Block comments use * on subsequent lines
#886: FILE: tools/virtiofsd/fuse_signals.c:65:
+       /* If we used SIG_IGN instead of the do_nothing function,
+          then we would be unable to tell if we set SIG_IGN (and

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/fuse_signals.c:66:
+^I   thus should reset to SIG_DFL in fuse_remove_signal_handlers)$

ERROR: code indent should never use tabs
#888: FILE: tools/virtiofsd/fuse_signals.c:67:
+^I   or if it was already set to SIG_IGN (and should be left$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/fuse_signals.c:68:
+^I   untouched. */$

WARNING: Block comments use a trailing */ on a separate line
#889: FILE: tools/virtiofsd/fuse_signals.c:68:
+          untouched. */

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/fuse_signals.c:69:
+^Iif (set_one_signal_handler(SIGHUP, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_signals.c:70:
+^I    set_one_signal_handler(SIGINT, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#892: FILE: tools/virtiofsd/fuse_signals.c:71:
+^I    set_one_signal_handler(SIGTERM, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#893: FILE: tools/virtiofsd/fuse_signals.c:72:
+^I    set_one_signal_handler(SIGPIPE, do_nothing, 0) == -1)$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/fuse_signals.c:73:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#896: FILE: tools/virtiofsd/fuse_signals.c:75:
+^Ifuse_instance = se;$

ERROR: code indent should never use tabs
#897: FILE: tools/virtiofsd/fuse_signals.c:76:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/fuse_signals.c:81:
+^Iif (fuse_instance != se)$

ERROR: code indent should never use tabs
#903: FILE: tools/virtiofsd/fuse_signals.c:82:
+^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#904: FILE: tools/virtiofsd/fuse_signals.c:83:
+^I^I^I"fuse: fuse_remove_signal_handlers: unknown session\n");$

ERROR: code indent should never use tabs
#905: FILE: tools/virtiofsd/fuse_signals.c:84:
+^Ielse$

ERROR: code indent should never use tabs
#906: FILE: tools/virtiofsd/fuse_signals.c:85:
+^I^Ifuse_instance = NULL;$

ERROR: code indent should never use tabs
#908: FILE: tools/virtiofsd/fuse_signals.c:87:
+^Iset_one_signal_handler(SIGHUP, exit_handler, 1);$

ERROR: code indent should never use tabs
#909: FILE: tools/virtiofsd/fuse_signals.c:88:
+^Iset_one_signal_handler(SIGINT, exit_handler, 1);$

ERROR: code indent should never use tabs
#910: FILE: tools/virtiofsd/fuse_signals.c:89:
+^Iset_one_signal_handler(SIGTERM, exit_handler, 1);$

ERROR: code indent should never use tabs
#911: FILE: tools/virtiofsd/fuse_signals.c:90:
+^Iset_one_signal_handler(SIGPIPE, do_nothing, 1);$

WARNING: Block comments use * on subsequent lines
#920: FILE: tools/virtiofsd/helper.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#948: FILE: tools/virtiofsd/helper.c:30:
+^I{ t, offsetof(struct fuse_cmdline_opts, p), 1 }$

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/helper.c:33:
+^IFUSE_HELPER_OPT("-h",^I^Ishow_help),$

ERROR: code indent should never use tabs
#952: FILE: tools/virtiofsd/helper.c:34:
+^IFUSE_HELPER_OPT("--help",^Ishow_help),$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/helper.c:35:
+^IFUSE_HELPER_OPT("-V",^I^Ishow_version),$

ERROR: code indent should never use tabs
#954: FILE: tools/virtiofsd/helper.c:36:
+^IFUSE_HELPER_OPT("--version",^Ishow_version),$

ERROR: code indent should never use tabs
#955: FILE: tools/virtiofsd/helper.c:37:
+^IFUSE_HELPER_OPT("-d",^I^Idebug),$

ERROR: code indent should never use tabs
#956: FILE: tools/virtiofsd/helper.c:38:
+^IFUSE_HELPER_OPT("debug",^Idebug),$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/helper.c:39:
+^IFUSE_HELPER_OPT("-d",^I^Iforeground),$

ERROR: code indent should never use tabs
#958: FILE: tools/virtiofsd/helper.c:40:
+^IFUSE_HELPER_OPT("debug",^Iforeground),$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/helper.c:41:
+^IFUSE_OPT_KEY("-d",^I^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/helper.c:42:
+^IFUSE_OPT_KEY("debug",^I^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#961: FILE: tools/virtiofsd/helper.c:43:
+^IFUSE_HELPER_OPT("-f",^I^Iforeground),$

ERROR: code indent should never use tabs
#962: FILE: tools/virtiofsd/helper.c:44:
+^IFUSE_HELPER_OPT("-s",^I^Isinglethread),$

ERROR: code indent should never use tabs
#963: FILE: tools/virtiofsd/helper.c:45:
+^IFUSE_HELPER_OPT("fsname=",^Inodefault_subtype),$

ERROR: code indent should never use tabs
#964: FILE: tools/virtiofsd/helper.c:46:
+^IFUSE_OPT_KEY("fsname=",^I^IFUSE_OPT_KEY_KEEP),$

WARNING: architecture specific defines should be avoided
#965: FILE: tools/virtiofsd/helper.c:47:
+#ifndef __FreeBSD__

ERROR: code indent should never use tabs
#966: FILE: tools/virtiofsd/helper.c:48:
+^IFUSE_HELPER_OPT("subtype=",^Inodefault_subtype),$

ERROR: code indent should never use tabs
#967: FILE: tools/virtiofsd/helper.c:49:
+^IFUSE_OPT_KEY("subtype=",^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/helper.c:51:
+^IFUSE_HELPER_OPT("clone_fd",^Iclone_fd),$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/helper.c:52:
+^IFUSE_HELPER_OPT("max_idle_threads=%u", max_idle_threads),$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/helper.c:53:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#975: FILE: tools/virtiofsd/helper.c:57:
+^Iint atomic_o_trunc;$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/helper.c:58:
+^Iint no_remote_posix_lock;$

ERROR: code indent should never use tabs
#977: FILE: tools/virtiofsd/helper.c:59:
+^Iint no_remote_flock;$

ERROR: code indent should never use tabs
#978: FILE: tools/virtiofsd/helper.c:60:
+^Iint splice_write;$

ERROR: code indent should never use tabs
#979: FILE: tools/virtiofsd/helper.c:61:
+^Iint splice_move;$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/helper.c:62:
+^Iint splice_read;$

ERROR: code indent should never use tabs
#981: FILE: tools/virtiofsd/helper.c:63:
+^Iint no_splice_write;$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/helper.c:64:
+^Iint no_splice_move;$

ERROR: code indent should never use tabs
#983: FILE: tools/virtiofsd/helper.c:65:
+^Iint no_splice_read;$

ERROR: code indent should never use tabs
#984: FILE: tools/virtiofsd/helper.c:66:
+^Iint auto_inval_data;$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/helper.c:67:
+^Iint no_auto_inval_data;$

ERROR: code indent should never use tabs
#986: FILE: tools/virtiofsd/helper.c:68:
+^Iint no_readdirplus;$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/helper.c:69:
+^Iint no_readdirplus_auto;$

ERROR: code indent should never use tabs
#988: FILE: tools/virtiofsd/helper.c:70:
+^Iint async_dio;$

ERROR: code indent should never use tabs
#989: FILE: tools/virtiofsd/helper.c:71:
+^Iint no_async_dio;$

ERROR: code indent should never use tabs
#990: FILE: tools/virtiofsd/helper.c:72:
+^Iint writeback_cache;$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/helper.c:73:
+^Iint no_writeback_cache;$

ERROR: code indent should never use tabs
#992: FILE: tools/virtiofsd/helper.c:74:
+^Iint async_read;$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/helper.c:75:
+^Iint sync_read;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/helper.c:76:
+^Iunsigned max_write;$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/helper.c:77:
+^Iunsigned max_readahead;$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/helper.c:78:
+^Iunsigned max_background;$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/helper.c:79:
+^Iunsigned congestion_threshold;$

ERROR: code indent should never use tabs
#998: FILE: tools/virtiofsd/helper.c:80:
+^Iunsigned time_gran;$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/helper.c:81:
+^Iint set_max_write;$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/helper.c:82:
+^Iint set_max_readahead;$

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/helper.c:83:
+^Iint set_max_background;$

ERROR: code indent should never use tabs
#1002: FILE: tools/virtiofsd/helper.c:84:
+^Iint set_congestion_threshold;$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/helper.c:85:
+^Iint set_time_gran;$

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/helper.c:88:
+#define CONN_OPTION(t, p, v)^I^I^I^I^I\$

ERROR: code indent should never use tabs
#1007: FILE: tools/virtiofsd/helper.c:89:
+^I{ t, offsetof(struct fuse_conn_info_opts, p), v }$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/helper.c:91:
+^ICONN_OPTION("max_write=%u", max_write, 0),$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/helper.c:92:
+^ICONN_OPTION("max_write=", set_max_write, 1),$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/helper.c:93:
+^ICONN_OPTION("max_readahead=%u", max_readahead, 0),$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/helper.c:94:
+^ICONN_OPTION("max_readahead=", set_max_readahead, 1),$

ERROR: code indent should never use tabs
#1013: FILE: tools/virtiofsd/helper.c:95:
+^ICONN_OPTION("max_background=%u", max_background, 0),$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/helper.c:96:
+^ICONN_OPTION("max_background=", set_max_background, 1),$

ERROR: code indent should never use tabs
#1015: FILE: tools/virtiofsd/helper.c:97:
+^ICONN_OPTION("congestion_threshold=%u", congestion_threshold, 0),$

ERROR: code indent should never use tabs
#1016: FILE: tools/virtiofsd/helper.c:98:
+^ICONN_OPTION("congestion_threshold=", set_congestion_threshold, 1),$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/helper.c:99:
+^ICONN_OPTION("sync_read", sync_read, 1),$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/helper.c:100:
+^ICONN_OPTION("async_read", async_read, 1),$

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/helper.c:101:
+^ICONN_OPTION("atomic_o_trunc", atomic_o_trunc, 1),$

ERROR: code indent should never use tabs
#1020: FILE: tools/virtiofsd/helper.c:102:
+^ICONN_OPTION("no_remote_lock", no_remote_posix_lock, 1),$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/helper.c:103:
+^ICONN_OPTION("no_remote_lock", no_remote_flock, 1),$

ERROR: code indent should never use tabs
#1022: FILE: tools/virtiofsd/helper.c:104:
+^ICONN_OPTION("no_remote_flock", no_remote_flock, 1),$

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/helper.c:105:
+^ICONN_OPTION("no_remote_posix_lock", no_remote_posix_lock, 1),$

ERROR: code indent should never use tabs
#1024: FILE: tools/virtiofsd/helper.c:106:
+^ICONN_OPTION("splice_write", splice_write, 1),$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/helper.c:107:
+^ICONN_OPTION("no_splice_write", no_splice_write, 1),$

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/helper.c:108:
+^ICONN_OPTION("splice_move", splice_move, 1),$

ERROR: code indent should never use tabs
#1027: FILE: tools/virtiofsd/helper.c:109:
+^ICONN_OPTION("no_splice_move", no_splice_move, 1),$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/helper.c:110:
+^ICONN_OPTION("splice_read", splice_read, 1),$

ERROR: code indent should never use tabs
#1029: FILE: tools/virtiofsd/helper.c:111:
+^ICONN_OPTION("no_splice_read", no_splice_read, 1),$

ERROR: code indent should never use tabs
#1030: FILE: tools/virtiofsd/helper.c:112:
+^ICONN_OPTION("auto_inval_data", auto_inval_data, 1),$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/helper.c:113:
+^ICONN_OPTION("no_auto_inval_data", no_auto_inval_data, 1),$

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/helper.c:114:
+^ICONN_OPTION("readdirplus=no", no_readdirplus, 1),$

ERROR: code indent should never use tabs
#1033: FILE: tools/virtiofsd/helper.c:115:
+^ICONN_OPTION("readdirplus=yes", no_readdirplus, 0),$

ERROR: code indent should never use tabs
#1034: FILE: tools/virtiofsd/helper.c:116:
+^ICONN_OPTION("readdirplus=yes", no_readdirplus_auto, 1),$

ERROR: code indent should never use tabs
#1035: FILE: tools/virtiofsd/helper.c:117:
+^ICONN_OPTION("readdirplus=auto", no_readdirplus, 0),$

ERROR: code indent should never use tabs
#1036: FILE: tools/virtiofsd/helper.c:118:
+^ICONN_OPTION("readdirplus=auto", no_readdirplus_auto, 0),$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/helper.c:119:
+^ICONN_OPTION("async_dio", async_dio, 1),$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/helper.c:120:
+^ICONN_OPTION("no_async_dio", no_async_dio, 1),$

ERROR: code indent should never use tabs
#1039: FILE: tools/virtiofsd/helper.c:121:
+^ICONN_OPTION("writeback_cache", writeback_cache, 1),$

ERROR: code indent should never use tabs
#1040: FILE: tools/virtiofsd/helper.c:122:
+^ICONN_OPTION("no_writeback_cache", no_writeback_cache, 1),$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/helper.c:123:
+^ICONN_OPTION("time_gran=%u", time_gran, 0),$

ERROR: code indent should never use tabs
#1042: FILE: tools/virtiofsd/helper.c:124:
+^ICONN_OPTION("time_gran=", set_time_gran, 1),$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/helper.c:125:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/helper.c:131:
+^Iprintf("    -h   --help            print help\n"$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/helper.c:132:
+^I       "    -V   --version         print version\n"$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/helper.c:133:
+^I       "    -d   -o debug          enable debug output (implies -f)\n"$

ERROR: code indent should never use tabs
#1052: FILE: tools/virtiofsd/helper.c:134:
+^I       "    -f                     foreground operation\n"$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/helper.c:135:
+^I       "    -s                     disable multi-threaded operation\n"$

ERROR: code indent should never use tabs
#1054: FILE: tools/virtiofsd/helper.c:136:
+^I       "    -o clone_fd            use separate fuse device fd for each 
thread\n"$

ERROR: code indent should never use tabs
#1055: FILE: tools/virtiofsd/helper.c:137:
+^I       "                           (may improve performance)\n"$

ERROR: code indent should never use tabs
#1056: FILE: tools/virtiofsd/helper.c:138:
+^I       "    -o max_idle_threads    the maximum number of idle worker 
threads\n"$

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/helper.c:139:
+^I       "                           allowed (default: 10)\n");$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/helper.c:143:
+^I^I^I^Istruct fuse_args *outargs)$

ERROR: code indent should never use tabs
#1063: FILE: tools/virtiofsd/helper.c:145:
+^I(void) outargs;$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/helper.c:146:
+^Istruct fuse_cmdline_opts *opts = data;$

ERROR: code indent should never use tabs
#1066: FILE: tools/virtiofsd/helper.c:148:
+^Iswitch (key) {$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/helper.c:149:
+^Icase FUSE_OPT_KEY_NONOPT:$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/helper.c:150:
+^I^Iif (!opts->mountpoint) {$

ERROR: code indent should never use tabs
#1069: FILE: tools/virtiofsd/helper.c:151:
+^I^I^Iif (fuse_mnt_parse_fuse_fd(arg) != -1) {$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/helper.c:152:
+^I^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, arg);$

ERROR: code indent should never use tabs
#1071: FILE: tools/virtiofsd/helper.c:153:
+^I^I^I}$

ERROR: code indent should never use tabs
#1073: FILE: tools/virtiofsd/helper.c:155:
+^I^I^Ichar mountpoint[PATH_MAX] = "";$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/helper.c:156:
+^I^I^Iif (realpath(arg, mountpoint) == NULL) {$

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/helper.c:157:
+^I^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#1076: FILE: tools/virtiofsd/helper.c:158:
+^I^I^I^I^I"fuse: bad mount point `%s': %s\n",$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/helper.c:159:
+^I^I^I^I^Iarg, strerror(errno));$

ERROR: code indent should never use tabs
#1078: FILE: tools/virtiofsd/helper.c:160:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1079: FILE: tools/virtiofsd/helper.c:161:
+^I^I^I}$

ERROR: code indent should never use tabs
#1080: FILE: tools/virtiofsd/helper.c:162:
+^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, mountpoint);$

ERROR: code indent should never use tabs
#1081: FILE: tools/virtiofsd/helper.c:163:
+^I^I} else {$

WARNING: line over 80 characters
#1082: FILE: tools/virtiofsd/helper.c:164:
+                       fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", 
arg);

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/helper.c:164:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);$

ERROR: code indent should never use tabs
#1083: FILE: tools/virtiofsd/helper.c:165:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/helper.c:166:
+^I^I}$

ERROR: code indent should never use tabs
#1086: FILE: tools/virtiofsd/helper.c:168:
+^Idefault:$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/helper.c:169:
+^I^I/* Pass through unknown options */$

ERROR: code indent should never use tabs
#1088: FILE: tools/virtiofsd/helper.c:170:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1089: FILE: tools/virtiofsd/helper.c:171:
+^I}$

WARNING: Block comments use a leading /* on a separate line
#1092: FILE: tools/virtiofsd/helper.c:174:
+/* Under FreeBSD, there is no subtype option so this

WARNING: Block comments use * on subsequent lines
#1093: FILE: tools/virtiofsd/helper.c:175:
+/* Under FreeBSD, there is no subtype option so this
+   function actually sets the fsname */

WARNING: Block comments use a trailing */ on a separate line
#1093: FILE: tools/virtiofsd/helper.c:175:
+   function actually sets the fsname */

ERROR: code indent should never use tabs
#1096: FILE: tools/virtiofsd/helper.c:178:
+^Iint res;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/helper.c:179:
+^Ichar *subtype_opt;$

ERROR: code indent should never use tabs
#1099: FILE: tools/virtiofsd/helper.c:181:
+^Iconst char *basename = strrchr(progname, '/');$

ERROR: code indent should never use tabs
#1100: FILE: tools/virtiofsd/helper.c:182:
+^Iif (basename == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1100: FILE: tools/virtiofsd/helper.c:182:
+       if (basename == NULL)
[...]
+       else if (basename[1] != '\0')
[...]

ERROR: code indent should never use tabs
#1101: FILE: tools/virtiofsd/helper.c:183:
+^I^Ibasename = progname;$

ERROR: code indent should never use tabs
#1102: FILE: tools/virtiofsd/helper.c:184:
+^Ielse if (basename[1] != '\0')$

ERROR: braces {} are necessary for all arms of this statement
#1102: FILE: tools/virtiofsd/helper.c:184:
+       else if (basename[1] != '\0')
[...]

ERROR: code indent should never use tabs
#1103: FILE: tools/virtiofsd/helper.c:185:
+^I^Ibasename++;$

ERROR: code indent should never use tabs
#1105: FILE: tools/virtiofsd/helper.c:187:
+^Isubtype_opt = (char *) malloc(strlen(basename) + 64);$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/helper.c:188:
+^Iif (subtype_opt == NULL) {$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/helper.c:189:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#1108: FILE: tools/virtiofsd/helper.c:190:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1109: FILE: tools/virtiofsd/helper.c:191:
+^I}$

WARNING: architecture specific defines should be avoided
#1110: FILE: tools/virtiofsd/helper.c:192:
+#ifdef __FreeBSD__

ERROR: code indent should never use tabs
#1111: FILE: tools/virtiofsd/helper.c:193:
+^Isprintf(subtype_opt, "-ofsname=%s", basename);$

ERROR: code indent should never use tabs
#1113: FILE: tools/virtiofsd/helper.c:195:
+^Isprintf(subtype_opt, "-osubtype=%s", basename);$

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/helper.c:197:
+^Ires = fuse_opt_add_arg(args, subtype_opt);$

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/helper.c:198:
+^Ifree(subtype_opt);$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/helper.c:199:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/helper.c:203:
+^I^I       struct fuse_cmdline_opts *opts)$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/helper.c:205:
+^Imemset(opts, 0, sizeof(struct fuse_cmdline_opts));$

ERROR: code indent should never use tabs
#1125: FILE: tools/virtiofsd/helper.c:207:
+^Iopts->max_idle_threads = 10;$

ERROR: code indent should never use tabs
#1127: FILE: tools/virtiofsd/helper.c:209:
+^Iif (fuse_opt_parse(args, opts, fuse_helper_opts,$

ERROR: code indent should never use tabs
#1128: FILE: tools/virtiofsd/helper.c:210:
+^I^I^I   fuse_helper_opt_proc) == -1)$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/helper.c:211:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1131: FILE: tools/virtiofsd/helper.c:213:
+^I/* *Linux*: if neither -o subtype nor -o fsname are specified,$

WARNING: Block comments use a leading /* on a separate line
#1131: FILE: tools/virtiofsd/helper.c:213:
+       /* *Linux*: if neither -o subtype nor -o fsname are specified,

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/helper.c:214:
+^I   set subtype to program's basename.$

WARNING: Block comments use * on subsequent lines
#1132: FILE: tools/virtiofsd/helper.c:214:
+       /* *Linux*: if neither -o subtype nor -o fsname are specified,
+          set subtype to program's basename.

ERROR: code indent should never use tabs
#1133: FILE: tools/virtiofsd/helper.c:215:
+^I   *FreeBSD*: if fsname is not specified, set to program's$

ERROR: code indent should never use tabs
#1134: FILE: tools/virtiofsd/helper.c:216:
+^I   basename. */$

WARNING: Block comments use a trailing */ on a separate line
#1134: FILE: tools/virtiofsd/helper.c:216:
+          basename. */

ERROR: code indent should never use tabs
#1135: FILE: tools/virtiofsd/helper.c:217:
+^Iif (!opts->nodefault_subtype)$

ERROR: code indent should never use tabs
#1136: FILE: tools/virtiofsd/helper.c:218:
+^I^Iif (add_default_subtype(args->argv[0], args) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1136: FILE: tools/virtiofsd/helper.c:218:
+               if (add_default_subtype(args->argv[0], args) == -1)
[...]

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/helper.c:219:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/helper.c:221:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1145: FILE: tools/virtiofsd/helper.c:227:
+^Iif (!foreground) {$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/helper.c:228:
+^I^Iint nullfd;$

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/helper.c:229:
+^I^Iint waiter[2];$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/helper.c:230:
+^I^Ichar completed;$

ERROR: code indent should never use tabs
#1150: FILE: tools/virtiofsd/helper.c:232:
+^I^Iif (pipe(waiter)) {$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/helper.c:233:
+^I^I^Iperror("fuse_daemonize: pipe");$

ERROR: code indent should never use tabs
#1152: FILE: tools/virtiofsd/helper.c:234:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1153: FILE: tools/virtiofsd/helper.c:235:
+^I^I}$

ERROR: code indent should never use tabs
#1155: FILE: tools/virtiofsd/helper.c:237:
+^I^I/*$

ERROR: code indent should never use tabs
#1156: FILE: tools/virtiofsd/helper.c:238:
+^I^I * demonize current process by forking it and killing the$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/helper.c:239:
+^I^I * parent.  This makes current process as a child of 'init'.$

ERROR: code indent should never use tabs
#1158: FILE: tools/virtiofsd/helper.c:240:
+^I^I */$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/helper.c:241:
+^I^Iswitch(fork()) {$

ERROR: space required before the open parenthesis '('
#1159: FILE: tools/virtiofsd/helper.c:241:
+               switch(fork()) {

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/helper.c:242:
+^I^Icase -1:$

ERROR: code indent should never use tabs
#1161: FILE: tools/virtiofsd/helper.c:243:
+^I^I^Iperror("fuse_daemonize: fork");$

ERROR: code indent should never use tabs
#1162: FILE: tools/virtiofsd/helper.c:244:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/helper.c:245:
+^I^Icase 0:$

ERROR: code indent should never use tabs
#1164: FILE: tools/virtiofsd/helper.c:246:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1165: FILE: tools/virtiofsd/helper.c:247:
+^I^Idefault:$

ERROR: code indent should never use tabs
#1166: FILE: tools/virtiofsd/helper.c:248:
+^I^I^I(void) read(waiter[0], &completed, sizeof(completed));$

ERROR: code indent should never use tabs
#1167: FILE: tools/virtiofsd/helper.c:249:
+^I^I^I_exit(0);$

ERROR: code indent should never use tabs
#1168: FILE: tools/virtiofsd/helper.c:250:
+^I^I}$

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/helper.c:252:
+^I^Iif (setsid() == -1) {$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/helper.c:253:
+^I^I^Iperror("fuse_daemonize: setsid");$

ERROR: code indent should never use tabs
#1172: FILE: tools/virtiofsd/helper.c:254:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1173: FILE: tools/virtiofsd/helper.c:255:
+^I^I}$

ERROR: code indent should never use tabs
#1175: FILE: tools/virtiofsd/helper.c:257:
+^I^I(void) chdir("/");$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/helper.c:259:
+^I^Inullfd = open("/dev/null", O_RDWR, 0);$

ERROR: code indent should never use tabs
#1178: FILE: tools/virtiofsd/helper.c:260:
+^I^Iif (nullfd != -1) {$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/helper.c:261:
+^I^I^I(void) dup2(nullfd, 0);$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/helper.c:262:
+^I^I^I(void) dup2(nullfd, 1);$

ERROR: code indent should never use tabs
#1181: FILE: tools/virtiofsd/helper.c:263:
+^I^I^I(void) dup2(nullfd, 2);$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/helper.c:264:
+^I^I^Iif (nullfd > 2)$

ERROR: braces {} are necessary for all arms of this statement
#1182: FILE: tools/virtiofsd/helper.c:264:
+                       if (nullfd > 2)
[...]

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/helper.c:265:
+^I^I^I^Iclose(nullfd);$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/helper.c:266:
+^I^I}$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/helper.c:268:
+^I^I/* Propagate completion of daemon initialization */$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/helper.c:269:
+^I^Icompleted = 1;$

ERROR: code indent should never use tabs
#1188: FILE: tools/virtiofsd/helper.c:270:
+^I^I(void) write(waiter[1], &completed, sizeof(completed));$

ERROR: code indent should never use tabs
#1189: FILE: tools/virtiofsd/helper.c:271:
+^I^Iclose(waiter[0]);$

ERROR: code indent should never use tabs
#1190: FILE: tools/virtiofsd/helper.c:272:
+^I^Iclose(waiter[1]);$

ERROR: code indent should never use tabs
#1191: FILE: tools/virtiofsd/helper.c:273:
+^I} else {$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/helper.c:274:
+^I^I(void) chdir("/");$

ERROR: code indent should never use tabs
#1193: FILE: tools/virtiofsd/helper.c:275:
+^I}$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/helper.c:276:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/helper.c:280:
+^I^I   size_t op_size, void *user_data)$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/helper.c:282:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$

ERROR: code indent should never use tabs
#1201: FILE: tools/virtiofsd/helper.c:283:
+^Istruct fuse *fuse;$

ERROR: code indent should never use tabs
#1202: FILE: tools/virtiofsd/helper.c:284:
+^Istruct fuse_cmdline_opts opts;$

ERROR: code indent should never use tabs
#1203: FILE: tools/virtiofsd/helper.c:285:
+^Iint res;$

ERROR: code indent should never use tabs
#1205: FILE: tools/virtiofsd/helper.c:287:
+^Iif (fuse_parse_cmdline(&args, &opts) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1205: FILE: tools/virtiofsd/helper.c:287:
+       if (fuse_parse_cmdline(&args, &opts) != 0)
[...]

ERROR: code indent should never use tabs
#1206: FILE: tools/virtiofsd/helper.c:288:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1208: FILE: tools/virtiofsd/helper.c:290:
+^Iif (opts.show_version) {$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/helper.c:291:
+^I^Iprintf("FUSE library version %s\n", PACKAGE_VERSION);$

ERROR: code indent should never use tabs
#1210: FILE: tools/virtiofsd/helper.c:292:
+^I^Ifuse_lowlevel_version();$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/helper.c:293:
+^I^Ires = 0;$

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/helper.c:294:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/helper.c:295:
+^I}$

ERROR: code indent should never use tabs
#1215: FILE: tools/virtiofsd/helper.c:297:
+^Iif (opts.show_help) {$

ERROR: code indent should never use tabs
#1216: FILE: tools/virtiofsd/helper.c:298:
+^I^Iif(args.argv[0][0] != '\0')$

ERROR: space required before the open parenthesis '('
#1216: FILE: tools/virtiofsd/helper.c:298:
+               if(args.argv[0][0] != '\0')

ERROR: code indent should never use tabs
#1217: FILE: tools/virtiofsd/helper.c:299:
+^I^I^Iprintf("usage: %s [options] <mountpoint>\n\n",$

ERROR: code indent should never use tabs
#1218: FILE: tools/virtiofsd/helper.c:300:
+^I^I^I       args.argv[0]);$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/helper.c:301:
+^I^Iprintf("FUSE options:\n");$

ERROR: code indent should never use tabs
#1220: FILE: tools/virtiofsd/helper.c:302:
+^I^Ifuse_cmdline_help();$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/helper.c:303:
+^I^Ifuse_lib_help(&args);$

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/helper.c:304:
+^I^Ires = 0;$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/helper.c:305:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/helper.c:306:
+^I}$

ERROR: code indent should never use tabs
#1226: FILE: tools/virtiofsd/helper.c:308:
+^Iif (!opts.show_help &&$

ERROR: code indent should never use tabs
#1227: FILE: tools/virtiofsd/helper.c:309:
+^I    !opts.mountpoint) {$

ERROR: code indent should never use tabs
#1228: FILE: tools/virtiofsd/helper.c:310:
+^I^Ifuse_log(FUSE_LOG_ERR, "error: no mountpoint specified\n");$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/helper.c:311:
+^I^Ires = 2;$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/helper.c:312:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1231: FILE: tools/virtiofsd/helper.c:313:
+^I}$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/helper.c:316:
+^Ifuse = fuse_new_31(&args, op, op_size, user_data);$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/helper.c:317:
+^Iif (fuse == NULL) {$

ERROR: code indent should never use tabs
#1236: FILE: tools/virtiofsd/helper.c:318:
+^I^Ires = 3;$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/helper.c:319:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1238: FILE: tools/virtiofsd/helper.c:320:
+^I}$

ERROR: code indent should never use tabs
#1240: FILE: tools/virtiofsd/helper.c:322:
+^Iif (fuse_mount(fuse,opts.mountpoint) != 0) {$

ERROR: space required after that ',' (ctx:VxV)
#1240: FILE: tools/virtiofsd/helper.c:322:
+       if (fuse_mount(fuse,opts.mountpoint) != 0) {
                           ^

ERROR: code indent should never use tabs
#1241: FILE: tools/virtiofsd/helper.c:323:
+^I^Ires = 4;$

ERROR: code indent should never use tabs
#1242: FILE: tools/virtiofsd/helper.c:324:
+^I^Igoto out2;$

ERROR: code indent should never use tabs
#1243: FILE: tools/virtiofsd/helper.c:325:
+^I}$

ERROR: code indent should never use tabs
#1245: FILE: tools/virtiofsd/helper.c:327:
+^Iif (fuse_daemonize(opts.foreground) != 0) {$

ERROR: code indent should never use tabs
#1246: FILE: tools/virtiofsd/helper.c:328:
+^I^Ires = 5;$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/helper.c:329:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/helper.c:330:
+^I}$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/helper.c:332:
+^Istruct fuse_session *se = fuse_get_session(fuse);$

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/helper.c:333:
+^Iif (fuse_set_signal_handlers(se) != 0) {$

ERROR: code indent should never use tabs
#1252: FILE: tools/virtiofsd/helper.c:334:
+^I^Ires = 6;$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/helper.c:335:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#1254: FILE: tools/virtiofsd/helper.c:336:
+^I}$

ERROR: code indent should never use tabs
#1256: FILE: tools/virtiofsd/helper.c:338:
+^Iif (opts.singlethread)$

ERROR: code indent should never use tabs
#1257: FILE: tools/virtiofsd/helper.c:339:
+^I^Ires = fuse_loop(fuse);$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/helper.c:340:
+^Ielse {$

ERROR: code indent should never use tabs
#1259: FILE: tools/virtiofsd/helper.c:341:
+^I^Istruct fuse_loop_config loop_config;$

ERROR: code indent should never use tabs
#1260: FILE: tools/virtiofsd/helper.c:342:
+^I^Iloop_config.clone_fd = opts.clone_fd;$

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/helper.c:343:
+^I^Iloop_config.max_idle_threads = opts.max_idle_threads;$

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/helper.c:344:
+^I^Ires = fuse_loop_mt_32(fuse, &loop_config);$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/helper.c:345:
+^I}$

ERROR: code indent should never use tabs
#1264: FILE: tools/virtiofsd/helper.c:346:
+^Iif (res)$

ERROR: braces {} are necessary for all arms of this statement
#1264: FILE: tools/virtiofsd/helper.c:346:
+       if (res)
[...]

ERROR: code indent should never use tabs
#1265: FILE: tools/virtiofsd/helper.c:347:
+^I^Ires = 7;$

ERROR: code indent should never use tabs
#1267: FILE: tools/virtiofsd/helper.c:349:
+^Ifuse_remove_signal_handlers(se);$

ERROR: code indent should never use tabs
#1269: FILE: tools/virtiofsd/helper.c:351:
+^Ifuse_unmount(fuse);$

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/helper.c:353:
+^Ifuse_destroy(fuse);$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/helper.c:355:
+^Ifree(opts.mountpoint);$

ERROR: code indent should never use tabs
#1274: FILE: tools/virtiofsd/helper.c:356:
+^Ifuse_opt_free_args(&args);$

ERROR: code indent should never use tabs
#1275: FILE: tools/virtiofsd/helper.c:357:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1280: FILE: tools/virtiofsd/helper.c:362:
+^I^I^I       struct fuse_conn_info *conn)$

ERROR: code indent should never use tabs
#1282: FILE: tools/virtiofsd/helper.c:364:
+^Iif(opts->set_max_write)$

ERROR: space required before the open parenthesis '('
#1282: FILE: tools/virtiofsd/helper.c:364:
+       if(opts->set_max_write)

ERROR: braces {} are necessary for all arms of this statement
#1282: FILE: tools/virtiofsd/helper.c:364:
+       if(opts->set_max_write)
[...]

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/helper.c:365:
+^I^Iconn->max_write = opts->max_write;$

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/helper.c:366:
+^Iif(opts->set_max_background)$

ERROR: space required before the open parenthesis '('
#1284: FILE: tools/virtiofsd/helper.c:366:
+       if(opts->set_max_background)

ERROR: braces {} are necessary for all arms of this statement
#1284: FILE: tools/virtiofsd/helper.c:366:
+       if(opts->set_max_background)
[...]

ERROR: code indent should never use tabs
#1285: FILE: tools/virtiofsd/helper.c:367:
+^I^Iconn->max_background = opts->max_background;$

ERROR: code indent should never use tabs
#1286: FILE: tools/virtiofsd/helper.c:368:
+^Iif(opts->set_congestion_threshold)$

ERROR: space required before the open parenthesis '('
#1286: FILE: tools/virtiofsd/helper.c:368:
+       if(opts->set_congestion_threshold)

ERROR: braces {} are necessary for all arms of this statement
#1286: FILE: tools/virtiofsd/helper.c:368:
+       if(opts->set_congestion_threshold)
[...]

ERROR: code indent should never use tabs
#1287: FILE: tools/virtiofsd/helper.c:369:
+^I^Iconn->congestion_threshold = opts->congestion_threshold;$

ERROR: code indent should never use tabs
#1288: FILE: tools/virtiofsd/helper.c:370:
+^Iif(opts->set_time_gran)$

ERROR: space required before the open parenthesis '('
#1288: FILE: tools/virtiofsd/helper.c:370:
+       if(opts->set_time_gran)

ERROR: braces {} are necessary for all arms of this statement
#1288: FILE: tools/virtiofsd/helper.c:370:
+       if(opts->set_time_gran)
[...]

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/helper.c:371:
+^I^Iconn->time_gran = opts->time_gran;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/helper.c:372:
+^Iif(opts->set_max_readahead)$

ERROR: space required before the open parenthesis '('
#1290: FILE: tools/virtiofsd/helper.c:372:
+       if(opts->set_max_readahead)

ERROR: braces {} are necessary for all arms of this statement
#1290: FILE: tools/virtiofsd/helper.c:372:
+       if(opts->set_max_readahead)
[...]

ERROR: code indent should never use tabs
#1291: FILE: tools/virtiofsd/helper.c:373:
+^I^Iconn->max_readahead = opts->max_readahead;$

ERROR: space required after that ',' (ctx:VxV)
#1293: FILE: tools/virtiofsd/helper.c:375:
+#define LL_ENABLE(cond,cap) \
                       ^

ERROR: Macros with complex values should be enclosed in parenthesis
#1293: FILE: tools/virtiofsd/helper.c:375:
+#define LL_ENABLE(cond,cap) \
+       if (cond) conn->want |= (cap)

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/helper.c:376:
+^Iif (cond) conn->want |= (cap)$

ERROR: trailing statements should be on next line
#1294: FILE: tools/virtiofsd/helper.c:376:
+       if (cond) conn->want |= (cap)

ERROR: space required after that ',' (ctx:VxV)
#1295: FILE: tools/virtiofsd/helper.c:377:
+#define LL_DISABLE(cond,cap) \
                        ^

ERROR: Macros with complex values should be enclosed in parenthesis
#1295: FILE: tools/virtiofsd/helper.c:377:
+#define LL_DISABLE(cond,cap) \
+       if (cond) conn->want &= ~(cap)

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/helper.c:378:
+^Iif (cond) conn->want &= ~(cap)$

ERROR: trailing statements should be on next line
#1296: FILE: tools/virtiofsd/helper.c:378:
+       if (cond) conn->want &= ~(cap)

ERROR: code indent should never use tabs
#1298: FILE: tools/virtiofsd/helper.c:380:
+^ILL_ENABLE(opts->splice_read, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#1299: FILE: tools/virtiofsd/helper.c:381:
+^ILL_DISABLE(opts->no_splice_read, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#1301: FILE: tools/virtiofsd/helper.c:383:
+^ILL_ENABLE(opts->splice_write, FUSE_CAP_SPLICE_WRITE);$

ERROR: code indent should never use tabs
#1302: FILE: tools/virtiofsd/helper.c:384:
+^ILL_DISABLE(opts->no_splice_write, FUSE_CAP_SPLICE_WRITE);$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/helper.c:386:
+^ILL_ENABLE(opts->splice_move, FUSE_CAP_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#1305: FILE: tools/virtiofsd/helper.c:387:
+^ILL_DISABLE(opts->no_splice_move, FUSE_CAP_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/helper.c:389:
+^ILL_ENABLE(opts->auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/helper.c:390:
+^ILL_DISABLE(opts->no_auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/helper.c:392:
+^ILL_DISABLE(opts->no_readdirplus, FUSE_CAP_READDIRPLUS);$

ERROR: code indent should never use tabs
#1311: FILE: tools/virtiofsd/helper.c:393:
+^ILL_DISABLE(opts->no_readdirplus_auto, FUSE_CAP_READDIRPLUS_AUTO);$

ERROR: code indent should never use tabs
#1313: FILE: tools/virtiofsd/helper.c:395:
+^ILL_ENABLE(opts->async_dio, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#1314: FILE: tools/virtiofsd/helper.c:396:
+^ILL_DISABLE(opts->no_async_dio, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#1316: FILE: tools/virtiofsd/helper.c:398:
+^ILL_ENABLE(opts->writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/helper.c:399:
+^ILL_DISABLE(opts->no_writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/helper.c:401:
+^ILL_ENABLE(opts->async_read, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/helper.c:402:
+^ILL_DISABLE(opts->sync_read, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#1322: FILE: tools/virtiofsd/helper.c:404:
+^ILL_DISABLE(opts->no_remote_posix_lock, FUSE_CAP_POSIX_LOCKS);$

ERROR: code indent should never use tabs
#1323: FILE: tools/virtiofsd/helper.c:405:
+^ILL_DISABLE(opts->no_remote_flock, FUSE_CAP_FLOCK_LOCKS);$

ERROR: "foo* bar" should be "foo *bar"
#1326: FILE: tools/virtiofsd/helper.c:408:
+struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args)

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/helper.c:410:
+^Istruct fuse_conn_info_opts *opts;$

ERROR: code indent should never use tabs
#1330: FILE: tools/virtiofsd/helper.c:412:
+^Iopts = calloc(1, sizeof(struct fuse_conn_info_opts));$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/helper.c:413:
+^Iif(opts == NULL) {$

ERROR: space required before the open parenthesis '('
#1331: FILE: tools/virtiofsd/helper.c:413:
+       if(opts == NULL) {

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/helper.c:414:
+^I^Ifuse_log(FUSE_LOG_ERR, "calloc failed\n");$

ERROR: code indent should never use tabs
#1333: FILE: tools/virtiofsd/helper.c:415:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/helper.c:416:
+^I}$

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/helper.c:417:
+^Iif(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {$

ERROR: space required before the open parenthesis '('
#1335: FILE: tools/virtiofsd/helper.c:417:
+       if(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/helper.c:418:
+^I^Ifree(opts);$

ERROR: code indent should never use tabs
#1337: FILE: tools/virtiofsd/helper.c:419:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1338: FILE: tools/virtiofsd/helper.c:420:
+^I}$

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/helper.c:421:
+^Ireturn opts;$

ERROR: code indent should never use tabs
#1344: FILE: tools/virtiofsd/helper.c:426:
+^Istruct mount_opts *opts = NULL;$

ERROR: code indent should never use tabs
#1345: FILE: tools/virtiofsd/helper.c:427:
+^Iint fd = -1;$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/helper.c:428:
+^Iconst char *argv[] = { "", "-o", options };$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/helper.c:429:
+^Iint argc = sizeof(argv) / sizeof(argv[0]);$

ERROR: code indent should never use tabs
#1348: FILE: tools/virtiofsd/helper.c:430:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv);$

ERROR: "(foo**)" should be "(foo **)"
#1348: FILE: tools/virtiofsd/helper.c:430:
+       struct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv);

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/helper.c:432:
+^Iopts = parse_mount_opts(&args);$

ERROR: code indent should never use tabs
#1351: FILE: tools/virtiofsd/helper.c:433:
+^Iif (opts == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1351: FILE: tools/virtiofsd/helper.c:433:
+       if (opts == NULL)
[...]

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/helper.c:434:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/helper.c:436:
+^Ifd = fuse_kern_mount(mountpoint, opts);$

ERROR: code indent should never use tabs
#1355: FILE: tools/virtiofsd/helper.c:437:
+^Idestroy_mount_opts(opts);$

ERROR: code indent should never use tabs
#1357: FILE: tools/virtiofsd/helper.c:439:
+^Ireturn fd;$

total: 943 errors, 21 warnings, 1315 lines checked

Patch 3/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/111 Checking commit 2fbe697abc8b (virtiofsd: Add fuse_lowlevel.c)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#24: FILE: tools/virtiofsd/fuse_lowlevel.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#57: FILE: tools/virtiofsd/fuse_lowlevel.c:35:
+#define F_SETPIPE_SZ^I(F_LINUX_SPECIFIC_BASE + 7)$

ERROR: code indent should never use tabs
#64: FILE: tools/virtiofsd/fuse_lowlevel.c:42:
+#define container_of(ptr, type, member) ({^I^I^I^I\$

ERROR: code indent should never use tabs
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+^I^I^Iconst typeof( ((type *)0)->member ) *__mptr = (ptr); \$

ERROR: spaces required around that '*' (ctx:WxV)
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                            ^

ERROR: space prohibited after that open parenthesis '('
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \

ERROR: space prohibited before that close parenthesis ')'
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \

ERROR: code indent should never use tabs
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+^I^I^I(type *)( (char *)__mptr - offsetof(type,member) );})$

ERROR: space required after that ',' (ctx:VxV)
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})
                                                                ^

ERROR: space required after that ';' (ctx:VxV)
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})
                                                                          ^

ERROR: space prohibited after that open parenthesis '('
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})

ERROR: space prohibited before that close parenthesis ')'
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})

ERROR: code indent should never use tabs
#69: FILE: tools/virtiofsd/fuse_lowlevel.c:47:
+^Iuint64_t kh;$

ERROR: code indent should never use tabs
#70: FILE: tools/virtiofsd/fuse_lowlevel.c:48:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#77: FILE: tools/virtiofsd/fuse_lowlevel.c:55:
+^Ipagesize = getpagesize();$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#77: FILE: tools/virtiofsd/fuse_lowlevel.c:55:
+       pagesize = getpagesize();

ERROR: code indent should never use tabs
#82: FILE: tools/virtiofsd/fuse_lowlevel.c:60:
+^Iattr->ino^I= stbuf->st_ino;$

ERROR: code indent should never use tabs
#83: FILE: tools/virtiofsd/fuse_lowlevel.c:61:
+^Iattr->mode^I= stbuf->st_mode;$

ERROR: code indent should never use tabs
#84: FILE: tools/virtiofsd/fuse_lowlevel.c:62:
+^Iattr->nlink^I= stbuf->st_nlink;$

ERROR: code indent should never use tabs
#85: FILE: tools/virtiofsd/fuse_lowlevel.c:63:
+^Iattr->uid^I= stbuf->st_uid;$

ERROR: code indent should never use tabs
#86: FILE: tools/virtiofsd/fuse_lowlevel.c:64:
+^Iattr->gid^I= stbuf->st_gid;$

ERROR: code indent should never use tabs
#87: FILE: tools/virtiofsd/fuse_lowlevel.c:65:
+^Iattr->rdev^I= stbuf->st_rdev;$

ERROR: code indent should never use tabs
#88: FILE: tools/virtiofsd/fuse_lowlevel.c:66:
+^Iattr->size^I= stbuf->st_size;$

ERROR: code indent should never use tabs
#89: FILE: tools/virtiofsd/fuse_lowlevel.c:67:
+^Iattr->blksize^I= stbuf->st_blksize;$

ERROR: code indent should never use tabs
#90: FILE: tools/virtiofsd/fuse_lowlevel.c:68:
+^Iattr->blocks^I= stbuf->st_blocks;$

ERROR: code indent should never use tabs
#91: FILE: tools/virtiofsd/fuse_lowlevel.c:69:
+^Iattr->atime^I= stbuf->st_atime;$

ERROR: code indent should never use tabs
#92: FILE: tools/virtiofsd/fuse_lowlevel.c:70:
+^Iattr->mtime^I= stbuf->st_mtime;$

ERROR: code indent should never use tabs
#93: FILE: tools/virtiofsd/fuse_lowlevel.c:71:
+^Iattr->ctime^I= stbuf->st_ctime;$

ERROR: code indent should never use tabs
#94: FILE: tools/virtiofsd/fuse_lowlevel.c:72:
+^Iattr->atimensec = ST_ATIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#95: FILE: tools/virtiofsd/fuse_lowlevel.c:73:
+^Iattr->mtimensec = ST_MTIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/fuse_lowlevel.c:74:
+^Iattr->ctimensec = ST_CTIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#101: FILE: tools/virtiofsd/fuse_lowlevel.c:79:
+^Istbuf->st_mode^I       = attr->mode;$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/fuse_lowlevel.c:80:
+^Istbuf->st_uid^I       = attr->uid;$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/fuse_lowlevel.c:81:
+^Istbuf->st_gid^I       = attr->gid;$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/fuse_lowlevel.c:82:
+^Istbuf->st_size^I       = attr->size;$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/fuse_lowlevel.c:83:
+^Istbuf->st_atime^I       = attr->atime;$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/fuse_lowlevel.c:84:
+^Istbuf->st_mtime^I       = attr->mtime;$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/fuse_lowlevel.c:85:
+^Istbuf->st_ctime        = attr->ctime;$

ERROR: code indent should never use tabs
#108: FILE: tools/virtiofsd/fuse_lowlevel.c:86:
+^IST_ATIM_NSEC_SET(stbuf, attr->atimensec);$

ERROR: code indent should never use tabs
#109: FILE: tools/virtiofsd/fuse_lowlevel.c:87:
+^IST_MTIM_NSEC_SET(stbuf, attr->mtimensec);$

ERROR: code indent should never use tabs
#110: FILE: tools/virtiofsd/fuse_lowlevel.c:88:
+^IST_CTIM_NSEC_SET(stbuf, attr->ctimensec);$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/fuse_lowlevel.c:91:
+static^Isize_t iov_length(const struct iovec *iov, size_t count)$

ERROR: code indent should never use tabs
#115: FILE: tools/virtiofsd/fuse_lowlevel.c:93:
+^Isize_t seg;$

ERROR: code indent should never use tabs
#116: FILE: tools/virtiofsd/fuse_lowlevel.c:94:
+^Isize_t ret = 0;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/fuse_lowlevel.c:96:
+^Ifor (seg = 0; seg < count; seg++)$

ERROR: braces {} are necessary for all arms of this statement
#118: FILE: tools/virtiofsd/fuse_lowlevel.c:96:
+       for (seg = 0; seg < count; seg++)
[...]

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/fuse_lowlevel.c:97:
+^I^Iret += iov[seg].iov_len;$

ERROR: code indent should never use tabs
#120: FILE: tools/virtiofsd/fuse_lowlevel.c:98:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#125: FILE: tools/virtiofsd/fuse_lowlevel.c:103:
+^Ireq->next = req;$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/fuse_lowlevel.c:104:
+^Ireq->prev = req;$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/fuse_lowlevel.c:109:
+^Istruct fuse_req *prev = req->prev;$

ERROR: code indent should never use tabs
#132: FILE: tools/virtiofsd/fuse_lowlevel.c:110:
+^Istruct fuse_req *next = req->next;$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/fuse_lowlevel.c:111:
+^Iprev->next = next;$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/fuse_lowlevel.c:112:
+^Inext->prev = prev;$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/fuse_lowlevel.c:117:
+^Istruct fuse_req *prev = next->prev;$

ERROR: code indent should never use tabs
#140: FILE: tools/virtiofsd/fuse_lowlevel.c:118:
+^Ireq->next = next;$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/fuse_lowlevel.c:119:
+^Ireq->prev = prev;$

ERROR: code indent should never use tabs
#142: FILE: tools/virtiofsd/fuse_lowlevel.c:120:
+^Iprev->next = req;$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/fuse_lowlevel.c:121:
+^Inext->prev = req;$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/fuse_lowlevel.c:126:
+^Ipthread_mutex_destroy(&req->lock);$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/fuse_lowlevel.c:127:
+^Ifree(req);$

ERROR: code indent should never use tabs
#154: FILE: tools/virtiofsd/fuse_lowlevel.c:132:
+^Iint ctr;$

ERROR: code indent should never use tabs
#155: FILE: tools/virtiofsd/fuse_lowlevel.c:133:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#157: FILE: tools/virtiofsd/fuse_lowlevel.c:135:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#158: FILE: tools/virtiofsd/fuse_lowlevel.c:136:
+^Ireq->u.ni.func = NULL;$

ERROR: code indent should never use tabs
#159: FILE: tools/virtiofsd/fuse_lowlevel.c:137:
+^Ireq->u.ni.data = NULL;$

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/fuse_lowlevel.c:138:
+^Ilist_del_req(req);$

ERROR: code indent should never use tabs
#161: FILE: tools/virtiofsd/fuse_lowlevel.c:139:
+^Ictr = --req->ctr;$

ERROR: code indent should never use tabs
#162: FILE: tools/virtiofsd/fuse_lowlevel.c:140:
+^Ifuse_chan_put(req->ch);$

ERROR: code indent should never use tabs
#163: FILE: tools/virtiofsd/fuse_lowlevel.c:141:
+^Ireq->ch = NULL;$

ERROR: code indent should never use tabs
#164: FILE: tools/virtiofsd/fuse_lowlevel.c:142:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#165: FILE: tools/virtiofsd/fuse_lowlevel.c:143:
+^Iif (!ctr)$

ERROR: braces {} are necessary for all arms of this statement
#165: FILE: tools/virtiofsd/fuse_lowlevel.c:143:
+       if (!ctr)
[...]

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/fuse_lowlevel.c:144:
+^I^Idestroy_req(req);$

ERROR: code indent should never use tabs
#171: FILE: tools/virtiofsd/fuse_lowlevel.c:149:
+^Istruct fuse_req *req;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/fuse_lowlevel.c:151:
+^Ireq = (struct fuse_req *) calloc(1, sizeof(struct fuse_req));$

ERROR: code indent should never use tabs
#174: FILE: tools/virtiofsd/fuse_lowlevel.c:152:
+^Iif (req == NULL) {$

ERROR: code indent should never use tabs
#175: FILE: tools/virtiofsd/fuse_lowlevel.c:153:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate request\n");$

ERROR: code indent should never use tabs
#176: FILE: tools/virtiofsd/fuse_lowlevel.c:154:
+^I} else {$

ERROR: code indent should never use tabs
#177: FILE: tools/virtiofsd/fuse_lowlevel.c:155:
+^I^Ireq->se = se;$

ERROR: code indent should never use tabs
#178: FILE: tools/virtiofsd/fuse_lowlevel.c:156:
+^I^Ireq->ctr = 1;$

ERROR: code indent should never use tabs
#179: FILE: tools/virtiofsd/fuse_lowlevel.c:157:
+^I^Ilist_init_req(req);$

ERROR: code indent should never use tabs
#180: FILE: tools/virtiofsd/fuse_lowlevel.c:158:
+^I^Ifuse_mutex_init(&req->lock);$

ERROR: code indent should never use tabs
#181: FILE: tools/virtiofsd/fuse_lowlevel.c:159:
+^I}$

ERROR: code indent should never use tabs
#183: FILE: tools/virtiofsd/fuse_lowlevel.c:161:
+^Ireturn req;$

ERROR: code indent should never use tabs
#188: FILE: tools/virtiofsd/fuse_lowlevel.c:166:
+^I^I^I struct iovec *iov, int count)$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/fuse_lowlevel.c:168:
+^Istruct fuse_out_header *out = iov[0].iov_base;$

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/fuse_lowlevel.c:170:
+^Iout->len = iov_length(iov, count);$

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/fuse_lowlevel.c:171:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/fuse_lowlevel.c:172:
+^I^Iif (out->unique == 0) {$

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/fuse_lowlevel.c:173:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "NOTIFY: code=%d length=%u\n",$

ERROR: code indent should never use tabs
#196: FILE: tools/virtiofsd/fuse_lowlevel.c:174:
+^I^I^I^Iout->error, out->len);$

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/fuse_lowlevel.c:175:
+^I^I} else if (out->error) {$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/fuse_lowlevel.c:176:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/fuse_lowlevel.c:177:
+^I^I^I^I"   unique: %llu, error: %i (%s), outsize: %i\n",$

ERROR: code indent should never use tabs
#200: FILE: tools/virtiofsd/fuse_lowlevel.c:178:
+^I^I^I^I(unsigned long long) out->unique, out->error,$

ERROR: code indent should never use tabs
#201: FILE: tools/virtiofsd/fuse_lowlevel.c:179:
+^I^I^I^Istrerror(-out->error), out->len);$

ERROR: code indent should never use tabs
#202: FILE: tools/virtiofsd/fuse_lowlevel.c:180:
+^I^I} else {$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/fuse_lowlevel.c:181:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#204: FILE: tools/virtiofsd/fuse_lowlevel.c:182:
+^I^I^I^I"   unique: %llu, success, outsize: %i\n",$

ERROR: code indent should never use tabs
#205: FILE: tools/virtiofsd/fuse_lowlevel.c:183:
+^I^I^I^I(unsigned long long) out->unique, out->len);$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/fuse_lowlevel.c:184:
+^I^I}$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/fuse_lowlevel.c:185:
+^I}$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/fuse_lowlevel.c:187:
+^Issize_t res = writev(ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#210: FILE: tools/virtiofsd/fuse_lowlevel.c:188:
+^I^I^I     iov, count);$

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/fuse_lowlevel.c:189:
+^Iint err = errno;$

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/fuse_lowlevel.c:191:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#214: FILE: tools/virtiofsd/fuse_lowlevel.c:192:
+^I^Iassert(se != NULL);$

ERROR: code indent should never use tabs
#216: FILE: tools/virtiofsd/fuse_lowlevel.c:194:
+^I^I/* ENOENT means the operation was interrupted */$

ERROR: code indent should never use tabs
#217: FILE: tools/virtiofsd/fuse_lowlevel.c:195:
+^I^Iif (!fuse_session_exited(se) && err != ENOENT)$

ERROR: braces {} are necessary for all arms of this statement
#217: FILE: tools/virtiofsd/fuse_lowlevel.c:195:
+               if (!fuse_session_exited(se) && err != ENOENT)
[...]

ERROR: code indent should never use tabs
#218: FILE: tools/virtiofsd/fuse_lowlevel.c:196:
+^I^I^Iperror("fuse: writing device");$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/fuse_lowlevel.c:197:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#220: FILE: tools/virtiofsd/fuse_lowlevel.c:198:
+^I}$

ERROR: code indent should never use tabs
#222: FILE: tools/virtiofsd/fuse_lowlevel.c:200:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/fuse_lowlevel.c:205:
+^I^I^I       int count)$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/fuse_lowlevel.c:207:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#231: FILE: tools/virtiofsd/fuse_lowlevel.c:209:
+^Iif (error <= -1000 || error > 0) {$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/fuse_lowlevel.c:210:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: bad error value: %i\n",^Ierror);$

ERROR: code indent should never use tabs
#233: FILE: tools/virtiofsd/fuse_lowlevel.c:211:
+^I^Ierror = -ERANGE;$

ERROR: code indent should never use tabs
#234: FILE: tools/virtiofsd/fuse_lowlevel.c:212:
+^I}$

ERROR: code indent should never use tabs
#236: FILE: tools/virtiofsd/fuse_lowlevel.c:214:
+^Iout.unique = req->unique;$

ERROR: code indent should never use tabs
#237: FILE: tools/virtiofsd/fuse_lowlevel.c:215:
+^Iout.error = error;$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/fuse_lowlevel.c:217:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#240: FILE: tools/virtiofsd/fuse_lowlevel.c:218:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#242: FILE: tools/virtiofsd/fuse_lowlevel.c:220:
+^Ireturn fuse_send_msg(req->se, req->ch, iov, count);$

ERROR: code indent should never use tabs
#246: FILE: tools/virtiofsd/fuse_lowlevel.c:224:
+^I^I^I  int count)$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/fuse_lowlevel.c:226:
+^Iint res;$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/fuse_lowlevel.c:228:
+^Ires = fuse_send_reply_iov_nofree(req, error, iov, count);$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/fuse_lowlevel.c:229:
+^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#252: FILE: tools/virtiofsd/fuse_lowlevel.c:230:
+^Ireturn res;$

ERROR: code indent should never use tabs
#256: FILE: tools/virtiofsd/fuse_lowlevel.c:234:
+^I^I      size_t argsize)$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/fuse_lowlevel.c:236:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/fuse_lowlevel.c:237:
+^Iint count = 1;$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/fuse_lowlevel.c:238:
+^Iif (argsize) {$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/fuse_lowlevel.c:239:
+^I^Iiov[1].iov_base = (void *) arg;$

ERROR: code indent should never use tabs
#262: FILE: tools/virtiofsd/fuse_lowlevel.c:240:
+^I^Iiov[1].iov_len = argsize;$

ERROR: code indent should never use tabs
#263: FILE: tools/virtiofsd/fuse_lowlevel.c:241:
+^I^Icount++;$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/fuse_lowlevel.c:242:
+^I}$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/fuse_lowlevel.c:243:
+^Ireturn send_reply_iov(req, error, iov, count);$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/fuse_lowlevel.c:248:
+^Iint res;$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/fuse_lowlevel.c:249:
+^Istruct iovec *padded_iov;$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/fuse_lowlevel.c:251:
+^Ipadded_iov = malloc((count + 1) * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#274: FILE: tools/virtiofsd/fuse_lowlevel.c:252:
+^Iif (padded_iov == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#274: FILE: tools/virtiofsd/fuse_lowlevel.c:252:
+       if (padded_iov == NULL)
[...]

ERROR: code indent should never use tabs
#275: FILE: tools/virtiofsd/fuse_lowlevel.c:253:
+^I^Ireturn fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#277: FILE: tools/virtiofsd/fuse_lowlevel.c:255:
+^Imemcpy(padded_iov + 1, iov, count * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/fuse_lowlevel.c:256:
+^Icount++;$

ERROR: code indent should never use tabs
#280: FILE: tools/virtiofsd/fuse_lowlevel.c:258:
+^Ires = send_reply_iov(req, 0, padded_iov, count);$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/fuse_lowlevel.c:259:
+^Ifree(padded_iov);$

ERROR: code indent should never use tabs
#283: FILE: tools/virtiofsd/fuse_lowlevel.c:261:
+^Ireturn res;$

WARNING: Block comments use a leading /* on a separate line
#287: FILE: tools/virtiofsd/fuse_lowlevel.c:265:
+/* `buf` is allowed to be empty so that the proper size may be

WARNING: Block comments use * on subsequent lines
#288: FILE: tools/virtiofsd/fuse_lowlevel.c:266:
+/* `buf` is allowed to be empty so that the proper size may be
+   allocated by the caller */

WARNING: Block comments use a trailing */ on a separate line
#288: FILE: tools/virtiofsd/fuse_lowlevel.c:266:
+   allocated by the caller */

ERROR: code indent should never use tabs
#290: FILE: tools/virtiofsd/fuse_lowlevel.c:268:
+^I^I^I const char *name, const struct stat *stbuf, off_t off)$

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/fuse_lowlevel.c:270:
+^I(void)req;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/fuse_lowlevel.c:271:
+^Isize_t namelen;$

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/fuse_lowlevel.c:272:
+^Isize_t entlen;$

ERROR: code indent should never use tabs
#295: FILE: tools/virtiofsd/fuse_lowlevel.c:273:
+^Isize_t entlen_padded;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/fuse_lowlevel.c:274:
+^Istruct fuse_dirent *dirent;$

ERROR: code indent should never use tabs
#298: FILE: tools/virtiofsd/fuse_lowlevel.c:276:
+^Inamelen = strlen(name);$

ERROR: code indent should never use tabs
#299: FILE: tools/virtiofsd/fuse_lowlevel.c:277:
+^Ientlen = FUSE_NAME_OFFSET + namelen;$

ERROR: code indent should never use tabs
#300: FILE: tools/virtiofsd/fuse_lowlevel.c:278:
+^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$

ERROR: code indent should never use tabs
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+^Iif ((buf == NULL) || (entlen_padded > bufsize))$

ERROR: suspect code indent for conditional statements (8, 10)
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+       if ((buf == NULL) || (entlen_padded > bufsize))
+         return entlen_padded;

ERROR: braces {} are necessary for all arms of this statement
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+       if ((buf == NULL) || (entlen_padded > bufsize))
[...]

ERROR: code indent should never use tabs
#303: FILE: tools/virtiofsd/fuse_lowlevel.c:281:
+^I  return entlen_padded;$

ERROR: code indent should never use tabs
#305: FILE: tools/virtiofsd/fuse_lowlevel.c:283:
+^Idirent = (struct fuse_dirent*) buf;$

ERROR: "(foo*)" should be "(foo *)"
#305: FILE: tools/virtiofsd/fuse_lowlevel.c:283:
+       dirent = (struct fuse_dirent*) buf;

ERROR: code indent should never use tabs
#306: FILE: tools/virtiofsd/fuse_lowlevel.c:284:
+^Idirent->ino = stbuf->st_ino;$

ERROR: code indent should never use tabs
#307: FILE: tools/virtiofsd/fuse_lowlevel.c:285:
+^Idirent->off = off;$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/fuse_lowlevel.c:286:
+^Idirent->namelen = namelen;$

ERROR: code indent should never use tabs
#309: FILE: tools/virtiofsd/fuse_lowlevel.c:287:
+^Idirent->type = (stbuf->st_mode & S_IFMT) >> 12;$

ERROR: code indent should never use tabs
#310: FILE: tools/virtiofsd/fuse_lowlevel.c:288:
+^Imemcpy(dirent->name, name, namelen);$

ERROR: code indent should never use tabs
#311: FILE: tools/virtiofsd/fuse_lowlevel.c:289:
+^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/fuse_lowlevel.c:291:
+^Ireturn entlen_padded;$

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/fuse_lowlevel.c:295:
+^I^I^I   struct fuse_kstatfs *kstatfs)$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/fuse_lowlevel.c:297:
+^Ikstatfs->bsize^I = stbuf->f_bsize;$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/fuse_lowlevel.c:298:
+^Ikstatfs->frsize^I = stbuf->f_frsize;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/fuse_lowlevel.c:299:
+^Ikstatfs->blocks^I = stbuf->f_blocks;$

ERROR: code indent should never use tabs
#322: FILE: tools/virtiofsd/fuse_lowlevel.c:300:
+^Ikstatfs->bfree^I = stbuf->f_bfree;$

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/fuse_lowlevel.c:301:
+^Ikstatfs->bavail^I = stbuf->f_bavail;$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/fuse_lowlevel.c:302:
+^Ikstatfs->files^I = stbuf->f_files;$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/fuse_lowlevel.c:303:
+^Ikstatfs->ffree^I = stbuf->f_ffree;$

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/fuse_lowlevel.c:304:
+^Ikstatfs->namelen = stbuf->f_namemax;$

ERROR: code indent should never use tabs
#331: FILE: tools/virtiofsd/fuse_lowlevel.c:309:
+^Ireturn send_reply(req, 0, arg, argsize);$

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/fuse_lowlevel.c:314:
+^Ireturn send_reply(req, -err, NULL, 0);$

ERROR: code indent should never use tabs
#341: FILE: tools/virtiofsd/fuse_lowlevel.c:319:
+^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#346: FILE: tools/virtiofsd/fuse_lowlevel.c:324:
+^Iif (t > (double) ULONG_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#346: FILE: tools/virtiofsd/fuse_lowlevel.c:324:
+       if (t > (double) ULONG_MAX)
[...]
+       else if (t < 0.0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#347: FILE: tools/virtiofsd/fuse_lowlevel.c:325:
+^I^Ireturn ULONG_MAX;$

ERROR: code indent should never use tabs
#348: FILE: tools/virtiofsd/fuse_lowlevel.c:326:
+^Ielse if (t < 0.0)$

ERROR: braces {} are necessary for all arms of this statement
#348: FILE: tools/virtiofsd/fuse_lowlevel.c:326:
+       else if (t < 0.0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#349: FILE: tools/virtiofsd/fuse_lowlevel.c:327:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#350: FILE: tools/virtiofsd/fuse_lowlevel.c:328:
+^Ielse$

ERROR: code indent should never use tabs
#351: FILE: tools/virtiofsd/fuse_lowlevel.c:329:
+^I^Ireturn (unsigned long) t;$

ERROR: code indent should never use tabs
#356: FILE: tools/virtiofsd/fuse_lowlevel.c:334:
+^Idouble f = t - (double) calc_timeout_sec(t);$

ERROR: code indent should never use tabs
#357: FILE: tools/virtiofsd/fuse_lowlevel.c:335:
+^Iif (f < 0.0)$

ERROR: braces {} are necessary for all arms of this statement
#357: FILE: tools/virtiofsd/fuse_lowlevel.c:335:
+       if (f < 0.0)
[...]
+       else if (f >= 0.999999999)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#358: FILE: tools/virtiofsd/fuse_lowlevel.c:336:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#359: FILE: tools/virtiofsd/fuse_lowlevel.c:337:
+^Ielse if (f >= 0.999999999)$

ERROR: braces {} are necessary for all arms of this statement
#359: FILE: tools/virtiofsd/fuse_lowlevel.c:337:
+       else if (f >= 0.999999999)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#360: FILE: tools/virtiofsd/fuse_lowlevel.c:338:
+^I^Ireturn 999999999;$

ERROR: code indent should never use tabs
#361: FILE: tools/virtiofsd/fuse_lowlevel.c:339:
+^Ielse$

ERROR: code indent should never use tabs
#362: FILE: tools/virtiofsd/fuse_lowlevel.c:340:
+^I^Ireturn (unsigned int) (f * 1.0e9);$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/fuse_lowlevel.c:344:
+^I^I       const struct fuse_entry_param *e)$

ERROR: code indent should never use tabs
#368: FILE: tools/virtiofsd/fuse_lowlevel.c:346:
+^Iarg->nodeid = e->ino;$

ERROR: code indent should never use tabs
#369: FILE: tools/virtiofsd/fuse_lowlevel.c:347:
+^Iarg->generation = e->generation;$

ERROR: code indent should never use tabs
#370: FILE: tools/virtiofsd/fuse_lowlevel.c:348:
+^Iarg->entry_valid = calc_timeout_sec(e->entry_timeout);$

ERROR: code indent should never use tabs
#371: FILE: tools/virtiofsd/fuse_lowlevel.c:349:
+^Iarg->entry_valid_nsec = calc_timeout_nsec(e->entry_timeout);$

ERROR: code indent should never use tabs
#372: FILE: tools/virtiofsd/fuse_lowlevel.c:350:
+^Iarg->attr_valid = calc_timeout_sec(e->attr_timeout);$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/fuse_lowlevel.c:351:
+^Iarg->attr_valid_nsec = calc_timeout_nsec(e->attr_timeout);$

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/fuse_lowlevel.c:352:
+^Iconvert_stat(&e->attr, &arg->attr);$

WARNING: Block comments use a leading /* on a separate line
#377: FILE: tools/virtiofsd/fuse_lowlevel.c:355:
+/* `buf` is allowed to be empty so that the proper size may be

WARNING: Block comments use * on subsequent lines
#378: FILE: tools/virtiofsd/fuse_lowlevel.c:356:
+/* `buf` is allowed to be empty so that the proper size may be
+   allocated by the caller */

WARNING: Block comments use a trailing */ on a separate line
#378: FILE: tools/virtiofsd/fuse_lowlevel.c:356:
+   allocated by the caller */

ERROR: code indent should never use tabs
#380: FILE: tools/virtiofsd/fuse_lowlevel.c:358:
+^I^I^I      const char *name,$

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/fuse_lowlevel.c:359:
+^I^I^I      const struct fuse_entry_param *e, off_t off)$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/fuse_lowlevel.c:361:
+^I(void)req;$

ERROR: code indent should never use tabs
#384: FILE: tools/virtiofsd/fuse_lowlevel.c:362:
+^Isize_t namelen;$

ERROR: code indent should never use tabs
#385: FILE: tools/virtiofsd/fuse_lowlevel.c:363:
+^Isize_t entlen;$

ERROR: code indent should never use tabs
#386: FILE: tools/virtiofsd/fuse_lowlevel.c:364:
+^Isize_t entlen_padded;$

ERROR: code indent should never use tabs
#388: FILE: tools/virtiofsd/fuse_lowlevel.c:366:
+^Inamelen = strlen(name);$

ERROR: code indent should never use tabs
#389: FILE: tools/virtiofsd/fuse_lowlevel.c:367:
+^Ientlen = FUSE_NAME_OFFSET_DIRENTPLUS + namelen;$

ERROR: code indent should never use tabs
#390: FILE: tools/virtiofsd/fuse_lowlevel.c:368:
+^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$

ERROR: code indent should never use tabs
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+^Iif ((buf == NULL) || (entlen_padded > bufsize))$

ERROR: suspect code indent for conditional statements (8, 10)
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+       if ((buf == NULL) || (entlen_padded > bufsize))
+         return entlen_padded;

ERROR: braces {} are necessary for all arms of this statement
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+       if ((buf == NULL) || (entlen_padded > bufsize))
[...]

ERROR: code indent should never use tabs
#392: FILE: tools/virtiofsd/fuse_lowlevel.c:370:
+^I  return entlen_padded;$

ERROR: code indent should never use tabs
#394: FILE: tools/virtiofsd/fuse_lowlevel.c:372:
+^Istruct fuse_direntplus *dp = (struct fuse_direntplus *) buf;$

ERROR: code indent should never use tabs
#395: FILE: tools/virtiofsd/fuse_lowlevel.c:373:
+^Imemset(&dp->entry_out, 0, sizeof(dp->entry_out));$

ERROR: code indent should never use tabs
#396: FILE: tools/virtiofsd/fuse_lowlevel.c:374:
+^Ifill_entry(&dp->entry_out, e);$

ERROR: code indent should never use tabs
#398: FILE: tools/virtiofsd/fuse_lowlevel.c:376:
+^Istruct fuse_dirent *dirent = &dp->dirent;$

ERROR: code indent should never use tabs
#399: FILE: tools/virtiofsd/fuse_lowlevel.c:377:
+^Idirent->ino = e->attr.st_ino;$

ERROR: code indent should never use tabs
#400: FILE: tools/virtiofsd/fuse_lowlevel.c:378:
+^Idirent->off = off;$

ERROR: code indent should never use tabs
#401: FILE: tools/virtiofsd/fuse_lowlevel.c:379:
+^Idirent->namelen = namelen;$

ERROR: code indent should never use tabs
#402: FILE: tools/virtiofsd/fuse_lowlevel.c:380:
+^Idirent->type = (e->attr.st_mode & S_IFMT) >> 12;$

ERROR: code indent should never use tabs
#403: FILE: tools/virtiofsd/fuse_lowlevel.c:381:
+^Imemcpy(dirent->name, name, namelen);$

ERROR: code indent should never use tabs
#404: FILE: tools/virtiofsd/fuse_lowlevel.c:382:
+^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$

ERROR: code indent should never use tabs
#406: FILE: tools/virtiofsd/fuse_lowlevel.c:384:
+^Ireturn entlen_padded;$

ERROR: code indent should never use tabs
#410: FILE: tools/virtiofsd/fuse_lowlevel.c:388:
+^I^I      const struct fuse_file_info *f)$

ERROR: code indent should never use tabs
#412: FILE: tools/virtiofsd/fuse_lowlevel.c:390:
+^Iarg->fh = f->fh;$

ERROR: code indent should never use tabs
#413: FILE: tools/virtiofsd/fuse_lowlevel.c:391:
+^Iif (f->direct_io)$

ERROR: braces {} are necessary for all arms of this statement
#413: FILE: tools/virtiofsd/fuse_lowlevel.c:391:
+       if (f->direct_io)
[...]

ERROR: code indent should never use tabs
#414: FILE: tools/virtiofsd/fuse_lowlevel.c:392:
+^I^Iarg->open_flags |= FOPEN_DIRECT_IO;$

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/fuse_lowlevel.c:393:
+^Iif (f->keep_cache)$

ERROR: braces {} are necessary for all arms of this statement
#415: FILE: tools/virtiofsd/fuse_lowlevel.c:393:
+       if (f->keep_cache)
[...]

ERROR: code indent should never use tabs
#416: FILE: tools/virtiofsd/fuse_lowlevel.c:394:
+^I^Iarg->open_flags |= FOPEN_KEEP_CACHE;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/fuse_lowlevel.c:395:
+^Iif (f->cache_readdir)$

ERROR: braces {} are necessary for all arms of this statement
#417: FILE: tools/virtiofsd/fuse_lowlevel.c:395:
+       if (f->cache_readdir)
[...]

ERROR: code indent should never use tabs
#418: FILE: tools/virtiofsd/fuse_lowlevel.c:396:
+^I^Iarg->open_flags |= FOPEN_CACHE_DIR;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/fuse_lowlevel.c:397:
+^Iif (f->nonseekable)$

ERROR: braces {} are necessary for all arms of this statement
#419: FILE: tools/virtiofsd/fuse_lowlevel.c:397:
+       if (f->nonseekable)
[...]

ERROR: code indent should never use tabs
#420: FILE: tools/virtiofsd/fuse_lowlevel.c:398:
+^I^Iarg->open_flags |= FOPEN_NONSEEKABLE;$

ERROR: code indent should never use tabs
#425: FILE: tools/virtiofsd/fuse_lowlevel.c:403:
+^Istruct fuse_entry_out arg;$

ERROR: code indent should never use tabs
#426: FILE: tools/virtiofsd/fuse_lowlevel.c:404:
+^Isize_t size = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#427: FILE: tools/virtiofsd/fuse_lowlevel.c:405:
+^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/fuse_lowlevel.c:407:
+^I/* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant$

WARNING: Block comments use a leading /* on a separate line
#429: FILE: tools/virtiofsd/fuse_lowlevel.c:407:
+       /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+^I   negative entry */$

WARNING: Block comments use * on subsequent lines
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+       /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant
+          negative entry */

WARNING: Block comments use a trailing */ on a separate line
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+          negative entry */

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/fuse_lowlevel.c:409:
+^Iif (!e->ino && req->se->conn.proto_minor < 4)$

ERROR: braces {} are necessary for all arms of this statement
#431: FILE: tools/virtiofsd/fuse_lowlevel.c:409:
+       if (!e->ino && req->se->conn.proto_minor < 4)
[...]

ERROR: code indent should never use tabs
#432: FILE: tools/virtiofsd/fuse_lowlevel.c:410:
+^I^Ireturn fuse_reply_err(req, ENOENT);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/fuse_lowlevel.c:412:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#435: FILE: tools/virtiofsd/fuse_lowlevel.c:413:
+^Ifill_entry(&arg, e);$

ERROR: code indent should never use tabs
#436: FILE: tools/virtiofsd/fuse_lowlevel.c:414:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#440: FILE: tools/virtiofsd/fuse_lowlevel.c:418:
+^I^I      const struct fuse_file_info *f)$

ERROR: code indent should never use tabs
#442: FILE: tools/virtiofsd/fuse_lowlevel.c:420:
+^Ichar buf[sizeof(struct fuse_entry_out) + sizeof(struct fuse_open_out)];$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/fuse_lowlevel.c:421:
+^Isize_t entrysize = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#444: FILE: tools/virtiofsd/fuse_lowlevel.c:422:
+^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(struct fuse_entry_out);$

ERROR: code indent should never use tabs
#445: FILE: tools/virtiofsd/fuse_lowlevel.c:423:
+^Istruct fuse_entry_out *earg = (struct fuse_entry_out *) buf;$

ERROR: code indent should never use tabs
#446: FILE: tools/virtiofsd/fuse_lowlevel.c:424:
+^Istruct fuse_open_out *oarg = (struct fuse_open_out *) (buf + entrysize);$

ERROR: code indent should never use tabs
#448: FILE: tools/virtiofsd/fuse_lowlevel.c:426:
+^Imemset(buf, 0, sizeof(buf));$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/fuse_lowlevel.c:427:
+^Ifill_entry(earg, e);$

ERROR: code indent should never use tabs
#450: FILE: tools/virtiofsd/fuse_lowlevel.c:428:
+^Ifill_open(oarg, f);$

ERROR: code indent should never use tabs
#451: FILE: tools/virtiofsd/fuse_lowlevel.c:429:
+^Ireturn send_reply_ok(req, buf,$

ERROR: code indent should never use tabs
#452: FILE: tools/virtiofsd/fuse_lowlevel.c:430:
+^I^I^I     entrysize + sizeof(struct fuse_open_out));$

ERROR: code indent should never use tabs
#456: FILE: tools/virtiofsd/fuse_lowlevel.c:434:
+^I^I    double attr_timeout)$

ERROR: code indent should never use tabs
#458: FILE: tools/virtiofsd/fuse_lowlevel.c:436:
+^Istruct fuse_attr_out arg;$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/fuse_lowlevel.c:437:
+^Isize_t size = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#460: FILE: tools/virtiofsd/fuse_lowlevel.c:438:
+^I^IFUSE_COMPAT_ATTR_OUT_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/fuse_lowlevel.c:440:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#463: FILE: tools/virtiofsd/fuse_lowlevel.c:441:
+^Iarg.attr_valid = calc_timeout_sec(attr_timeout);$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/fuse_lowlevel.c:442:
+^Iarg.attr_valid_nsec = calc_timeout_nsec(attr_timeout);$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/fuse_lowlevel.c:443:
+^Iconvert_stat(attr, &arg.attr);$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/fuse_lowlevel.c:445:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#472: FILE: tools/virtiofsd/fuse_lowlevel.c:450:
+^Ireturn send_reply_ok(req, linkname, strlen(linkname));$

ERROR: code indent should never use tabs
#477: FILE: tools/virtiofsd/fuse_lowlevel.c:455:
+^Istruct fuse_open_out arg;$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/fuse_lowlevel.c:457:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#480: FILE: tools/virtiofsd/fuse_lowlevel.c:458:
+^Ifill_open(&arg, f);$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/fuse_lowlevel.c:459:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#486: FILE: tools/virtiofsd/fuse_lowlevel.c:464:
+^Istruct fuse_write_out arg;$

ERROR: code indent should never use tabs
#488: FILE: tools/virtiofsd/fuse_lowlevel.c:466:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/fuse_lowlevel.c:467:
+^Iarg.size = count;$

ERROR: code indent should never use tabs
#491: FILE: tools/virtiofsd/fuse_lowlevel.c:469:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/fuse_lowlevel.c:474:
+^Ireturn send_reply_ok(req, buf, size);$

ERROR: code indent should never use tabs
#500: FILE: tools/virtiofsd/fuse_lowlevel.c:478:
+^I^I^I^I       struct fuse_chan *ch,$

ERROR: code indent should never use tabs
#501: FILE: tools/virtiofsd/fuse_lowlevel.c:479:
+^I^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#502: FILE: tools/virtiofsd/fuse_lowlevel.c:480:
+^I^I^I^I       struct fuse_bufvec *buf,$

ERROR: code indent should never use tabs
#503: FILE: tools/virtiofsd/fuse_lowlevel.c:481:
+^I^I^I^I       size_t len)$

ERROR: code indent should never use tabs
#505: FILE: tools/virtiofsd/fuse_lowlevel.c:483:
+^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#506: FILE: tools/virtiofsd/fuse_lowlevel.c:484:
+^Ivoid *mbuf;$

ERROR: code indent should never use tabs
#507: FILE: tools/virtiofsd/fuse_lowlevel.c:485:
+^Iint res;$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/fuse_lowlevel.c:487:
+^I/* Optimize common case */$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/fuse_lowlevel.c:488:
+^Iif (buf->count == 1 && buf->idx == 0 && buf->off == 0 &&$

ERROR: code indent should never use tabs
#511: FILE: tools/virtiofsd/fuse_lowlevel.c:489:
+^I    !(buf->buf[0].flags & FUSE_BUF_IS_FD)) {$

ERROR: code indent should never use tabs
#512: FILE: tools/virtiofsd/fuse_lowlevel.c:490:
+^I^I/* FIXME: also avoid memory copy if there are multiple buffers$

WARNING: Block comments use a leading /* on a separate line
#512: FILE: tools/virtiofsd/fuse_lowlevel.c:490:
+               /* FIXME: also avoid memory copy if there are multiple buffers

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+^I^I   but none of them contain an fd */$

WARNING: Block comments use * on subsequent lines
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+               /* FIXME: also avoid memory copy if there are multiple buffers
+                  but none of them contain an fd */

WARNING: Block comments use a trailing */ on a separate line
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+                  but none of them contain an fd */

ERROR: code indent should never use tabs
#515: FILE: tools/virtiofsd/fuse_lowlevel.c:493:
+^I^Iiov[iov_count].iov_base = buf->buf[0].mem;$

ERROR: code indent should never use tabs
#516: FILE: tools/virtiofsd/fuse_lowlevel.c:494:
+^I^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#517: FILE: tools/virtiofsd/fuse_lowlevel.c:495:
+^I^Iiov_count++;$

ERROR: code indent should never use tabs
#518: FILE: tools/virtiofsd/fuse_lowlevel.c:496:
+^I^Ireturn fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/fuse_lowlevel.c:497:
+^I}$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_lowlevel.c:499:
+^Ires = posix_memalign(&mbuf, pagesize, len);$

ERROR: code indent should never use tabs
#522: FILE: tools/virtiofsd/fuse_lowlevel.c:500:
+^Iif (res != 0)$

ERROR: braces {} are necessary for all arms of this statement
#522: FILE: tools/virtiofsd/fuse_lowlevel.c:500:
+       if (res != 0)
[...]

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/fuse_lowlevel.c:501:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#525: FILE: tools/virtiofsd/fuse_lowlevel.c:503:
+^Imem_buf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#526: FILE: tools/virtiofsd/fuse_lowlevel.c:504:
+^Ires = fuse_buf_copy(&mem_buf, buf, 0);$

ERROR: code indent should never use tabs
#527: FILE: tools/virtiofsd/fuse_lowlevel.c:505:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/fuse_lowlevel.c:506:
+^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#529: FILE: tools/virtiofsd/fuse_lowlevel.c:507:
+^I^Ireturn -res;$

ERROR: code indent should never use tabs
#530: FILE: tools/virtiofsd/fuse_lowlevel.c:508:
+^I}$

ERROR: code indent should never use tabs
#531: FILE: tools/virtiofsd/fuse_lowlevel.c:509:
+^Ilen = res;$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/fuse_lowlevel.c:511:
+^Iiov[iov_count].iov_base = mbuf;$

ERROR: code indent should never use tabs
#534: FILE: tools/virtiofsd/fuse_lowlevel.c:512:
+^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#535: FILE: tools/virtiofsd/fuse_lowlevel.c:513:
+^Iiov_count++;$

ERROR: code indent should never use tabs
#536: FILE: tools/virtiofsd/fuse_lowlevel.c:514:
+^Ires = fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#537: FILE: tools/virtiofsd/fuse_lowlevel.c:515:
+^Ifree(mbuf);$

ERROR: code indent should never use tabs
#539: FILE: tools/virtiofsd/fuse_lowlevel.c:517:
+^Ireturn res;$

ERROR: code indent should never use tabs
#543: FILE: tools/virtiofsd/fuse_lowlevel.c:521:
+^Isize_t size;$

ERROR: code indent should never use tabs
#544: FILE: tools/virtiofsd/fuse_lowlevel.c:522:
+^Iint can_grow;$

ERROR: code indent should never use tabs
#545: FILE: tools/virtiofsd/fuse_lowlevel.c:523:
+^Iint pipe[2];$

ERROR: code indent should never use tabs
#550: FILE: tools/virtiofsd/fuse_lowlevel.c:528:
+^Iclose(llp->pipe[0]);$

ERROR: code indent should never use tabs
#551: FILE: tools/virtiofsd/fuse_lowlevel.c:529:
+^Iclose(llp->pipe[1]);$

ERROR: code indent should never use tabs
#552: FILE: tools/virtiofsd/fuse_lowlevel.c:530:
+^Ifree(llp);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/fuse_lowlevel.c:537:
+^Iint rv = pipe(fds);$

ERROR: code indent should never use tabs
#561: FILE: tools/virtiofsd/fuse_lowlevel.c:539:
+^Iif (rv == -1)$

ERROR: braces {} are necessary for all arms of this statement
#561: FILE: tools/virtiofsd/fuse_lowlevel.c:539:
+       if (rv == -1)
[...]

ERROR: code indent should never use tabs
#562: FILE: tools/virtiofsd/fuse_lowlevel.c:540:
+^I^Ireturn rv;$

ERROR: code indent should never use tabs
#564: FILE: tools/virtiofsd/fuse_lowlevel.c:542:
+^Iif (fcntl(fds[0], F_SETFL, O_NONBLOCK) == -1 ||$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/fuse_lowlevel.c:543:
+^I    fcntl(fds[1], F_SETFL, O_NONBLOCK) == -1 ||$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/fuse_lowlevel.c:544:
+^I    fcntl(fds[0], F_SETFD, FD_CLOEXEC) == -1 ||$

ERROR: code indent should never use tabs
#567: FILE: tools/virtiofsd/fuse_lowlevel.c:545:
+^I    fcntl(fds[1], F_SETFD, FD_CLOEXEC) == -1) {$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/fuse_lowlevel.c:546:
+^I^Iclose(fds[0]);$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/fuse_lowlevel.c:547:
+^I^Iclose(fds[1]);$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/fuse_lowlevel.c:548:
+^I^Irv = -1;$

ERROR: code indent should never use tabs
#571: FILE: tools/virtiofsd/fuse_lowlevel.c:549:
+^I}$

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/fuse_lowlevel.c:550:
+^Ireturn rv;$

ERROR: code indent should never use tabs
#577: FILE: tools/virtiofsd/fuse_lowlevel.c:555:
+^Ireturn pipe2(fds, O_CLOEXEC | O_NONBLOCK);$

ERROR: code indent should never use tabs
#583: FILE: tools/virtiofsd/fuse_lowlevel.c:561:
+^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#584: FILE: tools/virtiofsd/fuse_lowlevel.c:562:
+^Iif (llp == NULL) {$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/fuse_lowlevel.c:563:
+^I^Iint res;$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/fuse_lowlevel.c:565:
+^I^Illp = malloc(sizeof(struct fuse_ll_pipe));$

ERROR: code indent should never use tabs
#588: FILE: tools/virtiofsd/fuse_lowlevel.c:566:
+^I^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#588: FILE: tools/virtiofsd/fuse_lowlevel.c:566:
+               if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/fuse_lowlevel.c:567:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#591: FILE: tools/virtiofsd/fuse_lowlevel.c:569:
+^I^Ires = fuse_pipe(llp->pipe);$

ERROR: code indent should never use tabs
#592: FILE: tools/virtiofsd/fuse_lowlevel.c:570:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#593: FILE: tools/virtiofsd/fuse_lowlevel.c:571:
+^I^I^Ifree(llp);$

ERROR: code indent should never use tabs
#594: FILE: tools/virtiofsd/fuse_lowlevel.c:572:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/fuse_lowlevel.c:573:
+^I^I}$

ERROR: code indent should never use tabs
#597: FILE: tools/virtiofsd/fuse_lowlevel.c:575:
+^I^I/*$

ERROR: code indent should never use tabs
#598: FILE: tools/virtiofsd/fuse_lowlevel.c:576:
+^I^I *the default size is 16 pages on linux$

ERROR: code indent should never use tabs
#599: FILE: tools/virtiofsd/fuse_lowlevel.c:577:
+^I^I */$

ERROR: code indent should never use tabs
#600: FILE: tools/virtiofsd/fuse_lowlevel.c:578:
+^I^Illp->size = pagesize * 16;$

ERROR: code indent should never use tabs
#601: FILE: tools/virtiofsd/fuse_lowlevel.c:579:
+^I^Illp->can_grow = 1;$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/fuse_lowlevel.c:581:
+^I^Ipthread_setspecific(se->pipe_key, llp);$

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/fuse_lowlevel.c:582:
+^I}$

ERROR: code indent should never use tabs
#606: FILE: tools/virtiofsd/fuse_lowlevel.c:584:
+^Ireturn llp;$

ERROR: code indent should never use tabs
#612: FILE: tools/virtiofsd/fuse_lowlevel.c:590:
+^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/fuse_lowlevel.c:591:
+^Iif (llp) {$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/fuse_lowlevel.c:592:
+^I^Ipthread_setspecific(se->pipe_key, NULL);$

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/fuse_lowlevel.c:593:
+^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#616: FILE: tools/virtiofsd/fuse_lowlevel.c:594:
+^I}$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/fuse_lowlevel.c:600:
+^Iint res;$

ERROR: code indent should never use tabs
#624: FILE: tools/virtiofsd/fuse_lowlevel.c:602:
+^Ires = read(fd, buf, len);$

ERROR: code indent should never use tabs
#625: FILE: tools/virtiofsd/fuse_lowlevel.c:603:
+^Iif (res == -1) {$

ERROR: line over 90 characters
#626: FILE: tools/virtiofsd/fuse_lowlevel.c:604:
+               fuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read 
back from pipe: %s\n", strerror(errno));

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/fuse_lowlevel.c:604:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read back from 
pipe: %s\n", strerror(errno));$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/fuse_lowlevel.c:605:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/fuse_lowlevel.c:606:
+^I}$

ERROR: code indent should never use tabs
#629: FILE: tools/virtiofsd/fuse_lowlevel.c:607:
+^Iif (res != len) {$

ERROR: line over 90 characters
#630: FILE: tools/virtiofsd/fuse_lowlevel.c:608:
+               fuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back 
from pipe: %i from %zi\n", res, len);

ERROR: code indent should never use tabs
#630: FILE: tools/virtiofsd/fuse_lowlevel.c:608:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back from pipe: 
%i from %zi\n", res, len);$

ERROR: code indent should never use tabs
#631: FILE: tools/virtiofsd/fuse_lowlevel.c:609:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#632: FILE: tools/virtiofsd/fuse_lowlevel.c:610:
+^I}$

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/fuse_lowlevel.c:611:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/fuse_lowlevel.c:616:
+^Iint max;$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/fuse_lowlevel.c:617:
+^Iint res;$

ERROR: code indent should never use tabs
#640: FILE: tools/virtiofsd/fuse_lowlevel.c:618:
+^Iint maxfd;$

ERROR: code indent should never use tabs
#641: FILE: tools/virtiofsd/fuse_lowlevel.c:619:
+^Ichar buf[32];$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/fuse_lowlevel.c:621:
+^Imaxfd = open("/proc/sys/fs/pipe-max-size", O_RDONLY);$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/fuse_lowlevel.c:622:
+^Iif (maxfd < 0)$

ERROR: braces {} are necessary for all arms of this statement
#644: FILE: tools/virtiofsd/fuse_lowlevel.c:622:
+       if (maxfd < 0)
[...]

ERROR: code indent should never use tabs
#645: FILE: tools/virtiofsd/fuse_lowlevel.c:623:
+^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/fuse_lowlevel.c:625:
+^Ires = read(maxfd, buf, sizeof(buf) - 1);$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/fuse_lowlevel.c:626:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#649: FILE: tools/virtiofsd/fuse_lowlevel.c:627:
+^I^Iint saved_errno;$

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/fuse_lowlevel.c:629:
+^I^Isaved_errno = errno;$

ERROR: code indent should never use tabs
#652: FILE: tools/virtiofsd/fuse_lowlevel.c:630:
+^I^Iclose(maxfd);$

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/fuse_lowlevel.c:631:
+^I^Ireturn -saved_errno;$

ERROR: code indent should never use tabs
#654: FILE: tools/virtiofsd/fuse_lowlevel.c:632:
+^I}$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/fuse_lowlevel.c:633:
+^Iclose(maxfd);$

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/fuse_lowlevel.c:634:
+^Ibuf[res] = '\0';$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/fuse_lowlevel.c:636:
+^Imax = atoi(buf);$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/fuse_lowlevel.c:637:
+^Ires = fcntl(pipefd, F_SETPIPE_SZ, max);$

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/fuse_lowlevel.c:638:
+^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#660: FILE: tools/virtiofsd/fuse_lowlevel.c:638:
+       if (res < 0)
[...]

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/fuse_lowlevel.c:639:
+^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#662: FILE: tools/virtiofsd/fuse_lowlevel.c:640:
+^Ireturn max;$

ERROR: code indent should never use tabs
#666: FILE: tools/virtiofsd/fuse_lowlevel.c:644:
+^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#667: FILE: tools/virtiofsd/fuse_lowlevel.c:645:
+^I^I^I       struct fuse_bufvec *buf, unsigned int flags)$

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/fuse_lowlevel.c:647:
+^Iint res;$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/fuse_lowlevel.c:648:
+^Isize_t len = fuse_buf_size(buf);$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/fuse_lowlevel.c:649:
+^Istruct fuse_out_header *out = iov[0].iov_base;$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/fuse_lowlevel.c:650:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#673: FILE: tools/virtiofsd/fuse_lowlevel.c:651:
+^Iint splice_flags;$

ERROR: code indent should never use tabs
#674: FILE: tools/virtiofsd/fuse_lowlevel.c:652:
+^Isize_t pipesize;$

ERROR: code indent should never use tabs
#675: FILE: tools/virtiofsd/fuse_lowlevel.c:653:
+^Isize_t total_fd_size;$

ERROR: code indent should never use tabs
#676: FILE: tools/virtiofsd/fuse_lowlevel.c:654:
+^Isize_t idx;$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/fuse_lowlevel.c:655:
+^Isize_t headerlen;$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/fuse_lowlevel.c:656:
+^Istruct fuse_bufvec pipe_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#680: FILE: tools/virtiofsd/fuse_lowlevel.c:658:
+^Iif (se->broken_splice_nonblock)$

ERROR: braces {} are necessary for all arms of this statement
#680: FILE: tools/virtiofsd/fuse_lowlevel.c:658:
+       if (se->broken_splice_nonblock)
[...]

ERROR: code indent should never use tabs
#681: FILE: tools/virtiofsd/fuse_lowlevel.c:659:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#683: FILE: tools/virtiofsd/fuse_lowlevel.c:661:
+^Iif (flags & FUSE_BUF_NO_SPLICE)$

ERROR: braces {} are necessary for all arms of this statement
#683: FILE: tools/virtiofsd/fuse_lowlevel.c:661:
+       if (flags & FUSE_BUF_NO_SPLICE)
[...]

ERROR: code indent should never use tabs
#684: FILE: tools/virtiofsd/fuse_lowlevel.c:662:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#686: FILE: tools/virtiofsd/fuse_lowlevel.c:664:
+^Itotal_fd_size = 0;$

ERROR: code indent should never use tabs
#687: FILE: tools/virtiofsd/fuse_lowlevel.c:665:
+^Ifor (idx = buf->idx; idx < buf->count; idx++) {$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/fuse_lowlevel.c:666:
+^I^Iif (buf->buf[idx].flags & FUSE_BUF_IS_FD) {$

ERROR: code indent should never use tabs
#689: FILE: tools/virtiofsd/fuse_lowlevel.c:667:
+^I^I^Itotal_fd_size = buf->buf[idx].size;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/fuse_lowlevel.c:668:
+^I^I^Iif (idx == buf->idx)$

ERROR: braces {} are necessary for all arms of this statement
#690: FILE: tools/virtiofsd/fuse_lowlevel.c:668:
+                       if (idx == buf->idx)
[...]

ERROR: code indent should never use tabs
#691: FILE: tools/virtiofsd/fuse_lowlevel.c:669:
+^I^I^I^Itotal_fd_size -= buf->off;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/fuse_lowlevel.c:670:
+^I^I}$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/fuse_lowlevel.c:671:
+^I}$

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/fuse_lowlevel.c:672:
+^Iif (total_fd_size < 2 * pagesize)$

ERROR: braces {} are necessary for all arms of this statement
#694: FILE: tools/virtiofsd/fuse_lowlevel.c:672:
+       if (total_fd_size < 2 * pagesize)
[...]

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/fuse_lowlevel.c:673:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#697: FILE: tools/virtiofsd/fuse_lowlevel.c:675:
+^Iif (se->conn.proto_minor < 14 ||$

ERROR: code indent should never use tabs
#698: FILE: tools/virtiofsd/fuse_lowlevel.c:676:
+^I    !(se->conn.want & FUSE_CAP_SPLICE_WRITE))$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/fuse_lowlevel.c:677:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/fuse_lowlevel.c:679:
+^Illp = fuse_ll_get_pipe(se);$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/fuse_lowlevel.c:680:
+^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#702: FILE: tools/virtiofsd/fuse_lowlevel.c:680:
+       if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/fuse_lowlevel.c:681:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/fuse_lowlevel.c:684:
+^Iheaderlen = iov_length(iov, iov_count);$

ERROR: code indent should never use tabs
#708: FILE: tools/virtiofsd/fuse_lowlevel.c:686:
+^Iout->len = headerlen + len;$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/fuse_lowlevel.c:688:
+^I/*$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/fuse_lowlevel.c:689:
+^I * Heuristic for the required pipe size, does not work if the$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/fuse_lowlevel.c:690:
+^I * source contains less than page size fragments$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/fuse_lowlevel.c:691:
+^I */$

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/fuse_lowlevel.c:692:
+^Ipipesize = pagesize * (iov_count + buf->count + 1) + out->len;$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/fuse_lowlevel.c:694:
+^Iif (llp->size < pipesize) {$

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/fuse_lowlevel.c:695:
+^I^Iif (llp->can_grow) {$

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/fuse_lowlevel.c:696:
+^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, pipesize);$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/fuse_lowlevel.c:697:
+^I^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/fuse_lowlevel.c:698:
+^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/fuse_lowlevel.c:699:
+^I^I^I^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#721: FILE: tools/virtiofsd/fuse_lowlevel.c:699:
+                               if (res > 0)
[...]

ERROR: code indent should never use tabs
#722: FILE: tools/virtiofsd/fuse_lowlevel.c:700:
+^I^I^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/fuse_lowlevel.c:701:
+^I^I^I^Illp->can_grow = 0;$

ERROR: code indent should never use tabs
#724: FILE: tools/virtiofsd/fuse_lowlevel.c:702:
+^I^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#725: FILE: tools/virtiofsd/fuse_lowlevel.c:703:
+^I^I^I}$

ERROR: code indent should never use tabs
#726: FILE: tools/virtiofsd/fuse_lowlevel.c:704:
+^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#727: FILE: tools/virtiofsd/fuse_lowlevel.c:705:
+^I^I}$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/fuse_lowlevel.c:706:
+^I^Iif (llp->size < pipesize)$

ERROR: braces {} are necessary for all arms of this statement
#728: FILE: tools/virtiofsd/fuse_lowlevel.c:706:
+               if (llp->size < pipesize)
[...]

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/fuse_lowlevel.c:707:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#730: FILE: tools/virtiofsd/fuse_lowlevel.c:708:
+^I}$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/fuse_lowlevel.c:711:
+^Ires = vmsplice(llp->pipe[1], iov, iov_count, SPLICE_F_NONBLOCK);$

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/fuse_lowlevel.c:712:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#734: FILE: tools/virtiofsd/fuse_lowlevel.c:712:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/fuse_lowlevel.c:713:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#737: FILE: tools/virtiofsd/fuse_lowlevel.c:715:
+^Iif (res != headerlen) {$

ERROR: code indent should never use tabs
#738: FILE: tools/virtiofsd/fuse_lowlevel.c:716:
+^I^Ires = -EIO;$

WARNING: line over 80 characters
#739: FILE: tools/virtiofsd/fuse_lowlevel.c:717:
+               fuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: 
%u/%zu\n", res,

ERROR: code indent should never use tabs
#739: FILE: tools/virtiofsd/fuse_lowlevel.c:717:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: %u/%zu\n", res,$

ERROR: code indent should never use tabs
#740: FILE: tools/virtiofsd/fuse_lowlevel.c:718:
+^I^I^Iheaderlen);$

ERROR: code indent should never use tabs
#741: FILE: tools/virtiofsd/fuse_lowlevel.c:719:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/fuse_lowlevel.c:720:
+^I}$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/fuse_lowlevel.c:722:
+^Ipipe_buf.buf[0].flags = FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/fuse_lowlevel.c:723:
+^Ipipe_buf.buf[0].fd = llp->pipe[1];$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/fuse_lowlevel.c:725:
+^Ires = fuse_buf_copy(&pipe_buf, buf,$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/fuse_lowlevel.c:726:
+^I^I^I    FUSE_BUF_FORCE_SPLICE | FUSE_BUF_SPLICE_NONBLOCK);$

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/fuse_lowlevel.c:727:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#750: FILE: tools/virtiofsd/fuse_lowlevel.c:728:
+^I^Iif (res == -EAGAIN || res == -EINVAL) {$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/fuse_lowlevel.c:729:
+^I^I^I/*$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/fuse_lowlevel.c:730:
+^I^I^I * Should only get EAGAIN on kernels with$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/fuse_lowlevel.c:731:
+^I^I^I * broken SPLICE_F_NONBLOCK support (<=$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/fuse_lowlevel.c:732:
+^I^I^I * 2.6.35) where this error or a short read is$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/fuse_lowlevel.c:733:
+^I^I^I * returned even if the pipe itself is not$

ERROR: code indent should never use tabs
#756: FILE: tools/virtiofsd/fuse_lowlevel.c:734:
+^I^I^I * full$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/fuse_lowlevel.c:735:
+^I^I^I *$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/fuse_lowlevel.c:736:
+^I^I^I * EINVAL might mean that splice can't handle$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/fuse_lowlevel.c:737:
+^I^I^I * this combination of input and output.$

ERROR: code indent should never use tabs
#760: FILE: tools/virtiofsd/fuse_lowlevel.c:738:
+^I^I^I */$

ERROR: code indent should never use tabs
#761: FILE: tools/virtiofsd/fuse_lowlevel.c:739:
+^I^I^Iif (res == -EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#761: FILE: tools/virtiofsd/fuse_lowlevel.c:739:
+                       if (res == -EAGAIN)
[...]

ERROR: code indent should never use tabs
#762: FILE: tools/virtiofsd/fuse_lowlevel.c:740:
+^I^I^I^Ise->broken_splice_nonblock = 1;$

ERROR: code indent should never use tabs
#764: FILE: tools/virtiofsd/fuse_lowlevel.c:742:
+^I^I^Ipthread_setspecific(se->pipe_key, NULL);$

ERROR: code indent should never use tabs
#765: FILE: tools/virtiofsd/fuse_lowlevel.c:743:
+^I^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#766: FILE: tools/virtiofsd/fuse_lowlevel.c:744:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#767: FILE: tools/virtiofsd/fuse_lowlevel.c:745:
+^I^I}$

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/fuse_lowlevel.c:746:
+^I^Ires = -res;$

ERROR: code indent should never use tabs
#769: FILE: tools/virtiofsd/fuse_lowlevel.c:747:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_lowlevel.c:748:
+^I}$

ERROR: code indent should never use tabs
#772: FILE: tools/virtiofsd/fuse_lowlevel.c:750:
+^Iif (res != 0 && res < len) {$

ERROR: code indent should never use tabs
#773: FILE: tools/virtiofsd/fuse_lowlevel.c:751:
+^I^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#774: FILE: tools/virtiofsd/fuse_lowlevel.c:752:
+^I^Ivoid *mbuf;$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/fuse_lowlevel.c:753:
+^I^Isize_t now_len = res;$

ERROR: code indent should never use tabs
#776: FILE: tools/virtiofsd/fuse_lowlevel.c:754:
+^I^I/*$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/fuse_lowlevel.c:755:
+^I^I * For regular files a short count is either$

ERROR: code indent should never use tabs
#778: FILE: tools/virtiofsd/fuse_lowlevel.c:756:
+^I^I *  1) due to EOF, or$

ERROR: code indent should never use tabs
#779: FILE: tools/virtiofsd/fuse_lowlevel.c:757:
+^I^I *  2) because of broken SPLICE_F_NONBLOCK (see above)$

ERROR: code indent should never use tabs
#780: FILE: tools/virtiofsd/fuse_lowlevel.c:758:
+^I^I *$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/fuse_lowlevel.c:759:
+^I^I * For other inputs it's possible that we overflowed$

ERROR: code indent should never use tabs
#782: FILE: tools/virtiofsd/fuse_lowlevel.c:760:
+^I^I * the pipe because of small buffer fragments.$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/fuse_lowlevel.c:761:
+^I^I */$

ERROR: code indent should never use tabs
#785: FILE: tools/virtiofsd/fuse_lowlevel.c:763:
+^I^Ires = posix_memalign(&mbuf, pagesize, len);$

ERROR: code indent should never use tabs
#786: FILE: tools/virtiofsd/fuse_lowlevel.c:764:
+^I^Iif (res != 0)$

ERROR: braces {} are necessary for all arms of this statement
#786: FILE: tools/virtiofsd/fuse_lowlevel.c:764:
+               if (res != 0)
[...]

ERROR: code indent should never use tabs
#787: FILE: tools/virtiofsd/fuse_lowlevel.c:765:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#789: FILE: tools/virtiofsd/fuse_lowlevel.c:767:
+^I^Imem_buf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#790: FILE: tools/virtiofsd/fuse_lowlevel.c:768:
+^I^Imem_buf.off = now_len;$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/fuse_lowlevel.c:769:
+^I^Ires = fuse_buf_copy(&mem_buf, buf, 0);$

ERROR: code indent should never use tabs
#792: FILE: tools/virtiofsd/fuse_lowlevel.c:770:
+^I^Iif (res > 0) {$

ERROR: code indent should never use tabs
#793: FILE: tools/virtiofsd/fuse_lowlevel.c:771:
+^I^I^Ichar *tmpbuf;$

ERROR: code indent should never use tabs
#794: FILE: tools/virtiofsd/fuse_lowlevel.c:772:
+^I^I^Isize_t extra_len = res;$

ERROR: code indent should never use tabs
#795: FILE: tools/virtiofsd/fuse_lowlevel.c:773:
+^I^I^I/*$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/fuse_lowlevel.c:774:
+^I^I^I * Trickiest case: got more data.  Need to get$

ERROR: code indent should never use tabs
#797: FILE: tools/virtiofsd/fuse_lowlevel.c:775:
+^I^I^I * back the data from the pipe and then fall$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/fuse_lowlevel.c:776:
+^I^I^I * back to regular write.$

ERROR: code indent should never use tabs
#799: FILE: tools/virtiofsd/fuse_lowlevel.c:777:
+^I^I^I */$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/fuse_lowlevel.c:778:
+^I^I^Itmpbuf = malloc(headerlen);$

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/fuse_lowlevel.c:779:
+^I^I^Iif (tmpbuf == NULL) {$

ERROR: code indent should never use tabs
#802: FILE: tools/virtiofsd/fuse_lowlevel.c:780:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/fuse_lowlevel.c:781:
+^I^I^I^Ires = ENOMEM;$

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/fuse_lowlevel.c:782:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#805: FILE: tools/virtiofsd/fuse_lowlevel.c:783:
+^I^I^I}$

ERROR: code indent should never use tabs
#806: FILE: tools/virtiofsd/fuse_lowlevel.c:784:
+^I^I^Ires = read_back(llp->pipe[0], tmpbuf, headerlen);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/fuse_lowlevel.c:785:
+^I^I^Ifree(tmpbuf);$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/fuse_lowlevel.c:786:
+^I^I^Iif (res != 0) {$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/fuse_lowlevel.c:787:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/fuse_lowlevel.c:788:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#811: FILE: tools/virtiofsd/fuse_lowlevel.c:789:
+^I^I^I}$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/fuse_lowlevel.c:790:
+^I^I^Ires = read_back(llp->pipe[0], mbuf, now_len);$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/fuse_lowlevel.c:791:
+^I^I^Iif (res != 0) {$

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/fuse_lowlevel.c:792:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#815: FILE: tools/virtiofsd/fuse_lowlevel.c:793:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#816: FILE: tools/virtiofsd/fuse_lowlevel.c:794:
+^I^I^I}$

ERROR: code indent should never use tabs
#817: FILE: tools/virtiofsd/fuse_lowlevel.c:795:
+^I^I^Ilen = now_len + extra_len;$

ERROR: code indent should never use tabs
#818: FILE: tools/virtiofsd/fuse_lowlevel.c:796:
+^I^I^Iiov[iov_count].iov_base = mbuf;$

ERROR: code indent should never use tabs
#819: FILE: tools/virtiofsd/fuse_lowlevel.c:797:
+^I^I^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#820: FILE: tools/virtiofsd/fuse_lowlevel.c:798:
+^I^I^Iiov_count++;$

ERROR: code indent should never use tabs
#821: FILE: tools/virtiofsd/fuse_lowlevel.c:799:
+^I^I^Ires = fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#822: FILE: tools/virtiofsd/fuse_lowlevel.c:800:
+^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#823: FILE: tools/virtiofsd/fuse_lowlevel.c:801:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#824: FILE: tools/virtiofsd/fuse_lowlevel.c:802:
+^I^I}$

ERROR: code indent should never use tabs
#825: FILE: tools/virtiofsd/fuse_lowlevel.c:803:
+^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#826: FILE: tools/virtiofsd/fuse_lowlevel.c:804:
+^I^Ires = now_len;$

ERROR: code indent should never use tabs
#827: FILE: tools/virtiofsd/fuse_lowlevel.c:805:
+^I}$

ERROR: code indent should never use tabs
#828: FILE: tools/virtiofsd/fuse_lowlevel.c:806:
+^Ilen = res;$

ERROR: code indent should never use tabs
#829: FILE: tools/virtiofsd/fuse_lowlevel.c:807:
+^Iout->len = headerlen + len;$

ERROR: code indent should never use tabs
#831: FILE: tools/virtiofsd/fuse_lowlevel.c:809:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#832: FILE: tools/virtiofsd/fuse_lowlevel.c:810:
+^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#833: FILE: tools/virtiofsd/fuse_lowlevel.c:811:
+^I^I^I"   unique: %llu, success, outsize: %i (splice)\n",$

ERROR: code indent should never use tabs
#834: FILE: tools/virtiofsd/fuse_lowlevel.c:812:
+^I^I^I(unsigned long long) out->unique, out->len);$

ERROR: code indent should never use tabs
#835: FILE: tools/virtiofsd/fuse_lowlevel.c:813:
+^I}$

ERROR: code indent should never use tabs
#837: FILE: tools/virtiofsd/fuse_lowlevel.c:815:
+^Isplice_flags = 0;$

ERROR: code indent should never use tabs
#838: FILE: tools/virtiofsd/fuse_lowlevel.c:816:
+^Iif ((flags & FUSE_BUF_SPLICE_MOVE) &&$

ERROR: code indent should never use tabs
#839: FILE: tools/virtiofsd/fuse_lowlevel.c:817:
+^I    (se->conn.want & FUSE_CAP_SPLICE_MOVE))$

ERROR: code indent should never use tabs
#840: FILE: tools/virtiofsd/fuse_lowlevel.c:818:
+^I^Isplice_flags |= SPLICE_F_MOVE;$

ERROR: code indent should never use tabs
#842: FILE: tools/virtiofsd/fuse_lowlevel.c:820:
+^Ires = splice(llp->pipe[0], NULL, ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#843: FILE: tools/virtiofsd/fuse_lowlevel.c:821:
+^I^I     NULL, out->len, splice_flags);$

ERROR: code indent should never use tabs
#844: FILE: tools/virtiofsd/fuse_lowlevel.c:822:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/fuse_lowlevel.c:823:
+^I^Ires = -errno;$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/fuse_lowlevel.c:824:
+^I^Iperror("fuse: splice from pipe");$

ERROR: code indent should never use tabs
#847: FILE: tools/virtiofsd/fuse_lowlevel.c:825:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/fuse_lowlevel.c:826:
+^I}$

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/fuse_lowlevel.c:827:
+^Iif (res != out->len) {$

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/fuse_lowlevel.c:828:
+^I^Ires = -EIO;$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/fuse_lowlevel.c:829:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short splice from pipe: %u/%u\n",$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/fuse_lowlevel.c:830:
+^I^I^Ires, out->len);$

ERROR: code indent should never use tabs
#853: FILE: tools/virtiofsd/fuse_lowlevel.c:831:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#854: FILE: tools/virtiofsd/fuse_lowlevel.c:832:
+^I}$

ERROR: code indent should never use tabs
#855: FILE: tools/virtiofsd/fuse_lowlevel.c:833:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#858: FILE: tools/virtiofsd/fuse_lowlevel.c:836:
+^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#859: FILE: tools/virtiofsd/fuse_lowlevel.c:837:
+^Ireturn res;$

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/fuse_lowlevel.c:840:
+^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/fuse_lowlevel.c:844:
+^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/fuse_lowlevel.c:845:
+^I^I^I       struct fuse_bufvec *buf, unsigned int flags)$

ERROR: code indent should never use tabs
#869: FILE: tools/virtiofsd/fuse_lowlevel.c:847:
+^Isize_t len = fuse_buf_size(buf);$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/fuse_lowlevel.c:848:
+^I(void) flags;$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/fuse_lowlevel.c:850:
+^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$

ERROR: code indent should never use tabs
#877: FILE: tools/virtiofsd/fuse_lowlevel.c:855:
+^I^I    enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/fuse_lowlevel.c:857:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#880: FILE: tools/virtiofsd/fuse_lowlevel.c:858:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#881: FILE: tools/virtiofsd/fuse_lowlevel.c:859:
+^Iint res;$

ERROR: code indent should never use tabs
#883: FILE: tools/virtiofsd/fuse_lowlevel.c:861:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#884: FILE: tools/virtiofsd/fuse_lowlevel.c:862:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#886: FILE: tools/virtiofsd/fuse_lowlevel.c:864:
+^Iout.unique = req->unique;$

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/fuse_lowlevel.c:865:
+^Iout.error = 0;$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/fuse_lowlevel.c:867:
+^Ires = fuse_send_data_iov(req->se, req->ch, iov, 1, bufv, flags);$

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/fuse_lowlevel.c:868:
+^Iif (res <= 0) {$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_lowlevel.c:869:
+^I^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#892: FILE: tools/virtiofsd/fuse_lowlevel.c:870:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#893: FILE: tools/virtiofsd/fuse_lowlevel.c:871:
+^I} else {$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/fuse_lowlevel.c:872:
+^I^Ireturn fuse_reply_err(req, res);$

ERROR: code indent should never use tabs
#895: FILE: tools/virtiofsd/fuse_lowlevel.c:873:
+^I}$

ERROR: code indent should never use tabs
#900: FILE: tools/virtiofsd/fuse_lowlevel.c:878:
+^Istruct fuse_statfs_out arg;$

ERROR: code indent should never use tabs
#901: FILE: tools/virtiofsd/fuse_lowlevel.c:879:
+^Isize_t size = req->se->conn.proto_minor < 4 ?$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/fuse_lowlevel.c:880:
+^I^IFUSE_COMPAT_STATFS_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#904: FILE: tools/virtiofsd/fuse_lowlevel.c:882:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#905: FILE: tools/virtiofsd/fuse_lowlevel.c:883:
+^Iconvert_statfs(stbuf, &arg.st);$

ERROR: code indent should never use tabs
#907: FILE: tools/virtiofsd/fuse_lowlevel.c:885:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#912: FILE: tools/virtiofsd/fuse_lowlevel.c:890:
+^Istruct fuse_getxattr_out arg;$

ERROR: code indent should never use tabs
#914: FILE: tools/virtiofsd/fuse_lowlevel.c:892:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#915: FILE: tools/virtiofsd/fuse_lowlevel.c:893:
+^Iarg.size = count;$

ERROR: code indent should never use tabs
#917: FILE: tools/virtiofsd/fuse_lowlevel.c:895:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#922: FILE: tools/virtiofsd/fuse_lowlevel.c:900:
+^Istruct fuse_lk_out arg;$

ERROR: code indent should never use tabs
#924: FILE: tools/virtiofsd/fuse_lowlevel.c:902:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#925: FILE: tools/virtiofsd/fuse_lowlevel.c:903:
+^Iarg.lk.type = lock->l_type;$

ERROR: code indent should never use tabs
#926: FILE: tools/virtiofsd/fuse_lowlevel.c:904:
+^Iif (lock->l_type != F_UNLCK) {$

ERROR: code indent should never use tabs
#927: FILE: tools/virtiofsd/fuse_lowlevel.c:905:
+^I^Iarg.lk.start = lock->l_start;$

ERROR: code indent should never use tabs
#928: FILE: tools/virtiofsd/fuse_lowlevel.c:906:
+^I^Iif (lock->l_len == 0)$

ERROR: braces {} are necessary for all arms of this statement
#928: FILE: tools/virtiofsd/fuse_lowlevel.c:906:
+               if (lock->l_len == 0)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#929: FILE: tools/virtiofsd/fuse_lowlevel.c:907:
+^I^I^Iarg.lk.end = OFFSET_MAX;$

ERROR: code indent should never use tabs
#930: FILE: tools/virtiofsd/fuse_lowlevel.c:908:
+^I^Ielse$

ERROR: code indent should never use tabs
#931: FILE: tools/virtiofsd/fuse_lowlevel.c:909:
+^I^I^Iarg.lk.end = lock->l_start + lock->l_len - 1;$

ERROR: code indent should never use tabs
#932: FILE: tools/virtiofsd/fuse_lowlevel.c:910:
+^I}$

ERROR: code indent should never use tabs
#933: FILE: tools/virtiofsd/fuse_lowlevel.c:911:
+^Iarg.lk.pid = lock->l_pid;$

ERROR: code indent should never use tabs
#934: FILE: tools/virtiofsd/fuse_lowlevel.c:912:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#939: FILE: tools/virtiofsd/fuse_lowlevel.c:917:
+^Istruct fuse_bmap_out arg;$

ERROR: code indent should never use tabs
#941: FILE: tools/virtiofsd/fuse_lowlevel.c:919:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#942: FILE: tools/virtiofsd/fuse_lowlevel.c:920:
+^Iarg.block = idx;$

ERROR: code indent should never use tabs
#944: FILE: tools/virtiofsd/fuse_lowlevel.c:922:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#948: FILE: tools/virtiofsd/fuse_lowlevel.c:926:
+^I^I^I^I^I^I      size_t count)$

ERROR: code indent should never use tabs
#950: FILE: tools/virtiofsd/fuse_lowlevel.c:928:
+^Istruct fuse_ioctl_iovec *fiov;$

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/fuse_lowlevel.c:929:
+^Isize_t i;$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/fuse_lowlevel.c:931:
+^Ifiov = malloc(sizeof(fiov[0]) * count);$

ERROR: code indent should never use tabs
#954: FILE: tools/virtiofsd/fuse_lowlevel.c:932:
+^Iif (!fiov)$

ERROR: braces {} are necessary for all arms of this statement
#954: FILE: tools/virtiofsd/fuse_lowlevel.c:932:
+       if (!fiov)
[...]

ERROR: code indent should never use tabs
#955: FILE: tools/virtiofsd/fuse_lowlevel.c:933:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/fuse_lowlevel.c:935:
+^Ifor (i = 0; i < count; i++) {$

ERROR: code indent should never use tabs
#958: FILE: tools/virtiofsd/fuse_lowlevel.c:936:
+^I^Ifiov[i].base = (uintptr_t) iov[i].iov_base;$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/fuse_lowlevel.c:937:
+^I^Ifiov[i].len = iov[i].iov_len;$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/fuse_lowlevel.c:938:
+^I}$

ERROR: code indent should never use tabs
#962: FILE: tools/virtiofsd/fuse_lowlevel.c:940:
+^Ireturn fiov;$

ERROR: code indent should never use tabs
#966: FILE: tools/virtiofsd/fuse_lowlevel.c:944:
+^I^I^I   const struct iovec *in_iov, size_t in_count,$

ERROR: code indent should never use tabs
#967: FILE: tools/virtiofsd/fuse_lowlevel.c:945:
+^I^I^I   const struct iovec *out_iov, size_t out_count)$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/fuse_lowlevel.c:947:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/fuse_lowlevel.c:948:
+^Istruct fuse_ioctl_iovec *in_fiov = NULL;$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/fuse_lowlevel.c:949:
+^Istruct fuse_ioctl_iovec *out_fiov = NULL;$

ERROR: code indent should never use tabs
#972: FILE: tools/virtiofsd/fuse_lowlevel.c:950:
+^Istruct iovec iov[4];$

ERROR: code indent should never use tabs
#973: FILE: tools/virtiofsd/fuse_lowlevel.c:951:
+^Isize_t count = 1;$

ERROR: code indent should never use tabs
#974: FILE: tools/virtiofsd/fuse_lowlevel.c:952:
+^Iint res;$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/fuse_lowlevel.c:954:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#977: FILE: tools/virtiofsd/fuse_lowlevel.c:955:
+^Iarg.flags |= FUSE_IOCTL_RETRY;$

ERROR: code indent should never use tabs
#978: FILE: tools/virtiofsd/fuse_lowlevel.c:956:
+^Iarg.in_iovs = in_count;$

ERROR: code indent should never use tabs
#979: FILE: tools/virtiofsd/fuse_lowlevel.c:957:
+^Iarg.out_iovs = out_count;$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/fuse_lowlevel.c:958:
+^Iiov[count].iov_base = &arg;$

ERROR: code indent should never use tabs
#981: FILE: tools/virtiofsd/fuse_lowlevel.c:959:
+^Iiov[count].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/fuse_lowlevel.c:960:
+^Icount++;$

ERROR: code indent should never use tabs
#984: FILE: tools/virtiofsd/fuse_lowlevel.c:962:
+^Iif (req->se->conn.proto_minor < 16) {$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/fuse_lowlevel.c:963:
+^I^Iif (in_count) {$

ERROR: code indent should never use tabs
#986: FILE: tools/virtiofsd/fuse_lowlevel.c:964:
+^I^I^Iiov[count].iov_base = (void *)in_iov;$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/fuse_lowlevel.c:965:
+^I^I^Iiov[count].iov_len = sizeof(in_iov[0]) * in_count;$

ERROR: code indent should never use tabs
#988: FILE: tools/virtiofsd/fuse_lowlevel.c:966:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#989: FILE: tools/virtiofsd/fuse_lowlevel.c:967:
+^I^I}$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/fuse_lowlevel.c:969:
+^I^Iif (out_count) {$

ERROR: code indent should never use tabs
#992: FILE: tools/virtiofsd/fuse_lowlevel.c:970:
+^I^I^Iiov[count].iov_base = (void *)out_iov;$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/fuse_lowlevel.c:971:
+^I^I^Iiov[count].iov_len = sizeof(out_iov[0]) * out_count;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/fuse_lowlevel.c:972:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/fuse_lowlevel.c:973:
+^I^I}$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/fuse_lowlevel.c:974:
+^I} else {$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/fuse_lowlevel.c:975:
+^I^I/* Can't handle non-compat 64bit ioctls on 32bit */$

ERROR: code indent should never use tabs
#998: FILE: tools/virtiofsd/fuse_lowlevel.c:976:
+^I^Iif (sizeof(void *) == 4 && req->ioctl_64bit) {$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/fuse_lowlevel.c:977:
+^I^I^Ires = fuse_reply_err(req, EINVAL);$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/fuse_lowlevel.c:978:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/fuse_lowlevel.c:979:
+^I^I}$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/fuse_lowlevel.c:981:
+^I^Iif (in_count) {$

ERROR: code indent should never use tabs
#1004: FILE: tools/virtiofsd/fuse_lowlevel.c:982:
+^I^I^Iin_fiov = fuse_ioctl_iovec_copy(in_iov, in_count);$

ERROR: code indent should never use tabs
#1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983:
+^I^I^Iif (!in_fiov)$

ERROR: braces {} are necessary for all arms of this statement
#1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983:
+                       if (!in_fiov)
[...]

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/fuse_lowlevel.c:984:
+^I^I^I^Igoto enomem;$

ERROR: code indent should never use tabs
#1008: FILE: tools/virtiofsd/fuse_lowlevel.c:986:
+^I^I^Iiov[count].iov_base = (void *)in_fiov;$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/fuse_lowlevel.c:987:
+^I^I^Iiov[count].iov_len = sizeof(in_fiov[0]) * in_count;$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/fuse_lowlevel.c:988:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/fuse_lowlevel.c:989:
+^I^I}$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/fuse_lowlevel.c:990:
+^I^Iif (out_count) {$

ERROR: code indent should never use tabs
#1013: FILE: tools/virtiofsd/fuse_lowlevel.c:991:
+^I^I^Iout_fiov = fuse_ioctl_iovec_copy(out_iov, out_count);$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992:
+^I^I^Iif (!out_fiov)$

ERROR: braces {} are necessary for all arms of this statement
#1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992:
+                       if (!out_fiov)
[...]

ERROR: code indent should never use tabs
#1015: FILE: tools/virtiofsd/fuse_lowlevel.c:993:
+^I^I^I^Igoto enomem;$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/fuse_lowlevel.c:995:
+^I^I^Iiov[count].iov_base = (void *)out_fiov;$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/fuse_lowlevel.c:996:
+^I^I^Iiov[count].iov_len = sizeof(out_fiov[0]) * out_count;$

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/fuse_lowlevel.c:997:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#1020: FILE: tools/virtiofsd/fuse_lowlevel.c:998:
+^I^I}$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/fuse_lowlevel.c:999:
+^I}$

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/fuse_lowlevel.c:1001:
+^Ires = send_reply_iov(req, 0, iov, count);$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/fuse_lowlevel.c:1003:
+^Ifree(in_fiov);$

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/fuse_lowlevel.c:1004:
+^Ifree(out_fiov);$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/fuse_lowlevel.c:1006:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/fuse_lowlevel.c:1009:
+^Ires = fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/fuse_lowlevel.c:1010:
+^Igoto out;$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/fuse_lowlevel.c:1015:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/fuse_lowlevel.c:1016:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#1039: FILE: tools/virtiofsd/fuse_lowlevel.c:1017:
+^Isize_t count = 1;$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/fuse_lowlevel.c:1019:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1042: FILE: tools/virtiofsd/fuse_lowlevel.c:1020:
+^Iarg.result = result;$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/fuse_lowlevel.c:1021:
+^Iiov[count].iov_base = &arg;$

ERROR: code indent should never use tabs
#1044: FILE: tools/virtiofsd/fuse_lowlevel.c:1022:
+^Iiov[count].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#1045: FILE: tools/virtiofsd/fuse_lowlevel.c:1023:
+^Icount++;$

ERROR: code indent should never use tabs
#1047: FILE: tools/virtiofsd/fuse_lowlevel.c:1025:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1048: FILE: tools/virtiofsd/fuse_lowlevel.c:1026:
+^I^Iiov[count].iov_base = (char *) buf;$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/fuse_lowlevel.c:1027:
+^I^Iiov[count].iov_len = size;$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/fuse_lowlevel.c:1028:
+^I^Icount++;$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/fuse_lowlevel.c:1029:
+^I}$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/fuse_lowlevel.c:1031:
+^Ireturn send_reply_iov(req, 0, iov, count);$

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/fuse_lowlevel.c:1035:
+^I^I^I int count)$

ERROR: code indent should never use tabs
#1059: FILE: tools/virtiofsd/fuse_lowlevel.c:1037:
+^Istruct iovec *padded_iov;$

ERROR: code indent should never use tabs
#1060: FILE: tools/virtiofsd/fuse_lowlevel.c:1038:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/fuse_lowlevel.c:1039:
+^Iint res;$

ERROR: code indent should never use tabs
#1063: FILE: tools/virtiofsd/fuse_lowlevel.c:1041:
+^Ipadded_iov = malloc((count + 2) * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042:
+^Iif (padded_iov == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042:
+       if (padded_iov == NULL)
[...]

ERROR: code indent should never use tabs
#1065: FILE: tools/virtiofsd/fuse_lowlevel.c:1043:
+^I^Ireturn fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/fuse_lowlevel.c:1045:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/fuse_lowlevel.c:1046:
+^Iarg.result = result;$

ERROR: code indent should never use tabs
#1069: FILE: tools/virtiofsd/fuse_lowlevel.c:1047:
+^Ipadded_iov[1].iov_base = &arg;$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/fuse_lowlevel.c:1048:
+^Ipadded_iov[1].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#1072: FILE: tools/virtiofsd/fuse_lowlevel.c:1050:
+^Imemcpy(&padded_iov[2], iov, count * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/fuse_lowlevel.c:1052:
+^Ires = send_reply_iov(req, 0, padded_iov, count + 2);$

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/fuse_lowlevel.c:1053:
+^Ifree(padded_iov);$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/fuse_lowlevel.c:1055:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/fuse_lowlevel.c:1060:
+^Istruct fuse_poll_out arg;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/fuse_lowlevel.c:1062:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1085: FILE: tools/virtiofsd/fuse_lowlevel.c:1063:
+^Iarg.revents = revents;$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/fuse_lowlevel.c:1065:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#1092: FILE: tools/virtiofsd/fuse_lowlevel.c:1070:
+^Istruct fuse_lseek_out arg;$

ERROR: code indent should never use tabs
#1094: FILE: tools/virtiofsd/fuse_lowlevel.c:1072:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1095: FILE: tools/virtiofsd/fuse_lowlevel.c:1073:
+^Iarg.offset = off;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/fuse_lowlevel.c:1075:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#1102: FILE: tools/virtiofsd/fuse_lowlevel.c:1080:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082:
+^Iif (req->se->op.lookup)$

ERROR: braces {} are necessary for all arms of this statement
#1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082:
+       if (req->se->op.lookup)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1105: FILE: tools/virtiofsd/fuse_lowlevel.c:1083:
+^I^Ireq->se->op.lookup(req, nodeid, name);$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/fuse_lowlevel.c:1084:
+^Ielse$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/fuse_lowlevel.c:1085:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1112: FILE: tools/virtiofsd/fuse_lowlevel.c:1090:
+^Istruct fuse_forget_in *arg = (struct fuse_forget_in *) inarg;$

ERROR: code indent should never use tabs
#1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092:
+^Iif (req->se->op.forget)$

ERROR: braces {} are necessary for all arms of this statement
#1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092:
+       if (req->se->op.forget)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/fuse_lowlevel.c:1093:
+^I^Ireq->se->op.forget(req, nodeid, arg->nlookup);$

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/fuse_lowlevel.c:1094:
+^Ielse$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/fuse_lowlevel.c:1095:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/fuse_lowlevel.c:1099:
+^I^I^I    const void *inarg)$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/fuse_lowlevel.c:1101:
+^Istruct fuse_batch_forget_in *arg = (void *) inarg;$

ERROR: code indent should never use tabs
#1124: FILE: tools/virtiofsd/fuse_lowlevel.c:1102:
+^Istruct fuse_forget_one *param = (void *) PARAM(arg);$

ERROR: code indent should never use tabs
#1125: FILE: tools/virtiofsd/fuse_lowlevel.c:1103:
+^Iunsigned int i;$

ERROR: code indent should never use tabs
#1127: FILE: tools/virtiofsd/fuse_lowlevel.c:1105:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/fuse_lowlevel.c:1107:
+^Iif (req->se->op.forget_multi) {$

ERROR: code indent should never use tabs
#1130: FILE: tools/virtiofsd/fuse_lowlevel.c:1108:
+^I^Ireq->se->op.forget_multi(req, arg->count,$

ERROR: code indent should never use tabs
#1131: FILE: tools/virtiofsd/fuse_lowlevel.c:1109:
+^I^I^I^I     (struct fuse_forget_data *) param);$

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/fuse_lowlevel.c:1110:
+^I} else if (req->se->op.forget) {$

ERROR: code indent should never use tabs
#1133: FILE: tools/virtiofsd/fuse_lowlevel.c:1111:
+^I^Ifor (i = 0; i < arg->count; i++) {$

ERROR: code indent should never use tabs
#1134: FILE: tools/virtiofsd/fuse_lowlevel.c:1112:
+^I^I^Istruct fuse_forget_one *forget = &param[i];$

ERROR: code indent should never use tabs
#1135: FILE: tools/virtiofsd/fuse_lowlevel.c:1113:
+^I^I^Istruct fuse_req *dummy_req;$

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/fuse_lowlevel.c:1115:
+^I^I^Idummy_req = fuse_ll_alloc_req(req->se);$

ERROR: code indent should never use tabs
#1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116:
+^I^I^Iif (dummy_req == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116:
+                       if (dummy_req == NULL)
[...]

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/fuse_lowlevel.c:1117:
+^I^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1141: FILE: tools/virtiofsd/fuse_lowlevel.c:1119:
+^I^I^Idummy_req->unique = req->unique;$

ERROR: code indent should never use tabs
#1142: FILE: tools/virtiofsd/fuse_lowlevel.c:1120:
+^I^I^Idummy_req->ctx = req->ctx;$

ERROR: code indent should never use tabs
#1143: FILE: tools/virtiofsd/fuse_lowlevel.c:1121:
+^I^I^Idummy_req->ch = NULL;$

ERROR: code indent should never use tabs
#1145: FILE: tools/virtiofsd/fuse_lowlevel.c:1123:
+^I^I^Ireq->se->op.forget(dummy_req, forget->nodeid,$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/fuse_lowlevel.c:1124:
+^I^I^I^I^I  forget->nlookup);$

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/fuse_lowlevel.c:1125:
+^I^I}$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/fuse_lowlevel.c:1126:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1149: FILE: tools/virtiofsd/fuse_lowlevel.c:1127:
+^I} else {$

ERROR: code indent should never use tabs
#1150: FILE: tools/virtiofsd/fuse_lowlevel.c:1128:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/fuse_lowlevel.c:1129:
+^I}$

ERROR: code indent should never use tabs
#1156: FILE: tools/virtiofsd/fuse_lowlevel.c:1134:
+^Istruct fuse_file_info *fip = NULL;$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/fuse_lowlevel.c:1135:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/fuse_lowlevel.c:1137:
+^Iif (req->se->conn.proto_minor >= 9) {$

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/fuse_lowlevel.c:1138:
+^I^Istruct fuse_getattr_in *arg = (struct fuse_getattr_in *) inarg;$

ERROR: code indent should never use tabs
#1162: FILE: tools/virtiofsd/fuse_lowlevel.c:1140:
+^I^Iif (arg->getattr_flags & FUSE_GETATTR_FH) {$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/fuse_lowlevel.c:1141:
+^I^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1164: FILE: tools/virtiofsd/fuse_lowlevel.c:1142:
+^I^I^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1165: FILE: tools/virtiofsd/fuse_lowlevel.c:1143:
+^I^I^Ifip = &fi;$

ERROR: code indent should never use tabs
#1166: FILE: tools/virtiofsd/fuse_lowlevel.c:1144:
+^I^I}$

ERROR: code indent should never use tabs
#1167: FILE: tools/virtiofsd/fuse_lowlevel.c:1145:
+^I}$

ERROR: code indent should never use tabs
#1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147:
+^Iif (req->se->op.getattr)$

ERROR: braces {} are necessary for all arms of this statement
#1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147:
+       if (req->se->op.getattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/fuse_lowlevel.c:1148:
+^I^Ireq->se->op.getattr(req, nodeid, fip);$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/fuse_lowlevel.c:1149:
+^Ielse$

ERROR: code indent should never use tabs
#1172: FILE: tools/virtiofsd/fuse_lowlevel.c:1150:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/fuse_lowlevel.c:1155:
+^Istruct fuse_setattr_in *arg = (struct fuse_setattr_in *) inarg;$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/fuse_lowlevel.c:1157:
+^Iif (req->se->op.setattr) {$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/fuse_lowlevel.c:1158:
+^I^Istruct fuse_file_info *fi = NULL;$

ERROR: code indent should never use tabs
#1181: FILE: tools/virtiofsd/fuse_lowlevel.c:1159:
+^I^Istruct fuse_file_info fi_store;$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/fuse_lowlevel.c:1160:
+^I^Istruct stat stbuf;$

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/fuse_lowlevel.c:1161:
+^I^Imemset(&stbuf, 0, sizeof(stbuf));$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/fuse_lowlevel.c:1162:
+^I^Iconvert_attr(arg, &stbuf);$

ERROR: code indent should never use tabs
#1185: FILE: tools/virtiofsd/fuse_lowlevel.c:1163:
+^I^Iif (arg->valid & FATTR_FH) {$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/fuse_lowlevel.c:1164:
+^I^I^Iarg->valid &= ~FATTR_FH;$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/fuse_lowlevel.c:1165:
+^I^I^Imemset(&fi_store, 0, sizeof(fi_store));$

ERROR: code indent should never use tabs
#1188: FILE: tools/virtiofsd/fuse_lowlevel.c:1166:
+^I^I^Ifi = &fi_store;$

ERROR: code indent should never use tabs
#1189: FILE: tools/virtiofsd/fuse_lowlevel.c:1167:
+^I^I^Ifi->fh = arg->fh;$

ERROR: code indent should never use tabs
#1190: FILE: tools/virtiofsd/fuse_lowlevel.c:1168:
+^I^I}$

ERROR: code indent should never use tabs
#1191: FILE: tools/virtiofsd/fuse_lowlevel.c:1169:
+^I^Iarg->valid &=$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/fuse_lowlevel.c:1170:
+^I^I^IFUSE_SET_ATTR_MODE^I|$

ERROR: code indent should never use tabs
#1193: FILE: tools/virtiofsd/fuse_lowlevel.c:1171:
+^I^I^IFUSE_SET_ATTR_UID^I|$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/fuse_lowlevel.c:1172:
+^I^I^IFUSE_SET_ATTR_GID^I|$

ERROR: code indent should never use tabs
#1195: FILE: tools/virtiofsd/fuse_lowlevel.c:1173:
+^I^I^IFUSE_SET_ATTR_SIZE^I|$

ERROR: code indent should never use tabs
#1196: FILE: tools/virtiofsd/fuse_lowlevel.c:1174:
+^I^I^IFUSE_SET_ATTR_ATIME^I|$

ERROR: code indent should never use tabs
#1197: FILE: tools/virtiofsd/fuse_lowlevel.c:1175:
+^I^I^IFUSE_SET_ATTR_MTIME^I|$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/fuse_lowlevel.c:1176:
+^I^I^IFUSE_SET_ATTR_ATIME_NOW^I|$

ERROR: code indent should never use tabs
#1199: FILE: tools/virtiofsd/fuse_lowlevel.c:1177:
+^I^I^IFUSE_SET_ATTR_MTIME_NOW |$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/fuse_lowlevel.c:1178:
+^I^I^IFUSE_SET_ATTR_CTIME;$

ERROR: code indent should never use tabs
#1202: FILE: tools/virtiofsd/fuse_lowlevel.c:1180:
+^I^Ireq->se->op.setattr(req, nodeid, &stbuf, arg->valid, fi);$

ERROR: code indent should never use tabs
#1203: FILE: tools/virtiofsd/fuse_lowlevel.c:1181:
+^I} else$

ERROR: code indent should never use tabs
#1204: FILE: tools/virtiofsd/fuse_lowlevel.c:1182:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/fuse_lowlevel.c:1187:
+^Istruct fuse_access_in *arg = (struct fuse_access_in *) inarg;$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189:
+^Iif (req->se->op.access)$

ERROR: braces {} are necessary for all arms of this statement
#1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189:
+       if (req->se->op.access)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/fuse_lowlevel.c:1190:
+^I^Ireq->se->op.access(req, nodeid, arg->mask);$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/fuse_lowlevel.c:1191:
+^Ielse$

ERROR: code indent should never use tabs
#1214: FILE: tools/virtiofsd/fuse_lowlevel.c:1192:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/fuse_lowlevel.c:1197:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199:
+^Iif (req->se->op.readlink)$

ERROR: braces {} are necessary for all arms of this statement
#1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199:
+       if (req->se->op.readlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/fuse_lowlevel.c:1200:
+^I^Ireq->se->op.readlink(req, nodeid);$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/fuse_lowlevel.c:1201:
+^Ielse$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/fuse_lowlevel.c:1202:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/fuse_lowlevel.c:1207:
+^Istruct fuse_mknod_in *arg = (struct fuse_mknod_in *) inarg;$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/fuse_lowlevel.c:1208:
+^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210:
+^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210:
+       if (req->se->conn.proto_minor >= 12)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1233: FILE: tools/virtiofsd/fuse_lowlevel.c:1211:
+^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/fuse_lowlevel.c:1212:
+^Ielse$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/fuse_lowlevel.c:1213:
+^I^Iname = (char *) inarg + FUSE_COMPAT_MKNOD_IN_SIZE;$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215:
+^Iif (req->se->op.mknod)$

ERROR: braces {} are necessary for all arms of this statement
#1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215:
+       if (req->se->op.mknod)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1238: FILE: tools/virtiofsd/fuse_lowlevel.c:1216:
+^I^Ireq->se->op.mknod(req, nodeid, name, arg->mode, arg->rdev);$

ERROR: code indent should never use tabs
#1239: FILE: tools/virtiofsd/fuse_lowlevel.c:1217:
+^Ielse$

ERROR: code indent should never use tabs
#1240: FILE: tools/virtiofsd/fuse_lowlevel.c:1218:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1245: FILE: tools/virtiofsd/fuse_lowlevel.c:1223:
+^Istruct fuse_mkdir_in *arg = (struct fuse_mkdir_in *) inarg;$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225:
+^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225:
+       if (req->se->conn.proto_minor >= 12)
[...]

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/fuse_lowlevel.c:1226:
+^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228:
+^Iif (req->se->op.mkdir)$

ERROR: braces {} are necessary for all arms of this statement
#1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228:
+       if (req->se->op.mkdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/fuse_lowlevel.c:1229:
+^I^Ireq->se->op.mkdir(req, nodeid, PARAM(arg), arg->mode);$

ERROR: code indent should never use tabs
#1252: FILE: tools/virtiofsd/fuse_lowlevel.c:1230:
+^Ielse$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/fuse_lowlevel.c:1231:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/fuse_lowlevel.c:1236:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238:
+^Iif (req->se->op.unlink)$

ERROR: braces {} are necessary for all arms of this statement
#1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238:
+       if (req->se->op.unlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/fuse_lowlevel.c:1239:
+^I^Ireq->se->op.unlink(req, nodeid, name);$

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/fuse_lowlevel.c:1240:
+^Ielse$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/fuse_lowlevel.c:1241:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1268: FILE: tools/virtiofsd/fuse_lowlevel.c:1246:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248:
+^Iif (req->se->op.rmdir)$

ERROR: braces {} are necessary for all arms of this statement
#1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248:
+       if (req->se->op.rmdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/fuse_lowlevel.c:1249:
+^I^Ireq->se->op.rmdir(req, nodeid, name);$

ERROR: code indent should never use tabs
#1272: FILE: tools/virtiofsd/fuse_lowlevel.c:1250:
+^Ielse$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/fuse_lowlevel.c:1251:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1278: FILE: tools/virtiofsd/fuse_lowlevel.c:1256:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1279: FILE: tools/virtiofsd/fuse_lowlevel.c:1257:
+^Ichar *linkname = ((char *) inarg) + strlen((char *) inarg) + 1;$

ERROR: code indent should never use tabs
#1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259:
+^Iif (req->se->op.symlink)$

ERROR: braces {} are necessary for all arms of this statement
#1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259:
+       if (req->se->op.symlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1282: FILE: tools/virtiofsd/fuse_lowlevel.c:1260:
+^I^Ireq->se->op.symlink(req, linkname, nodeid, name);$

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/fuse_lowlevel.c:1261:
+^Ielse$

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/fuse_lowlevel.c:1262:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/fuse_lowlevel.c:1267:
+^Istruct fuse_rename_in *arg = (struct fuse_rename_in *) inarg;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/fuse_lowlevel.c:1268:
+^Ichar *oldname = PARAM(arg);$

ERROR: code indent should never use tabs
#1291: FILE: tools/virtiofsd/fuse_lowlevel.c:1269:
+^Ichar *newname = oldname + strlen(oldname) + 1;$

ERROR: code indent should never use tabs
#1293: FILE: tools/virtiofsd/fuse_lowlevel.c:1271:
+^Iif (req->se->op.rename)$

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/fuse_lowlevel.c:1272:
+^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$

ERROR: code indent should never use tabs
#1295: FILE: tools/virtiofsd/fuse_lowlevel.c:1273:
+^I^I^I^I  0);$

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/fuse_lowlevel.c:1274:
+^Ielse$

ERROR: code indent should never use tabs
#1297: FILE: tools/virtiofsd/fuse_lowlevel.c:1275:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1302: FILE: tools/virtiofsd/fuse_lowlevel.c:1280:
+^Istruct fuse_rename2_in *arg = (struct fuse_rename2_in *) inarg;$

ERROR: code indent should never use tabs
#1303: FILE: tools/virtiofsd/fuse_lowlevel.c:1281:
+^Ichar *oldname = PARAM(arg);$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/fuse_lowlevel.c:1282:
+^Ichar *newname = oldname + strlen(oldname) + 1;$

ERROR: code indent should never use tabs
#1306: FILE: tools/virtiofsd/fuse_lowlevel.c:1284:
+^Iif (req->se->op.rename)$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/fuse_lowlevel.c:1285:
+^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/fuse_lowlevel.c:1286:
+^I^I^I^I  arg->flags);$

ERROR: code indent should never use tabs
#1309: FILE: tools/virtiofsd/fuse_lowlevel.c:1287:
+^Ielse$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/fuse_lowlevel.c:1288:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1315: FILE: tools/virtiofsd/fuse_lowlevel.c:1293:
+^Istruct fuse_link_in *arg = (struct fuse_link_in *) inarg;$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295:
+^Iif (req->se->op.link)$

ERROR: braces {} are necessary for all arms of this statement
#1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295:
+       if (req->se->op.link)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1318: FILE: tools/virtiofsd/fuse_lowlevel.c:1296:
+^I^Ireq->se->op.link(req, arg->oldnodeid, nodeid, PARAM(arg));$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/fuse_lowlevel.c:1297:
+^Ielse$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/fuse_lowlevel.c:1298:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1325: FILE: tools/virtiofsd/fuse_lowlevel.c:1303:
+^Istruct fuse_create_in *arg = (struct fuse_create_in *) inarg;$

ERROR: code indent should never use tabs
#1327: FILE: tools/virtiofsd/fuse_lowlevel.c:1305:
+^Iif (req->se->op.create) {$

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/fuse_lowlevel.c:1306:
+^I^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1329: FILE: tools/virtiofsd/fuse_lowlevel.c:1307:
+^I^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/fuse_lowlevel.c:1309:
+^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/fuse_lowlevel.c:1310:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312:
+^I^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312:
+               if (req->se->conn.proto_minor >= 12)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/fuse_lowlevel.c:1313:
+^I^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/fuse_lowlevel.c:1314:
+^I^Ielse$

ERROR: code indent should never use tabs
#1337: FILE: tools/virtiofsd/fuse_lowlevel.c:1315:
+^I^I^Iname = (char *) inarg + sizeof(struct fuse_open_in);$

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/fuse_lowlevel.c:1317:
+^I^Ireq->se->op.create(req, nodeid, name, arg->mode, &fi);$

ERROR: code indent should never use tabs
#1340: FILE: tools/virtiofsd/fuse_lowlevel.c:1318:
+^I} else$

ERROR: code indent should never use tabs
#1341: FILE: tools/virtiofsd/fuse_lowlevel.c:1319:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/fuse_lowlevel.c:1324:
+^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/fuse_lowlevel.c:1325:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1349: FILE: tools/virtiofsd/fuse_lowlevel.c:1327:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/fuse_lowlevel.c:1328:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330:
+^Iif (req->se->op.open)$

ERROR: braces {} are necessary for all arms of this statement
#1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330:
+       if (req->se->op.open)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1353: FILE: tools/virtiofsd/fuse_lowlevel.c:1331:
+^I^Ireq->se->op.open(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/fuse_lowlevel.c:1332:
+^Ielse$

ERROR: code indent should never use tabs
#1355: FILE: tools/virtiofsd/fuse_lowlevel.c:1333:
+^I^Ifuse_reply_open(req, &fi);$

ERROR: code indent should never use tabs
#1360: FILE: tools/virtiofsd/fuse_lowlevel.c:1338:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1362: FILE: tools/virtiofsd/fuse_lowlevel.c:1340:
+^Iif (req->se->op.read) {$

ERROR: code indent should never use tabs
#1363: FILE: tools/virtiofsd/fuse_lowlevel.c:1341:
+^I^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1365: FILE: tools/virtiofsd/fuse_lowlevel.c:1343:
+^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1366: FILE: tools/virtiofsd/fuse_lowlevel.c:1344:
+^I^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1367: FILE: tools/virtiofsd/fuse_lowlevel.c:1345:
+^I^Iif (req->se->conn.proto_minor >= 9) {$

ERROR: code indent should never use tabs
#1368: FILE: tools/virtiofsd/fuse_lowlevel.c:1346:
+^I^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1369: FILE: tools/virtiofsd/fuse_lowlevel.c:1347:
+^I^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1370: FILE: tools/virtiofsd/fuse_lowlevel.c:1348:
+^I^I}$

ERROR: code indent should never use tabs
#1371: FILE: tools/virtiofsd/fuse_lowlevel.c:1349:
+^I^Ireq->se->op.read(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1372: FILE: tools/virtiofsd/fuse_lowlevel.c:1350:
+^I} else$

ERROR: code indent should never use tabs
#1373: FILE: tools/virtiofsd/fuse_lowlevel.c:1351:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1378: FILE: tools/virtiofsd/fuse_lowlevel.c:1356:
+^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$

ERROR: code indent should never use tabs
#1379: FILE: tools/virtiofsd/fuse_lowlevel.c:1357:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1380: FILE: tools/virtiofsd/fuse_lowlevel.c:1358:
+^Ichar *param;$

ERROR: code indent should never use tabs
#1382: FILE: tools/virtiofsd/fuse_lowlevel.c:1360:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1383: FILE: tools/virtiofsd/fuse_lowlevel.c:1361:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1384: FILE: tools/virtiofsd/fuse_lowlevel.c:1362:
+^Ifi.writepage = (arg->write_flags & FUSE_WRITE_CACHE) != 0;$

ERROR: code indent should never use tabs
#1386: FILE: tools/virtiofsd/fuse_lowlevel.c:1364:
+^Iif (req->se->conn.proto_minor < 9) {$

ERROR: code indent should never use tabs
#1387: FILE: tools/virtiofsd/fuse_lowlevel.c:1365:
+^I^Iparam = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1388: FILE: tools/virtiofsd/fuse_lowlevel.c:1366:
+^I} else {$

ERROR: code indent should never use tabs
#1389: FILE: tools/virtiofsd/fuse_lowlevel.c:1367:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1390: FILE: tools/virtiofsd/fuse_lowlevel.c:1368:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1391: FILE: tools/virtiofsd/fuse_lowlevel.c:1369:
+^I^Iparam = PARAM(arg);$

ERROR: code indent should never use tabs
#1392: FILE: tools/virtiofsd/fuse_lowlevel.c:1370:
+^I}$

ERROR: code indent should never use tabs
#1394: FILE: tools/virtiofsd/fuse_lowlevel.c:1372:
+^Iif (req->se->op.write)$

ERROR: code indent should never use tabs
#1395: FILE: tools/virtiofsd/fuse_lowlevel.c:1373:
+^I^Ireq->se->op.write(req, nodeid, param, arg->size,$

ERROR: code indent should never use tabs
#1396: FILE: tools/virtiofsd/fuse_lowlevel.c:1374:
+^I^I^I^I arg->offset, &fi);$

ERROR: code indent should never use tabs
#1397: FILE: tools/virtiofsd/fuse_lowlevel.c:1375:
+^Ielse$

ERROR: code indent should never use tabs
#1398: FILE: tools/virtiofsd/fuse_lowlevel.c:1376:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1402: FILE: tools/virtiofsd/fuse_lowlevel.c:1380:
+^I^I^I const struct fuse_buf *ibuf)$

ERROR: code indent should never use tabs
#1404: FILE: tools/virtiofsd/fuse_lowlevel.c:1382:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1405: FILE: tools/virtiofsd/fuse_lowlevel.c:1383:
+^Istruct fuse_bufvec bufv = {$

ERROR: code indent should never use tabs
#1406: FILE: tools/virtiofsd/fuse_lowlevel.c:1384:
+^I^I.buf[0] = *ibuf,$

ERROR: code indent should never use tabs
#1407: FILE: tools/virtiofsd/fuse_lowlevel.c:1385:
+^I^I.count = 1,$

ERROR: code indent should never use tabs
#1408: FILE: tools/virtiofsd/fuse_lowlevel.c:1386:
+^I};$

ERROR: code indent should never use tabs
#1409: FILE: tools/virtiofsd/fuse_lowlevel.c:1387:
+^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$

ERROR: code indent should never use tabs
#1410: FILE: tools/virtiofsd/fuse_lowlevel.c:1388:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1412: FILE: tools/virtiofsd/fuse_lowlevel.c:1390:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1413: FILE: tools/virtiofsd/fuse_lowlevel.c:1391:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1414: FILE: tools/virtiofsd/fuse_lowlevel.c:1392:
+^Ifi.writepage = arg->write_flags & FUSE_WRITE_CACHE;$

ERROR: code indent should never use tabs
#1416: FILE: tools/virtiofsd/fuse_lowlevel.c:1394:
+^Iif (se->conn.proto_minor < 9) {$

ERROR: code indent should never use tabs
#1417: FILE: tools/virtiofsd/fuse_lowlevel.c:1395:
+^I^Ibufv.buf[0].mem = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1418: FILE: tools/virtiofsd/fuse_lowlevel.c:1396:
+^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#1419: FILE: tools/virtiofsd/fuse_lowlevel.c:1397:
+^I^I^IFUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1420: FILE: tools/virtiofsd/fuse_lowlevel.c:1398:
+^I^Iassert(!(bufv.buf[0].flags & FUSE_BUF_IS_FD));$

ERROR: code indent should never use tabs
#1421: FILE: tools/virtiofsd/fuse_lowlevel.c:1399:
+^I} else {$

ERROR: code indent should never use tabs
#1422: FILE: tools/virtiofsd/fuse_lowlevel.c:1400:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1423: FILE: tools/virtiofsd/fuse_lowlevel.c:1401:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402:
+^I^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$

ERROR: braces {} are necessary for all arms of this statement
#1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402:
+               if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))
[...]

ERROR: code indent should never use tabs
#1425: FILE: tools/virtiofsd/fuse_lowlevel.c:1403:
+^I^I^Ibufv.buf[0].mem = PARAM(arg);$

ERROR: code indent should never use tabs
#1427: FILE: tools/virtiofsd/fuse_lowlevel.c:1405:
+^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#1428: FILE: tools/virtiofsd/fuse_lowlevel.c:1406:
+^I^I^Isizeof(struct fuse_write_in);$

ERROR: code indent should never use tabs
#1429: FILE: tools/virtiofsd/fuse_lowlevel.c:1407:
+^I}$

ERROR: code indent should never use tabs
#1430: FILE: tools/virtiofsd/fuse_lowlevel.c:1408:
+^Iif (bufv.buf[0].size < arg->size) {$

WARNING: line over 80 characters
#1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409:
+               fuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too 
small\n");

ERROR: code indent should never use tabs
#1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too small\n");$

ERROR: code indent should never use tabs
#1432: FILE: tools/virtiofsd/fuse_lowlevel.c:1410:
+^I^Ifuse_reply_err(req, EIO);$

ERROR: code indent should never use tabs
#1433: FILE: tools/virtiofsd/fuse_lowlevel.c:1411:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1434: FILE: tools/virtiofsd/fuse_lowlevel.c:1412:
+^I}$

ERROR: code indent should never use tabs
#1435: FILE: tools/virtiofsd/fuse_lowlevel.c:1413:
+^Ibufv.buf[0].size = arg->size;$

ERROR: code indent should never use tabs
#1437: FILE: tools/virtiofsd/fuse_lowlevel.c:1415:
+^Ise->op.write_buf(req, nodeid, &bufv, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1440: FILE: tools/virtiofsd/fuse_lowlevel.c:1418:
+^I/* Need to reset the pipe if ->write_buf() didn't consume all data */$

ERROR: code indent should never use tabs
#1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419:
+^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$

ERROR: braces {} are necessary for all arms of this statement
#1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419:
+       if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)
[...]

ERROR: code indent should never use tabs
#1442: FILE: tools/virtiofsd/fuse_lowlevel.c:1420:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#1447: FILE: tools/virtiofsd/fuse_lowlevel.c:1425:
+^Istruct fuse_flush_in *arg = (struct fuse_flush_in *) inarg;$

ERROR: code indent should never use tabs
#1448: FILE: tools/virtiofsd/fuse_lowlevel.c:1426:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1450: FILE: tools/virtiofsd/fuse_lowlevel.c:1428:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1451: FILE: tools/virtiofsd/fuse_lowlevel.c:1429:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1452: FILE: tools/virtiofsd/fuse_lowlevel.c:1430:
+^Ifi.flush = 1;$

ERROR: code indent should never use tabs
#1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431:
+^Iif (req->se->conn.proto_minor >= 7)$

ERROR: braces {} are necessary for all arms of this statement
#1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431:
+       if (req->se->conn.proto_minor >= 7)
[...]

ERROR: code indent should never use tabs
#1454: FILE: tools/virtiofsd/fuse_lowlevel.c:1432:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434:
+^Iif (req->se->op.flush)$

ERROR: braces {} are necessary for all arms of this statement
#1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434:
+       if (req->se->op.flush)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1457: FILE: tools/virtiofsd/fuse_lowlevel.c:1435:
+^I^Ireq->se->op.flush(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1458: FILE: tools/virtiofsd/fuse_lowlevel.c:1436:
+^Ielse$

ERROR: code indent should never use tabs
#1459: FILE: tools/virtiofsd/fuse_lowlevel.c:1437:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1464: FILE: tools/virtiofsd/fuse_lowlevel.c:1442:
+^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$

ERROR: code indent should never use tabs
#1465: FILE: tools/virtiofsd/fuse_lowlevel.c:1443:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1467: FILE: tools/virtiofsd/fuse_lowlevel.c:1445:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1468: FILE: tools/virtiofsd/fuse_lowlevel.c:1446:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1469: FILE: tools/virtiofsd/fuse_lowlevel.c:1447:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1470: FILE: tools/virtiofsd/fuse_lowlevel.c:1448:
+^Iif (req->se->conn.proto_minor >= 8) {$

ERROR: code indent should never use tabs
#1471: FILE: tools/virtiofsd/fuse_lowlevel.c:1449:
+^I^Ifi.flush = (arg->release_flags & FUSE_RELEASE_FLUSH) ? 1 : 0;$

ERROR: code indent should never use tabs
#1472: FILE: tools/virtiofsd/fuse_lowlevel.c:1450:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1473: FILE: tools/virtiofsd/fuse_lowlevel.c:1451:
+^I}$

ERROR: code indent should never use tabs
#1474: FILE: tools/virtiofsd/fuse_lowlevel.c:1452:
+^Iif (arg->release_flags & FUSE_RELEASE_FLOCK_UNLOCK) {$

ERROR: code indent should never use tabs
#1475: FILE: tools/virtiofsd/fuse_lowlevel.c:1453:
+^I^Ifi.flock_release = 1;$

ERROR: code indent should never use tabs
#1476: FILE: tools/virtiofsd/fuse_lowlevel.c:1454:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1477: FILE: tools/virtiofsd/fuse_lowlevel.c:1455:
+^I}$

ERROR: code indent should never use tabs
#1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457:
+^Iif (req->se->op.release)$

ERROR: braces {} are necessary for all arms of this statement
#1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457:
+       if (req->se->op.release)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1480: FILE: tools/virtiofsd/fuse_lowlevel.c:1458:
+^I^Ireq->se->op.release(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1481: FILE: tools/virtiofsd/fuse_lowlevel.c:1459:
+^Ielse$

ERROR: code indent should never use tabs
#1482: FILE: tools/virtiofsd/fuse_lowlevel.c:1460:
+^I^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#1487: FILE: tools/virtiofsd/fuse_lowlevel.c:1465:
+^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$

ERROR: code indent should never use tabs
#1488: FILE: tools/virtiofsd/fuse_lowlevel.c:1466:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1489: FILE: tools/virtiofsd/fuse_lowlevel.c:1467:
+^Iint datasync = arg->fsync_flags & 1;$

ERROR: code indent should never use tabs
#1491: FILE: tools/virtiofsd/fuse_lowlevel.c:1469:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1492: FILE: tools/virtiofsd/fuse_lowlevel.c:1470:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472:
+^Iif (req->se->op.fsync)$

ERROR: braces {} are necessary for all arms of this statement
#1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472:
+       if (req->se->op.fsync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1495: FILE: tools/virtiofsd/fuse_lowlevel.c:1473:
+^I^Ireq->se->op.fsync(req, nodeid, datasync, &fi);$

ERROR: code indent should never use tabs
#1496: FILE: tools/virtiofsd/fuse_lowlevel.c:1474:
+^Ielse$

ERROR: code indent should never use tabs
#1497: FILE: tools/virtiofsd/fuse_lowlevel.c:1475:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1502: FILE: tools/virtiofsd/fuse_lowlevel.c:1480:
+^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$

ERROR: code indent should never use tabs
#1503: FILE: tools/virtiofsd/fuse_lowlevel.c:1481:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1505: FILE: tools/virtiofsd/fuse_lowlevel.c:1483:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1506: FILE: tools/virtiofsd/fuse_lowlevel.c:1484:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486:
+^Iif (req->se->op.opendir)$

ERROR: braces {} are necessary for all arms of this statement
#1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486:
+       if (req->se->op.opendir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1509: FILE: tools/virtiofsd/fuse_lowlevel.c:1487:
+^I^Ireq->se->op.opendir(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1510: FILE: tools/virtiofsd/fuse_lowlevel.c:1488:
+^Ielse$

ERROR: code indent should never use tabs
#1511: FILE: tools/virtiofsd/fuse_lowlevel.c:1489:
+^I^Ifuse_reply_open(req, &fi);$

ERROR: code indent should never use tabs
#1516: FILE: tools/virtiofsd/fuse_lowlevel.c:1494:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1517: FILE: tools/virtiofsd/fuse_lowlevel.c:1495:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1519: FILE: tools/virtiofsd/fuse_lowlevel.c:1497:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1520: FILE: tools/virtiofsd/fuse_lowlevel.c:1498:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500:
+^Iif (req->se->op.readdir)$

ERROR: braces {} are necessary for all arms of this statement
#1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500:
+       if (req->se->op.readdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1523: FILE: tools/virtiofsd/fuse_lowlevel.c:1501:
+^I^Ireq->se->op.readdir(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1524: FILE: tools/virtiofsd/fuse_lowlevel.c:1502:
+^Ielse$

ERROR: code indent should never use tabs
#1525: FILE: tools/virtiofsd/fuse_lowlevel.c:1503:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1530: FILE: tools/virtiofsd/fuse_lowlevel.c:1508:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1531: FILE: tools/virtiofsd/fuse_lowlevel.c:1509:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1533: FILE: tools/virtiofsd/fuse_lowlevel.c:1511:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1534: FILE: tools/virtiofsd/fuse_lowlevel.c:1512:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514:
+^Iif (req->se->op.readdirplus)$

ERROR: braces {} are necessary for all arms of this statement
#1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514:
+       if (req->se->op.readdirplus)
[...]
+       else
[...]

WARNING: line over 80 characters
#1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515:
+               req->se->op.readdirplus(req, nodeid, arg->size, arg->offset, 
&fi);

ERROR: code indent should never use tabs
#1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515:
+^I^Ireq->se->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1538: FILE: tools/virtiofsd/fuse_lowlevel.c:1516:
+^Ielse$

ERROR: code indent should never use tabs
#1539: FILE: tools/virtiofsd/fuse_lowlevel.c:1517:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1544: FILE: tools/virtiofsd/fuse_lowlevel.c:1522:
+^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$

ERROR: code indent should never use tabs
#1545: FILE: tools/virtiofsd/fuse_lowlevel.c:1523:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1547: FILE: tools/virtiofsd/fuse_lowlevel.c:1525:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1548: FILE: tools/virtiofsd/fuse_lowlevel.c:1526:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1549: FILE: tools/virtiofsd/fuse_lowlevel.c:1527:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529:
+^Iif (req->se->op.releasedir)$

ERROR: braces {} are necessary for all arms of this statement
#1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529:
+       if (req->se->op.releasedir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1552: FILE: tools/virtiofsd/fuse_lowlevel.c:1530:
+^I^Ireq->se->op.releasedir(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1553: FILE: tools/virtiofsd/fuse_lowlevel.c:1531:
+^Ielse$

ERROR: code indent should never use tabs
#1554: FILE: tools/virtiofsd/fuse_lowlevel.c:1532:
+^I^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#1559: FILE: tools/virtiofsd/fuse_lowlevel.c:1537:
+^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$

ERROR: code indent should never use tabs
#1560: FILE: tools/virtiofsd/fuse_lowlevel.c:1538:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1561: FILE: tools/virtiofsd/fuse_lowlevel.c:1539:
+^Iint datasync = arg->fsync_flags & 1;$

ERROR: code indent should never use tabs
#1563: FILE: tools/virtiofsd/fuse_lowlevel.c:1541:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1564: FILE: tools/virtiofsd/fuse_lowlevel.c:1542:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544:
+^Iif (req->se->op.fsyncdir)$

ERROR: braces {} are necessary for all arms of this statement
#1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544:
+       if (req->se->op.fsyncdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1567: FILE: tools/virtiofsd/fuse_lowlevel.c:1545:
+^I^Ireq->se->op.fsyncdir(req, nodeid, datasync, &fi);$

ERROR: code indent should never use tabs
#1568: FILE: tools/virtiofsd/fuse_lowlevel.c:1546:
+^Ielse$

ERROR: code indent should never use tabs
#1569: FILE: tools/virtiofsd/fuse_lowlevel.c:1547:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1574: FILE: tools/virtiofsd/fuse_lowlevel.c:1552:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1575: FILE: tools/virtiofsd/fuse_lowlevel.c:1553:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#1577: FILE: tools/virtiofsd/fuse_lowlevel.c:1555:
+^Iif (req->se->op.statfs)$

ERROR: code indent should never use tabs
#1578: FILE: tools/virtiofsd/fuse_lowlevel.c:1556:
+^I^Ireq->se->op.statfs(req, nodeid);$

ERROR: code indent should never use tabs
#1579: FILE: tools/virtiofsd/fuse_lowlevel.c:1557:
+^Ielse {$

ERROR: code indent should never use tabs
#1580: FILE: tools/virtiofsd/fuse_lowlevel.c:1558:
+^I^Istruct statvfs buf = {$

ERROR: code indent should never use tabs
#1581: FILE: tools/virtiofsd/fuse_lowlevel.c:1559:
+^I^I^I.f_namemax = 255,$

ERROR: code indent should never use tabs
#1582: FILE: tools/virtiofsd/fuse_lowlevel.c:1560:
+^I^I^I.f_bsize = 512,$

ERROR: code indent should never use tabs
#1583: FILE: tools/virtiofsd/fuse_lowlevel.c:1561:
+^I^I};$

ERROR: code indent should never use tabs
#1584: FILE: tools/virtiofsd/fuse_lowlevel.c:1562:
+^I^Ifuse_reply_statfs(req, &buf);$

ERROR: code indent should never use tabs
#1585: FILE: tools/virtiofsd/fuse_lowlevel.c:1563:
+^I}$

ERROR: code indent should never use tabs
#1590: FILE: tools/virtiofsd/fuse_lowlevel.c:1568:
+^Istruct fuse_setxattr_in *arg = (struct fuse_setxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1591: FILE: tools/virtiofsd/fuse_lowlevel.c:1569:
+^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1592: FILE: tools/virtiofsd/fuse_lowlevel.c:1570:
+^Ichar *value = name + strlen(name) + 1;$

ERROR: code indent should never use tabs
#1594: FILE: tools/virtiofsd/fuse_lowlevel.c:1572:
+^Iif (req->se->op.setxattr)$

ERROR: code indent should never use tabs
#1595: FILE: tools/virtiofsd/fuse_lowlevel.c:1573:
+^I^Ireq->se->op.setxattr(req, nodeid, name, value, arg->size,$

ERROR: code indent should never use tabs
#1596: FILE: tools/virtiofsd/fuse_lowlevel.c:1574:
+^I^I^I^I    arg->flags);$

ERROR: code indent should never use tabs
#1597: FILE: tools/virtiofsd/fuse_lowlevel.c:1575:
+^Ielse$

ERROR: code indent should never use tabs
#1598: FILE: tools/virtiofsd/fuse_lowlevel.c:1576:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1603: FILE: tools/virtiofsd/fuse_lowlevel.c:1581:
+^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583:
+^Iif (req->se->op.getxattr)$

ERROR: braces {} are necessary for all arms of this statement
#1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583:
+       if (req->se->op.getxattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1606: FILE: tools/virtiofsd/fuse_lowlevel.c:1584:
+^I^Ireq->se->op.getxattr(req, nodeid, PARAM(arg), arg->size);$

ERROR: code indent should never use tabs
#1607: FILE: tools/virtiofsd/fuse_lowlevel.c:1585:
+^Ielse$

ERROR: code indent should never use tabs
#1608: FILE: tools/virtiofsd/fuse_lowlevel.c:1586:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1613: FILE: tools/virtiofsd/fuse_lowlevel.c:1591:
+^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593:
+^Iif (req->se->op.listxattr)$

ERROR: braces {} are necessary for all arms of this statement
#1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593:
+       if (req->se->op.listxattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1616: FILE: tools/virtiofsd/fuse_lowlevel.c:1594:
+^I^Ireq->se->op.listxattr(req, nodeid, arg->size);$

ERROR: code indent should never use tabs
#1617: FILE: tools/virtiofsd/fuse_lowlevel.c:1595:
+^Ielse$

ERROR: code indent should never use tabs
#1618: FILE: tools/virtiofsd/fuse_lowlevel.c:1596:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1623: FILE: tools/virtiofsd/fuse_lowlevel.c:1601:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603:
+^Iif (req->se->op.removexattr)$

ERROR: braces {} are necessary for all arms of this statement
#1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603:
+       if (req->se->op.removexattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1626: FILE: tools/virtiofsd/fuse_lowlevel.c:1604:
+^I^Ireq->se->op.removexattr(req, nodeid, name);$

ERROR: code indent should never use tabs
#1627: FILE: tools/virtiofsd/fuse_lowlevel.c:1605:
+^Ielse$

ERROR: code indent should never use tabs
#1628: FILE: tools/virtiofsd/fuse_lowlevel.c:1606:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1632: FILE: tools/virtiofsd/fuse_lowlevel.c:1610:
+^I^I^I^I   struct flock *flock)$

ERROR: code indent should never use tabs
#1634: FILE: tools/virtiofsd/fuse_lowlevel.c:1612:
+^Imemset(flock, 0, sizeof(struct flock));$

ERROR: code indent should never use tabs
#1635: FILE: tools/virtiofsd/fuse_lowlevel.c:1613:
+^Iflock->l_type = fl->type;$

ERROR: code indent should never use tabs
#1636: FILE: tools/virtiofsd/fuse_lowlevel.c:1614:
+^Iflock->l_whence = SEEK_SET;$

ERROR: code indent should never use tabs
#1637: FILE: tools/virtiofsd/fuse_lowlevel.c:1615:
+^Iflock->l_start = fl->start;$

ERROR: code indent should never use tabs
#1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616:
+^Iif (fl->end == OFFSET_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616:
+       if (fl->end == OFFSET_MAX)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1639: FILE: tools/virtiofsd/fuse_lowlevel.c:1617:
+^I^Iflock->l_len = 0;$

ERROR: code indent should never use tabs
#1640: FILE: tools/virtiofsd/fuse_lowlevel.c:1618:
+^Ielse$

ERROR: code indent should never use tabs
#1641: FILE: tools/virtiofsd/fuse_lowlevel.c:1619:
+^I^Iflock->l_len = fl->end - fl->start + 1;$

ERROR: code indent should never use tabs
#1642: FILE: tools/virtiofsd/fuse_lowlevel.c:1620:
+^Iflock->l_pid = fl->pid;$

ERROR: code indent should never use tabs
#1647: FILE: tools/virtiofsd/fuse_lowlevel.c:1625:
+^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$

ERROR: code indent should never use tabs
#1648: FILE: tools/virtiofsd/fuse_lowlevel.c:1626:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1649: FILE: tools/virtiofsd/fuse_lowlevel.c:1627:
+^Istruct flock flock;$

ERROR: code indent should never use tabs
#1651: FILE: tools/virtiofsd/fuse_lowlevel.c:1629:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1652: FILE: tools/virtiofsd/fuse_lowlevel.c:1630:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1653: FILE: tools/virtiofsd/fuse_lowlevel.c:1631:
+^Ifi.lock_owner = arg->owner;$

ERROR: code indent should never use tabs
#1655: FILE: tools/virtiofsd/fuse_lowlevel.c:1633:
+^Iconvert_fuse_file_lock(&arg->lk, &flock);$

ERROR: code indent should never use tabs
#1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634:
+^Iif (req->se->op.getlk)$

ERROR: braces {} are necessary for all arms of this statement
#1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634:
+       if (req->se->op.getlk)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1657: FILE: tools/virtiofsd/fuse_lowlevel.c:1635:
+^I^Ireq->se->op.getlk(req, nodeid, &fi, &flock);$

ERROR: code indent should never use tabs
#1658: FILE: tools/virtiofsd/fuse_lowlevel.c:1636:
+^Ielse$

ERROR: code indent should never use tabs
#1659: FILE: tools/virtiofsd/fuse_lowlevel.c:1637:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1663: FILE: tools/virtiofsd/fuse_lowlevel.c:1641:
+^I^I^I    const void *inarg, int sleep)$

ERROR: code indent should never use tabs
#1665: FILE: tools/virtiofsd/fuse_lowlevel.c:1643:
+^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$

ERROR: code indent should never use tabs
#1666: FILE: tools/virtiofsd/fuse_lowlevel.c:1644:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1667: FILE: tools/virtiofsd/fuse_lowlevel.c:1645:
+^Istruct flock flock;$

ERROR: code indent should never use tabs
#1669: FILE: tools/virtiofsd/fuse_lowlevel.c:1647:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1670: FILE: tools/virtiofsd/fuse_lowlevel.c:1648:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1671: FILE: tools/virtiofsd/fuse_lowlevel.c:1649:
+^Ifi.lock_owner = arg->owner;$

ERROR: code indent should never use tabs
#1673: FILE: tools/virtiofsd/fuse_lowlevel.c:1651:
+^Iif (arg->lk_flags & FUSE_LK_FLOCK) {$

ERROR: code indent should never use tabs
#1674: FILE: tools/virtiofsd/fuse_lowlevel.c:1652:
+^I^Iint op = 0;$

ERROR: code indent should never use tabs
#1676: FILE: tools/virtiofsd/fuse_lowlevel.c:1654:
+^I^Iswitch (arg->lk.type) {$

ERROR: code indent should never use tabs
#1677: FILE: tools/virtiofsd/fuse_lowlevel.c:1655:
+^I^Icase F_RDLCK:$

ERROR: code indent should never use tabs
#1678: FILE: tools/virtiofsd/fuse_lowlevel.c:1656:
+^I^I^Iop = LOCK_SH;$

ERROR: code indent should never use tabs
#1679: FILE: tools/virtiofsd/fuse_lowlevel.c:1657:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1680: FILE: tools/virtiofsd/fuse_lowlevel.c:1658:
+^I^Icase F_WRLCK:$

ERROR: code indent should never use tabs
#1681: FILE: tools/virtiofsd/fuse_lowlevel.c:1659:
+^I^I^Iop = LOCK_EX;$

ERROR: code indent should never use tabs
#1682: FILE: tools/virtiofsd/fuse_lowlevel.c:1660:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1683: FILE: tools/virtiofsd/fuse_lowlevel.c:1661:
+^I^Icase F_UNLCK:$

ERROR: code indent should never use tabs
#1684: FILE: tools/virtiofsd/fuse_lowlevel.c:1662:
+^I^I^Iop = LOCK_UN;$

ERROR: code indent should never use tabs
#1685: FILE: tools/virtiofsd/fuse_lowlevel.c:1663:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1686: FILE: tools/virtiofsd/fuse_lowlevel.c:1664:
+^I^I}$

ERROR: code indent should never use tabs
#1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665:
+^I^Iif (!sleep)$

ERROR: braces {} are necessary for all arms of this statement
#1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665:
+               if (!sleep)
[...]

ERROR: code indent should never use tabs
#1688: FILE: tools/virtiofsd/fuse_lowlevel.c:1666:
+^I^I^Iop |= LOCK_NB;$

ERROR: code indent should never use tabs
#1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668:
+^I^Iif (req->se->op.flock)$

ERROR: braces {} are necessary for all arms of this statement
#1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668:
+               if (req->se->op.flock)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1691: FILE: tools/virtiofsd/fuse_lowlevel.c:1669:
+^I^I^Ireq->se->op.flock(req, nodeid, &fi, op);$

ERROR: code indent should never use tabs
#1692: FILE: tools/virtiofsd/fuse_lowlevel.c:1670:
+^I^Ielse$

ERROR: code indent should never use tabs
#1693: FILE: tools/virtiofsd/fuse_lowlevel.c:1671:
+^I^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1694: FILE: tools/virtiofsd/fuse_lowlevel.c:1672:
+^I} else {$

ERROR: code indent should never use tabs
#1695: FILE: tools/virtiofsd/fuse_lowlevel.c:1673:
+^I^Iconvert_fuse_file_lock(&arg->lk, &flock);$

ERROR: code indent should never use tabs
#1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674:
+^I^Iif (req->se->op.setlk)$

ERROR: braces {} are necessary for all arms of this statement
#1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674:
+               if (req->se->op.setlk)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1697: FILE: tools/virtiofsd/fuse_lowlevel.c:1675:
+^I^I^Ireq->se->op.setlk(req, nodeid, &fi, &flock, sleep);$

ERROR: code indent should never use tabs
#1698: FILE: tools/virtiofsd/fuse_lowlevel.c:1676:
+^I^Ielse$

ERROR: code indent should never use tabs
#1699: FILE: tools/virtiofsd/fuse_lowlevel.c:1677:
+^I^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1700: FILE: tools/virtiofsd/fuse_lowlevel.c:1678:
+^I}$

ERROR: code indent should never use tabs
#1705: FILE: tools/virtiofsd/fuse_lowlevel.c:1683:
+^Ido_setlk_common(req, nodeid, inarg, 0);$

ERROR: code indent should never use tabs
#1710: FILE: tools/virtiofsd/fuse_lowlevel.c:1688:
+^Ido_setlk_common(req, nodeid, inarg, 1);$

ERROR: code indent should never use tabs
#1715: FILE: tools/virtiofsd/fuse_lowlevel.c:1693:
+^Istruct fuse_req *curr;$

ERROR: code indent should never use tabs
#1717: FILE: tools/virtiofsd/fuse_lowlevel.c:1695:
+^Ifor (curr = se->list.next; curr != &se->list; curr = curr->next) {$

ERROR: code indent should never use tabs
#1718: FILE: tools/virtiofsd/fuse_lowlevel.c:1696:
+^I^Iif (curr->unique == req->u.i.unique) {$

ERROR: code indent should never use tabs
#1719: FILE: tools/virtiofsd/fuse_lowlevel.c:1697:
+^I^I^Ifuse_interrupt_func_t func;$

ERROR: code indent should never use tabs
#1720: FILE: tools/virtiofsd/fuse_lowlevel.c:1698:
+^I^I^Ivoid *data;$

ERROR: code indent should never use tabs
#1722: FILE: tools/virtiofsd/fuse_lowlevel.c:1700:
+^I^I^Icurr->ctr++;$

ERROR: code indent should never use tabs
#1723: FILE: tools/virtiofsd/fuse_lowlevel.c:1701:
+^I^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1725: FILE: tools/virtiofsd/fuse_lowlevel.c:1703:
+^I^I^I/* Ugh, ugly locking */$

ERROR: code indent should never use tabs
#1726: FILE: tools/virtiofsd/fuse_lowlevel.c:1704:
+^I^I^Ipthread_mutex_lock(&curr->lock);$

ERROR: code indent should never use tabs
#1727: FILE: tools/virtiofsd/fuse_lowlevel.c:1705:
+^I^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1728: FILE: tools/virtiofsd/fuse_lowlevel.c:1706:
+^I^I^Icurr->interrupted = 1;$

ERROR: code indent should never use tabs
#1729: FILE: tools/virtiofsd/fuse_lowlevel.c:1707:
+^I^I^Ifunc = curr->u.ni.func;$

ERROR: code indent should never use tabs
#1730: FILE: tools/virtiofsd/fuse_lowlevel.c:1708:
+^I^I^Idata = curr->u.ni.data;$

ERROR: code indent should never use tabs
#1731: FILE: tools/virtiofsd/fuse_lowlevel.c:1709:
+^I^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710:
+^I^I^Iif (func)$

ERROR: braces {} are necessary for all arms of this statement
#1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710:
+                       if (func)
[...]

ERROR: code indent should never use tabs
#1733: FILE: tools/virtiofsd/fuse_lowlevel.c:1711:
+^I^I^I^Ifunc(curr, data);$

ERROR: code indent should never use tabs
#1734: FILE: tools/virtiofsd/fuse_lowlevel.c:1712:
+^I^I^Ipthread_mutex_unlock(&curr->lock);$

ERROR: code indent should never use tabs
#1736: FILE: tools/virtiofsd/fuse_lowlevel.c:1714:
+^I^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1737: FILE: tools/virtiofsd/fuse_lowlevel.c:1715:
+^I^I^Icurr->ctr--;$

ERROR: code indent should never use tabs
#1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716:
+^I^I^Iif (!curr->ctr)$

ERROR: braces {} are necessary for all arms of this statement
#1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716:
+                       if (!curr->ctr)
[...]

ERROR: code indent should never use tabs
#1739: FILE: tools/virtiofsd/fuse_lowlevel.c:1717:
+^I^I^I^Idestroy_req(curr);$

ERROR: code indent should never use tabs
#1741: FILE: tools/virtiofsd/fuse_lowlevel.c:1719:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1742: FILE: tools/virtiofsd/fuse_lowlevel.c:1720:
+^I^I}$

ERROR: code indent should never use tabs
#1743: FILE: tools/virtiofsd/fuse_lowlevel.c:1721:
+^I}$

ERROR: code indent should never use tabs
#1744: FILE: tools/virtiofsd/fuse_lowlevel.c:1722:
+^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$

ERROR: code indent should never use tabs
#1745: FILE: tools/virtiofsd/fuse_lowlevel.c:1723:
+^I     curr = curr->next) {$

ERROR: code indent should never use tabs
#1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724:
+^I^Iif (curr->u.i.unique == req->u.i.unique)$

ERROR: braces {} are necessary for all arms of this statement
#1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724:
+               if (curr->u.i.unique == req->u.i.unique)
[...]

ERROR: code indent should never use tabs
#1747: FILE: tools/virtiofsd/fuse_lowlevel.c:1725:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1748: FILE: tools/virtiofsd/fuse_lowlevel.c:1726:
+^I}$

ERROR: code indent should never use tabs
#1749: FILE: tools/virtiofsd/fuse_lowlevel.c:1727:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1754: FILE: tools/virtiofsd/fuse_lowlevel.c:1732:
+^Istruct fuse_interrupt_in *arg = (struct fuse_interrupt_in *) inarg;$

ERROR: code indent should never use tabs
#1755: FILE: tools/virtiofsd/fuse_lowlevel.c:1733:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1757: FILE: tools/virtiofsd/fuse_lowlevel.c:1735:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1758: FILE: tools/virtiofsd/fuse_lowlevel.c:1736:
+^Iif (se->debug)$

ERROR: code indent should never use tabs
#1759: FILE: tools/virtiofsd/fuse_lowlevel.c:1737:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "INTERRUPT: %llu\n",$

ERROR: code indent should never use tabs
#1760: FILE: tools/virtiofsd/fuse_lowlevel.c:1738:
+^I^I^I(unsigned long long) arg->unique);$

ERROR: code indent should never use tabs
#1762: FILE: tools/virtiofsd/fuse_lowlevel.c:1740:
+^Ireq->u.i.unique = arg->unique;$

ERROR: code indent should never use tabs
#1764: FILE: tools/virtiofsd/fuse_lowlevel.c:1742:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743:
+^Iif (find_interrupted(se, req))$

ERROR: braces {} are necessary for all arms of this statement
#1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743:
+       if (find_interrupted(se, req))
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1766: FILE: tools/virtiofsd/fuse_lowlevel.c:1744:
+^I^Idestroy_req(req);$

ERROR: code indent should never use tabs
#1767: FILE: tools/virtiofsd/fuse_lowlevel.c:1745:
+^Ielse$

ERROR: code indent should never use tabs
#1768: FILE: tools/virtiofsd/fuse_lowlevel.c:1746:
+^I^Ilist_add_req(req, &se->interrupts);$

ERROR: code indent should never use tabs
#1769: FILE: tools/virtiofsd/fuse_lowlevel.c:1747:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1773: FILE: tools/virtiofsd/fuse_lowlevel.c:1751:
+^I^I^I^I^Istruct fuse_req *req)$

ERROR: code indent should never use tabs
#1775: FILE: tools/virtiofsd/fuse_lowlevel.c:1753:
+^Istruct fuse_req *curr;$

ERROR: code indent should never use tabs
#1777: FILE: tools/virtiofsd/fuse_lowlevel.c:1755:
+^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$

ERROR: code indent should never use tabs
#1778: FILE: tools/virtiofsd/fuse_lowlevel.c:1756:
+^I     curr = curr->next) {$

ERROR: code indent should never use tabs
#1779: FILE: tools/virtiofsd/fuse_lowlevel.c:1757:
+^I^Iif (curr->u.i.unique == req->unique) {$

ERROR: code indent should never use tabs
#1780: FILE: tools/virtiofsd/fuse_lowlevel.c:1758:
+^I^I^Ireq->interrupted = 1;$

ERROR: code indent should never use tabs
#1781: FILE: tools/virtiofsd/fuse_lowlevel.c:1759:
+^I^I^Ilist_del_req(curr);$

ERROR: code indent should never use tabs
#1782: FILE: tools/virtiofsd/fuse_lowlevel.c:1760:
+^I^I^Ifree(curr);$

ERROR: code indent should never use tabs
#1783: FILE: tools/virtiofsd/fuse_lowlevel.c:1761:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1784: FILE: tools/virtiofsd/fuse_lowlevel.c:1762:
+^I^I}$

ERROR: code indent should never use tabs
#1785: FILE: tools/virtiofsd/fuse_lowlevel.c:1763:
+^I}$

ERROR: code indent should never use tabs
#1786: FILE: tools/virtiofsd/fuse_lowlevel.c:1764:
+^Icurr = se->interrupts.next;$

ERROR: code indent should never use tabs
#1787: FILE: tools/virtiofsd/fuse_lowlevel.c:1765:
+^Iif (curr != &se->interrupts) {$

ERROR: code indent should never use tabs
#1788: FILE: tools/virtiofsd/fuse_lowlevel.c:1766:
+^I^Ilist_del_req(curr);$

ERROR: code indent should never use tabs
#1789: FILE: tools/virtiofsd/fuse_lowlevel.c:1767:
+^I^Ilist_init_req(curr);$

ERROR: code indent should never use tabs
#1790: FILE: tools/virtiofsd/fuse_lowlevel.c:1768:
+^I^Ireturn curr;$

ERROR: code indent should never use tabs
#1791: FILE: tools/virtiofsd/fuse_lowlevel.c:1769:
+^I} else$

ERROR: code indent should never use tabs
#1792: FILE: tools/virtiofsd/fuse_lowlevel.c:1770:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1797: FILE: tools/virtiofsd/fuse_lowlevel.c:1775:
+^Istruct fuse_bmap_in *arg = (struct fuse_bmap_in *) inarg;$

ERROR: code indent should never use tabs
#1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777:
+^Iif (req->se->op.bmap)$

ERROR: braces {} are necessary for all arms of this statement
#1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777:
+       if (req->se->op.bmap)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1800: FILE: tools/virtiofsd/fuse_lowlevel.c:1778:
+^I^Ireq->se->op.bmap(req, nodeid, arg->blocksize, arg->block);$

ERROR: code indent should never use tabs
#1801: FILE: tools/virtiofsd/fuse_lowlevel.c:1779:
+^Ielse$

ERROR: code indent should never use tabs
#1802: FILE: tools/virtiofsd/fuse_lowlevel.c:1780:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1807: FILE: tools/virtiofsd/fuse_lowlevel.c:1785:
+^Istruct fuse_ioctl_in *arg = (struct fuse_ioctl_in *) inarg;$

ERROR: code indent should never use tabs
#1808: FILE: tools/virtiofsd/fuse_lowlevel.c:1786:
+^Iunsigned int flags = arg->flags;$

ERROR: code indent should never use tabs
#1809: FILE: tools/virtiofsd/fuse_lowlevel.c:1787:
+^Ivoid *in_buf = arg->in_size ? PARAM(arg) : NULL;$

ERROR: code indent should never use tabs
#1810: FILE: tools/virtiofsd/fuse_lowlevel.c:1788:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1812: FILE: tools/virtiofsd/fuse_lowlevel.c:1790:
+^Iif (flags & FUSE_IOCTL_DIR &&$

ERROR: code indent should never use tabs
#1813: FILE: tools/virtiofsd/fuse_lowlevel.c:1791:
+^I    !(req->se->conn.want & FUSE_CAP_IOCTL_DIR)) {$

ERROR: code indent should never use tabs
#1814: FILE: tools/virtiofsd/fuse_lowlevel.c:1792:
+^I^Ifuse_reply_err(req, ENOTTY);$

ERROR: code indent should never use tabs
#1815: FILE: tools/virtiofsd/fuse_lowlevel.c:1793:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1816: FILE: tools/virtiofsd/fuse_lowlevel.c:1794:
+^I}$

ERROR: code indent should never use tabs
#1818: FILE: tools/virtiofsd/fuse_lowlevel.c:1796:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1819: FILE: tools/virtiofsd/fuse_lowlevel.c:1797:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1821: FILE: tools/virtiofsd/fuse_lowlevel.c:1799:
+^Iif (sizeof(void *) == 4 && req->se->conn.proto_minor >= 16 &&$

ERROR: code indent should never use tabs
#1822: FILE: tools/virtiofsd/fuse_lowlevel.c:1800:
+^I    !(flags & FUSE_IOCTL_32BIT)) {$

ERROR: code indent should never use tabs
#1823: FILE: tools/virtiofsd/fuse_lowlevel.c:1801:
+^I^Ireq->ioctl_64bit = 1;$

ERROR: code indent should never use tabs
#1824: FILE: tools/virtiofsd/fuse_lowlevel.c:1802:
+^I}$

ERROR: code indent should never use tabs
#1826: FILE: tools/virtiofsd/fuse_lowlevel.c:1804:
+^Iif (req->se->op.ioctl)$

ERROR: code indent should never use tabs
#1827: FILE: tools/virtiofsd/fuse_lowlevel.c:1805:
+^I^Ireq->se->op.ioctl(req, nodeid, arg->cmd,$

ERROR: code indent should never use tabs
#1828: FILE: tools/virtiofsd/fuse_lowlevel.c:1806:
+^I^I^I^I (void *)(uintptr_t)arg->arg, &fi, flags,$

ERROR: code indent should never use tabs
#1829: FILE: tools/virtiofsd/fuse_lowlevel.c:1807:
+^I^I^I^I in_buf, arg->in_size, arg->out_size);$

ERROR: code indent should never use tabs
#1830: FILE: tools/virtiofsd/fuse_lowlevel.c:1808:
+^Ielse$

ERROR: code indent should never use tabs
#1831: FILE: tools/virtiofsd/fuse_lowlevel.c:1809:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1836: FILE: tools/virtiofsd/fuse_lowlevel.c:1814:
+^Ifree(ph);$

ERROR: code indent should never use tabs
#1841: FILE: tools/virtiofsd/fuse_lowlevel.c:1819:
+^Istruct fuse_poll_in *arg = (struct fuse_poll_in *) inarg;$

ERROR: code indent should never use tabs
#1842: FILE: tools/virtiofsd/fuse_lowlevel.c:1820:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1844: FILE: tools/virtiofsd/fuse_lowlevel.c:1822:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1845: FILE: tools/virtiofsd/fuse_lowlevel.c:1823:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1846: FILE: tools/virtiofsd/fuse_lowlevel.c:1824:
+^Ifi.poll_events = arg->events;$

ERROR: code indent should never use tabs
#1848: FILE: tools/virtiofsd/fuse_lowlevel.c:1826:
+^Iif (req->se->op.poll) {$

ERROR: code indent should never use tabs
#1849: FILE: tools/virtiofsd/fuse_lowlevel.c:1827:
+^I^Istruct fuse_pollhandle *ph = NULL;$

ERROR: code indent should never use tabs
#1851: FILE: tools/virtiofsd/fuse_lowlevel.c:1829:
+^I^Iif (arg->flags & FUSE_POLL_SCHEDULE_NOTIFY) {$

ERROR: code indent should never use tabs
#1852: FILE: tools/virtiofsd/fuse_lowlevel.c:1830:
+^I^I^Iph = malloc(sizeof(struct fuse_pollhandle));$

ERROR: code indent should never use tabs
#1853: FILE: tools/virtiofsd/fuse_lowlevel.c:1831:
+^I^I^Iif (ph == NULL) {$

ERROR: code indent should never use tabs
#1854: FILE: tools/virtiofsd/fuse_lowlevel.c:1832:
+^I^I^I^Ifuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1855: FILE: tools/virtiofsd/fuse_lowlevel.c:1833:
+^I^I^I^Ireturn;$

ERROR: code indent should never use tabs
#1856: FILE: tools/virtiofsd/fuse_lowlevel.c:1834:
+^I^I^I}$

ERROR: code indent should never use tabs
#1857: FILE: tools/virtiofsd/fuse_lowlevel.c:1835:
+^I^I^Iph->kh = arg->kh;$

ERROR: code indent should never use tabs
#1858: FILE: tools/virtiofsd/fuse_lowlevel.c:1836:
+^I^I^Iph->se = req->se;$

ERROR: code indent should never use tabs
#1859: FILE: tools/virtiofsd/fuse_lowlevel.c:1837:
+^I^I}$

ERROR: code indent should never use tabs
#1861: FILE: tools/virtiofsd/fuse_lowlevel.c:1839:
+^I^Ireq->se->op.poll(req, nodeid, &fi, ph);$

ERROR: code indent should never use tabs
#1862: FILE: tools/virtiofsd/fuse_lowlevel.c:1840:
+^I} else {$

ERROR: code indent should never use tabs
#1863: FILE: tools/virtiofsd/fuse_lowlevel.c:1841:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1864: FILE: tools/virtiofsd/fuse_lowlevel.c:1842:
+^I}$

ERROR: code indent should never use tabs
#1869: FILE: tools/virtiofsd/fuse_lowlevel.c:1847:
+^Istruct fuse_fallocate_in *arg = (struct fuse_fallocate_in *) inarg;$

ERROR: code indent should never use tabs
#1870: FILE: tools/virtiofsd/fuse_lowlevel.c:1848:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1872: FILE: tools/virtiofsd/fuse_lowlevel.c:1850:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1873: FILE: tools/virtiofsd/fuse_lowlevel.c:1851:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853:
+^Iif (req->se->op.fallocate)$

ERROR: braces {} are necessary for all arms of this statement
#1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853:
+       if (req->se->op.fallocate)
[...]
+       else
[...]

ERROR: line over 90 characters
#1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854:
+               req->se->op.fallocate(req, nodeid, arg->mode, arg->offset, 
arg->length, &fi);

ERROR: code indent should never use tabs
#1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854:
+^I^Ireq->se->op.fallocate(req, nodeid, arg->mode, arg->offset, arg->length, 
&fi);$

ERROR: code indent should never use tabs
#1877: FILE: tools/virtiofsd/fuse_lowlevel.c:1855:
+^Ielse$

ERROR: code indent should never use tabs
#1878: FILE: tools/virtiofsd/fuse_lowlevel.c:1856:
+^I^Ifuse_reply_err(req, ENOSYS);$

WARNING: line over 80 characters
#1881: FILE: tools/virtiofsd/fuse_lowlevel.c:1859:
+static void do_copy_file_range(fuse_req_t req, fuse_ino_t nodeid_in, const 
void *inarg)

WARNING: line over 80 characters
#1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861:
+       struct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in 
*) inarg;

ERROR: code indent should never use tabs
#1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861:
+^Istruct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in *) 
inarg;$

ERROR: code indent should never use tabs
#1884: FILE: tools/virtiofsd/fuse_lowlevel.c:1862:
+^Istruct fuse_file_info fi_in, fi_out;$

ERROR: code indent should never use tabs
#1886: FILE: tools/virtiofsd/fuse_lowlevel.c:1864:
+^Imemset(&fi_in, 0, sizeof(fi_in));$

ERROR: code indent should never use tabs
#1887: FILE: tools/virtiofsd/fuse_lowlevel.c:1865:
+^Ifi_in.fh = arg->fh_in;$

ERROR: code indent should never use tabs
#1889: FILE: tools/virtiofsd/fuse_lowlevel.c:1867:
+^Imemset(&fi_out, 0, sizeof(fi_out));$

ERROR: code indent should never use tabs
#1890: FILE: tools/virtiofsd/fuse_lowlevel.c:1868:
+^Ifi_out.fh = arg->fh_out;$

ERROR: code indent should never use tabs
#1893: FILE: tools/virtiofsd/fuse_lowlevel.c:1871:
+^Iif (req->se->op.copy_file_range)$

ERROR: code indent should never use tabs
#1894: FILE: tools/virtiofsd/fuse_lowlevel.c:1872:
+^I^Ireq->se->op.copy_file_range(req, nodeid_in, arg->off_in,$

ERROR: code indent should never use tabs
#1895: FILE: tools/virtiofsd/fuse_lowlevel.c:1873:
+^I^I^I^I^I    &fi_in, arg->nodeid_out,$

ERROR: code indent should never use tabs
#1896: FILE: tools/virtiofsd/fuse_lowlevel.c:1874:
+^I^I^I^I^I    arg->off_out, &fi_out, arg->len,$

ERROR: code indent should never use tabs
#1897: FILE: tools/virtiofsd/fuse_lowlevel.c:1875:
+^I^I^I^I^I    arg->flags);$

ERROR: code indent should never use tabs
#1898: FILE: tools/virtiofsd/fuse_lowlevel.c:1876:
+^Ielse$

ERROR: code indent should never use tabs
#1899: FILE: tools/virtiofsd/fuse_lowlevel.c:1877:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1904: FILE: tools/virtiofsd/fuse_lowlevel.c:1882:
+^Istruct fuse_lseek_in *arg = (struct fuse_lseek_in *) inarg;$

ERROR: code indent should never use tabs
#1905: FILE: tools/virtiofsd/fuse_lowlevel.c:1883:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1907: FILE: tools/virtiofsd/fuse_lowlevel.c:1885:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1908: FILE: tools/virtiofsd/fuse_lowlevel.c:1886:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888:
+^Iif (req->se->op.lseek)$

ERROR: braces {} are necessary for all arms of this statement
#1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888:
+       if (req->se->op.lseek)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1911: FILE: tools/virtiofsd/fuse_lowlevel.c:1889:
+^I^Ireq->se->op.lseek(req, nodeid, arg->offset, arg->whence, &fi);$

ERROR: code indent should never use tabs
#1912: FILE: tools/virtiofsd/fuse_lowlevel.c:1890:
+^Ielse$

ERROR: code indent should never use tabs
#1913: FILE: tools/virtiofsd/fuse_lowlevel.c:1891:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1918: FILE: tools/virtiofsd/fuse_lowlevel.c:1896:
+^Istruct fuse_init_in *arg = (struct fuse_init_in *) inarg;$

ERROR: code indent should never use tabs
#1919: FILE: tools/virtiofsd/fuse_lowlevel.c:1897:
+^Istruct fuse_init_out outarg;$

ERROR: code indent should never use tabs
#1920: FILE: tools/virtiofsd/fuse_lowlevel.c:1898:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1921: FILE: tools/virtiofsd/fuse_lowlevel.c:1899:
+^Isize_t bufsize = se->bufsize;$

ERROR: code indent should never use tabs
#1922: FILE: tools/virtiofsd/fuse_lowlevel.c:1900:
+^Isize_t outargsize = sizeof(outarg);$

ERROR: code indent should never use tabs
#1924: FILE: tools/virtiofsd/fuse_lowlevel.c:1902:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1925: FILE: tools/virtiofsd/fuse_lowlevel.c:1903:
+^Iif (se->debug) {$

WARNING: line over 80 characters
#1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904:
+               fuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, 
arg->minor);

ERROR: code indent should never use tabs
#1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, arg->minor);$

ERROR: code indent should never use tabs
#1927: FILE: tools/virtiofsd/fuse_lowlevel.c:1905:
+^I^Iif (arg->major == 7 && arg->minor >= 6) {$

ERROR: code indent should never use tabs
#1928: FILE: tools/virtiofsd/fuse_lowlevel.c:1906:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "flags=0x%08x\n", arg->flags);$

ERROR: code indent should never use tabs
#1929: FILE: tools/virtiofsd/fuse_lowlevel.c:1907:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "max_readahead=0x%08x\n",$

ERROR: code indent should never use tabs
#1930: FILE: tools/virtiofsd/fuse_lowlevel.c:1908:
+^I^I^I^Iarg->max_readahead);$

ERROR: code indent should never use tabs
#1931: FILE: tools/virtiofsd/fuse_lowlevel.c:1909:
+^I^I}$

ERROR: code indent should never use tabs
#1932: FILE: tools/virtiofsd/fuse_lowlevel.c:1910:
+^I}$

ERROR: code indent should never use tabs
#1933: FILE: tools/virtiofsd/fuse_lowlevel.c:1911:
+^Ise->conn.proto_major = arg->major;$

ERROR: code indent should never use tabs
#1934: FILE: tools/virtiofsd/fuse_lowlevel.c:1912:
+^Ise->conn.proto_minor = arg->minor;$

ERROR: code indent should never use tabs
#1935: FILE: tools/virtiofsd/fuse_lowlevel.c:1913:
+^Ise->conn.capable = 0;$

ERROR: code indent should never use tabs
#1936: FILE: tools/virtiofsd/fuse_lowlevel.c:1914:
+^Ise->conn.want = 0;$

ERROR: code indent should never use tabs
#1938: FILE: tools/virtiofsd/fuse_lowlevel.c:1916:
+^Imemset(&outarg, 0, sizeof(outarg));$

ERROR: code indent should never use tabs
#1939: FILE: tools/virtiofsd/fuse_lowlevel.c:1917:
+^Ioutarg.major = FUSE_KERNEL_VERSION;$

ERROR: code indent should never use tabs
#1940: FILE: tools/virtiofsd/fuse_lowlevel.c:1918:
+^Ioutarg.minor = FUSE_KERNEL_MINOR_VERSION;$

ERROR: code indent should never use tabs
#1942: FILE: tools/virtiofsd/fuse_lowlevel.c:1920:
+^Iif (arg->major < 7) {$

WARNING: line over 80 characters
#1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921:
+               fuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: 
%u.%u\n",

ERROR: code indent should never use tabs
#1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: %u.%u\n",$

ERROR: code indent should never use tabs
#1944: FILE: tools/virtiofsd/fuse_lowlevel.c:1922:
+^I^I^Iarg->major, arg->minor);$

ERROR: code indent should never use tabs
#1945: FILE: tools/virtiofsd/fuse_lowlevel.c:1923:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#1946: FILE: tools/virtiofsd/fuse_lowlevel.c:1924:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1947: FILE: tools/virtiofsd/fuse_lowlevel.c:1925:
+^I}$

ERROR: code indent should never use tabs
#1949: FILE: tools/virtiofsd/fuse_lowlevel.c:1927:
+^Iif (arg->major > 7) {$

ERROR: code indent should never use tabs
#1950: FILE: tools/virtiofsd/fuse_lowlevel.c:1928:
+^I^I/* Wait for a second INIT request with a 7.X version */$

ERROR: code indent should never use tabs
#1951: FILE: tools/virtiofsd/fuse_lowlevel.c:1929:
+^I^Isend_reply_ok(req, &outarg, sizeof(outarg));$

ERROR: code indent should never use tabs
#1952: FILE: tools/virtiofsd/fuse_lowlevel.c:1930:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1953: FILE: tools/virtiofsd/fuse_lowlevel.c:1931:
+^I}$

ERROR: code indent should never use tabs
#1955: FILE: tools/virtiofsd/fuse_lowlevel.c:1933:
+^Iif (arg->minor >= 6) {$

ERROR: code indent should never use tabs
#1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934:
+^I^Iif (arg->max_readahead < se->conn.max_readahead)$

ERROR: braces {} are necessary for all arms of this statement
#1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934:
+               if (arg->max_readahead < se->conn.max_readahead)
[...]

ERROR: code indent should never use tabs
#1957: FILE: tools/virtiofsd/fuse_lowlevel.c:1935:
+^I^I^Ise->conn.max_readahead = arg->max_readahead;$

ERROR: code indent should never use tabs
#1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936:
+^I^Iif (arg->flags & FUSE_ASYNC_READ)$

ERROR: braces {} are necessary for all arms of this statement
#1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936:
+               if (arg->flags & FUSE_ASYNC_READ)
[...]

ERROR: code indent should never use tabs
#1959: FILE: tools/virtiofsd/fuse_lowlevel.c:1937:
+^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_READ;$

ERROR: code indent should never use tabs
#1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938:
+^I^Iif (arg->flags & FUSE_POSIX_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938:
+               if (arg->flags & FUSE_POSIX_LOCKS)
[...]

ERROR: code indent should never use tabs
#1961: FILE: tools/virtiofsd/fuse_lowlevel.c:1939:
+^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_LOCKS;$

ERROR: code indent should never use tabs
#1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940:
+^I^Iif (arg->flags & FUSE_ATOMIC_O_TRUNC)$

ERROR: braces {} are necessary for all arms of this statement
#1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940:
+               if (arg->flags & FUSE_ATOMIC_O_TRUNC)
[...]

ERROR: code indent should never use tabs
#1963: FILE: tools/virtiofsd/fuse_lowlevel.c:1941:
+^I^I^Ise->conn.capable |= FUSE_CAP_ATOMIC_O_TRUNC;$

ERROR: code indent should never use tabs
#1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942:
+^I^Iif (arg->flags & FUSE_EXPORT_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942:
+               if (arg->flags & FUSE_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1965: FILE: tools/virtiofsd/fuse_lowlevel.c:1943:
+^I^I^Ise->conn.capable |= FUSE_CAP_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944:
+^I^Iif (arg->flags & FUSE_DONT_MASK)$

ERROR: braces {} are necessary for all arms of this statement
#1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944:
+               if (arg->flags & FUSE_DONT_MASK)
[...]

ERROR: code indent should never use tabs
#1967: FILE: tools/virtiofsd/fuse_lowlevel.c:1945:
+^I^I^Ise->conn.capable |= FUSE_CAP_DONT_MASK;$

ERROR: code indent should never use tabs
#1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946:
+^I^Iif (arg->flags & FUSE_FLOCK_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946:
+               if (arg->flags & FUSE_FLOCK_LOCKS)
[...]

ERROR: code indent should never use tabs
#1969: FILE: tools/virtiofsd/fuse_lowlevel.c:1947:
+^I^I^Ise->conn.capable |= FUSE_CAP_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948:
+^I^Iif (arg->flags & FUSE_AUTO_INVAL_DATA)$

ERROR: braces {} are necessary for all arms of this statement
#1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948:
+               if (arg->flags & FUSE_AUTO_INVAL_DATA)
[...]

ERROR: code indent should never use tabs
#1971: FILE: tools/virtiofsd/fuse_lowlevel.c:1949:
+^I^I^Ise->conn.capable |= FUSE_CAP_AUTO_INVAL_DATA;$

ERROR: code indent should never use tabs
#1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950:
+^I^Iif (arg->flags & FUSE_DO_READDIRPLUS)$

ERROR: braces {} are necessary for all arms of this statement
#1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950:
+               if (arg->flags & FUSE_DO_READDIRPLUS)
[...]

ERROR: code indent should never use tabs
#1973: FILE: tools/virtiofsd/fuse_lowlevel.c:1951:
+^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS;$

ERROR: code indent should never use tabs
#1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952:
+^I^Iif (arg->flags & FUSE_READDIRPLUS_AUTO)$

ERROR: braces {} are necessary for all arms of this statement
#1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952:
+               if (arg->flags & FUSE_READDIRPLUS_AUTO)
[...]

ERROR: code indent should never use tabs
#1975: FILE: tools/virtiofsd/fuse_lowlevel.c:1953:
+^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS_AUTO;$

ERROR: code indent should never use tabs
#1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954:
+^I^Iif (arg->flags & FUSE_ASYNC_DIO)$

ERROR: braces {} are necessary for all arms of this statement
#1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954:
+               if (arg->flags & FUSE_ASYNC_DIO)
[...]

ERROR: code indent should never use tabs
#1977: FILE: tools/virtiofsd/fuse_lowlevel.c:1955:
+^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_DIO;$

ERROR: code indent should never use tabs
#1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956:
+^I^Iif (arg->flags & FUSE_WRITEBACK_CACHE)$

ERROR: braces {} are necessary for all arms of this statement
#1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956:
+               if (arg->flags & FUSE_WRITEBACK_CACHE)
[...]

ERROR: code indent should never use tabs
#1979: FILE: tools/virtiofsd/fuse_lowlevel.c:1957:
+^I^I^Ise->conn.capable |= FUSE_CAP_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958:
+^I^Iif (arg->flags & FUSE_NO_OPEN_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958:
+               if (arg->flags & FUSE_NO_OPEN_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1981: FILE: tools/virtiofsd/fuse_lowlevel.c:1959:
+^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPEN_SUPPORT;$

ERROR: code indent should never use tabs
#1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960:
+^I^Iif (arg->flags & FUSE_PARALLEL_DIROPS)$

ERROR: braces {} are necessary for all arms of this statement
#1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960:
+               if (arg->flags & FUSE_PARALLEL_DIROPS)
[...]

ERROR: code indent should never use tabs
#1983: FILE: tools/virtiofsd/fuse_lowlevel.c:1961:
+^I^I^Ise->conn.capable |= FUSE_CAP_PARALLEL_DIROPS;$

ERROR: code indent should never use tabs
#1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962:
+^I^Iif (arg->flags & FUSE_POSIX_ACL)$

ERROR: braces {} are necessary for all arms of this statement
#1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962:
+               if (arg->flags & FUSE_POSIX_ACL)
[...]

ERROR: code indent should never use tabs
#1985: FILE: tools/virtiofsd/fuse_lowlevel.c:1963:
+^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_ACL;$

ERROR: code indent should never use tabs
#1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964:
+^I^Iif (arg->flags & FUSE_HANDLE_KILLPRIV)$

ERROR: braces {} are necessary for all arms of this statement
#1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964:
+               if (arg->flags & FUSE_HANDLE_KILLPRIV)
[...]

ERROR: code indent should never use tabs
#1987: FILE: tools/virtiofsd/fuse_lowlevel.c:1965:
+^I^I^Ise->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;$

ERROR: code indent should never use tabs
#1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966:
+^I^Iif (arg->flags & FUSE_NO_OPENDIR_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966:
+               if (arg->flags & FUSE_NO_OPENDIR_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1989: FILE: tools/virtiofsd/fuse_lowlevel.c:1967:
+^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPENDIR_SUPPORT;$

ERROR: code indent should never use tabs
#1990: FILE: tools/virtiofsd/fuse_lowlevel.c:1968:
+^I^Iif (!(arg->flags & FUSE_MAX_PAGES)) {$

ERROR: code indent should never use tabs
#1991: FILE: tools/virtiofsd/fuse_lowlevel.c:1969:
+^I^I^Isize_t max_bufsize =$

ERROR: code indent should never use tabs
#1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970:
+^I^I^I^IFUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970:
+                               FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()

ERROR: code indent should never use tabs
#1993: FILE: tools/virtiofsd/fuse_lowlevel.c:1971:
+^I^I^I^I+ FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#1994: FILE: tools/virtiofsd/fuse_lowlevel.c:1972:
+^I^I^Iif (bufsize > max_bufsize) {$

ERROR: code indent should never use tabs
#1995: FILE: tools/virtiofsd/fuse_lowlevel.c:1973:
+^I^I^I^Ibufsize = max_bufsize;$

ERROR: code indent should never use tabs
#1996: FILE: tools/virtiofsd/fuse_lowlevel.c:1974:
+^I^I^I}$

ERROR: code indent should never use tabs
#1997: FILE: tools/virtiofsd/fuse_lowlevel.c:1975:
+^I^I}$

ERROR: code indent should never use tabs
#1998: FILE: tools/virtiofsd/fuse_lowlevel.c:1976:
+^I} else {$

ERROR: code indent should never use tabs
#1999: FILE: tools/virtiofsd/fuse_lowlevel.c:1977:
+^I^Ise->conn.max_readahead = 0;$

ERROR: code indent should never use tabs
#2000: FILE: tools/virtiofsd/fuse_lowlevel.c:1978:
+^I}$

ERROR: code indent should never use tabs
#2002: FILE: tools/virtiofsd/fuse_lowlevel.c:1980:
+^Iif (se->conn.proto_minor >= 14) {$

WARNING: line over 80 characters
#2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983:
+               se->conn.capable |= FUSE_CAP_SPLICE_WRITE | 
FUSE_CAP_SPLICE_MOVE;

ERROR: code indent should never use tabs
#2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983:
+^I^Ise->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE;$

ERROR: code indent should never use tabs
#2007: FILE: tools/virtiofsd/fuse_lowlevel.c:1985:
+^I^Ise->conn.capable |= FUSE_CAP_SPLICE_READ;$

ERROR: code indent should never use tabs
#2009: FILE: tools/virtiofsd/fuse_lowlevel.c:1987:
+^I}$

ERROR: code indent should never use tabs
#2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988:
+^Iif (se->conn.proto_minor >= 18)$

ERROR: braces {} are necessary for all arms of this statement
#2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988:
+       if (se->conn.proto_minor >= 18)
[...]

ERROR: code indent should never use tabs
#2011: FILE: tools/virtiofsd/fuse_lowlevel.c:1989:
+^I^Ise->conn.capable |= FUSE_CAP_IOCTL_DIR;$

ERROR: code indent should never use tabs
#2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991:
+^I/* Default settings for modern filesystems.$

WARNING: Block comments use a leading /* on a separate line
#2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991:
+       /* Default settings for modern filesystems.

ERROR: code indent should never use tabs
#2014: FILE: tools/virtiofsd/fuse_lowlevel.c:1992:
+^I *$

ERROR: code indent should never use tabs
#2015: FILE: tools/virtiofsd/fuse_lowlevel.c:1993:
+^I * Most of these capabilities were disabled by default in$

ERROR: code indent should never use tabs
#2016: FILE: tools/virtiofsd/fuse_lowlevel.c:1994:
+^I * libfuse2 for backwards compatibility reasons. In libfuse3,$

ERROR: code indent should never use tabs
#2017: FILE: tools/virtiofsd/fuse_lowlevel.c:1995:
+^I * we can finally enable them by default (as long as they're$

ERROR: code indent should never use tabs
#2018: FILE: tools/virtiofsd/fuse_lowlevel.c:1996:
+^I * supported by the kernel).$

ERROR: code indent should never use tabs
#2019: FILE: tools/virtiofsd/fuse_lowlevel.c:1997:
+^I */$

ERROR: Macros with complex values should be enclosed in parenthesis
#2020: FILE: tools/virtiofsd/fuse_lowlevel.c:1998:
+#define LL_SET_DEFAULT(cond, cap) \
+       if ((cond) && (se->conn.capable & (cap))) \
+               se->conn.want |= (cap)

ERROR: code indent should never use tabs
#2021: FILE: tools/virtiofsd/fuse_lowlevel.c:1999:
+^Iif ((cond) && (se->conn.capable & (cap))) \$

ERROR: code indent should never use tabs
#2022: FILE: tools/virtiofsd/fuse_lowlevel.c:2000:
+^I^Ise->conn.want |= (cap)$

ERROR: code indent should never use tabs
#2023: FILE: tools/virtiofsd/fuse_lowlevel.c:2001:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#2024: FILE: tools/virtiofsd/fuse_lowlevel.c:2002:
+^ILL_SET_DEFAULT(1, FUSE_CAP_PARALLEL_DIROPS);$

ERROR: code indent should never use tabs
#2025: FILE: tools/virtiofsd/fuse_lowlevel.c:2003:
+^ILL_SET_DEFAULT(1, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#2026: FILE: tools/virtiofsd/fuse_lowlevel.c:2004:
+^ILL_SET_DEFAULT(1, FUSE_CAP_HANDLE_KILLPRIV);$

ERROR: code indent should never use tabs
#2027: FILE: tools/virtiofsd/fuse_lowlevel.c:2005:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#2028: FILE: tools/virtiofsd/fuse_lowlevel.c:2006:
+^ILL_SET_DEFAULT(1, FUSE_CAP_IOCTL_DIR);$

ERROR: code indent should never use tabs
#2029: FILE: tools/virtiofsd/fuse_lowlevel.c:2007:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ATOMIC_O_TRUNC);$

ERROR: code indent should never use tabs
#2030: FILE: tools/virtiofsd/fuse_lowlevel.c:2008:
+^ILL_SET_DEFAULT(se->op.write_buf, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#2031: FILE: tools/virtiofsd/fuse_lowlevel.c:2009:
+^ILL_SET_DEFAULT(se->op.getlk && se->op.setlk,$

ERROR: code indent should never use tabs
#2032: FILE: tools/virtiofsd/fuse_lowlevel.c:2010:
+^I^I       FUSE_CAP_POSIX_LOCKS);$

ERROR: code indent should never use tabs
#2033: FILE: tools/virtiofsd/fuse_lowlevel.c:2011:
+^ILL_SET_DEFAULT(se->op.flock, FUSE_CAP_FLOCK_LOCKS);$

ERROR: code indent should never use tabs
#2034: FILE: tools/virtiofsd/fuse_lowlevel.c:2012:
+^ILL_SET_DEFAULT(se->op.readdirplus, FUSE_CAP_READDIRPLUS);$

ERROR: code indent should never use tabs
#2035: FILE: tools/virtiofsd/fuse_lowlevel.c:2013:
+^ILL_SET_DEFAULT(se->op.readdirplus && se->op.readdir,$

ERROR: code indent should never use tabs
#2036: FILE: tools/virtiofsd/fuse_lowlevel.c:2014:
+^I^I       FUSE_CAP_READDIRPLUS_AUTO);$

ERROR: code indent should never use tabs
#2037: FILE: tools/virtiofsd/fuse_lowlevel.c:2015:
+^Ise->conn.time_gran = 1;$

ERROR: trailing whitespace
#2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016:
+^I$

ERROR: code indent should never use tabs
#2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016:
+^I$

ERROR: code indent should never use tabs
#2039: FILE: tools/virtiofsd/fuse_lowlevel.c:2017:
+^Iif (bufsize < FUSE_MIN_READ_BUFFER) {$

WARNING: line over 80 characters
#2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: 
%zu\n",

ERROR: code indent should never use tabs
#2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: %zu\n",$

ERROR: code indent should never use tabs
#2041: FILE: tools/virtiofsd/fuse_lowlevel.c:2019:
+^I^I^Ibufsize);$

ERROR: code indent should never use tabs
#2042: FILE: tools/virtiofsd/fuse_lowlevel.c:2020:
+^I^Ibufsize = FUSE_MIN_READ_BUFFER;$

ERROR: code indent should never use tabs
#2043: FILE: tools/virtiofsd/fuse_lowlevel.c:2021:
+^I}$

ERROR: code indent should never use tabs
#2044: FILE: tools/virtiofsd/fuse_lowlevel.c:2022:
+^Ise->bufsize = bufsize;$

ERROR: code indent should never use tabs
#2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024:
+^Iif (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)$

ERROR: braces {} are necessary for all arms of this statement
#2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024:
+       if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)
[...]

ERROR: code indent should never use tabs
#2047: FILE: tools/virtiofsd/fuse_lowlevel.c:2025:
+^I^Ise->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2049: FILE: tools/virtiofsd/fuse_lowlevel.c:2027:
+^Ise->got_init = 1;$

ERROR: code indent should never use tabs
#2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028:
+^Iif (se->op.init)$

ERROR: braces {} are necessary for all arms of this statement
#2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028:
+       if (se->op.init)
[...]

ERROR: code indent should never use tabs
#2051: FILE: tools/virtiofsd/fuse_lowlevel.c:2029:
+^I^Ise->op.init(se->userdata, &se->conn);$

ERROR: code indent should never use tabs
#2053: FILE: tools/virtiofsd/fuse_lowlevel.c:2031:
+^Iif (se->conn.want & (~se->conn.capable)) {$

WARNING: line over 80 characters
#2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032:
+               fuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested 
capabilities "

ERROR: code indent should never use tabs
#2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities "$

ERROR: code indent should never use tabs
#2055: FILE: tools/virtiofsd/fuse_lowlevel.c:2033:
+^I^I^I"0x%x that are not supported by kernel, aborting.\n",$

ERROR: code indent should never use tabs
#2056: FILE: tools/virtiofsd/fuse_lowlevel.c:2034:
+^I^I^Ise->conn.want & (~se->conn.capable));$

ERROR: code indent should never use tabs
#2057: FILE: tools/virtiofsd/fuse_lowlevel.c:2035:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#2058: FILE: tools/virtiofsd/fuse_lowlevel.c:2036:
+^I^Ise->error = -EPROTO;$

ERROR: code indent should never use tabs
#2059: FILE: tools/virtiofsd/fuse_lowlevel.c:2037:
+^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2060: FILE: tools/virtiofsd/fuse_lowlevel.c:2038:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#2061: FILE: tools/virtiofsd/fuse_lowlevel.c:2039:
+^I}$

ERROR: code indent should never use tabs
#2063: FILE: tools/virtiofsd/fuse_lowlevel.c:2041:
+^Iunsigned max_read_mo = get_max_read(se->mo);$

ERROR: code indent should never use tabs
#2064: FILE: tools/virtiofsd/fuse_lowlevel.c:2042:
+^Iif (se->conn.max_read != max_read_mo) {$

WARNING: line over 80 characters
#2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043:
+               fuse_log(FUSE_LOG_ERR, "fuse: error: init() and 
fuse_session_new() "

ERROR: code indent should never use tabs
#2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: init() and fuse_session_new() "$

ERROR: code indent should never use tabs
#2066: FILE: tools/virtiofsd/fuse_lowlevel.c:2044:
+^I^I^I"requested different maximum read size (%u vs %u)\n",$

ERROR: code indent should never use tabs
#2067: FILE: tools/virtiofsd/fuse_lowlevel.c:2045:
+^I^I^Ise->conn.max_read, max_read_mo);$

ERROR: code indent should never use tabs
#2068: FILE: tools/virtiofsd/fuse_lowlevel.c:2046:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#2069: FILE: tools/virtiofsd/fuse_lowlevel.c:2047:
+^I^Ise->error = -EPROTO;$

ERROR: code indent should never use tabs
#2070: FILE: tools/virtiofsd/fuse_lowlevel.c:2048:
+^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2071: FILE: tools/virtiofsd/fuse_lowlevel.c:2049:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#2072: FILE: tools/virtiofsd/fuse_lowlevel.c:2050:
+^I}$

ERROR: code indent should never use tabs
#2074: FILE: tools/virtiofsd/fuse_lowlevel.c:2052:
+^Iif (se->conn.max_write < bufsize - FUSE_BUFFER_HEADER_SIZE) {$

ERROR: code indent should never use tabs
#2075: FILE: tools/virtiofsd/fuse_lowlevel.c:2053:
+^I^Ise->bufsize = se->conn.max_write + FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2076: FILE: tools/virtiofsd/fuse_lowlevel.c:2054:
+^I}$

ERROR: code indent should never use tabs
#2077: FILE: tools/virtiofsd/fuse_lowlevel.c:2055:
+^Iif (arg->flags & FUSE_MAX_PAGES) {$

ERROR: code indent should never use tabs
#2078: FILE: tools/virtiofsd/fuse_lowlevel.c:2056:
+^I^Ioutarg.flags |= FUSE_MAX_PAGES;$

ERROR: code indent should never use tabs
#2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057:
+^I^Ioutarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057:
+               outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;

ERROR: code indent should never use tabs
#2080: FILE: tools/virtiofsd/fuse_lowlevel.c:2058:
+^I}$

ERROR: code indent should never use tabs
#2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060:
+^I/* Always enable big writes, this is superseded$

WARNING: Block comments use a leading /* on a separate line
#2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060:
+       /* Always enable big writes, this is superseded

ERROR: code indent should never use tabs
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+^I   by the max_write option */$

WARNING: Block comments use * on subsequent lines
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+       /* Always enable big writes, this is superseded
+          by the max_write option */

WARNING: Block comments use a trailing */ on a separate line
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+          by the max_write option */

ERROR: code indent should never use tabs
#2084: FILE: tools/virtiofsd/fuse_lowlevel.c:2062:
+^Ioutarg.flags |= FUSE_BIG_WRITES;$

ERROR: code indent should never use tabs
#2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064:
+^Iif (se->conn.want & FUSE_CAP_ASYNC_READ)$

ERROR: braces {} are necessary for all arms of this statement
#2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064:
+       if (se->conn.want & FUSE_CAP_ASYNC_READ)
[...]

ERROR: code indent should never use tabs
#2087: FILE: tools/virtiofsd/fuse_lowlevel.c:2065:
+^I^Ioutarg.flags |= FUSE_ASYNC_READ;$

ERROR: code indent should never use tabs
#2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066:
+^Iif (se->conn.want & FUSE_CAP_POSIX_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066:
+       if (se->conn.want & FUSE_CAP_POSIX_LOCKS)
[...]

ERROR: code indent should never use tabs
#2089: FILE: tools/virtiofsd/fuse_lowlevel.c:2067:
+^I^Ioutarg.flags |= FUSE_POSIX_LOCKS;$

ERROR: code indent should never use tabs
#2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068:
+^Iif (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC)$

ERROR: braces {} are necessary for all arms of this statement
#2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068:
+       if (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC)
[...]

ERROR: code indent should never use tabs
#2091: FILE: tools/virtiofsd/fuse_lowlevel.c:2069:
+^I^Ioutarg.flags |= FUSE_ATOMIC_O_TRUNC;$

ERROR: code indent should never use tabs
#2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070:
+^Iif (se->conn.want & FUSE_CAP_EXPORT_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070:
+       if (se->conn.want & FUSE_CAP_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#2093: FILE: tools/virtiofsd/fuse_lowlevel.c:2071:
+^I^Ioutarg.flags |= FUSE_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072:
+^Iif (se->conn.want & FUSE_CAP_DONT_MASK)$

ERROR: braces {} are necessary for all arms of this statement
#2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072:
+       if (se->conn.want & FUSE_CAP_DONT_MASK)
[...]

ERROR: code indent should never use tabs
#2095: FILE: tools/virtiofsd/fuse_lowlevel.c:2073:
+^I^Ioutarg.flags |= FUSE_DONT_MASK;$

ERROR: code indent should never use tabs
#2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074:
+^Iif (se->conn.want & FUSE_CAP_FLOCK_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074:
+       if (se->conn.want & FUSE_CAP_FLOCK_LOCKS)
[...]

ERROR: code indent should never use tabs
#2097: FILE: tools/virtiofsd/fuse_lowlevel.c:2075:
+^I^Ioutarg.flags |= FUSE_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076:
+^Iif (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA)$

ERROR: braces {} are necessary for all arms of this statement
#2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076:
+       if (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA)
[...]

ERROR: code indent should never use tabs
#2099: FILE: tools/virtiofsd/fuse_lowlevel.c:2077:
+^I^Ioutarg.flags |= FUSE_AUTO_INVAL_DATA;$

ERROR: code indent should never use tabs
#2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078:
+^Iif (se->conn.want & FUSE_CAP_READDIRPLUS)$

ERROR: braces {} are necessary for all arms of this statement
#2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078:
+       if (se->conn.want & FUSE_CAP_READDIRPLUS)
[...]

ERROR: code indent should never use tabs
#2101: FILE: tools/virtiofsd/fuse_lowlevel.c:2079:
+^I^Ioutarg.flags |= FUSE_DO_READDIRPLUS;$

ERROR: code indent should never use tabs
#2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080:
+^Iif (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO)$

ERROR: braces {} are necessary for all arms of this statement
#2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080:
+       if (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO)
[...]

ERROR: code indent should never use tabs
#2103: FILE: tools/virtiofsd/fuse_lowlevel.c:2081:
+^I^Ioutarg.flags |= FUSE_READDIRPLUS_AUTO;$

ERROR: code indent should never use tabs
#2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082:
+^Iif (se->conn.want & FUSE_CAP_ASYNC_DIO)$

ERROR: braces {} are necessary for all arms of this statement
#2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082:
+       if (se->conn.want & FUSE_CAP_ASYNC_DIO)
[...]

ERROR: code indent should never use tabs
#2105: FILE: tools/virtiofsd/fuse_lowlevel.c:2083:
+^I^Ioutarg.flags |= FUSE_ASYNC_DIO;$

ERROR: code indent should never use tabs
#2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084:
+^Iif (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)$

ERROR: braces {} are necessary for all arms of this statement
#2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084:
+       if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)
[...]

ERROR: code indent should never use tabs
#2107: FILE: tools/virtiofsd/fuse_lowlevel.c:2085:
+^I^Ioutarg.flags |= FUSE_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086:
+^Iif (se->conn.want & FUSE_CAP_POSIX_ACL)$

ERROR: braces {} are necessary for all arms of this statement
#2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086:
+       if (se->conn.want & FUSE_CAP_POSIX_ACL)
[...]

ERROR: code indent should never use tabs
#2109: FILE: tools/virtiofsd/fuse_lowlevel.c:2087:
+^I^Ioutarg.flags |= FUSE_POSIX_ACL;$

ERROR: code indent should never use tabs
#2110: FILE: tools/virtiofsd/fuse_lowlevel.c:2088:
+^Ioutarg.max_readahead = se->conn.max_readahead;$

ERROR: code indent should never use tabs
#2111: FILE: tools/virtiofsd/fuse_lowlevel.c:2089:
+^Ioutarg.max_write = se->conn.max_write;$

ERROR: code indent should never use tabs
#2112: FILE: tools/virtiofsd/fuse_lowlevel.c:2090:
+^Iif (se->conn.proto_minor >= 13) {$

ERROR: code indent should never use tabs
#2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091:
+^I^Iif (se->conn.max_background >= (1 << 16))$

ERROR: braces {} are necessary for all arms of this statement
#2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091:
+               if (se->conn.max_background >= (1 << 16))
[...]

ERROR: code indent should never use tabs
#2114: FILE: tools/virtiofsd/fuse_lowlevel.c:2092:
+^I^I^Ise->conn.max_background = (1 << 16) - 1;$

ERROR: code indent should never use tabs
#2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093:
+^I^Iif (se->conn.congestion_threshold > se->conn.max_background)$

ERROR: braces {} are necessary for all arms of this statement
#2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093:
+               if (se->conn.congestion_threshold > se->conn.max_background)
[...]

ERROR: code indent should never use tabs
#2116: FILE: tools/virtiofsd/fuse_lowlevel.c:2094:
+^I^I^Ise->conn.congestion_threshold = se->conn.max_background;$

ERROR: code indent should never use tabs
#2117: FILE: tools/virtiofsd/fuse_lowlevel.c:2095:
+^I^Iif (!se->conn.congestion_threshold) {$

ERROR: code indent should never use tabs
#2118: FILE: tools/virtiofsd/fuse_lowlevel.c:2096:
+^I^I^Ise->conn.congestion_threshold =$

ERROR: code indent should never use tabs
#2119: FILE: tools/virtiofsd/fuse_lowlevel.c:2097:
+^I^I^I^Ise->conn.max_background * 3 / 4;$

ERROR: code indent should never use tabs
#2120: FILE: tools/virtiofsd/fuse_lowlevel.c:2098:
+^I^I}$

ERROR: code indent should never use tabs
#2122: FILE: tools/virtiofsd/fuse_lowlevel.c:2100:
+^I^Ioutarg.max_background = se->conn.max_background;$

ERROR: code indent should never use tabs
#2123: FILE: tools/virtiofsd/fuse_lowlevel.c:2101:
+^I^Ioutarg.congestion_threshold = se->conn.congestion_threshold;$

ERROR: code indent should never use tabs
#2124: FILE: tools/virtiofsd/fuse_lowlevel.c:2102:
+^I}$

ERROR: code indent should never use tabs
#2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103:
+^Iif (se->conn.proto_minor >= 23)$

ERROR: braces {} are necessary for all arms of this statement
#2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103:
+       if (se->conn.proto_minor >= 23)
[...]

ERROR: code indent should never use tabs
#2126: FILE: tools/virtiofsd/fuse_lowlevel.c:2104:
+^I^Ioutarg.time_gran = se->conn.time_gran;$

ERROR: code indent should never use tabs
#2128: FILE: tools/virtiofsd/fuse_lowlevel.c:2106:
+^Iif (se->debug) {$

WARNING: line over 80 characters
#2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107:
+               fuse_log(FUSE_LOG_DEBUG, "   INIT: %u.%u\n", outarg.major, 
outarg.minor);

ERROR: code indent should never use tabs
#2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   INIT: %u.%u\n", outarg.major, outarg.minor);$

ERROR: code indent should never use tabs
#2130: FILE: tools/virtiofsd/fuse_lowlevel.c:2108:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   flags=0x%08x\n", outarg.flags);$

ERROR: code indent should never use tabs
#2131: FILE: tools/virtiofsd/fuse_lowlevel.c:2109:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_readahead=0x%08x\n",$

ERROR: code indent should never use tabs
#2132: FILE: tools/virtiofsd/fuse_lowlevel.c:2110:
+^I^I^Ioutarg.max_readahead);$

WARNING: line over 80 characters
#2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111:
+               fuse_log(FUSE_LOG_DEBUG, "   max_write=0x%08x\n", 
outarg.max_write);

ERROR: code indent should never use tabs
#2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_write=0x%08x\n", outarg.max_write);$

ERROR: code indent should never use tabs
#2134: FILE: tools/virtiofsd/fuse_lowlevel.c:2112:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_background=%i\n",$

ERROR: code indent should never use tabs
#2135: FILE: tools/virtiofsd/fuse_lowlevel.c:2113:
+^I^I^Ioutarg.max_background);$

ERROR: code indent should never use tabs
#2136: FILE: tools/virtiofsd/fuse_lowlevel.c:2114:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   congestion_threshold=%i\n",$

ERROR: code indent should never use tabs
#2137: FILE: tools/virtiofsd/fuse_lowlevel.c:2115:
+^I^I^Ioutarg.congestion_threshold);$

ERROR: code indent should never use tabs
#2138: FILE: tools/virtiofsd/fuse_lowlevel.c:2116:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   time_gran=%u\n",$

ERROR: code indent should never use tabs
#2139: FILE: tools/virtiofsd/fuse_lowlevel.c:2117:
+^I^I^Ioutarg.time_gran);$

ERROR: code indent should never use tabs
#2140: FILE: tools/virtiofsd/fuse_lowlevel.c:2118:
+^I}$

ERROR: code indent should never use tabs
#2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119:
+^Iif (arg->minor < 5)$

ERROR: braces {} are necessary for all arms of this statement
#2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119:
+       if (arg->minor < 5)
[...]
+       else if (arg->minor < 23)
[...]

ERROR: code indent should never use tabs
#2142: FILE: tools/virtiofsd/fuse_lowlevel.c:2120:
+^I^Ioutargsize = FUSE_COMPAT_INIT_OUT_SIZE;$

ERROR: code indent should never use tabs
#2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121:
+^Ielse if (arg->minor < 23)$

ERROR: braces {} are necessary for all arms of this statement
#2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121:
+       else if (arg->minor < 23)
[...]

ERROR: code indent should never use tabs
#2144: FILE: tools/virtiofsd/fuse_lowlevel.c:2122:
+^I^Ioutargsize = FUSE_COMPAT_22_INIT_OUT_SIZE;$

ERROR: code indent should never use tabs
#2146: FILE: tools/virtiofsd/fuse_lowlevel.c:2124:
+^Isend_reply_ok(req, &outarg, outargsize);$

ERROR: code indent should never use tabs
#2151: FILE: tools/virtiofsd/fuse_lowlevel.c:2129:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2153: FILE: tools/virtiofsd/fuse_lowlevel.c:2131:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#2154: FILE: tools/virtiofsd/fuse_lowlevel.c:2132:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#2156: FILE: tools/virtiofsd/fuse_lowlevel.c:2134:
+^Ise->got_destroy = 1;$

ERROR: code indent should never use tabs
#2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135:
+^Iif (se->op.destroy)$

ERROR: braces {} are necessary for all arms of this statement
#2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135:
+       if (se->op.destroy)
[...]

ERROR: code indent should never use tabs
#2158: FILE: tools/virtiofsd/fuse_lowlevel.c:2136:
+^I^Ise->op.destroy(se->userdata);$

ERROR: code indent should never use tabs
#2160: FILE: tools/virtiofsd/fuse_lowlevel.c:2138:
+^Isend_reply_ok(req, NULL, 0);$

ERROR: code indent should never use tabs
#2165: FILE: tools/virtiofsd/fuse_lowlevel.c:2143:
+^Istruct fuse_notify_req *prev = nreq->prev;$

ERROR: code indent should never use tabs
#2166: FILE: tools/virtiofsd/fuse_lowlevel.c:2144:
+^Istruct fuse_notify_req *next = nreq->next;$

ERROR: code indent should never use tabs
#2167: FILE: tools/virtiofsd/fuse_lowlevel.c:2145:
+^Iprev->next = next;$

ERROR: code indent should never use tabs
#2168: FILE: tools/virtiofsd/fuse_lowlevel.c:2146:
+^Inext->prev = prev;$

ERROR: code indent should never use tabs
#2172: FILE: tools/virtiofsd/fuse_lowlevel.c:2150:
+^I^I^I  struct fuse_notify_req *next)$

ERROR: code indent should never use tabs
#2174: FILE: tools/virtiofsd/fuse_lowlevel.c:2152:
+^Istruct fuse_notify_req *prev = next->prev;$

ERROR: code indent should never use tabs
#2175: FILE: tools/virtiofsd/fuse_lowlevel.c:2153:
+^Inreq->next = next;$

ERROR: code indent should never use tabs
#2176: FILE: tools/virtiofsd/fuse_lowlevel.c:2154:
+^Inreq->prev = prev;$

ERROR: code indent should never use tabs
#2177: FILE: tools/virtiofsd/fuse_lowlevel.c:2155:
+^Iprev->next = nreq;$

ERROR: code indent should never use tabs
#2178: FILE: tools/virtiofsd/fuse_lowlevel.c:2156:
+^Inext->prev = nreq;$

ERROR: code indent should never use tabs
#2183: FILE: tools/virtiofsd/fuse_lowlevel.c:2161:
+^Inreq->next = nreq;$

ERROR: code indent should never use tabs
#2184: FILE: tools/virtiofsd/fuse_lowlevel.c:2162:
+^Inreq->prev = nreq;$

ERROR: code indent should never use tabs
#2188: FILE: tools/virtiofsd/fuse_lowlevel.c:2166:
+^I^I^I    const void *inarg, const struct fuse_buf *buf)$

ERROR: code indent should never use tabs
#2190: FILE: tools/virtiofsd/fuse_lowlevel.c:2168:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2191: FILE: tools/virtiofsd/fuse_lowlevel.c:2169:
+^Istruct fuse_notify_req *nreq;$

ERROR: code indent should never use tabs
#2192: FILE: tools/virtiofsd/fuse_lowlevel.c:2170:
+^Istruct fuse_notify_req *head;$

ERROR: code indent should never use tabs
#2194: FILE: tools/virtiofsd/fuse_lowlevel.c:2172:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2195: FILE: tools/virtiofsd/fuse_lowlevel.c:2173:
+^Ihead = &se->notify_list;$

ERROR: code indent should never use tabs
#2196: FILE: tools/virtiofsd/fuse_lowlevel.c:2174:
+^Ifor (nreq = head->next; nreq != head; nreq = nreq->next) {$

ERROR: code indent should never use tabs
#2197: FILE: tools/virtiofsd/fuse_lowlevel.c:2175:
+^I^Iif (nreq->unique == req->unique) {$

ERROR: code indent should never use tabs
#2198: FILE: tools/virtiofsd/fuse_lowlevel.c:2176:
+^I^I^Ilist_del_nreq(nreq);$

ERROR: code indent should never use tabs
#2199: FILE: tools/virtiofsd/fuse_lowlevel.c:2177:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#2200: FILE: tools/virtiofsd/fuse_lowlevel.c:2178:
+^I^I}$

ERROR: code indent should never use tabs
#2201: FILE: tools/virtiofsd/fuse_lowlevel.c:2179:
+^I}$

ERROR: code indent should never use tabs
#2202: FILE: tools/virtiofsd/fuse_lowlevel.c:2180:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182:
+^Iif (nreq != head)$

ERROR: braces {} are necessary for all arms of this statement
#2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182:
+       if (nreq != head)
[...]

ERROR: code indent should never use tabs
#2205: FILE: tools/virtiofsd/fuse_lowlevel.c:2183:
+^I^Inreq->reply(nreq, req, nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2209: FILE: tools/virtiofsd/fuse_lowlevel.c:2187:
+^I^I^I   struct iovec *iov, int count)$

ERROR: code indent should never use tabs
#2211: FILE: tools/virtiofsd/fuse_lowlevel.c:2189:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191:
+^Iif (!se->got_init)$

ERROR: braces {} are necessary for all arms of this statement
#2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191:
+       if (!se->got_init)
[...]

ERROR: code indent should never use tabs
#2214: FILE: tools/virtiofsd/fuse_lowlevel.c:2192:
+^I^Ireturn -ENOTCONN;$

ERROR: code indent should never use tabs
#2216: FILE: tools/virtiofsd/fuse_lowlevel.c:2194:
+^Iout.unique = 0;$

ERROR: code indent should never use tabs
#2217: FILE: tools/virtiofsd/fuse_lowlevel.c:2195:
+^Iout.error = notify_code;$

ERROR: code indent should never use tabs
#2218: FILE: tools/virtiofsd/fuse_lowlevel.c:2196:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#2219: FILE: tools/virtiofsd/fuse_lowlevel.c:2197:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#2221: FILE: tools/virtiofsd/fuse_lowlevel.c:2199:
+^Ireturn fuse_send_msg(se, NULL, iov, count);$

ERROR: code indent should never use tabs
#2226: FILE: tools/virtiofsd/fuse_lowlevel.c:2204:
+^Iif (ph != NULL) {$

ERROR: code indent should never use tabs
#2227: FILE: tools/virtiofsd/fuse_lowlevel.c:2205:
+^I^Istruct fuse_notify_poll_wakeup_out outarg;$

ERROR: code indent should never use tabs
#2228: FILE: tools/virtiofsd/fuse_lowlevel.c:2206:
+^I^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2230: FILE: tools/virtiofsd/fuse_lowlevel.c:2208:
+^I^Ioutarg.kh = ph->kh;$

ERROR: code indent should never use tabs
#2232: FILE: tools/virtiofsd/fuse_lowlevel.c:2210:
+^I^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2233: FILE: tools/virtiofsd/fuse_lowlevel.c:2211:
+^I^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2235: FILE: tools/virtiofsd/fuse_lowlevel.c:2213:
+^I^Ireturn send_notify_iov(ph->se, FUSE_NOTIFY_POLL, iov, 2);$

ERROR: code indent should never use tabs
#2236: FILE: tools/virtiofsd/fuse_lowlevel.c:2214:
+^I} else {$

ERROR: code indent should never use tabs
#2237: FILE: tools/virtiofsd/fuse_lowlevel.c:2215:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2238: FILE: tools/virtiofsd/fuse_lowlevel.c:2216:
+^I}$

ERROR: code indent should never use tabs
#2242: FILE: tools/virtiofsd/fuse_lowlevel.c:2220:
+^I^I^I^I     off_t off, off_t len)$

ERROR: code indent should never use tabs
#2244: FILE: tools/virtiofsd/fuse_lowlevel.c:2222:
+^Istruct fuse_notify_inval_inode_out outarg;$

ERROR: code indent should never use tabs
#2245: FILE: tools/virtiofsd/fuse_lowlevel.c:2223:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2248: FILE: tools/virtiofsd/fuse_lowlevel.c:2226:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$

ERROR: braces {} are necessary for all arms of this statement
#2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 12)
[...]

ERROR: code indent should never use tabs
#2251: FILE: tools/virtiofsd/fuse_lowlevel.c:2229:
+^I^Ireturn -ENOSYS;$

ERROR: trailing whitespace
#2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230:
+^I$

ERROR: code indent should never use tabs
#2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230:
+^I$

ERROR: code indent should never use tabs
#2253: FILE: tools/virtiofsd/fuse_lowlevel.c:2231:
+^Ioutarg.ino = ino;$

ERROR: code indent should never use tabs
#2254: FILE: tools/virtiofsd/fuse_lowlevel.c:2232:
+^Ioutarg.off = off;$

ERROR: code indent should never use tabs
#2255: FILE: tools/virtiofsd/fuse_lowlevel.c:2233:
+^Ioutarg.len = len;$

ERROR: code indent should never use tabs
#2257: FILE: tools/virtiofsd/fuse_lowlevel.c:2235:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2258: FILE: tools/virtiofsd/fuse_lowlevel.c:2236:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2260: FILE: tools/virtiofsd/fuse_lowlevel.c:2238:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_INODE, iov, 2);$

ERROR: code indent should never use tabs
#2264: FILE: tools/virtiofsd/fuse_lowlevel.c:2242:
+^I^I^I^I     const char *name, size_t namelen)$

ERROR: code indent should never use tabs
#2266: FILE: tools/virtiofsd/fuse_lowlevel.c:2244:
+^Istruct fuse_notify_inval_entry_out outarg;$

ERROR: code indent should never use tabs
#2267: FILE: tools/virtiofsd/fuse_lowlevel.c:2245:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2270: FILE: tools/virtiofsd/fuse_lowlevel.c:2248:
+^I^Ireturn -EINVAL;$

ERROR: trailing whitespace
#2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249:
+^I$

ERROR: code indent should never use tabs
#2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249:
+^I$

ERROR: code indent should never use tabs
#2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$

ERROR: braces {} are necessary for all arms of this statement
#2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 12)
[...]

ERROR: code indent should never use tabs
#2273: FILE: tools/virtiofsd/fuse_lowlevel.c:2251:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2275: FILE: tools/virtiofsd/fuse_lowlevel.c:2253:
+^Ioutarg.parent = parent;$

ERROR: code indent should never use tabs
#2276: FILE: tools/virtiofsd/fuse_lowlevel.c:2254:
+^Ioutarg.namelen = namelen;$

ERROR: code indent should never use tabs
#2277: FILE: tools/virtiofsd/fuse_lowlevel.c:2255:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2279: FILE: tools/virtiofsd/fuse_lowlevel.c:2257:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2280: FILE: tools/virtiofsd/fuse_lowlevel.c:2258:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2281: FILE: tools/virtiofsd/fuse_lowlevel.c:2259:
+^Iiov[2].iov_base = (void *)name;$

ERROR: code indent should never use tabs
#2282: FILE: tools/virtiofsd/fuse_lowlevel.c:2260:
+^Iiov[2].iov_len = namelen + 1;$

ERROR: code indent should never use tabs
#2284: FILE: tools/virtiofsd/fuse_lowlevel.c:2262:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_ENTRY, iov, 3);$

ERROR: code indent should never use tabs
#2288: FILE: tools/virtiofsd/fuse_lowlevel.c:2266:
+^I^I^I^Ifuse_ino_t parent, fuse_ino_t child,$

ERROR: code indent should never use tabs
#2289: FILE: tools/virtiofsd/fuse_lowlevel.c:2267:
+^I^I^I^Iconst char *name, size_t namelen)$

ERROR: code indent should never use tabs
#2291: FILE: tools/virtiofsd/fuse_lowlevel.c:2269:
+^Istruct fuse_notify_delete_out outarg;$

ERROR: code indent should never use tabs
#2292: FILE: tools/virtiofsd/fuse_lowlevel.c:2270:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2295: FILE: tools/virtiofsd/fuse_lowlevel.c:2273:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 18)$

ERROR: braces {} are necessary for all arms of this statement
#2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 18)
[...]

ERROR: code indent should never use tabs
#2298: FILE: tools/virtiofsd/fuse_lowlevel.c:2276:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2300: FILE: tools/virtiofsd/fuse_lowlevel.c:2278:
+^Ioutarg.parent = parent;$

ERROR: code indent should never use tabs
#2301: FILE: tools/virtiofsd/fuse_lowlevel.c:2279:
+^Ioutarg.child = child;$

ERROR: code indent should never use tabs
#2302: FILE: tools/virtiofsd/fuse_lowlevel.c:2280:
+^Ioutarg.namelen = namelen;$

ERROR: code indent should never use tabs
#2303: FILE: tools/virtiofsd/fuse_lowlevel.c:2281:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2305: FILE: tools/virtiofsd/fuse_lowlevel.c:2283:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2306: FILE: tools/virtiofsd/fuse_lowlevel.c:2284:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2307: FILE: tools/virtiofsd/fuse_lowlevel.c:2285:
+^Iiov[2].iov_base = (void *)name;$

ERROR: code indent should never use tabs
#2308: FILE: tools/virtiofsd/fuse_lowlevel.c:2286:
+^Iiov[2].iov_len = namelen + 1;$

ERROR: code indent should never use tabs
#2310: FILE: tools/virtiofsd/fuse_lowlevel.c:2288:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_DELETE, iov, 3);$

ERROR: code indent should never use tabs
#2314: FILE: tools/virtiofsd/fuse_lowlevel.c:2292:
+^I^I^I       off_t offset, struct fuse_bufvec *bufv,$

ERROR: code indent should never use tabs
#2315: FILE: tools/virtiofsd/fuse_lowlevel.c:2293:
+^I^I^I       enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#2317: FILE: tools/virtiofsd/fuse_lowlevel.c:2295:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#2318: FILE: tools/virtiofsd/fuse_lowlevel.c:2296:
+^Istruct fuse_notify_store_out outarg;$

ERROR: code indent should never use tabs
#2319: FILE: tools/virtiofsd/fuse_lowlevel.c:2297:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2320: FILE: tools/virtiofsd/fuse_lowlevel.c:2298:
+^Isize_t size = fuse_buf_size(bufv);$

ERROR: code indent should never use tabs
#2321: FILE: tools/virtiofsd/fuse_lowlevel.c:2299:
+^Iint res;$

ERROR: code indent should never use tabs
#2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2324: FILE: tools/virtiofsd/fuse_lowlevel.c:2302:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$

ERROR: braces {} are necessary for all arms of this statement
#2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 15)
[...]

ERROR: code indent should never use tabs
#2327: FILE: tools/virtiofsd/fuse_lowlevel.c:2305:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2329: FILE: tools/virtiofsd/fuse_lowlevel.c:2307:
+^Iout.unique = 0;$

ERROR: code indent should never use tabs
#2330: FILE: tools/virtiofsd/fuse_lowlevel.c:2308:
+^Iout.error = FUSE_NOTIFY_STORE;$

ERROR: code indent should never use tabs
#2332: FILE: tools/virtiofsd/fuse_lowlevel.c:2310:
+^Ioutarg.nodeid = ino;$

ERROR: code indent should never use tabs
#2333: FILE: tools/virtiofsd/fuse_lowlevel.c:2311:
+^Ioutarg.offset = offset;$

ERROR: code indent should never use tabs
#2334: FILE: tools/virtiofsd/fuse_lowlevel.c:2312:
+^Ioutarg.size = size;$

ERROR: code indent should never use tabs
#2335: FILE: tools/virtiofsd/fuse_lowlevel.c:2313:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2337: FILE: tools/virtiofsd/fuse_lowlevel.c:2315:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#2338: FILE: tools/virtiofsd/fuse_lowlevel.c:2316:
+^Iiov[0].iov_len = sizeof(out);$

ERROR: code indent should never use tabs
#2339: FILE: tools/virtiofsd/fuse_lowlevel.c:2317:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2340: FILE: tools/virtiofsd/fuse_lowlevel.c:2318:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2342: FILE: tools/virtiofsd/fuse_lowlevel.c:2320:
+^Ires = fuse_send_data_iov(se, NULL, iov, 2, bufv, flags);$

ERROR: code indent should never use tabs
#2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321:
+^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321:
+       if (res > 0)
[...]

ERROR: code indent should never use tabs
#2344: FILE: tools/virtiofsd/fuse_lowlevel.c:2322:
+^I^Ires = -res;$

ERROR: code indent should never use tabs
#2346: FILE: tools/virtiofsd/fuse_lowlevel.c:2324:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2350: FILE: tools/virtiofsd/fuse_lowlevel.c:2328:
+^Istruct fuse_notify_req nreq;$

ERROR: code indent should never use tabs
#2351: FILE: tools/virtiofsd/fuse_lowlevel.c:2329:
+^Ivoid *cookie;$

ERROR: code indent should never use tabs
#2355: FILE: tools/virtiofsd/fuse_lowlevel.c:2333:
+^I^I^I^I   fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2356: FILE: tools/virtiofsd/fuse_lowlevel.c:2334:
+^I^I^I^I   const void *inarg,$

ERROR: code indent should never use tabs
#2357: FILE: tools/virtiofsd/fuse_lowlevel.c:2335:
+^I^I^I^I   const struct fuse_buf *ibuf)$

ERROR: code indent should never use tabs
#2359: FILE: tools/virtiofsd/fuse_lowlevel.c:2337:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2360: FILE: tools/virtiofsd/fuse_lowlevel.c:2338:
+^Istruct fuse_retrieve_req *rreq =$

ERROR: code indent should never use tabs
#2361: FILE: tools/virtiofsd/fuse_lowlevel.c:2339:
+^I^Icontainer_of(nreq, struct fuse_retrieve_req, nreq);$

ERROR: code indent should never use tabs
#2362: FILE: tools/virtiofsd/fuse_lowlevel.c:2340:
+^Iconst struct fuse_notify_retrieve_in *arg = inarg;$

ERROR: code indent should never use tabs
#2363: FILE: tools/virtiofsd/fuse_lowlevel.c:2341:
+^Istruct fuse_bufvec bufv = {$

ERROR: code indent should never use tabs
#2364: FILE: tools/virtiofsd/fuse_lowlevel.c:2342:
+^I^I.buf[0] = *ibuf,$

ERROR: code indent should never use tabs
#2365: FILE: tools/virtiofsd/fuse_lowlevel.c:2343:
+^I^I.count = 1,$

ERROR: code indent should never use tabs
#2366: FILE: tools/virtiofsd/fuse_lowlevel.c:2344:
+^I};$

ERROR: code indent should never use tabs
#2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346:
+^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$

ERROR: braces {} are necessary for all arms of this statement
#2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346:
+       if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))
[...]

ERROR: code indent should never use tabs
#2369: FILE: tools/virtiofsd/fuse_lowlevel.c:2347:
+^I^Ibufv.buf[0].mem = PARAM(arg);$

ERROR: code indent should never use tabs
#2371: FILE: tools/virtiofsd/fuse_lowlevel.c:2349:
+^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2372: FILE: tools/virtiofsd/fuse_lowlevel.c:2350:
+^I^Isizeof(struct fuse_notify_retrieve_in);$

ERROR: code indent should never use tabs
#2374: FILE: tools/virtiofsd/fuse_lowlevel.c:2352:
+^Iif (bufv.buf[0].size < arg->size) {$

WARNING: line over 80 characters
#2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353:
+               fuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too 
small\n");

ERROR: code indent should never use tabs
#2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too small\n");$

ERROR: code indent should never use tabs
#2376: FILE: tools/virtiofsd/fuse_lowlevel.c:2354:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#2377: FILE: tools/virtiofsd/fuse_lowlevel.c:2355:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#2378: FILE: tools/virtiofsd/fuse_lowlevel.c:2356:
+^I}$

ERROR: code indent should never use tabs
#2379: FILE: tools/virtiofsd/fuse_lowlevel.c:2357:
+^Ibufv.buf[0].size = arg->size;$

ERROR: code indent should never use tabs
#2381: FILE: tools/virtiofsd/fuse_lowlevel.c:2359:
+^Iif (se->op.retrieve_reply) {$

ERROR: code indent should never use tabs
#2382: FILE: tools/virtiofsd/fuse_lowlevel.c:2360:
+^I^Ise->op.retrieve_reply(req, rreq->cookie, ino,$

ERROR: code indent should never use tabs
#2383: FILE: tools/virtiofsd/fuse_lowlevel.c:2361:
+^I^I^I^I^I  arg->offset, &bufv);$

ERROR: code indent should never use tabs
#2384: FILE: tools/virtiofsd/fuse_lowlevel.c:2362:
+^I} else {$

ERROR: code indent should never use tabs
#2385: FILE: tools/virtiofsd/fuse_lowlevel.c:2363:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#2386: FILE: tools/virtiofsd/fuse_lowlevel.c:2364:
+^I}$

ERROR: code indent should never use tabs
#2388: FILE: tools/virtiofsd/fuse_lowlevel.c:2366:
+^Ifree(rreq);$

ERROR: code indent should never use tabs
#2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367:
+^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$

ERROR: braces {} are necessary for all arms of this statement
#2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367:
+       if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)
[...]

ERROR: code indent should never use tabs
#2390: FILE: tools/virtiofsd/fuse_lowlevel.c:2368:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2394: FILE: tools/virtiofsd/fuse_lowlevel.c:2372:
+^I^I^I^I  size_t size, off_t offset, void *cookie)$

ERROR: code indent should never use tabs
#2396: FILE: tools/virtiofsd/fuse_lowlevel.c:2374:
+^Istruct fuse_notify_retrieve_out outarg;$

ERROR: code indent should never use tabs
#2397: FILE: tools/virtiofsd/fuse_lowlevel.c:2375:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2398: FILE: tools/virtiofsd/fuse_lowlevel.c:2376:
+^Istruct fuse_retrieve_req *rreq;$

ERROR: code indent should never use tabs
#2399: FILE: tools/virtiofsd/fuse_lowlevel.c:2377:
+^Iint err;$

ERROR: code indent should never use tabs
#2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2402: FILE: tools/virtiofsd/fuse_lowlevel.c:2380:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$

ERROR: braces {} are necessary for all arms of this statement
#2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 15)
[...]

ERROR: code indent should never use tabs
#2405: FILE: tools/virtiofsd/fuse_lowlevel.c:2383:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2407: FILE: tools/virtiofsd/fuse_lowlevel.c:2385:
+^Irreq = malloc(sizeof(*rreq));$

ERROR: code indent should never use tabs
#2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386:
+^Iif (rreq == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386:
+       if (rreq == NULL)
[...]

ERROR: code indent should never use tabs
#2409: FILE: tools/virtiofsd/fuse_lowlevel.c:2387:
+^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2411: FILE: tools/virtiofsd/fuse_lowlevel.c:2389:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2412: FILE: tools/virtiofsd/fuse_lowlevel.c:2390:
+^Irreq->cookie = cookie;$

ERROR: code indent should never use tabs
#2413: FILE: tools/virtiofsd/fuse_lowlevel.c:2391:
+^Irreq->nreq.unique = se->notify_ctr++;$

ERROR: code indent should never use tabs
#2414: FILE: tools/virtiofsd/fuse_lowlevel.c:2392:
+^Irreq->nreq.reply = fuse_ll_retrieve_reply;$

ERROR: code indent should never use tabs
#2415: FILE: tools/virtiofsd/fuse_lowlevel.c:2393:
+^Ilist_add_nreq(&rreq->nreq, &se->notify_list);$

ERROR: code indent should never use tabs
#2416: FILE: tools/virtiofsd/fuse_lowlevel.c:2394:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2418: FILE: tools/virtiofsd/fuse_lowlevel.c:2396:
+^Ioutarg.notify_unique = rreq->nreq.unique;$

ERROR: code indent should never use tabs
#2419: FILE: tools/virtiofsd/fuse_lowlevel.c:2397:
+^Ioutarg.nodeid = ino;$

ERROR: code indent should never use tabs
#2420: FILE: tools/virtiofsd/fuse_lowlevel.c:2398:
+^Ioutarg.offset = offset;$

ERROR: code indent should never use tabs
#2421: FILE: tools/virtiofsd/fuse_lowlevel.c:2399:
+^Ioutarg.size = size;$

ERROR: code indent should never use tabs
#2422: FILE: tools/virtiofsd/fuse_lowlevel.c:2400:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2424: FILE: tools/virtiofsd/fuse_lowlevel.c:2402:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2425: FILE: tools/virtiofsd/fuse_lowlevel.c:2403:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2427: FILE: tools/virtiofsd/fuse_lowlevel.c:2405:
+^Ierr = send_notify_iov(se, FUSE_NOTIFY_RETRIEVE, iov, 2);$

ERROR: code indent should never use tabs
#2428: FILE: tools/virtiofsd/fuse_lowlevel.c:2406:
+^Iif (err) {$

ERROR: code indent should never use tabs
#2429: FILE: tools/virtiofsd/fuse_lowlevel.c:2407:
+^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2430: FILE: tools/virtiofsd/fuse_lowlevel.c:2408:
+^I^Ilist_del_nreq(&rreq->nreq);$

ERROR: code indent should never use tabs
#2431: FILE: tools/virtiofsd/fuse_lowlevel.c:2409:
+^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2432: FILE: tools/virtiofsd/fuse_lowlevel.c:2410:
+^I^Ifree(rreq);$

ERROR: code indent should never use tabs
#2433: FILE: tools/virtiofsd/fuse_lowlevel.c:2411:
+^I}$

ERROR: code indent should never use tabs
#2435: FILE: tools/virtiofsd/fuse_lowlevel.c:2413:
+^Ireturn err;$

ERROR: code indent should never use tabs
#2440: FILE: tools/virtiofsd/fuse_lowlevel.c:2418:
+^Ireturn req->se->userdata;$

ERROR: code indent should never use tabs
#2445: FILE: tools/virtiofsd/fuse_lowlevel.c:2423:
+^Ireturn &req->ctx;$

ERROR: code indent should never use tabs
#2449: FILE: tools/virtiofsd/fuse_lowlevel.c:2427:
+^I^I^I     void *data)$

ERROR: code indent should never use tabs
#2451: FILE: tools/virtiofsd/fuse_lowlevel.c:2429:
+^Ipthread_mutex_lock(&req->lock);$

ERROR: code indent should never use tabs
#2452: FILE: tools/virtiofsd/fuse_lowlevel.c:2430:
+^Ipthread_mutex_lock(&req->se->lock);$

ERROR: code indent should never use tabs
#2453: FILE: tools/virtiofsd/fuse_lowlevel.c:2431:
+^Ireq->u.ni.func = func;$

ERROR: code indent should never use tabs
#2454: FILE: tools/virtiofsd/fuse_lowlevel.c:2432:
+^Ireq->u.ni.data = data;$

ERROR: code indent should never use tabs
#2455: FILE: tools/virtiofsd/fuse_lowlevel.c:2433:
+^Ipthread_mutex_unlock(&req->se->lock);$

ERROR: code indent should never use tabs
#2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434:
+^Iif (req->interrupted && func)$

ERROR: braces {} are necessary for all arms of this statement
#2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434:
+       if (req->interrupted && func)
[...]

ERROR: code indent should never use tabs
#2457: FILE: tools/virtiofsd/fuse_lowlevel.c:2435:
+^I^Ifunc(req, data);$

ERROR: code indent should never use tabs
#2458: FILE: tools/virtiofsd/fuse_lowlevel.c:2436:
+^Ipthread_mutex_unlock(&req->lock);$

ERROR: code indent should never use tabs
#2463: FILE: tools/virtiofsd/fuse_lowlevel.c:2441:
+^Iint interrupted;$

ERROR: code indent should never use tabs
#2465: FILE: tools/virtiofsd/fuse_lowlevel.c:2443:
+^Ipthread_mutex_lock(&req->se->lock);$

ERROR: code indent should never use tabs
#2466: FILE: tools/virtiofsd/fuse_lowlevel.c:2444:
+^Iinterrupted = req->interrupted;$

ERROR: code indent should never use tabs
#2467: FILE: tools/virtiofsd/fuse_lowlevel.c:2445:
+^Ipthread_mutex_unlock(&req->se->lock);$

ERROR: code indent should never use tabs
#2469: FILE: tools/virtiofsd/fuse_lowlevel.c:2447:
+^Ireturn interrupted;$

ERROR: code indent should never use tabs
#2473: FILE: tools/virtiofsd/fuse_lowlevel.c:2451:
+^Ivoid (*func)(fuse_req_t, fuse_ino_t, const void *);$

ERROR: code indent should never use tabs
#2474: FILE: tools/virtiofsd/fuse_lowlevel.c:2452:
+^Iconst char *name;$

ERROR: code indent should never use tabs
#2476: FILE: tools/virtiofsd/fuse_lowlevel.c:2454:
+^I[FUSE_LOOKUP]^I   = { do_lookup,      "LOOKUP"^I     },$

ERROR: code indent should never use tabs
#2477: FILE: tools/virtiofsd/fuse_lowlevel.c:2455:
+^I[FUSE_FORGET]^I   = { do_forget,      "FORGET"^I     },$

ERROR: code indent should never use tabs
#2478: FILE: tools/virtiofsd/fuse_lowlevel.c:2456:
+^I[FUSE_GETATTR]^I   = { do_getattr,     "GETATTR"     },$

ERROR: code indent should never use tabs
#2479: FILE: tools/virtiofsd/fuse_lowlevel.c:2457:
+^I[FUSE_SETATTR]^I   = { do_setattr,     "SETATTR"     },$

ERROR: code indent should never use tabs
#2480: FILE: tools/virtiofsd/fuse_lowlevel.c:2458:
+^I[FUSE_READLINK]^I   = { do_readlink,    "READLINK"    },$

ERROR: code indent should never use tabs
#2481: FILE: tools/virtiofsd/fuse_lowlevel.c:2459:
+^I[FUSE_SYMLINK]^I   = { do_symlink,     "SYMLINK"     },$

ERROR: code indent should never use tabs
#2482: FILE: tools/virtiofsd/fuse_lowlevel.c:2460:
+^I[FUSE_MKNOD]^I   = { do_mknod,       "MKNOD"^I     },$

ERROR: code indent should never use tabs
#2483: FILE: tools/virtiofsd/fuse_lowlevel.c:2461:
+^I[FUSE_MKDIR]^I   = { do_mkdir,       "MKDIR"^I     },$

ERROR: code indent should never use tabs
#2484: FILE: tools/virtiofsd/fuse_lowlevel.c:2462:
+^I[FUSE_UNLINK]^I   = { do_unlink,      "UNLINK"^I     },$

ERROR: code indent should never use tabs
#2485: FILE: tools/virtiofsd/fuse_lowlevel.c:2463:
+^I[FUSE_RMDIR]^I   = { do_rmdir,       "RMDIR"^I     },$

ERROR: code indent should never use tabs
#2486: FILE: tools/virtiofsd/fuse_lowlevel.c:2464:
+^I[FUSE_RENAME]^I   = { do_rename,      "RENAME"^I     },$

ERROR: code indent should never use tabs
#2487: FILE: tools/virtiofsd/fuse_lowlevel.c:2465:
+^I[FUSE_LINK]^I   = { do_link,^I       "LINK"^I     },$

ERROR: code indent should never use tabs
#2488: FILE: tools/virtiofsd/fuse_lowlevel.c:2466:
+^I[FUSE_OPEN]^I   = { do_open,^I       "OPEN"^I     },$

ERROR: code indent should never use tabs
#2489: FILE: tools/virtiofsd/fuse_lowlevel.c:2467:
+^I[FUSE_READ]^I   = { do_read,^I       "READ"^I     },$

ERROR: code indent should never use tabs
#2490: FILE: tools/virtiofsd/fuse_lowlevel.c:2468:
+^I[FUSE_WRITE]^I   = { do_write,       "WRITE"^I     },$

ERROR: code indent should never use tabs
#2491: FILE: tools/virtiofsd/fuse_lowlevel.c:2469:
+^I[FUSE_STATFS]^I   = { do_statfs,      "STATFS"^I     },$

ERROR: code indent should never use tabs
#2492: FILE: tools/virtiofsd/fuse_lowlevel.c:2470:
+^I[FUSE_RELEASE]^I   = { do_release,     "RELEASE"     },$

ERROR: code indent should never use tabs
#2493: FILE: tools/virtiofsd/fuse_lowlevel.c:2471:
+^I[FUSE_FSYNC]^I   = { do_fsync,       "FSYNC"^I     },$

ERROR: code indent should never use tabs
#2494: FILE: tools/virtiofsd/fuse_lowlevel.c:2472:
+^I[FUSE_SETXATTR]^I   = { do_setxattr,    "SETXATTR"    },$

ERROR: code indent should never use tabs
#2495: FILE: tools/virtiofsd/fuse_lowlevel.c:2473:
+^I[FUSE_GETXATTR]^I   = { do_getxattr,    "GETXATTR"    },$

ERROR: code indent should never use tabs
#2496: FILE: tools/virtiofsd/fuse_lowlevel.c:2474:
+^I[FUSE_LISTXATTR]   = { do_listxattr,   "LISTXATTR"   },$

ERROR: code indent should never use tabs
#2497: FILE: tools/virtiofsd/fuse_lowlevel.c:2475:
+^I[FUSE_REMOVEXATTR] = { do_removexattr, "REMOVEXATTR" },$

ERROR: code indent should never use tabs
#2498: FILE: tools/virtiofsd/fuse_lowlevel.c:2476:
+^I[FUSE_FLUSH]^I   = { do_flush,       "FLUSH"^I     },$

ERROR: code indent should never use tabs
#2499: FILE: tools/virtiofsd/fuse_lowlevel.c:2477:
+^I[FUSE_INIT]^I   = { do_init,^I       "INIT"^I     },$

ERROR: code indent should never use tabs
#2500: FILE: tools/virtiofsd/fuse_lowlevel.c:2478:
+^I[FUSE_OPENDIR]^I   = { do_opendir,     "OPENDIR"     },$

ERROR: code indent should never use tabs
#2501: FILE: tools/virtiofsd/fuse_lowlevel.c:2479:
+^I[FUSE_READDIR]^I   = { do_readdir,     "READDIR"     },$

ERROR: code indent should never use tabs
#2502: FILE: tools/virtiofsd/fuse_lowlevel.c:2480:
+^I[FUSE_RELEASEDIR]  = { do_releasedir,  "RELEASEDIR"  },$

ERROR: code indent should never use tabs
#2503: FILE: tools/virtiofsd/fuse_lowlevel.c:2481:
+^I[FUSE_FSYNCDIR]^I   = { do_fsyncdir,    "FSYNCDIR"    },$

ERROR: code indent should never use tabs
#2504: FILE: tools/virtiofsd/fuse_lowlevel.c:2482:
+^I[FUSE_GETLK]^I   = { do_getlk,       "GETLK"^I     },$

ERROR: code indent should never use tabs
#2505: FILE: tools/virtiofsd/fuse_lowlevel.c:2483:
+^I[FUSE_SETLK]^I   = { do_setlk,       "SETLK"^I     },$

ERROR: code indent should never use tabs
#2506: FILE: tools/virtiofsd/fuse_lowlevel.c:2484:
+^I[FUSE_SETLKW]^I   = { do_setlkw,      "SETLKW"^I     },$

ERROR: code indent should never use tabs
#2507: FILE: tools/virtiofsd/fuse_lowlevel.c:2485:
+^I[FUSE_ACCESS]^I   = { do_access,      "ACCESS"^I     },$

ERROR: code indent should never use tabs
#2508: FILE: tools/virtiofsd/fuse_lowlevel.c:2486:
+^I[FUSE_CREATE]^I   = { do_create,      "CREATE"^I     },$

ERROR: code indent should never use tabs
#2509: FILE: tools/virtiofsd/fuse_lowlevel.c:2487:
+^I[FUSE_INTERRUPT]   = { do_interrupt,   "INTERRUPT"   },$

ERROR: code indent should never use tabs
#2510: FILE: tools/virtiofsd/fuse_lowlevel.c:2488:
+^I[FUSE_BMAP]^I   = { do_bmap,^I       "BMAP"^I     },$

ERROR: code indent should never use tabs
#2511: FILE: tools/virtiofsd/fuse_lowlevel.c:2489:
+^I[FUSE_IOCTL]^I   = { do_ioctl,       "IOCTL"^I     },$

ERROR: code indent should never use tabs
#2512: FILE: tools/virtiofsd/fuse_lowlevel.c:2490:
+^I[FUSE_POLL]^I   = { do_poll,        "POLL"^I     },$

ERROR: code indent should never use tabs
#2513: FILE: tools/virtiofsd/fuse_lowlevel.c:2491:
+^I[FUSE_FALLOCATE]   = { do_fallocate,   "FALLOCATE"   },$

ERROR: code indent should never use tabs
#2514: FILE: tools/virtiofsd/fuse_lowlevel.c:2492:
+^I[FUSE_DESTROY]^I   = { do_destroy,     "DESTROY"     },$

ERROR: code indent should never use tabs
#2515: FILE: tools/virtiofsd/fuse_lowlevel.c:2493:
+^I[FUSE_NOTIFY_REPLY] = { (void *) 1,    "NOTIFY_REPLY" },$

ERROR: code indent should never use tabs
#2516: FILE: tools/virtiofsd/fuse_lowlevel.c:2494:
+^I[FUSE_BATCH_FORGET] = { do_batch_forget, "BATCH_FORGET" },$

ERROR: code indent should never use tabs
#2517: FILE: tools/virtiofsd/fuse_lowlevel.c:2495:
+^I[FUSE_READDIRPLUS] = { do_readdirplus,^I"READDIRPLUS"},$

ERROR: code indent should never use tabs
#2518: FILE: tools/virtiofsd/fuse_lowlevel.c:2496:
+^I[FUSE_RENAME2]     = { do_rename2,      "RENAME2"    },$

ERROR: code indent should never use tabs
#2519: FILE: tools/virtiofsd/fuse_lowlevel.c:2497:
+^I[FUSE_COPY_FILE_RANGE] = { do_copy_file_range, "COPY_FILE_RANGE" },$

ERROR: code indent should never use tabs
#2520: FILE: tools/virtiofsd/fuse_lowlevel.c:2498:
+^I[FUSE_LSEEK]^I   = { do_lseek,       "LSEEK"^I     },$

ERROR: code indent should never use tabs
#2521: FILE: tools/virtiofsd/fuse_lowlevel.c:2499:
+^I[CUSE_INIT]^I   = { cuse_lowlevel_init, "CUSE_INIT"   },$

ERROR: code indent should never use tabs
#2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506:
+^Iif (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name)$

ERROR: braces {} are necessary for all arms of this statement
#2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506:
+       if (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2529: FILE: tools/virtiofsd/fuse_lowlevel.c:2507:
+^I^Ireturn "???";$

ERROR: code indent should never use tabs
#2530: FILE: tools/virtiofsd/fuse_lowlevel.c:2508:
+^Ielse$

ERROR: code indent should never use tabs
#2531: FILE: tools/virtiofsd/fuse_lowlevel.c:2509:
+^I^Ireturn fuse_ll_ops[opcode].name;$

ERROR: code indent should never use tabs
#2535: FILE: tools/virtiofsd/fuse_lowlevel.c:2513:
+^I^I^I^I  struct fuse_bufvec *src)$

ERROR: code indent should never use tabs
#2537: FILE: tools/virtiofsd/fuse_lowlevel.c:2515:
+^Issize_t res = fuse_buf_copy(dst, src, 0);$

ERROR: code indent should never use tabs
#2538: FILE: tools/virtiofsd/fuse_lowlevel.c:2516:
+^Iif (res < 0) {$

WARNING: line over 80 characters
#2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517:
+               fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", 
strerror(-res));

ERROR: code indent should never use tabs
#2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res));$

ERROR: code indent should never use tabs
#2540: FILE: tools/virtiofsd/fuse_lowlevel.c:2518:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#2541: FILE: tools/virtiofsd/fuse_lowlevel.c:2519:
+^I}$

ERROR: code indent should never use tabs
#2542: FILE: tools/virtiofsd/fuse_lowlevel.c:2520:
+^Iif ((size_t)res < fuse_buf_size(dst)) {$

ERROR: code indent should never use tabs
#2543: FILE: tools/virtiofsd/fuse_lowlevel.c:2521:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$

ERROR: code indent should never use tabs
#2544: FILE: tools/virtiofsd/fuse_lowlevel.c:2522:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#2545: FILE: tools/virtiofsd/fuse_lowlevel.c:2523:
+^I}$

ERROR: code indent should never use tabs
#2546: FILE: tools/virtiofsd/fuse_lowlevel.c:2524:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#2550: FILE: tools/virtiofsd/fuse_lowlevel.c:2528:
+^I^I^I      const struct fuse_buf *buf)$

ERROR: code indent should never use tabs
#2552: FILE: tools/virtiofsd/fuse_lowlevel.c:2530:
+^Ifuse_session_process_buf_int(se, buf, NULL);$

WARNING: line over 80 characters
#2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534:
+                                 const struct fuse_buf *buf, struct fuse_chan 
*ch)

ERROR: code indent should never use tabs
#2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534:
+^I^I^I^I  const struct fuse_buf *buf, struct fuse_chan *ch)$

ERROR: code indent should never use tabs
#2558: FILE: tools/virtiofsd/fuse_lowlevel.c:2536:
+^Iconst size_t write_header_size = sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2559: FILE: tools/virtiofsd/fuse_lowlevel.c:2537:
+^I^Isizeof(struct fuse_write_in);$

ERROR: code indent should never use tabs
#2560: FILE: tools/virtiofsd/fuse_lowlevel.c:2538:
+^Istruct fuse_bufvec bufv = { .buf[0] = *buf, .count = 1 };$

ERROR: code indent should never use tabs
#2561: FILE: tools/virtiofsd/fuse_lowlevel.c:2539:
+^Istruct fuse_bufvec tmpbuf = FUSE_BUFVEC_INIT(write_header_size);$

ERROR: code indent should never use tabs
#2562: FILE: tools/virtiofsd/fuse_lowlevel.c:2540:
+^Istruct fuse_in_header *in;$

ERROR: code indent should never use tabs
#2563: FILE: tools/virtiofsd/fuse_lowlevel.c:2541:
+^Iconst void *inarg;$

ERROR: code indent should never use tabs
#2564: FILE: tools/virtiofsd/fuse_lowlevel.c:2542:
+^Istruct fuse_req *req;$

ERROR: code indent should never use tabs
#2565: FILE: tools/virtiofsd/fuse_lowlevel.c:2543:
+^Ivoid *mbuf = NULL;$

ERROR: code indent should never use tabs
#2566: FILE: tools/virtiofsd/fuse_lowlevel.c:2544:
+^Iint err;$

ERROR: code indent should never use tabs
#2567: FILE: tools/virtiofsd/fuse_lowlevel.c:2545:
+^Iint res;$

ERROR: code indent should never use tabs
#2569: FILE: tools/virtiofsd/fuse_lowlevel.c:2547:
+^Iif (buf->flags & FUSE_BUF_IS_FD) {$

ERROR: code indent should never use tabs
#2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548:
+^I^Iif (buf->size < tmpbuf.buf[0].size)$

ERROR: braces {} are necessary for all arms of this statement
#2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548:
+               if (buf->size < tmpbuf.buf[0].size)
[...]

ERROR: code indent should never use tabs
#2571: FILE: tools/virtiofsd/fuse_lowlevel.c:2549:
+^I^I^Itmpbuf.buf[0].size = buf->size;$

ERROR: code indent should never use tabs
#2573: FILE: tools/virtiofsd/fuse_lowlevel.c:2551:
+^I^Imbuf = malloc(tmpbuf.buf[0].size);$

ERROR: code indent should never use tabs
#2574: FILE: tools/virtiofsd/fuse_lowlevel.c:2552:
+^I^Iif (mbuf == NULL) {$

WARNING: line over 80 characters
#2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553:
+                       fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate 
header\n");

ERROR: code indent should never use tabs
#2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate header\n");$

ERROR: code indent should never use tabs
#2576: FILE: tools/virtiofsd/fuse_lowlevel.c:2554:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2577: FILE: tools/virtiofsd/fuse_lowlevel.c:2555:
+^I^I}$

ERROR: code indent should never use tabs
#2578: FILE: tools/virtiofsd/fuse_lowlevel.c:2556:
+^I^Itmpbuf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#2580: FILE: tools/virtiofsd/fuse_lowlevel.c:2558:
+^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$

ERROR: code indent should never use tabs
#2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559:
+^I^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559:
+               if (res < 0)
[...]

ERROR: code indent should never use tabs
#2582: FILE: tools/virtiofsd/fuse_lowlevel.c:2560:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2584: FILE: tools/virtiofsd/fuse_lowlevel.c:2562:
+^I^Iin = mbuf;$

ERROR: code indent should never use tabs
#2585: FILE: tools/virtiofsd/fuse_lowlevel.c:2563:
+^I} else {$

ERROR: code indent should never use tabs
#2586: FILE: tools/virtiofsd/fuse_lowlevel.c:2564:
+^I^Iin = buf->mem;$

ERROR: code indent should never use tabs
#2587: FILE: tools/virtiofsd/fuse_lowlevel.c:2565:
+^I}$

ERROR: code indent should never use tabs
#2589: FILE: tools/virtiofsd/fuse_lowlevel.c:2567:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#2590: FILE: tools/virtiofsd/fuse_lowlevel.c:2568:
+^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#2591: FILE: tools/virtiofsd/fuse_lowlevel.c:2569:
+^I^I^I"unique: %llu, opcode: %s (%i), nodeid: %llu, insize: %zu, pid: %u\n",$

ERROR: code indent should never use tabs
#2592: FILE: tools/virtiofsd/fuse_lowlevel.c:2570:
+^I^I^I(unsigned long long) in->unique,$

ERROR: code indent should never use tabs
#2593: FILE: tools/virtiofsd/fuse_lowlevel.c:2571:
+^I^I^Iopname((enum fuse_opcode) in->opcode), in->opcode,$

ERROR: code indent should never use tabs
#2594: FILE: tools/virtiofsd/fuse_lowlevel.c:2572:
+^I^I^I(unsigned long long) in->nodeid, buf->size, in->pid);$

ERROR: code indent should never use tabs
#2595: FILE: tools/virtiofsd/fuse_lowlevel.c:2573:
+^I}$

ERROR: code indent should never use tabs
#2597: FILE: tools/virtiofsd/fuse_lowlevel.c:2575:
+^Ireq = fuse_ll_alloc_req(se);$

ERROR: code indent should never use tabs
#2598: FILE: tools/virtiofsd/fuse_lowlevel.c:2576:
+^Iif (req == NULL) {$

ERROR: code indent should never use tabs
#2599: FILE: tools/virtiofsd/fuse_lowlevel.c:2577:
+^I^Istruct fuse_out_header out = {$

ERROR: code indent should never use tabs
#2600: FILE: tools/virtiofsd/fuse_lowlevel.c:2578:
+^I^I^I.unique = in->unique,$

ERROR: code indent should never use tabs
#2601: FILE: tools/virtiofsd/fuse_lowlevel.c:2579:
+^I^I^I.error = -ENOMEM,$

ERROR: code indent should never use tabs
#2602: FILE: tools/virtiofsd/fuse_lowlevel.c:2580:
+^I^I};$

ERROR: code indent should never use tabs
#2603: FILE: tools/virtiofsd/fuse_lowlevel.c:2581:
+^I^Istruct iovec iov = {$

ERROR: code indent should never use tabs
#2604: FILE: tools/virtiofsd/fuse_lowlevel.c:2582:
+^I^I^I.iov_base = &out,$

ERROR: code indent should never use tabs
#2605: FILE: tools/virtiofsd/fuse_lowlevel.c:2583:
+^I^I^I.iov_len = sizeof(struct fuse_out_header),$

ERROR: code indent should never use tabs
#2606: FILE: tools/virtiofsd/fuse_lowlevel.c:2584:
+^I^I};$

ERROR: code indent should never use tabs
#2608: FILE: tools/virtiofsd/fuse_lowlevel.c:2586:
+^I^Ifuse_send_msg(se, ch, &iov, 1);$

ERROR: code indent should never use tabs
#2609: FILE: tools/virtiofsd/fuse_lowlevel.c:2587:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2610: FILE: tools/virtiofsd/fuse_lowlevel.c:2588:
+^I}$

ERROR: code indent should never use tabs
#2612: FILE: tools/virtiofsd/fuse_lowlevel.c:2590:
+^Ireq->unique = in->unique;$

ERROR: code indent should never use tabs
#2613: FILE: tools/virtiofsd/fuse_lowlevel.c:2591:
+^Ireq->ctx.uid = in->uid;$

ERROR: code indent should never use tabs
#2614: FILE: tools/virtiofsd/fuse_lowlevel.c:2592:
+^Ireq->ctx.gid = in->gid;$

ERROR: code indent should never use tabs
#2615: FILE: tools/virtiofsd/fuse_lowlevel.c:2593:
+^Ireq->ctx.pid = in->pid;$

ERROR: code indent should never use tabs
#2616: FILE: tools/virtiofsd/fuse_lowlevel.c:2594:
+^Ireq->ch = ch ? fuse_chan_get(ch) : NULL;$

ERROR: code indent should never use tabs
#2618: FILE: tools/virtiofsd/fuse_lowlevel.c:2596:
+^Ierr = EIO;$

ERROR: code indent should never use tabs
#2619: FILE: tools/virtiofsd/fuse_lowlevel.c:2597:
+^Iif (!se->got_init) {$

ERROR: code indent should never use tabs
#2620: FILE: tools/virtiofsd/fuse_lowlevel.c:2598:
+^I^Ienum fuse_opcode expected;$

ERROR: code indent should never use tabs
#2622: FILE: tools/virtiofsd/fuse_lowlevel.c:2600:
+^I^Iexpected = se->cuse_data ? CUSE_INIT : FUSE_INIT;$

ERROR: code indent should never use tabs
#2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601:
+^I^Iif (in->opcode != expected)$

ERROR: braces {} are necessary for all arms of this statement
#2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601:
+               if (in->opcode != expected)
[...]

ERROR: code indent should never use tabs
#2624: FILE: tools/virtiofsd/fuse_lowlevel.c:2602:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603:
+^I} else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT)$

ERROR: braces {} are necessary for all arms of this statement
#2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603:
+       } else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT)
[...]

ERROR: code indent should never use tabs
#2626: FILE: tools/virtiofsd/fuse_lowlevel.c:2604:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2628: FILE: tools/virtiofsd/fuse_lowlevel.c:2606:
+^Ierr = EACCES;$

ERROR: code indent should never use tabs
#2629: FILE: tools/virtiofsd/fuse_lowlevel.c:2607:
+^I/* Implement -o allow_root */$

ERROR: code indent should never use tabs
#2630: FILE: tools/virtiofsd/fuse_lowlevel.c:2608:
+^Iif (se->deny_others && in->uid != se->owner && in->uid != 0 &&$

ERROR: code indent should never use tabs
#2631: FILE: tools/virtiofsd/fuse_lowlevel.c:2609:
+^I^I in->opcode != FUSE_INIT && in->opcode != FUSE_READ &&$

ERROR: code indent should never use tabs
#2632: FILE: tools/virtiofsd/fuse_lowlevel.c:2610:
+^I^I in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC &&$

ERROR: code indent should never use tabs
#2633: FILE: tools/virtiofsd/fuse_lowlevel.c:2611:
+^I^I in->opcode != FUSE_RELEASE && in->opcode != FUSE_READDIR &&$

ERROR: code indent should never use tabs
#2634: FILE: tools/virtiofsd/fuse_lowlevel.c:2612:
+^I^I in->opcode != FUSE_FSYNCDIR && in->opcode != FUSE_RELEASEDIR &&$

ERROR: code indent should never use tabs
#2635: FILE: tools/virtiofsd/fuse_lowlevel.c:2613:
+^I^I in->opcode != FUSE_NOTIFY_REPLY &&$

ERROR: code indent should never use tabs
#2636: FILE: tools/virtiofsd/fuse_lowlevel.c:2614:
+^I^I in->opcode != FUSE_READDIRPLUS)$

ERROR: code indent should never use tabs
#2637: FILE: tools/virtiofsd/fuse_lowlevel.c:2615:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2639: FILE: tools/virtiofsd/fuse_lowlevel.c:2617:
+^Ierr = ENOSYS;$

ERROR: code indent should never use tabs
#2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618:
+^Iif (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)$

ERROR: braces {} are necessary for all arms of this statement
#2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618:
+       if (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)
[...]

ERROR: code indent should never use tabs
#2641: FILE: tools/virtiofsd/fuse_lowlevel.c:2619:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2642: FILE: tools/virtiofsd/fuse_lowlevel.c:2620:
+^Iif (in->opcode != FUSE_INTERRUPT) {$

ERROR: code indent should never use tabs
#2643: FILE: tools/virtiofsd/fuse_lowlevel.c:2621:
+^I^Istruct fuse_req *intr;$

ERROR: code indent should never use tabs
#2644: FILE: tools/virtiofsd/fuse_lowlevel.c:2622:
+^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2645: FILE: tools/virtiofsd/fuse_lowlevel.c:2623:
+^I^Iintr = check_interrupt(se, req);$

ERROR: code indent should never use tabs
#2646: FILE: tools/virtiofsd/fuse_lowlevel.c:2624:
+^I^Ilist_add_req(req, &se->list);$

ERROR: code indent should never use tabs
#2647: FILE: tools/virtiofsd/fuse_lowlevel.c:2625:
+^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626:
+^I^Iif (intr)$

ERROR: braces {} are necessary for all arms of this statement
#2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626:
+               if (intr)
[...]

ERROR: code indent should never use tabs
#2649: FILE: tools/virtiofsd/fuse_lowlevel.c:2627:
+^I^I^Ifuse_reply_err(intr, EAGAIN);$

ERROR: code indent should never use tabs
#2650: FILE: tools/virtiofsd/fuse_lowlevel.c:2628:
+^I}$

ERROR: code indent should never use tabs
#2652: FILE: tools/virtiofsd/fuse_lowlevel.c:2630:
+^Iif ((buf->flags & FUSE_BUF_IS_FD) && write_header_size < buf->size &&$

ERROR: code indent should never use tabs
#2653: FILE: tools/virtiofsd/fuse_lowlevel.c:2631:
+^I    (in->opcode != FUSE_WRITE || !se->op.write_buf) &&$

ERROR: code indent should never use tabs
#2654: FILE: tools/virtiofsd/fuse_lowlevel.c:2632:
+^I    in->opcode != FUSE_NOTIFY_REPLY) {$

ERROR: code indent should never use tabs
#2655: FILE: tools/virtiofsd/fuse_lowlevel.c:2633:
+^I^Ivoid *newmbuf;$

ERROR: code indent should never use tabs
#2657: FILE: tools/virtiofsd/fuse_lowlevel.c:2635:
+^I^Ierr = ENOMEM;$

ERROR: code indent should never use tabs
#2658: FILE: tools/virtiofsd/fuse_lowlevel.c:2636:
+^I^Inewmbuf = realloc(mbuf, buf->size);$

ERROR: code indent should never use tabs
#2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637:
+^I^Iif (newmbuf == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637:
+               if (newmbuf == NULL)
[...]

ERROR: code indent should never use tabs
#2660: FILE: tools/virtiofsd/fuse_lowlevel.c:2638:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2661: FILE: tools/virtiofsd/fuse_lowlevel.c:2639:
+^I^Imbuf = newmbuf;$

ERROR: code indent should never use tabs
#2663: FILE: tools/virtiofsd/fuse_lowlevel.c:2641:
+^I^Itmpbuf = FUSE_BUFVEC_INIT(buf->size - write_header_size);$

ERROR: code indent should never use tabs
#2664: FILE: tools/virtiofsd/fuse_lowlevel.c:2642:
+^I^Itmpbuf.buf[0].mem = (char *)mbuf + write_header_size;$

ERROR: code indent should never use tabs
#2666: FILE: tools/virtiofsd/fuse_lowlevel.c:2644:
+^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$

ERROR: code indent should never use tabs
#2667: FILE: tools/virtiofsd/fuse_lowlevel.c:2645:
+^I^Ierr = -res;$

ERROR: code indent should never use tabs
#2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646:
+^I^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646:
+               if (res < 0)
[...]

ERROR: code indent should never use tabs
#2669: FILE: tools/virtiofsd/fuse_lowlevel.c:2647:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2671: FILE: tools/virtiofsd/fuse_lowlevel.c:2649:
+^I^Iin = mbuf;$

ERROR: code indent should never use tabs
#2672: FILE: tools/virtiofsd/fuse_lowlevel.c:2650:
+^I}$

ERROR: code indent should never use tabs
#2674: FILE: tools/virtiofsd/fuse_lowlevel.c:2652:
+^Iinarg = (void *) &in[1];$

ERROR: code indent should never use tabs
#2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653:
+^Iif (in->opcode == FUSE_WRITE && se->op.write_buf)$

ERROR: braces {} are necessary for all arms of this statement
#2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653:
+       if (in->opcode == FUSE_WRITE && se->op.write_buf)
[...]
+       else if (in->opcode == FUSE_NOTIFY_REPLY)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2676: FILE: tools/virtiofsd/fuse_lowlevel.c:2654:
+^I^Ido_write_buf(req, in->nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655:
+^Ielse if (in->opcode == FUSE_NOTIFY_REPLY)$

ERROR: braces {} are necessary for all arms of this statement
#2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655:
+       else if (in->opcode == FUSE_NOTIFY_REPLY)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2678: FILE: tools/virtiofsd/fuse_lowlevel.c:2656:
+^I^Ido_notify_reply(req, in->nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2679: FILE: tools/virtiofsd/fuse_lowlevel.c:2657:
+^Ielse$

ERROR: code indent should never use tabs
#2680: FILE: tools/virtiofsd/fuse_lowlevel.c:2658:
+^I^Ifuse_ll_ops[in->opcode].func(req, in->nodeid, inarg);$

ERROR: code indent should never use tabs
#2683: FILE: tools/virtiofsd/fuse_lowlevel.c:2661:
+^Ifree(mbuf);$

ERROR: code indent should never use tabs
#2684: FILE: tools/virtiofsd/fuse_lowlevel.c:2662:
+^Ireturn;$

ERROR: code indent should never use tabs
#2687: FILE: tools/virtiofsd/fuse_lowlevel.c:2665:
+^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667:
+^Iif (buf->flags & FUSE_BUF_IS_FD)$

ERROR: braces {} are necessary for all arms of this statement
#2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667:
+       if (buf->flags & FUSE_BUF_IS_FD)
[...]

ERROR: code indent should never use tabs
#2690: FILE: tools/virtiofsd/fuse_lowlevel.c:2668:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2691: FILE: tools/virtiofsd/fuse_lowlevel.c:2669:
+^Igoto out_free;$

ERROR: space required after that ',' (ctx:VxV)
#2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672:
+#define LL_OPTION(n,o,v) \
                    ^

ERROR: space required after that ',' (ctx:VxV)
#2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672:
+#define LL_OPTION(n,o,v) \
                      ^

ERROR: code indent should never use tabs
#2695: FILE: tools/virtiofsd/fuse_lowlevel.c:2673:
+^I{ n, offsetof(struct fuse_session, o), v }$

ERROR: code indent should never use tabs
#2698: FILE: tools/virtiofsd/fuse_lowlevel.c:2676:
+^ILL_OPTION("debug", debug, 1),$

ERROR: code indent should never use tabs
#2699: FILE: tools/virtiofsd/fuse_lowlevel.c:2677:
+^ILL_OPTION("-d", debug, 1),$

ERROR: code indent should never use tabs
#2700: FILE: tools/virtiofsd/fuse_lowlevel.c:2678:
+^ILL_OPTION("--debug", debug, 1),$

ERROR: code indent should never use tabs
#2701: FILE: tools/virtiofsd/fuse_lowlevel.c:2679:
+^ILL_OPTION("allow_root", deny_others, 1),$

ERROR: code indent should never use tabs
#2702: FILE: tools/virtiofsd/fuse_lowlevel.c:2680:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#2707: FILE: tools/virtiofsd/fuse_lowlevel.c:2685:
+^Iprintf("using FUSE kernel interface version %i.%i\n",$

ERROR: code indent should never use tabs
#2708: FILE: tools/virtiofsd/fuse_lowlevel.c:2686:
+^I       FUSE_KERNEL_VERSION, FUSE_KERNEL_MINOR_VERSION);$

ERROR: code indent should never use tabs
#2709: FILE: tools/virtiofsd/fuse_lowlevel.c:2687:
+^Ifuse_mount_version();$

ERROR: code indent should never use tabs
#2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692:
+^I/* These are not all options, but the ones that are$

WARNING: Block comments use a leading /* on a separate line
#2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692:
+       /* These are not all options, but the ones that are

ERROR: code indent should never use tabs
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+^I   potentially of interest to an end-user */$

WARNING: Block comments use * on subsequent lines
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+       /* These are not all options, but the ones that are
+          potentially of interest to an end-user */

WARNING: Block comments use a trailing */ on a separate line
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+          potentially of interest to an end-user */

ERROR: code indent should never use tabs
#2716: FILE: tools/virtiofsd/fuse_lowlevel.c:2694:
+^Iprintf($

ERROR: code indent should never use tabs
#2724: FILE: tools/virtiofsd/fuse_lowlevel.c:2702:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#2726: FILE: tools/virtiofsd/fuse_lowlevel.c:2704:
+^Iif (se->got_init && !se->got_destroy) {$

ERROR: code indent should never use tabs
#2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705:
+^I^Iif (se->op.destroy)$

ERROR: braces {} are necessary for all arms of this statement
#2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705:
+               if (se->op.destroy)
[...]

ERROR: code indent should never use tabs
#2728: FILE: tools/virtiofsd/fuse_lowlevel.c:2706:
+^I^I^Ise->op.destroy(se->userdata);$

ERROR: code indent should never use tabs
#2729: FILE: tools/virtiofsd/fuse_lowlevel.c:2707:
+^I}$

ERROR: code indent should never use tabs
#2730: FILE: tools/virtiofsd/fuse_lowlevel.c:2708:
+^Illp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709:
+^Iif (llp != NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709:
+       if (llp != NULL)
[...]

ERROR: code indent should never use tabs
#2732: FILE: tools/virtiofsd/fuse_lowlevel.c:2710:
+^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#2733: FILE: tools/virtiofsd/fuse_lowlevel.c:2711:
+^Ipthread_key_delete(se->pipe_key);$

ERROR: code indent should never use tabs
#2734: FILE: tools/virtiofsd/fuse_lowlevel.c:2712:
+^Ipthread_mutex_destroy(&se->lock);$

ERROR: code indent should never use tabs
#2735: FILE: tools/virtiofsd/fuse_lowlevel.c:2713:
+^Ifree(se->cuse_data);$

ERROR: code indent should never use tabs
#2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714:
+^Iif (se->fd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714:
+       if (se->fd != -1)
[...]

ERROR: code indent should never use tabs
#2737: FILE: tools/virtiofsd/fuse_lowlevel.c:2715:
+^I^Iclose(se->fd);$

ERROR: code indent should never use tabs
#2738: FILE: tools/virtiofsd/fuse_lowlevel.c:2716:
+^Idestroy_mount_opts(se->mo);$

ERROR: code indent should never use tabs
#2739: FILE: tools/virtiofsd/fuse_lowlevel.c:2717:
+^Ifree(se);$

ERROR: code indent should never use tabs
#2745: FILE: tools/virtiofsd/fuse_lowlevel.c:2723:
+^Istruct fuse_ll_pipe *llp = data;$

ERROR: code indent should never use tabs
#2746: FILE: tools/virtiofsd/fuse_lowlevel.c:2724:
+^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#2751: FILE: tools/virtiofsd/fuse_lowlevel.c:2729:
+^Ireturn fuse_session_receive_buf_int(se, buf, NULL);$

ERROR: code indent should never use tabs
#2755: FILE: tools/virtiofsd/fuse_lowlevel.c:2733:
+^I^I^I^I struct fuse_chan *ch)$

ERROR: code indent should never use tabs
#2757: FILE: tools/virtiofsd/fuse_lowlevel.c:2735:
+^Iint err;$

ERROR: code indent should never use tabs
#2758: FILE: tools/virtiofsd/fuse_lowlevel.c:2736:
+^Issize_t res;$

ERROR: code indent should never use tabs
#2760: FILE: tools/virtiofsd/fuse_lowlevel.c:2738:
+^Isize_t bufsize = se->bufsize;$

ERROR: code indent should never use tabs
#2761: FILE: tools/virtiofsd/fuse_lowlevel.c:2739:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#2762: FILE: tools/virtiofsd/fuse_lowlevel.c:2740:
+^Istruct fuse_buf tmpbuf;$

WARNING: line over 80 characters
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+       if (se->conn.proto_minor < 14 || !(se->conn.want & 
FUSE_CAP_SPLICE_READ))

ERROR: code indent should never use tabs
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+^Iif (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ))$

ERROR: braces {} are necessary for all arms of this statement
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+       if (se->conn.proto_minor < 14 || !(se->conn.want & 
FUSE_CAP_SPLICE_READ))
[...]

ERROR: code indent should never use tabs
#2765: FILE: tools/virtiofsd/fuse_lowlevel.c:2743:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2767: FILE: tools/virtiofsd/fuse_lowlevel.c:2745:
+^Illp = fuse_ll_get_pipe(se);$

ERROR: code indent should never use tabs
#2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746:
+^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746:
+       if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#2769: FILE: tools/virtiofsd/fuse_lowlevel.c:2747:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2771: FILE: tools/virtiofsd/fuse_lowlevel.c:2749:
+^Iif (llp->size < bufsize) {$

ERROR: code indent should never use tabs
#2772: FILE: tools/virtiofsd/fuse_lowlevel.c:2750:
+^I^Iif (llp->can_grow) {$

ERROR: code indent should never use tabs
#2773: FILE: tools/virtiofsd/fuse_lowlevel.c:2751:
+^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, bufsize);$

ERROR: code indent should never use tabs
#2774: FILE: tools/virtiofsd/fuse_lowlevel.c:2752:
+^I^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2775: FILE: tools/virtiofsd/fuse_lowlevel.c:2753:
+^I^I^I^Illp->can_grow = 0;$

ERROR: code indent should never use tabs
#2776: FILE: tools/virtiofsd/fuse_lowlevel.c:2754:
+^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$

ERROR: code indent should never use tabs
#2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755:
+^I^I^I^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755:
+                               if (res > 0)
[...]

ERROR: code indent should never use tabs
#2778: FILE: tools/virtiofsd/fuse_lowlevel.c:2756:
+^I^I^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#2779: FILE: tools/virtiofsd/fuse_lowlevel.c:2757:
+^I^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2780: FILE: tools/virtiofsd/fuse_lowlevel.c:2758:
+^I^I^I}$

ERROR: code indent should never use tabs
#2781: FILE: tools/virtiofsd/fuse_lowlevel.c:2759:
+^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#2782: FILE: tools/virtiofsd/fuse_lowlevel.c:2760:
+^I^I}$

ERROR: code indent should never use tabs
#2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761:
+^I^Iif (llp->size < bufsize)$

ERROR: braces {} are necessary for all arms of this statement
#2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761:
+               if (llp->size < bufsize)
[...]

ERROR: code indent should never use tabs
#2784: FILE: tools/virtiofsd/fuse_lowlevel.c:2762:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2785: FILE: tools/virtiofsd/fuse_lowlevel.c:2763:
+^I}$

ERROR: code indent should never use tabs
#2787: FILE: tools/virtiofsd/fuse_lowlevel.c:2765:
+^Ires = splice(ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#2788: FILE: tools/virtiofsd/fuse_lowlevel.c:2766:
+^I^I     NULL, llp->pipe[1], NULL, bufsize, 0);$

ERROR: code indent should never use tabs
#2789: FILE: tools/virtiofsd/fuse_lowlevel.c:2767:
+^Ierr = errno;$

ERROR: code indent should never use tabs
#2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769:
+^Iif (fuse_session_exited(se))$

ERROR: braces {} are necessary for all arms of this statement
#2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769:
+       if (fuse_session_exited(se))
[...]

ERROR: code indent should never use tabs
#2792: FILE: tools/virtiofsd/fuse_lowlevel.c:2770:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2794: FILE: tools/virtiofsd/fuse_lowlevel.c:2772:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2795: FILE: tools/virtiofsd/fuse_lowlevel.c:2773:
+^I^Iif (err == ENODEV) {$

ERROR: code indent should never use tabs
#2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774:
+^I^I^I/* Filesystem was unmounted, or connection was aborted$

WARNING: Block comments use a leading /* on a separate line
#2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774:
+                       /* Filesystem was unmounted, or connection was aborted

ERROR: code indent should never use tabs
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+^I^I^I   via /sys/fs/fuse/connections */$

WARNING: Block comments use * on subsequent lines
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+                       /* Filesystem was unmounted, or connection was aborted
+                          via /sys/fs/fuse/connections */

WARNING: Block comments use a trailing */ on a separate line
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+                          via /sys/fs/fuse/connections */

ERROR: code indent should never use tabs
#2798: FILE: tools/virtiofsd/fuse_lowlevel.c:2776:
+^I^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2799: FILE: tools/virtiofsd/fuse_lowlevel.c:2777:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2800: FILE: tools/virtiofsd/fuse_lowlevel.c:2778:
+^I^I}$

ERROR: code indent should never use tabs
#2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779:
+^I^Iif (err != EINTR && err != EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779:
+               if (err != EINTR && err != EAGAIN)
[...]

ERROR: code indent should never use tabs
#2802: FILE: tools/virtiofsd/fuse_lowlevel.c:2780:
+^I^I^Iperror("fuse: splice from device");$

ERROR: code indent should never use tabs
#2803: FILE: tools/virtiofsd/fuse_lowlevel.c:2781:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#2804: FILE: tools/virtiofsd/fuse_lowlevel.c:2782:
+^I}$

ERROR: code indent should never use tabs
#2806: FILE: tools/virtiofsd/fuse_lowlevel.c:2784:
+^Iif (res < sizeof(struct fuse_in_header)) {$

ERROR: code indent should never use tabs
#2807: FILE: tools/virtiofsd/fuse_lowlevel.c:2785:
+^I^Ifuse_log(FUSE_LOG_ERR, "short splice from fuse device\n");$

ERROR: code indent should never use tabs
#2808: FILE: tools/virtiofsd/fuse_lowlevel.c:2786:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2809: FILE: tools/virtiofsd/fuse_lowlevel.c:2787:
+^I}$

ERROR: code indent should never use tabs
#2811: FILE: tools/virtiofsd/fuse_lowlevel.c:2789:
+^Itmpbuf = (struct fuse_buf) {$

ERROR: code indent should never use tabs
#2812: FILE: tools/virtiofsd/fuse_lowlevel.c:2790:
+^I^I.size = res,$

ERROR: code indent should never use tabs
#2813: FILE: tools/virtiofsd/fuse_lowlevel.c:2791:
+^I^I.flags = FUSE_BUF_IS_FD,$

ERROR: code indent should never use tabs
#2814: FILE: tools/virtiofsd/fuse_lowlevel.c:2792:
+^I^I.fd = llp->pipe[0],$

ERROR: code indent should never use tabs
#2815: FILE: tools/virtiofsd/fuse_lowlevel.c:2793:
+^I};$

ERROR: code indent should never use tabs
#2817: FILE: tools/virtiofsd/fuse_lowlevel.c:2795:
+^I/*$

ERROR: code indent should never use tabs
#2818: FILE: tools/virtiofsd/fuse_lowlevel.c:2796:
+^I * Don't bother with zero copy for small requests.$

ERROR: code indent should never use tabs
#2819: FILE: tools/virtiofsd/fuse_lowlevel.c:2797:
+^I * fuse_loop_mt() needs to check for FORGET so this more than$

ERROR: code indent should never use tabs
#2820: FILE: tools/virtiofsd/fuse_lowlevel.c:2798:
+^I * just an optimization.$

ERROR: code indent should never use tabs
#2821: FILE: tools/virtiofsd/fuse_lowlevel.c:2799:
+^I */$

ERROR: code indent should never use tabs
#2822: FILE: tools/virtiofsd/fuse_lowlevel.c:2800:
+^Iif (res < sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2823: FILE: tools/virtiofsd/fuse_lowlevel.c:2801:
+^I    sizeof(struct fuse_write_in) + pagesize) {$

ERROR: code indent should never use tabs
#2824: FILE: tools/virtiofsd/fuse_lowlevel.c:2802:
+^I^Istruct fuse_bufvec src = { .buf[0] = tmpbuf, .count = 1 };$

ERROR: code indent should never use tabs
#2825: FILE: tools/virtiofsd/fuse_lowlevel.c:2803:
+^I^Istruct fuse_bufvec dst = { .count = 1 };$

ERROR: code indent should never use tabs
#2827: FILE: tools/virtiofsd/fuse_lowlevel.c:2805:
+^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2828: FILE: tools/virtiofsd/fuse_lowlevel.c:2806:
+^I^I^Ibuf->mem = malloc(se->bufsize);$

ERROR: code indent should never use tabs
#2829: FILE: tools/virtiofsd/fuse_lowlevel.c:2807:
+^I^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2830: FILE: tools/virtiofsd/fuse_lowlevel.c:2808:
+^I^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#2831: FILE: tools/virtiofsd/fuse_lowlevel.c:2809:
+^I^I^I^I^I"fuse: failed to allocate read buffer\n");$

ERROR: code indent should never use tabs
#2832: FILE: tools/virtiofsd/fuse_lowlevel.c:2810:
+^I^I^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2833: FILE: tools/virtiofsd/fuse_lowlevel.c:2811:
+^I^I^I}$

ERROR: code indent should never use tabs
#2834: FILE: tools/virtiofsd/fuse_lowlevel.c:2812:
+^I^I}$

ERROR: code indent should never use tabs
#2835: FILE: tools/virtiofsd/fuse_lowlevel.c:2813:
+^I^Ibuf->size = se->bufsize;$

ERROR: code indent should never use tabs
#2836: FILE: tools/virtiofsd/fuse_lowlevel.c:2814:
+^I^Ibuf->flags = 0;$

ERROR: code indent should never use tabs
#2837: FILE: tools/virtiofsd/fuse_lowlevel.c:2815:
+^I^Idst.buf[0] = *buf;$

ERROR: code indent should never use tabs
#2839: FILE: tools/virtiofsd/fuse_lowlevel.c:2817:
+^I^Ires = fuse_buf_copy(&dst, &src, 0);$

ERROR: code indent should never use tabs
#2840: FILE: tools/virtiofsd/fuse_lowlevel.c:2818:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#2841: FILE: tools/virtiofsd/fuse_lowlevel.c:2819:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n",$

ERROR: code indent should never use tabs
#2842: FILE: tools/virtiofsd/fuse_lowlevel.c:2820:
+^I^I^I^Istrerror(-res));$

ERROR: code indent should never use tabs
#2843: FILE: tools/virtiofsd/fuse_lowlevel.c:2821:
+^I^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2844: FILE: tools/virtiofsd/fuse_lowlevel.c:2822:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#2845: FILE: tools/virtiofsd/fuse_lowlevel.c:2823:
+^I^I}$

ERROR: code indent should never use tabs
#2846: FILE: tools/virtiofsd/fuse_lowlevel.c:2824:
+^I^Iif (res < tmpbuf.size) {$

WARNING: line over 80 characters
#2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825:
+                       fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short 
read\n");

ERROR: code indent should never use tabs
#2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$

ERROR: code indent should never use tabs
#2848: FILE: tools/virtiofsd/fuse_lowlevel.c:2826:
+^I^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2849: FILE: tools/virtiofsd/fuse_lowlevel.c:2827:
+^I^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2850: FILE: tools/virtiofsd/fuse_lowlevel.c:2828:
+^I^I}$

ERROR: code indent should never use tabs
#2851: FILE: tools/virtiofsd/fuse_lowlevel.c:2829:
+^I^Iassert(res == tmpbuf.size);$

ERROR: code indent should never use tabs
#2853: FILE: tools/virtiofsd/fuse_lowlevel.c:2831:
+^I} else {$

ERROR: code indent should never use tabs
#2854: FILE: tools/virtiofsd/fuse_lowlevel.c:2832:
+^I^I/* Don't overwrite buf->mem, as that would cause a leak */$

ERROR: code indent should never use tabs
#2855: FILE: tools/virtiofsd/fuse_lowlevel.c:2833:
+^I^Ibuf->fd = tmpbuf.fd;$

ERROR: code indent should never use tabs
#2856: FILE: tools/virtiofsd/fuse_lowlevel.c:2834:
+^I^Ibuf->flags = tmpbuf.flags;$

ERROR: code indent should never use tabs
#2857: FILE: tools/virtiofsd/fuse_lowlevel.c:2835:
+^I}$

ERROR: code indent should never use tabs
#2858: FILE: tools/virtiofsd/fuse_lowlevel.c:2836:
+^Ibuf->size = tmpbuf.size;$

ERROR: code indent should never use tabs
#2860: FILE: tools/virtiofsd/fuse_lowlevel.c:2838:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2864: FILE: tools/virtiofsd/fuse_lowlevel.c:2842:
+^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2865: FILE: tools/virtiofsd/fuse_lowlevel.c:2843:
+^I^Ibuf->mem = malloc(se->bufsize);$

ERROR: code indent should never use tabs
#2866: FILE: tools/virtiofsd/fuse_lowlevel.c:2844:
+^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2867: FILE: tools/virtiofsd/fuse_lowlevel.c:2845:
+^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#2868: FILE: tools/virtiofsd/fuse_lowlevel.c:2846:
+^I^I^I^I"fuse: failed to allocate read buffer\n");$

ERROR: code indent should never use tabs
#2869: FILE: tools/virtiofsd/fuse_lowlevel.c:2847:
+^I^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2870: FILE: tools/virtiofsd/fuse_lowlevel.c:2848:
+^I^I}$

ERROR: code indent should never use tabs
#2871: FILE: tools/virtiofsd/fuse_lowlevel.c:2849:
+^I}$

ERROR: code indent should never use tabs
#2874: FILE: tools/virtiofsd/fuse_lowlevel.c:2852:
+^Ires = read(ch ? ch->fd : se->fd, buf->mem, se->bufsize);$

ERROR: code indent should never use tabs
#2875: FILE: tools/virtiofsd/fuse_lowlevel.c:2853:
+^Ierr = errno;$

ERROR: code indent should never use tabs
#2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855:
+^Iif (fuse_session_exited(se))$

ERROR: braces {} are necessary for all arms of this statement
#2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855:
+       if (fuse_session_exited(se))
[...]

ERROR: code indent should never use tabs
#2878: FILE: tools/virtiofsd/fuse_lowlevel.c:2856:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2879: FILE: tools/virtiofsd/fuse_lowlevel.c:2857:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858:
+^I^I/* ENOENT means the operation was interrupted, it's safe$

WARNING: Block comments use a leading /* on a separate line
#2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858:
+               /* ENOENT means the operation was interrupted, it's safe

ERROR: code indent should never use tabs
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+^I^I   to restart */$

WARNING: Block comments use * on subsequent lines
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+               /* ENOENT means the operation was interrupted, it's safe
+                  to restart */

WARNING: Block comments use a trailing */ on a separate line
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+                  to restart */

ERROR: code indent should never use tabs
#2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860:
+^I^Iif (err == ENOENT)$

ERROR: braces {} are necessary for all arms of this statement
#2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860:
+               if (err == ENOENT)
[...]

ERROR: code indent should never use tabs
#2883: FILE: tools/virtiofsd/fuse_lowlevel.c:2861:
+^I^I^Igoto restart;$

ERROR: code indent should never use tabs
#2885: FILE: tools/virtiofsd/fuse_lowlevel.c:2863:
+^I^Iif (err == ENODEV) {$

ERROR: code indent should never use tabs
#2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864:
+^I^I^I/* Filesystem was unmounted, or connection was aborted$

WARNING: Block comments use a leading /* on a separate line
#2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864:
+                       /* Filesystem was unmounted, or connection was aborted

ERROR: code indent should never use tabs
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+^I^I^I   via /sys/fs/fuse/connections */$

WARNING: Block comments use * on subsequent lines
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+                       /* Filesystem was unmounted, or connection was aborted
+                          via /sys/fs/fuse/connections */

WARNING: Block comments use a trailing */ on a separate line
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+                          via /sys/fs/fuse/connections */

ERROR: code indent should never use tabs
#2888: FILE: tools/virtiofsd/fuse_lowlevel.c:2866:
+^I^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2889: FILE: tools/virtiofsd/fuse_lowlevel.c:2867:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2890: FILE: tools/virtiofsd/fuse_lowlevel.c:2868:
+^I^I}$

ERROR: code indent should never use tabs
#2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869:
+^I^I/* Errors occurring during normal operation: EINTR (read$

WARNING: Block comments use a leading /* on a separate line
#2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869:
+               /* Errors occurring during normal operation: EINTR (read

ERROR: code indent should never use tabs
#2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870:
+^I^I   interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem$

WARNING: Block comments use * on subsequent lines
#2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870:
+               /* Errors occurring during normal operation: EINTR (read
+                  interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem

ERROR: code indent should never use tabs
#2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871:
+^I^I   umounted) */$

WARNING: Block comments use a trailing */ on a separate line
#2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871:
+                  umounted) */

ERROR: code indent should never use tabs
#2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872:
+^I^Iif (err != EINTR && err != EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872:
+               if (err != EINTR && err != EAGAIN)
[...]

ERROR: code indent should never use tabs
#2895: FILE: tools/virtiofsd/fuse_lowlevel.c:2873:
+^I^I^Iperror("fuse: reading device");$

ERROR: code indent should never use tabs
#2896: FILE: tools/virtiofsd/fuse_lowlevel.c:2874:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#2897: FILE: tools/virtiofsd/fuse_lowlevel.c:2875:
+^I}$

ERROR: code indent should never use tabs
#2898: FILE: tools/virtiofsd/fuse_lowlevel.c:2876:
+^Iif ((size_t) res < sizeof(struct fuse_in_header)) {$

ERROR: code indent should never use tabs
#2899: FILE: tools/virtiofsd/fuse_lowlevel.c:2877:
+^I^Ifuse_log(FUSE_LOG_ERR, "short read on fuse device\n");$

ERROR: code indent should never use tabs
#2900: FILE: tools/virtiofsd/fuse_lowlevel.c:2878:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2901: FILE: tools/virtiofsd/fuse_lowlevel.c:2879:
+^I}$

ERROR: code indent should never use tabs
#2903: FILE: tools/virtiofsd/fuse_lowlevel.c:2881:
+^Ibuf->size = res;$

ERROR: code indent should never use tabs
#2905: FILE: tools/virtiofsd/fuse_lowlevel.c:2883:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2909: FILE: tools/virtiofsd/fuse_lowlevel.c:2887:
+^I^I^I^I      const struct fuse_lowlevel_ops *op,$

ERROR: code indent should never use tabs
#2910: FILE: tools/virtiofsd/fuse_lowlevel.c:2888:
+^I^I^I^I      size_t op_size, void *userdata)$

ERROR: code indent should never use tabs
#2912: FILE: tools/virtiofsd/fuse_lowlevel.c:2890:
+^Iint err;$

ERROR: code indent should never use tabs
#2913: FILE: tools/virtiofsd/fuse_lowlevel.c:2891:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#2914: FILE: tools/virtiofsd/fuse_lowlevel.c:2892:
+^Istruct mount_opts *mo;$

ERROR: code indent should never use tabs
#2916: FILE: tools/virtiofsd/fuse_lowlevel.c:2894:
+^Iif (sizeof(struct fuse_lowlevel_ops) < op_size) {$

ERROR: line over 90 characters
#2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some 
operations may not work\n");

ERROR: code indent should never use tabs
#2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some operations 
may not work\n");$

ERROR: code indent should never use tabs
#2918: FILE: tools/virtiofsd/fuse_lowlevel.c:2896:
+^I^Iop_size = sizeof(struct fuse_lowlevel_ops);$

ERROR: code indent should never use tabs
#2919: FILE: tools/virtiofsd/fuse_lowlevel.c:2897:
+^I}$

ERROR: code indent should never use tabs
#2921: FILE: tools/virtiofsd/fuse_lowlevel.c:2899:
+^Iif (args->argc == 0) {$

ERROR: line over 90 characters
#2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900:
+               fuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to 
fuse_session_new().\n");

ERROR: code indent should never use tabs
#2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to 
fuse_session_new().\n");$

ERROR: code indent should never use tabs
#2923: FILE: tools/virtiofsd/fuse_lowlevel.c:2901:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#2924: FILE: tools/virtiofsd/fuse_lowlevel.c:2902:
+^I}$

ERROR: code indent should never use tabs
#2926: FILE: tools/virtiofsd/fuse_lowlevel.c:2904:
+^Ise = (struct fuse_session *) calloc(1, sizeof(struct fuse_session));$

ERROR: code indent should never use tabs
#2927: FILE: tools/virtiofsd/fuse_lowlevel.c:2905:
+^Iif (se == NULL) {$

WARNING: line over 80 characters
#2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906:
+               fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse 
object\n");

ERROR: code indent should never use tabs
#2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n");$

ERROR: code indent should never use tabs
#2929: FILE: tools/virtiofsd/fuse_lowlevel.c:2907:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#2930: FILE: tools/virtiofsd/fuse_lowlevel.c:2908:
+^I}$

ERROR: code indent should never use tabs
#2931: FILE: tools/virtiofsd/fuse_lowlevel.c:2909:
+^Ise->fd = -1;$

ERROR: code indent should never use tabs
#2932: FILE: tools/virtiofsd/fuse_lowlevel.c:2910:
+^Ise->conn.max_write = UINT_MAX;$

ERROR: code indent should never use tabs
#2933: FILE: tools/virtiofsd/fuse_lowlevel.c:2911:
+^Ise->conn.max_readahead = UINT_MAX;$

ERROR: code indent should never use tabs
#2935: FILE: tools/virtiofsd/fuse_lowlevel.c:2913:
+^I/* Parse options */$

ERROR: code indent should never use tabs
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+^Iif(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)$

ERROR: space required before the open parenthesis '('
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+       if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)

ERROR: braces {} are necessary for all arms of this statement
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+       if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)
[...]

ERROR: code indent should never use tabs
#2937: FILE: tools/virtiofsd/fuse_lowlevel.c:2915:
+^I^Igoto out2;$

ERROR: code indent should never use tabs
#2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916:
+^Iif(se->deny_others) {$

ERROR: space required before the open parenthesis '('
#2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916:
+       if(se->deny_others) {

ERROR: code indent should never use tabs
#2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917:
+^I^I/* Allowing access only by root is done by instructing$

WARNING: Block comments use a leading /* on a separate line
#2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917:
+               /* Allowing access only by root is done by instructing

ERROR: code indent should never use tabs
#2940: FILE: tools/virtiofsd/fuse_lowlevel.c:2918:
+^I^I * kernel to allow access by everyone, and then restricting$

ERROR: code indent should never use tabs
#2941: FILE: tools/virtiofsd/fuse_lowlevel.c:2919:
+^I^I * access to root and mountpoint owner in libfuse.$

ERROR: code indent should never use tabs
#2942: FILE: tools/virtiofsd/fuse_lowlevel.c:2920:
+^I^I */$

ERROR: code indent should never use tabs
#2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921:
+^I^I// We may be adding the option a second time, but$

ERROR: do not use C99 // comments
#2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921:
+               // We may be adding the option a second time, but

ERROR: code indent should never use tabs
#2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922:
+^I^I// that doesn't hurt.$

ERROR: do not use C99 // comments
#2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922:
+               // that doesn't hurt.

ERROR: code indent should never use tabs
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+^I^Iif(fuse_opt_add_arg(args, "-oallow_other") == -1)$

ERROR: space required before the open parenthesis '('
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+               if(fuse_opt_add_arg(args, "-oallow_other") == -1)

ERROR: braces {} are necessary for all arms of this statement
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+               if(fuse_opt_add_arg(args, "-oallow_other") == -1)
[...]

ERROR: code indent should never use tabs
#2946: FILE: tools/virtiofsd/fuse_lowlevel.c:2924:
+^I^I^Igoto out2;$

ERROR: code indent should never use tabs
#2947: FILE: tools/virtiofsd/fuse_lowlevel.c:2925:
+^I}$

ERROR: code indent should never use tabs
#2948: FILE: tools/virtiofsd/fuse_lowlevel.c:2926:
+^Imo = parse_mount_opts(args);$

ERROR: code indent should never use tabs
#2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927:
+^Iif (mo == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927:
+       if (mo == NULL)
[...]

ERROR: code indent should never use tabs
#2950: FILE: tools/virtiofsd/fuse_lowlevel.c:2928:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930:
+^Iif(args->argc == 1 &&$

ERROR: space required before the open parenthesis '('
#2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930:
+       if(args->argc == 1 &&

ERROR: code indent should never use tabs
#2953: FILE: tools/virtiofsd/fuse_lowlevel.c:2931:
+^I   args->argv[0][0] == '-') {$

WARNING: line over 80 characters
#2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an 
option, but "

ERROR: code indent should never use tabs
#2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an option, but "$

ERROR: code indent should never use tabs
#2955: FILE: tools/virtiofsd/fuse_lowlevel.c:2933:
+^I^I^I"will be ignored\n");$

ERROR: code indent should never use tabs
#2956: FILE: tools/virtiofsd/fuse_lowlevel.c:2934:
+^I} else if (args->argc != 1) {$

ERROR: code indent should never use tabs
#2957: FILE: tools/virtiofsd/fuse_lowlevel.c:2935:
+^I^Iint i;$

ERROR: code indent should never use tabs
#2958: FILE: tools/virtiofsd/fuse_lowlevel.c:2936:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unknown option(s): `");$

ERROR: code indent should never use tabs
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+^I^Ifor(i = 1; i < args->argc-1; i++)$

ERROR: spaces required around that '-' (ctx:VxV)
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)
                                         ^

ERROR: space required before the open parenthesis '('
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)

ERROR: braces {} are necessary for all arms of this statement
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)
[...]

ERROR: code indent should never use tabs
#2960: FILE: tools/virtiofsd/fuse_lowlevel.c:2938:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "%s ", args->argv[i]);$

ERROR: code indent should never use tabs
#2961: FILE: tools/virtiofsd/fuse_lowlevel.c:2939:
+^I^Ifuse_log(FUSE_LOG_ERR, "%s'\n", args->argv[i]);$

ERROR: code indent should never use tabs
#2962: FILE: tools/virtiofsd/fuse_lowlevel.c:2940:
+^I^Igoto out4;$

ERROR: code indent should never use tabs
#2963: FILE: tools/virtiofsd/fuse_lowlevel.c:2941:
+^I}$

ERROR: code indent should never use tabs
#2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943:
+^Iif (se->debug)$

ERROR: braces {} are necessary for all arms of this statement
#2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943:
+       if (se->debug)
[...]

WARNING: line over 80 characters
#2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944:
+               fuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", 
PACKAGE_VERSION);

ERROR: code indent should never use tabs
#2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", PACKAGE_VERSION);$

ERROR: code indent should never use tabs
#2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946:
+^Ise->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946:
+       se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +

ERROR: code indent should never use tabs
#2969: FILE: tools/virtiofsd/fuse_lowlevel.c:2947:
+^I^IFUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2971: FILE: tools/virtiofsd/fuse_lowlevel.c:2949:
+^Ilist_init_req(&se->list);$

ERROR: code indent should never use tabs
#2972: FILE: tools/virtiofsd/fuse_lowlevel.c:2950:
+^Ilist_init_req(&se->interrupts);$

ERROR: code indent should never use tabs
#2973: FILE: tools/virtiofsd/fuse_lowlevel.c:2951:
+^Ilist_init_nreq(&se->notify_list);$

ERROR: code indent should never use tabs
#2974: FILE: tools/virtiofsd/fuse_lowlevel.c:2952:
+^Ise->notify_ctr = 1;$

ERROR: code indent should never use tabs
#2975: FILE: tools/virtiofsd/fuse_lowlevel.c:2953:
+^Ifuse_mutex_init(&se->lock);$

ERROR: code indent should never use tabs
#2977: FILE: tools/virtiofsd/fuse_lowlevel.c:2955:
+^Ierr = pthread_key_create(&se->pipe_key, fuse_ll_pipe_destructor);$

ERROR: code indent should never use tabs
#2978: FILE: tools/virtiofsd/fuse_lowlevel.c:2956:
+^Iif (err) {$

WARNING: line over 80 characters
#2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957:
+               fuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific 
key: %s\n",

ERROR: code indent should never use tabs
#2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific key: %s\n",$

ERROR: code indent should never use tabs
#2980: FILE: tools/virtiofsd/fuse_lowlevel.c:2958:
+^I^I^Istrerror(err));$

ERROR: code indent should never use tabs
#2981: FILE: tools/virtiofsd/fuse_lowlevel.c:2959:
+^I^Igoto out5;$

ERROR: code indent should never use tabs
#2982: FILE: tools/virtiofsd/fuse_lowlevel.c:2960:
+^I}$

ERROR: code indent should never use tabs
#2984: FILE: tools/virtiofsd/fuse_lowlevel.c:2962:
+^Imemcpy(&se->op, op, op_size);$

ERROR: code indent should never use tabs
#2985: FILE: tools/virtiofsd/fuse_lowlevel.c:2963:
+^Ise->owner = getuid();$

ERROR: code indent should never use tabs
#2986: FILE: tools/virtiofsd/fuse_lowlevel.c:2964:
+^Ise->userdata = userdata;$

ERROR: code indent should never use tabs
#2988: FILE: tools/virtiofsd/fuse_lowlevel.c:2966:
+^Ise->mo = mo;$

ERROR: code indent should never use tabs
#2989: FILE: tools/virtiofsd/fuse_lowlevel.c:2967:
+^Ireturn se;$

ERROR: code indent should never use tabs
#2992: FILE: tools/virtiofsd/fuse_lowlevel.c:2970:
+^Ipthread_mutex_destroy(&se->lock);$

ERROR: code indent should never use tabs
#2994: FILE: tools/virtiofsd/fuse_lowlevel.c:2972:
+^Ifuse_opt_free_args(args);$

ERROR: code indent should never use tabs
#2996: FILE: tools/virtiofsd/fuse_lowlevel.c:2974:
+^Ifree(mo);$

ERROR: code indent should never use tabs
#2998: FILE: tools/virtiofsd/fuse_lowlevel.c:2976:
+^Ifree(se);$

ERROR: code indent should never use tabs
#3000: FILE: tools/virtiofsd/fuse_lowlevel.c:2978:
+^Ireturn NULL;$

ERROR: code indent should never use tabs
#3005: FILE: tools/virtiofsd/fuse_lowlevel.c:2983:
+^Iint fd;$

ERROR: code indent should never use tabs
#3007: FILE: tools/virtiofsd/fuse_lowlevel.c:2985:
+^I/*$

ERROR: code indent should never use tabs
#3008: FILE: tools/virtiofsd/fuse_lowlevel.c:2986:
+^I * Make sure file descriptors 0, 1 and 2 are open, otherwise chaos$

ERROR: code indent should never use tabs
#3009: FILE: tools/virtiofsd/fuse_lowlevel.c:2987:
+^I * would ensue.$

ERROR: code indent should never use tabs
#3010: FILE: tools/virtiofsd/fuse_lowlevel.c:2988:
+^I */$

ERROR: code indent should never use tabs
#3011: FILE: tools/virtiofsd/fuse_lowlevel.c:2989:
+^Ido {$

ERROR: code indent should never use tabs
#3012: FILE: tools/virtiofsd/fuse_lowlevel.c:2990:
+^I^Ifd = open("/dev/null", O_RDWR);$

ERROR: code indent should never use tabs
#3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991:
+^I^Iif (fd > 2)$

ERROR: braces {} are necessary for all arms of this statement
#3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991:
+               if (fd > 2)
[...]

ERROR: code indent should never use tabs
#3014: FILE: tools/virtiofsd/fuse_lowlevel.c:2992:
+^I^I^Iclose(fd);$

ERROR: code indent should never use tabs
#3015: FILE: tools/virtiofsd/fuse_lowlevel.c:2993:
+^I} while (fd >= 0 && fd <= 2);$

ERROR: code indent should never use tabs
#3017: FILE: tools/virtiofsd/fuse_lowlevel.c:2995:
+^I/*$

ERROR: code indent should never use tabs
#3018: FILE: tools/virtiofsd/fuse_lowlevel.c:2996:
+^I * To allow FUSE daemons to run without privileges, the caller may open$

ERROR: code indent should never use tabs
#3019: FILE: tools/virtiofsd/fuse_lowlevel.c:2997:
+^I * /dev/fuse before launching the file system and pass on the file$

ERROR: code indent should never use tabs
#3020: FILE: tools/virtiofsd/fuse_lowlevel.c:2998:
+^I * descriptor by specifying /dev/fd/N as the mount point. Note that the$

ERROR: code indent should never use tabs
#3021: FILE: tools/virtiofsd/fuse_lowlevel.c:2999:
+^I * parent process takes care of performing the mount in this case.$

ERROR: code indent should never use tabs
#3022: FILE: tools/virtiofsd/fuse_lowlevel.c:3000:
+^I */$

ERROR: code indent should never use tabs
#3023: FILE: tools/virtiofsd/fuse_lowlevel.c:3001:
+^Ifd = fuse_mnt_parse_fuse_fd(mountpoint);$

ERROR: code indent should never use tabs
#3024: FILE: tools/virtiofsd/fuse_lowlevel.c:3002:
+^Iif (fd != -1) {$

ERROR: code indent should never use tabs
#3025: FILE: tools/virtiofsd/fuse_lowlevel.c:3003:
+^I^Iif (fcntl(fd, F_GETFD) == -1) {$

ERROR: code indent should never use tabs
#3026: FILE: tools/virtiofsd/fuse_lowlevel.c:3004:
+^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#3027: FILE: tools/virtiofsd/fuse_lowlevel.c:3005:
+^I^I^I^I"fuse: Invalid file descriptor /dev/fd/%u\n",$

ERROR: code indent should never use tabs
#3028: FILE: tools/virtiofsd/fuse_lowlevel.c:3006:
+^I^I^I^Ifd);$

ERROR: code indent should never use tabs
#3029: FILE: tools/virtiofsd/fuse_lowlevel.c:3007:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#3030: FILE: tools/virtiofsd/fuse_lowlevel.c:3008:
+^I^I}$

ERROR: code indent should never use tabs
#3031: FILE: tools/virtiofsd/fuse_lowlevel.c:3009:
+^I^Ise->fd = fd;$

ERROR: code indent should never use tabs
#3032: FILE: tools/virtiofsd/fuse_lowlevel.c:3010:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#3033: FILE: tools/virtiofsd/fuse_lowlevel.c:3011:
+^I}$

ERROR: code indent should never use tabs
#3035: FILE: tools/virtiofsd/fuse_lowlevel.c:3013:
+^I/* Open channel */$

ERROR: code indent should never use tabs
#3036: FILE: tools/virtiofsd/fuse_lowlevel.c:3014:
+^Ifd = fuse_kern_mount(mountpoint, se->mo);$

ERROR: code indent should never use tabs
#3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#3038: FILE: tools/virtiofsd/fuse_lowlevel.c:3016:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#3039: FILE: tools/virtiofsd/fuse_lowlevel.c:3017:
+^Ise->fd = fd;$

ERROR: code indent should never use tabs
#3041: FILE: tools/virtiofsd/fuse_lowlevel.c:3019:
+^I/* Save mountpoint */$

ERROR: code indent should never use tabs
#3042: FILE: tools/virtiofsd/fuse_lowlevel.c:3020:
+^Ise->mountpoint = strdup(mountpoint);$

ERROR: code indent should never use tabs
#3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021:
+^Iif (se->mountpoint == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021:
+       if (se->mountpoint == NULL)
[...]

ERROR: code indent should never use tabs
#3044: FILE: tools/virtiofsd/fuse_lowlevel.c:3022:
+^I^Igoto error_out;$

ERROR: code indent should never use tabs
#3046: FILE: tools/virtiofsd/fuse_lowlevel.c:3024:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#3049: FILE: tools/virtiofsd/fuse_lowlevel.c:3027:
+^Ifuse_kern_unmount(mountpoint, fd);$

ERROR: code indent should never use tabs
#3050: FILE: tools/virtiofsd/fuse_lowlevel.c:3028:
+^Ireturn -1;$

ERROR: code indent should never use tabs
#3055: FILE: tools/virtiofsd/fuse_lowlevel.c:3033:
+^Ireturn se->fd;$

ERROR: code indent should never use tabs
#3060: FILE: tools/virtiofsd/fuse_lowlevel.c:3038:
+^Iif (se->mountpoint != NULL) {$

ERROR: code indent should never use tabs
#3061: FILE: tools/virtiofsd/fuse_lowlevel.c:3039:
+^I^Ifuse_kern_unmount(se->mountpoint, se->fd);$

ERROR: code indent should never use tabs
#3062: FILE: tools/virtiofsd/fuse_lowlevel.c:3040:
+^I^Ifree(se->mountpoint);$

ERROR: code indent should never use tabs
#3063: FILE: tools/virtiofsd/fuse_lowlevel.c:3041:
+^I^Ise->mountpoint = NULL;$

ERROR: code indent should never use tabs
#3064: FILE: tools/virtiofsd/fuse_lowlevel.c:3042:
+^I}$

ERROR: code indent should never use tabs
#3070: FILE: tools/virtiofsd/fuse_lowlevel.c:3048:
+^Ichar *buf;$

ERROR: code indent should never use tabs
#3071: FILE: tools/virtiofsd/fuse_lowlevel.c:3049:
+^Isize_t bufsize = 1024;$

ERROR: code indent should never use tabs
#3072: FILE: tools/virtiofsd/fuse_lowlevel.c:3050:
+^Ichar path[128];$

ERROR: code indent should never use tabs
#3073: FILE: tools/virtiofsd/fuse_lowlevel.c:3051:
+^Iint ret;$

ERROR: code indent should never use tabs
#3074: FILE: tools/virtiofsd/fuse_lowlevel.c:3052:
+^Iint fd;$

ERROR: code indent should never use tabs
#3075: FILE: tools/virtiofsd/fuse_lowlevel.c:3053:
+^Iunsigned long pid = req->ctx.pid;$

ERROR: code indent should never use tabs
#3076: FILE: tools/virtiofsd/fuse_lowlevel.c:3054:
+^Ichar *s;$

ERROR: code indent should never use tabs
#3078: FILE: tools/virtiofsd/fuse_lowlevel.c:3056:
+^Isprintf(path, "/proc/%lu/task/%lu/status", pid, pid);$

ERROR: code indent should never use tabs
#3081: FILE: tools/virtiofsd/fuse_lowlevel.c:3059:
+^Ibuf = malloc(bufsize);$

ERROR: code indent should never use tabs
#3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060:
+^Iif (buf == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060:
+       if (buf == NULL)
[...]

ERROR: code indent should never use tabs
#3083: FILE: tools/virtiofsd/fuse_lowlevel.c:3061:
+^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#3085: FILE: tools/virtiofsd/fuse_lowlevel.c:3063:
+^Iret = -EIO;$

ERROR: code indent should never use tabs
#3086: FILE: tools/virtiofsd/fuse_lowlevel.c:3064:
+^Ifd = open(path, O_RDONLY);$

ERROR: code indent should never use tabs
#3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#3088: FILE: tools/virtiofsd/fuse_lowlevel.c:3066:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3090: FILE: tools/virtiofsd/fuse_lowlevel.c:3068:
+^Iret = read(fd, buf, bufsize);$

ERROR: code indent should never use tabs
#3091: FILE: tools/virtiofsd/fuse_lowlevel.c:3069:
+^Iclose(fd);$

ERROR: code indent should never use tabs
#3092: FILE: tools/virtiofsd/fuse_lowlevel.c:3070:
+^Iif (ret < 0) {$

ERROR: code indent should never use tabs
#3093: FILE: tools/virtiofsd/fuse_lowlevel.c:3071:
+^I^Iret = -EIO;$

ERROR: code indent should never use tabs
#3094: FILE: tools/virtiofsd/fuse_lowlevel.c:3072:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3095: FILE: tools/virtiofsd/fuse_lowlevel.c:3073:
+^I}$

ERROR: code indent should never use tabs
#3097: FILE: tools/virtiofsd/fuse_lowlevel.c:3075:
+^Iif ((size_t)ret == bufsize) {$

ERROR: code indent should never use tabs
#3098: FILE: tools/virtiofsd/fuse_lowlevel.c:3076:
+^I^Ifree(buf);$

ERROR: code indent should never use tabs
#3099: FILE: tools/virtiofsd/fuse_lowlevel.c:3077:
+^I^Ibufsize *= 4;$

ERROR: code indent should never use tabs
#3100: FILE: tools/virtiofsd/fuse_lowlevel.c:3078:
+^I^Igoto retry;$

ERROR: code indent should never use tabs
#3101: FILE: tools/virtiofsd/fuse_lowlevel.c:3079:
+^I}$

ERROR: code indent should never use tabs
#3103: FILE: tools/virtiofsd/fuse_lowlevel.c:3081:
+^Iret = -EIO;$

ERROR: code indent should never use tabs
#3104: FILE: tools/virtiofsd/fuse_lowlevel.c:3082:
+^Is = strstr(buf, "\nGroups:");$

ERROR: code indent should never use tabs
#3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083:
+^Iif (s == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083:
+       if (s == NULL)
[...]

ERROR: code indent should never use tabs
#3106: FILE: tools/virtiofsd/fuse_lowlevel.c:3084:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3108: FILE: tools/virtiofsd/fuse_lowlevel.c:3086:
+^Is += 8;$

ERROR: code indent should never use tabs
#3109: FILE: tools/virtiofsd/fuse_lowlevel.c:3087:
+^Iret = 0;$

ERROR: code indent should never use tabs
#3110: FILE: tools/virtiofsd/fuse_lowlevel.c:3088:
+^Iwhile (1) {$

ERROR: code indent should never use tabs
#3111: FILE: tools/virtiofsd/fuse_lowlevel.c:3089:
+^I^Ichar *end;$

ERROR: code indent should never use tabs
#3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090:
+^I^Iunsigned long val = strtoul(s, &end, 0);$

ERROR: consider using qemu_strtoul in preference to strtoul
#3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090:
+               unsigned long val = strtoul(s, &end, 0);

ERROR: code indent should never use tabs
#3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091:
+^I^Iif (end == s)$

ERROR: braces {} are necessary for all arms of this statement
#3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091:
+               if (end == s)
[...]

ERROR: code indent should never use tabs
#3114: FILE: tools/virtiofsd/fuse_lowlevel.c:3092:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#3116: FILE: tools/virtiofsd/fuse_lowlevel.c:3094:
+^I^Is = end;$

ERROR: code indent should never use tabs
#3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095:
+^I^Iif (ret < size)$

ERROR: braces {} are necessary for all arms of this statement
#3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095:
+               if (ret < size)
[...]

ERROR: code indent should never use tabs
#3118: FILE: tools/virtiofsd/fuse_lowlevel.c:3096:
+^I^I^Ilist[ret] = val;$

ERROR: code indent should never use tabs
#3119: FILE: tools/virtiofsd/fuse_lowlevel.c:3097:
+^I^Iret++;$

ERROR: code indent should never use tabs
#3120: FILE: tools/virtiofsd/fuse_lowlevel.c:3098:
+^I}$

ERROR: code indent should never use tabs
#3123: FILE: tools/virtiofsd/fuse_lowlevel.c:3101:
+^Ifree(buf);$

ERROR: code indent should never use tabs
#3124: FILE: tools/virtiofsd/fuse_lowlevel.c:3102:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#3132: FILE: tools/virtiofsd/fuse_lowlevel.c:3110:
+^I(void) req; (void) size; (void) list;$

ERROR: code indent should never use tabs
#3133: FILE: tools/virtiofsd/fuse_lowlevel.c:3111:
+^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#3139: FILE: tools/virtiofsd/fuse_lowlevel.c:3117:
+^Ise->exited = 1;$

ERROR: code indent should never use tabs
#3144: FILE: tools/virtiofsd/fuse_lowlevel.c:3122:
+^Ise->exited = 0;$

ERROR: code indent should never use tabs
#3145: FILE: tools/virtiofsd/fuse_lowlevel.c:3123:
+^Ise->error = 0;$

ERROR: code indent should never use tabs
#3150: FILE: tools/virtiofsd/fuse_lowlevel.c:3128:
+^Ireturn se->exited;$

total: 2338 errors, 57 warnings, 3129 lines checked

Patch 4/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/111 Checking commit 9078a94d5707 (virtiofsd: Add passthrough_ll)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#29: FILE: tools/virtiofsd/passthrough_ll.c:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#36: FILE: tools/virtiofsd/passthrough_ll.c:9:
+/** @file

WARNING: line over 80 characters
#58: FILE: tools/virtiofsd/passthrough_ll.c:31:
+ *     gcc -Wall passthrough_ll.c `pkg-config fuse3 --cflags --libs` -o 
passthrough_ll

WARNING: Block comments use a leading /* on a separate line
#87: FILE: tools/virtiofsd/passthrough_ll.c:60:
+/* We are re-using pointers to our `struct lo_inode` and `struct

WARNING: Block comments use * on subsequent lines
#88: FILE: tools/virtiofsd/passthrough_ll.c:61:
+/* We are re-using pointers to our `struct lo_inode` and `struct
+   lo_dirp` elements as inodes. This means that we must be able to

WARNING: Block comments use a trailing */ on a separate line
#90: FILE: tools/virtiofsd/passthrough_ll.c:63:
+   incantation checks this condition at compile time. */

ERROR: line over 90 characters
#91: FILE: tools/virtiofsd/passthrough_ll.c:64:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 
6) && !defined __cplusplus

WARNING: architecture specific defines should be avoided
#91: FILE: tools/virtiofsd/passthrough_ll.c:64:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 
6) && !defined __cplusplus

ERROR: code indent should never use tabs
#93: FILE: tools/virtiofsd/passthrough_ll.c:66:
+^I       "fuse_ino_t too small to hold uintptr_t values!");$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/passthrough_ll.c:69:
+^I{ unsigned _uintptr_to_must_hold_fuse_ino_t:$

ERROR: code indent should never use tabs
#97: FILE: tools/virtiofsd/passthrough_ll.c:70:
+^I^I^I((sizeof(fuse_ino_t) >= sizeof(uintptr_t)) ? 1 : -1); };$

ERROR: code indent should never use tabs
#101: FILE: tools/virtiofsd/passthrough_ll.c:74:
+^Istruct lo_inode *next; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/passthrough_ll.c:75:
+^Istruct lo_inode *prev; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/passthrough_ll.c:76:
+^Iint fd;$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/passthrough_ll.c:77:
+^Ibool is_symlink;$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/passthrough_ll.c:78:
+^Iino_t ino;$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/passthrough_ll.c:79:
+^Idev_t dev;$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/passthrough_ll.c:80:
+^Iuint64_t refcount; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#111: FILE: tools/virtiofsd/passthrough_ll.c:84:
+^ICACHE_NEVER,$

ERROR: code indent should never use tabs
#112: FILE: tools/virtiofsd/passthrough_ll.c:85:
+^ICACHE_NORMAL,$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/passthrough_ll.c:86:
+^ICACHE_ALWAYS,$

ERROR: code indent should never use tabs
#117: FILE: tools/virtiofsd/passthrough_ll.c:90:
+^Ipthread_mutex_t mutex;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/passthrough_ll.c:91:
+^Iint debug;$

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/passthrough_ll.c:92:
+^Iint writeback;$

ERROR: code indent should never use tabs
#120: FILE: tools/virtiofsd/passthrough_ll.c:93:
+^Iint flock;$

ERROR: code indent should never use tabs
#121: FILE: tools/virtiofsd/passthrough_ll.c:94:
+^Iint xattr;$

ERROR: code indent should never use tabs
#122: FILE: tools/virtiofsd/passthrough_ll.c:95:
+^Iconst char *source;$

ERROR: code indent should never use tabs
#123: FILE: tools/virtiofsd/passthrough_ll.c:96:
+^Idouble timeout;$

ERROR: code indent should never use tabs
#124: FILE: tools/virtiofsd/passthrough_ll.c:97:
+^Iint cache;$

ERROR: code indent should never use tabs
#125: FILE: tools/virtiofsd/passthrough_ll.c:98:
+^Iint timeout_set;$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/passthrough_ll.c:99:
+^Istruct lo_inode root; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#130: FILE: tools/virtiofsd/passthrough_ll.c:103:
+^I{ "writeback",$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/passthrough_ll.c:104:
+^I  offsetof(struct lo_data, writeback), 1 },$

ERROR: code indent should never use tabs
#132: FILE: tools/virtiofsd/passthrough_ll.c:105:
+^I{ "no_writeback",$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/passthrough_ll.c:106:
+^I  offsetof(struct lo_data, writeback), 0 },$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/passthrough_ll.c:107:
+^I{ "source=%s",$

ERROR: code indent should never use tabs
#135: FILE: tools/virtiofsd/passthrough_ll.c:108:
+^I  offsetof(struct lo_data, source), 0 },$

ERROR: code indent should never use tabs
#136: FILE: tools/virtiofsd/passthrough_ll.c:109:
+^I{ "flock",$

ERROR: code indent should never use tabs
#137: FILE: tools/virtiofsd/passthrough_ll.c:110:
+^I  offsetof(struct lo_data, flock), 1 },$

ERROR: code indent should never use tabs
#138: FILE: tools/virtiofsd/passthrough_ll.c:111:
+^I{ "no_flock",$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/passthrough_ll.c:112:
+^I  offsetof(struct lo_data, flock), 0 },$

ERROR: code indent should never use tabs
#140: FILE: tools/virtiofsd/passthrough_ll.c:113:
+^I{ "xattr",$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/passthrough_ll.c:114:
+^I  offsetof(struct lo_data, xattr), 1 },$

ERROR: code indent should never use tabs
#142: FILE: tools/virtiofsd/passthrough_ll.c:115:
+^I{ "no_xattr",$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/passthrough_ll.c:116:
+^I  offsetof(struct lo_data, xattr), 0 },$

ERROR: code indent should never use tabs
#144: FILE: tools/virtiofsd/passthrough_ll.c:117:
+^I{ "timeout=%lf",$

ERROR: code indent should never use tabs
#145: FILE: tools/virtiofsd/passthrough_ll.c:118:
+^I  offsetof(struct lo_data, timeout), 0 },$

ERROR: code indent should never use tabs
#146: FILE: tools/virtiofsd/passthrough_ll.c:119:
+^I{ "timeout=",$

ERROR: code indent should never use tabs
#147: FILE: tools/virtiofsd/passthrough_ll.c:120:
+^I  offsetof(struct lo_data, timeout_set), 1 },$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/passthrough_ll.c:121:
+^I{ "cache=never",$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/passthrough_ll.c:122:
+^I  offsetof(struct lo_data, cache), CACHE_NEVER },$

ERROR: code indent should never use tabs
#150: FILE: tools/virtiofsd/passthrough_ll.c:123:
+^I{ "cache=auto",$

ERROR: code indent should never use tabs
#151: FILE: tools/virtiofsd/passthrough_ll.c:124:
+^I  offsetof(struct lo_data, cache), CACHE_NORMAL },$

ERROR: code indent should never use tabs
#152: FILE: tools/virtiofsd/passthrough_ll.c:125:
+^I{ "cache=always",$

ERROR: code indent should never use tabs
#153: FILE: tools/virtiofsd/passthrough_ll.c:126:
+^I  offsetof(struct lo_data, cache), CACHE_ALWAYS },$

ERROR: code indent should never use tabs
#155: FILE: tools/virtiofsd/passthrough_ll.c:128:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/passthrough_ll.c:133:
+^Ireturn (struct lo_data *) fuse_req_userdata(req);$

ERROR: code indent should never use tabs
#165: FILE: tools/virtiofsd/passthrough_ll.c:138:
+^Iif (ino == FUSE_ROOT_ID)$

ERROR: braces {} are necessary for all arms of this statement
#165: FILE: tools/virtiofsd/passthrough_ll.c:138:
+       if (ino == FUSE_ROOT_ID)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/passthrough_ll.c:139:
+^I^Ireturn &lo_data(req)->root;$

ERROR: code indent should never use tabs
#167: FILE: tools/virtiofsd/passthrough_ll.c:140:
+^Ielse$

ERROR: code indent should never use tabs
#168: FILE: tools/virtiofsd/passthrough_ll.c:141:
+^I^Ireturn (struct lo_inode *) (uintptr_t) ino;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/passthrough_ll.c:146:
+^Ireturn lo_inode(req, ino)->fd;$

ERROR: code indent should never use tabs
#178: FILE: tools/virtiofsd/passthrough_ll.c:151:
+^Ireturn lo_data(req)->debug != 0;$

ERROR: code indent should never use tabs
#182: FILE: tools/virtiofsd/passthrough_ll.c:155:
+^I^I    struct fuse_conn_info *conn)$

ERROR: code indent should never use tabs
#184: FILE: tools/virtiofsd/passthrough_ll.c:157:
+^Istruct lo_data *lo = (struct lo_data*) userdata;$

ERROR: "(foo*)" should be "(foo *)"
#184: FILE: tools/virtiofsd/passthrough_ll.c:157:
+       struct lo_data *lo = (struct lo_data*) userdata;

ERROR: code indent should never use tabs
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+^Iif(conn->capable & FUSE_CAP_EXPORT_SUPPORT)$

ERROR: space required before the open parenthesis '('
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+       if(conn->capable & FUSE_CAP_EXPORT_SUPPORT)

ERROR: braces {} are necessary for all arms of this statement
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+       if(conn->capable & FUSE_CAP_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#187: FILE: tools/virtiofsd/passthrough_ll.c:160:
+^I^Iconn->want |= FUSE_CAP_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#189: FILE: tools/virtiofsd/passthrough_ll.c:162:
+^Iif (lo->writeback &&$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/passthrough_ll.c:163:
+^I    conn->capable & FUSE_CAP_WRITEBACK_CACHE) {$

ERROR: code indent should never use tabs
#191: FILE: tools/virtiofsd/passthrough_ll.c:164:
+^I^Iif (lo->debug)$

ERROR: braces {} are necessary for all arms of this statement
#191: FILE: tools/virtiofsd/passthrough_ll.c:164:
+               if (lo->debug)
[...]

WARNING: line over 80 characters
#192: FILE: tools/virtiofsd/passthrough_ll.c:165:
+                       fuse_log(FUSE_LOG_DEBUG, "lo_init: activating 
writeback\n");

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/passthrough_ll.c:165:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");$

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/passthrough_ll.c:166:
+^I^Iconn->want |= FUSE_CAP_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/passthrough_ll.c:167:
+^I}$

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/passthrough_ll.c:168:
+^Iif (lo->flock && conn->capable & FUSE_CAP_FLOCK_LOCKS) {$

ERROR: code indent should never use tabs
#196: FILE: tools/virtiofsd/passthrough_ll.c:169:
+^I^Iif (lo->debug)$

ERROR: braces {} are necessary for all arms of this statement
#196: FILE: tools/virtiofsd/passthrough_ll.c:169:
+               if (lo->debug)
[...]

WARNING: line over 80 characters
#197: FILE: tools/virtiofsd/passthrough_ll.c:170:
+                       fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock 
locks\n");

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/passthrough_ll.c:170:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/passthrough_ll.c:171:
+^I^Iconn->want |= FUSE_CAP_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/passthrough_ll.c:172:
+^I}$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/passthrough_ll.c:176:
+^I^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#205: FILE: tools/virtiofsd/passthrough_ll.c:178:
+^Iint res;$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/passthrough_ll.c:179:
+^Istruct stat buf;$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/passthrough_ll.c:180:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/passthrough_ll.c:182:
+^I(void) fi;$

WARNING: line over 80 characters
#211: FILE: tools/virtiofsd/passthrough_ll.c:184:
+       res = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | 
AT_SYMLINK_NOFOLLOW);

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/passthrough_ll.c:184:
+^Ires = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | 
AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#212: FILE: tools/virtiofsd/passthrough_ll.c:185:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#212: FILE: tools/virtiofsd/passthrough_ll.c:185:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/passthrough_ll.c:186:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#215: FILE: tools/virtiofsd/passthrough_ll.c:188:
+^Ifuse_reply_attr(req, &buf, lo->timeout);$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/passthrough_ll.c:192:
+^I^I^I^I    const struct timespec *tv)$

ERROR: code indent should never use tabs
#221: FILE: tools/virtiofsd/passthrough_ll.c:194:
+^Iint res;$

ERROR: code indent should never use tabs
#222: FILE: tools/virtiofsd/passthrough_ll.c:195:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#224: FILE: tools/virtiofsd/passthrough_ll.c:197:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#225: FILE: tools/virtiofsd/passthrough_ll.c:198:
+^I^Ires = utimensat(inode->fd, "", tv,$

ERROR: code indent should never use tabs
#226: FILE: tools/virtiofsd/passthrough_ll.c:199:
+^I^I^I^IAT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/passthrough_ll.c:200:
+^I^Iif (res == -1 && errno == EINVAL) {$

ERROR: code indent should never use tabs
#228: FILE: tools/virtiofsd/passthrough_ll.c:201:
+^I^I^I/* Sorry, no race free way to set times on symlink. */$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/passthrough_ll.c:202:
+^I^I^Ierrno = EPERM;$

ERROR: code indent should never use tabs
#230: FILE: tools/virtiofsd/passthrough_ll.c:203:
+^I^I}$

ERROR: code indent should never use tabs
#231: FILE: tools/virtiofsd/passthrough_ll.c:204:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/passthrough_ll.c:205:
+^I}$

ERROR: code indent should never use tabs
#233: FILE: tools/virtiofsd/passthrough_ll.c:206:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#235: FILE: tools/virtiofsd/passthrough_ll.c:208:
+^Ireturn utimensat(AT_FDCWD, procname, tv, 0);$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/passthrough_ll.c:212:
+^I^I       int valid, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#241: FILE: tools/virtiofsd/passthrough_ll.c:214:
+^Iint saverr;$

ERROR: code indent should never use tabs
#242: FILE: tools/virtiofsd/passthrough_ll.c:215:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#243: FILE: tools/virtiofsd/passthrough_ll.c:216:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#244: FILE: tools/virtiofsd/passthrough_ll.c:217:
+^Iint ifd = inode->fd;$

ERROR: code indent should never use tabs
#245: FILE: tools/virtiofsd/passthrough_ll.c:218:
+^Iint res;$

ERROR: code indent should never use tabs
#247: FILE: tools/virtiofsd/passthrough_ll.c:220:
+^Iif (valid & FUSE_SET_ATTR_MODE) {$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/passthrough_ll.c:221:
+^I^Iif (fi) {$

ERROR: code indent should never use tabs
#249: FILE: tools/virtiofsd/passthrough_ll.c:222:
+^I^I^Ires = fchmod(fi->fh, attr->st_mode);$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/passthrough_ll.c:223:
+^I^I} else {$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/passthrough_ll.c:224:
+^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$

ERROR: code indent should never use tabs
#252: FILE: tools/virtiofsd/passthrough_ll.c:225:
+^I^I^Ires = chmod(procname, attr->st_mode);$

ERROR: code indent should never use tabs
#253: FILE: tools/virtiofsd/passthrough_ll.c:226:
+^I^I}$

ERROR: code indent should never use tabs
#254: FILE: tools/virtiofsd/passthrough_ll.c:227:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#254: FILE: tools/virtiofsd/passthrough_ll.c:227:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#255: FILE: tools/virtiofsd/passthrough_ll.c:228:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#256: FILE: tools/virtiofsd/passthrough_ll.c:229:
+^I}$

ERROR: code indent should never use tabs
#257: FILE: tools/virtiofsd/passthrough_ll.c:230:
+^Iif (valid & (FUSE_SET_ATTR_UID | FUSE_SET_ATTR_GID)) {$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/passthrough_ll.c:231:
+^I^Iuid_t uid = (valid & FUSE_SET_ATTR_UID) ?$

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/passthrough_ll.c:232:
+^I^I^Iattr->st_uid : (uid_t) -1;$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/passthrough_ll.c:233:
+^I^Igid_t gid = (valid & FUSE_SET_ATTR_GID) ?$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/passthrough_ll.c:234:
+^I^I^Iattr->st_gid : (gid_t) -1;$

ERROR: code indent should never use tabs
#263: FILE: tools/virtiofsd/passthrough_ll.c:236:
+^I^Ires = fchownat(ifd, "", uid, gid,$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/passthrough_ll.c:237:
+^I^I^I       AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/passthrough_ll.c:238:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#265: FILE: tools/virtiofsd/passthrough_ll.c:238:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#266: FILE: tools/virtiofsd/passthrough_ll.c:239:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#267: FILE: tools/virtiofsd/passthrough_ll.c:240:
+^I}$

ERROR: code indent should never use tabs
#268: FILE: tools/virtiofsd/passthrough_ll.c:241:
+^Iif (valid & FUSE_SET_ATTR_SIZE) {$

ERROR: code indent should never use tabs
#269: FILE: tools/virtiofsd/passthrough_ll.c:242:
+^I^Iif (fi) {$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/passthrough_ll.c:243:
+^I^I^Ires = ftruncate(fi->fh, attr->st_size);$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/passthrough_ll.c:244:
+^I^I} else {$

ERROR: code indent should never use tabs
#272: FILE: tools/virtiofsd/passthrough_ll.c:245:
+^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/passthrough_ll.c:246:
+^I^I^Ires = truncate(procname, attr->st_size);$

ERROR: code indent should never use tabs
#274: FILE: tools/virtiofsd/passthrough_ll.c:247:
+^I^I}$

ERROR: code indent should never use tabs
#275: FILE: tools/virtiofsd/passthrough_ll.c:248:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#275: FILE: tools/virtiofsd/passthrough_ll.c:248:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#276: FILE: tools/virtiofsd/passthrough_ll.c:249:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#277: FILE: tools/virtiofsd/passthrough_ll.c:250:
+^I}$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/passthrough_ll.c:251:
+^Iif (valid & (FUSE_SET_ATTR_ATIME | FUSE_SET_ATTR_MTIME)) {$

ERROR: code indent should never use tabs
#279: FILE: tools/virtiofsd/passthrough_ll.c:252:
+^I^Istruct timespec tv[2];$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/passthrough_ll.c:254:
+^I^Itv[0].tv_sec = 0;$

ERROR: code indent should never use tabs
#282: FILE: tools/virtiofsd/passthrough_ll.c:255:
+^I^Itv[1].tv_sec = 0;$

ERROR: code indent should never use tabs
#283: FILE: tools/virtiofsd/passthrough_ll.c:256:
+^I^Itv[0].tv_nsec = UTIME_OMIT;$

ERROR: code indent should never use tabs
#284: FILE: tools/virtiofsd/passthrough_ll.c:257:
+^I^Itv[1].tv_nsec = UTIME_OMIT;$

ERROR: code indent should never use tabs
#286: FILE: tools/virtiofsd/passthrough_ll.c:259:
+^I^Iif (valid & FUSE_SET_ATTR_ATIME_NOW)$

ERROR: braces {} are necessary for all arms of this statement
#286: FILE: tools/virtiofsd/passthrough_ll.c:259:
+               if (valid & FUSE_SET_ATTR_ATIME_NOW)
[...]
+               else if (valid & FUSE_SET_ATTR_ATIME)
[...]

ERROR: code indent should never use tabs
#287: FILE: tools/virtiofsd/passthrough_ll.c:260:
+^I^I^Itv[0].tv_nsec = UTIME_NOW;$

ERROR: code indent should never use tabs
#288: FILE: tools/virtiofsd/passthrough_ll.c:261:
+^I^Ielse if (valid & FUSE_SET_ATTR_ATIME)$

ERROR: braces {} are necessary for all arms of this statement
#288: FILE: tools/virtiofsd/passthrough_ll.c:261:
+               else if (valid & FUSE_SET_ATTR_ATIME)
[...]

ERROR: code indent should never use tabs
#289: FILE: tools/virtiofsd/passthrough_ll.c:262:
+^I^I^Itv[0] = attr->st_atim;$

ERROR: code indent should never use tabs
#291: FILE: tools/virtiofsd/passthrough_ll.c:264:
+^I^Iif (valid & FUSE_SET_ATTR_MTIME_NOW)$

ERROR: braces {} are necessary for all arms of this statement
#291: FILE: tools/virtiofsd/passthrough_ll.c:264:
+               if (valid & FUSE_SET_ATTR_MTIME_NOW)
[...]
+               else if (valid & FUSE_SET_ATTR_MTIME)
[...]

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/passthrough_ll.c:265:
+^I^I^Itv[1].tv_nsec = UTIME_NOW;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/passthrough_ll.c:266:
+^I^Ielse if (valid & FUSE_SET_ATTR_MTIME)$

ERROR: braces {} are necessary for all arms of this statement
#293: FILE: tools/virtiofsd/passthrough_ll.c:266:
+               else if (valid & FUSE_SET_ATTR_MTIME)
[...]

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/passthrough_ll.c:267:
+^I^I^Itv[1] = attr->st_mtim;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/passthrough_ll.c:269:
+^I^Iif (fi)$

ERROR: braces {} are necessary for all arms of this statement
#296: FILE: tools/virtiofsd/passthrough_ll.c:269:
+               if (fi)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#297: FILE: tools/virtiofsd/passthrough_ll.c:270:
+^I^I^Ires = futimens(fi->fh, tv);$

ERROR: code indent should never use tabs
#298: FILE: tools/virtiofsd/passthrough_ll.c:271:
+^I^Ielse$

ERROR: code indent should never use tabs
#299: FILE: tools/virtiofsd/passthrough_ll.c:272:
+^I^I^Ires = utimensat_empty_nofollow(inode, tv);$

ERROR: code indent should never use tabs
#300: FILE: tools/virtiofsd/passthrough_ll.c:273:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#300: FILE: tools/virtiofsd/passthrough_ll.c:273:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#301: FILE: tools/virtiofsd/passthrough_ll.c:274:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#302: FILE: tools/virtiofsd/passthrough_ll.c:275:
+^I}$

ERROR: code indent should never use tabs
#304: FILE: tools/virtiofsd/passthrough_ll.c:277:
+^Ireturn lo_getattr(req, ino, fi);$

ERROR: code indent should never use tabs
#307: FILE: tools/virtiofsd/passthrough_ll.c:280:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/passthrough_ll.c:281:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/passthrough_ll.c:286:
+^Istruct lo_inode *p;$

ERROR: code indent should never use tabs
#314: FILE: tools/virtiofsd/passthrough_ll.c:287:
+^Istruct lo_inode *ret = NULL;$

ERROR: code indent should never use tabs
#316: FILE: tools/virtiofsd/passthrough_ll.c:289:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/passthrough_ll.c:290:
+^Ifor (p = lo->root.next; p != &lo->root; p = p->next) {$

ERROR: code indent should never use tabs
#318: FILE: tools/virtiofsd/passthrough_ll.c:291:
+^I^Iif (p->ino == st->st_ino && p->dev == st->st_dev) {$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/passthrough_ll.c:292:
+^I^I^Iassert(p->refcount > 0);$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/passthrough_ll.c:293:
+^I^I^Iret = p;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/passthrough_ll.c:294:
+^I^I^Iret->refcount++;$

ERROR: code indent should never use tabs
#322: FILE: tools/virtiofsd/passthrough_ll.c:295:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/passthrough_ll.c:296:
+^I^I}$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/passthrough_ll.c:297:
+^I}$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/passthrough_ll.c:298:
+^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/passthrough_ll.c:299:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#330: FILE: tools/virtiofsd/passthrough_ll.c:303:
+^I^I^I struct fuse_entry_param *e)$

ERROR: code indent should never use tabs
#332: FILE: tools/virtiofsd/passthrough_ll.c:305:
+^Iint newfd;$

ERROR: code indent should never use tabs
#333: FILE: tools/virtiofsd/passthrough_ll.c:306:
+^Iint res;$

ERROR: code indent should never use tabs
#334: FILE: tools/virtiofsd/passthrough_ll.c:307:
+^Iint saverr;$

ERROR: code indent should never use tabs
#335: FILE: tools/virtiofsd/passthrough_ll.c:308:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/passthrough_ll.c:309:
+^Istruct lo_inode *inode;$

ERROR: code indent should never use tabs
#338: FILE: tools/virtiofsd/passthrough_ll.c:311:
+^Imemset(e, 0, sizeof(*e));$

ERROR: code indent should never use tabs
#339: FILE: tools/virtiofsd/passthrough_ll.c:312:
+^Ie->attr_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#340: FILE: tools/virtiofsd/passthrough_ll.c:313:
+^Ie->entry_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#342: FILE: tools/virtiofsd/passthrough_ll.c:315:
+^Inewfd = openat(lo_fd(req, parent), name, O_PATH | O_NOFOLLOW);$

ERROR: code indent should never use tabs
#343: FILE: tools/virtiofsd/passthrough_ll.c:316:
+^Iif (newfd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#343: FILE: tools/virtiofsd/passthrough_ll.c:316:
+       if (newfd == -1)
[...]

ERROR: code indent should never use tabs
#344: FILE: tools/virtiofsd/passthrough_ll.c:317:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#346: FILE: tools/virtiofsd/passthrough_ll.c:319:
+^Ires = fstatat(newfd, "", &e->attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#347: FILE: tools/virtiofsd/passthrough_ll.c:320:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#347: FILE: tools/virtiofsd/passthrough_ll.c:320:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#348: FILE: tools/virtiofsd/passthrough_ll.c:321:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#350: FILE: tools/virtiofsd/passthrough_ll.c:323:
+^Iinode = lo_find(lo_data(req), &e->attr);$

ERROR: code indent should never use tabs
#351: FILE: tools/virtiofsd/passthrough_ll.c:324:
+^Iif (inode) {$

ERROR: code indent should never use tabs
#352: FILE: tools/virtiofsd/passthrough_ll.c:325:
+^I^Iclose(newfd);$

ERROR: code indent should never use tabs
#353: FILE: tools/virtiofsd/passthrough_ll.c:326:
+^I^Inewfd = -1;$

ERROR: code indent should never use tabs
#354: FILE: tools/virtiofsd/passthrough_ll.c:327:
+^I} else {$

ERROR: code indent should never use tabs
#355: FILE: tools/virtiofsd/passthrough_ll.c:328:
+^I^Istruct lo_inode *prev, *next;$

ERROR: code indent should never use tabs
#357: FILE: tools/virtiofsd/passthrough_ll.c:330:
+^I^Isaverr = ENOMEM;$

ERROR: code indent should never use tabs
#358: FILE: tools/virtiofsd/passthrough_ll.c:331:
+^I^Iinode = calloc(1, sizeof(struct lo_inode));$

ERROR: code indent should never use tabs
#359: FILE: tools/virtiofsd/passthrough_ll.c:332:
+^I^Iif (!inode)$

ERROR: braces {} are necessary for all arms of this statement
#359: FILE: tools/virtiofsd/passthrough_ll.c:332:
+               if (!inode)
[...]

ERROR: code indent should never use tabs
#360: FILE: tools/virtiofsd/passthrough_ll.c:333:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#362: FILE: tools/virtiofsd/passthrough_ll.c:335:
+^I^Iinode->is_symlink = S_ISLNK(e->attr.st_mode);$

ERROR: code indent should never use tabs
#363: FILE: tools/virtiofsd/passthrough_ll.c:336:
+^I^Iinode->refcount = 1;$

ERROR: code indent should never use tabs
#364: FILE: tools/virtiofsd/passthrough_ll.c:337:
+^I^Iinode->fd = newfd;$

ERROR: code indent should never use tabs
#365: FILE: tools/virtiofsd/passthrough_ll.c:338:
+^I^Iinode->ino = e->attr.st_ino;$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/passthrough_ll.c:339:
+^I^Iinode->dev = e->attr.st_dev;$

ERROR: code indent should never use tabs
#368: FILE: tools/virtiofsd/passthrough_ll.c:341:
+^I^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#369: FILE: tools/virtiofsd/passthrough_ll.c:342:
+^I^Iprev = &lo->root;$

ERROR: code indent should never use tabs
#370: FILE: tools/virtiofsd/passthrough_ll.c:343:
+^I^Inext = prev->next;$

ERROR: code indent should never use tabs
#371: FILE: tools/virtiofsd/passthrough_ll.c:344:
+^I^Inext->prev = inode;$

ERROR: code indent should never use tabs
#372: FILE: tools/virtiofsd/passthrough_ll.c:345:
+^I^Iinode->next = next;$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/passthrough_ll.c:346:
+^I^Iinode->prev = prev;$

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/passthrough_ll.c:347:
+^I^Iprev->next = inode;$

ERROR: code indent should never use tabs
#375: FILE: tools/virtiofsd/passthrough_ll.c:348:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#376: FILE: tools/virtiofsd/passthrough_ll.c:349:
+^I}$

ERROR: code indent should never use tabs
#377: FILE: tools/virtiofsd/passthrough_ll.c:350:
+^Ie->ino = (uintptr_t) inode;$

ERROR: code indent should never use tabs
#379: FILE: tools/virtiofsd/passthrough_ll.c:352:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#380: FILE: tools/virtiofsd/passthrough_ll.c:353:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

WARNING: line over 80 characters
#381: FILE: tools/virtiofsd/passthrough_ll.c:354:
+                       (unsigned long long) parent, name, (unsigned long long) 
e->ino);

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/passthrough_ll.c:354:
+^I^I^I(unsigned long long) parent, name, (unsigned long long) e->ino);$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/passthrough_ll.c:356:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#386: FILE: tools/virtiofsd/passthrough_ll.c:359:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#387: FILE: tools/virtiofsd/passthrough_ll.c:360:
+^Iif (newfd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#387: FILE: tools/virtiofsd/passthrough_ll.c:360:
+       if (newfd != -1)
[...]

ERROR: code indent should never use tabs
#388: FILE: tools/virtiofsd/passthrough_ll.c:361:
+^I^Iclose(newfd);$

ERROR: code indent should never use tabs
#389: FILE: tools/virtiofsd/passthrough_ll.c:362:
+^Ireturn saverr;$

ERROR: code indent should never use tabs
#394: FILE: tools/virtiofsd/passthrough_ll.c:367:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#395: FILE: tools/virtiofsd/passthrough_ll.c:368:
+^Iint err;$

ERROR: code indent should never use tabs
#397: FILE: tools/virtiofsd/passthrough_ll.c:370:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#398: FILE: tools/virtiofsd/passthrough_ll.c:371:
+               fuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", 
name=%s)\n",

ERROR: code indent should never use tabs
#398: FILE: tools/virtiofsd/passthrough_ll.c:371:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#399: FILE: tools/virtiofsd/passthrough_ll.c:372:
+^I^I^Iparent, name);$

ERROR: code indent should never use tabs
#401: FILE: tools/virtiofsd/passthrough_ll.c:374:
+^Ierr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#402: FILE: tools/virtiofsd/passthrough_ll.c:375:
+^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#402: FILE: tools/virtiofsd/passthrough_ll.c:375:
+       if (err)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#403: FILE: tools/virtiofsd/passthrough_ll.c:376:
+^I^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#404: FILE: tools/virtiofsd/passthrough_ll.c:377:
+^Ielse$

ERROR: code indent should never use tabs
#405: FILE: tools/virtiofsd/passthrough_ll.c:378:
+^I^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#409: FILE: tools/virtiofsd/passthrough_ll.c:382:
+^I^I^I     const char *name, mode_t mode, dev_t rdev,$

ERROR: code indent should never use tabs
#410: FILE: tools/virtiofsd/passthrough_ll.c:383:
+^I^I^I     const char *link)$

ERROR: code indent should never use tabs
#412: FILE: tools/virtiofsd/passthrough_ll.c:385:
+^Iint res;$

ERROR: code indent should never use tabs
#413: FILE: tools/virtiofsd/passthrough_ll.c:386:
+^Iint saverr;$

ERROR: code indent should never use tabs
#414: FILE: tools/virtiofsd/passthrough_ll.c:387:
+^Istruct lo_inode *dir = lo_inode(req, parent);$

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/passthrough_ll.c:388:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/passthrough_ll.c:390:
+^Isaverr = ENOMEM;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/passthrough_ll.c:392:
+^Ires = mknod_wrapper(dir->fd, name, link, mode, rdev);$

ERROR: code indent should never use tabs
#421: FILE: tools/virtiofsd/passthrough_ll.c:394:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#422: FILE: tools/virtiofsd/passthrough_ll.c:395:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#422: FILE: tools/virtiofsd/passthrough_ll.c:395:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#423: FILE: tools/virtiofsd/passthrough_ll.c:396:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#425: FILE: tools/virtiofsd/passthrough_ll.c:398:
+^Isaverr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#426: FILE: tools/virtiofsd/passthrough_ll.c:399:
+^Iif (saverr)$

ERROR: braces {} are necessary for all arms of this statement
#426: FILE: tools/virtiofsd/passthrough_ll.c:399:
+       if (saverr)
[...]

ERROR: code indent should never use tabs
#427: FILE: tools/virtiofsd/passthrough_ll.c:400:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/passthrough_ll.c:402:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/passthrough_ll.c:403:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

WARNING: line over 80 characters
#431: FILE: tools/virtiofsd/passthrough_ll.c:404:
+                       (unsigned long long) parent, name, (unsigned long long) 
e.ino);

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/passthrough_ll.c:404:
+^I^I^I(unsigned long long) parent, name, (unsigned long long) e.ino);$

ERROR: code indent should never use tabs
#433: FILE: tools/virtiofsd/passthrough_ll.c:406:
+^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/passthrough_ll.c:407:
+^Ireturn;$

ERROR: code indent should never use tabs
#437: FILE: tools/virtiofsd/passthrough_ll.c:410:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#441: FILE: tools/virtiofsd/passthrough_ll.c:414:
+^I^I     const char *name, mode_t mode, dev_t rdev)$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/passthrough_ll.c:416:
+^Ilo_mknod_symlink(req, parent, name, mode, rdev, NULL);$

ERROR: code indent should never use tabs
#447: FILE: tools/virtiofsd/passthrough_ll.c:420:
+^I^I     mode_t mode)$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/passthrough_ll.c:422:
+^Ilo_mknod_symlink(req, parent, name, S_IFDIR | mode, 0, NULL);$

ERROR: code indent should never use tabs
#453: FILE: tools/virtiofsd/passthrough_ll.c:426:
+^I^I       fuse_ino_t parent, const char *name)$

ERROR: code indent should never use tabs
#455: FILE: tools/virtiofsd/passthrough_ll.c:428:
+^Ilo_mknod_symlink(req, parent, name, S_IFLNK, 0, link);$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/passthrough_ll.c:432:
+^I^I^I^I const char *name)$

ERROR: code indent should never use tabs
#461: FILE: tools/virtiofsd/passthrough_ll.c:434:
+^Iint res;$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/passthrough_ll.c:435:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/passthrough_ll.c:437:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/passthrough_ll.c:438:
+^I^Ires = linkat(inode->fd, "", dfd, name, AT_EMPTY_PATH);$

ERROR: code indent should never use tabs
#466: FILE: tools/virtiofsd/passthrough_ll.c:439:
+^I^Iif (res == -1 && (errno == ENOENT || errno == EINVAL)) {$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/passthrough_ll.c:440:
+^I^I^I/* Sorry, no race free way to hard-link a symlink. */$

ERROR: code indent should never use tabs
#468: FILE: tools/virtiofsd/passthrough_ll.c:441:
+^I^I^Ierrno = EPERM;$

ERROR: code indent should never use tabs
#469: FILE: tools/virtiofsd/passthrough_ll.c:442:
+^I^I}$

ERROR: code indent should never use tabs
#470: FILE: tools/virtiofsd/passthrough_ll.c:443:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#471: FILE: tools/virtiofsd/passthrough_ll.c:444:
+^I}$

ERROR: code indent should never use tabs
#473: FILE: tools/virtiofsd/passthrough_ll.c:446:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#475: FILE: tools/virtiofsd/passthrough_ll.c:448:
+^Ireturn linkat(AT_FDCWD, procname, dfd, name, AT_SYMLINK_FOLLOW);$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/passthrough_ll.c:452:
+^I^I    const char *name)$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/passthrough_ll.c:454:
+^Iint res;$

ERROR: code indent should never use tabs
#482: FILE: tools/virtiofsd/passthrough_ll.c:455:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#483: FILE: tools/virtiofsd/passthrough_ll.c:456:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#484: FILE: tools/virtiofsd/passthrough_ll.c:457:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#485: FILE: tools/virtiofsd/passthrough_ll.c:458:
+^Iint saverr;$

ERROR: code indent should never use tabs
#487: FILE: tools/virtiofsd/passthrough_ll.c:460:
+^Imemset(&e, 0, sizeof(struct fuse_entry_param));$

ERROR: code indent should never use tabs
#488: FILE: tools/virtiofsd/passthrough_ll.c:461:
+^Ie.attr_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/passthrough_ll.c:462:
+^Ie.entry_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#491: FILE: tools/virtiofsd/passthrough_ll.c:464:
+^Ires = linkat_empty_nofollow(inode, lo_fd(req, parent), name);$

ERROR: code indent should never use tabs
#492: FILE: tools/virtiofsd/passthrough_ll.c:465:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#492: FILE: tools/virtiofsd/passthrough_ll.c:465:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#493: FILE: tools/virtiofsd/passthrough_ll.c:466:
+^I^Igoto out_err;$

WARNING: line over 80 characters
#495: FILE: tools/virtiofsd/passthrough_ll.c:468:
+       res = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | 
AT_SYMLINK_NOFOLLOW);

ERROR: code indent should never use tabs
#495: FILE: tools/virtiofsd/passthrough_ll.c:468:
+^Ires = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/passthrough_ll.c:469:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#496: FILE: tools/virtiofsd/passthrough_ll.c:469:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#497: FILE: tools/virtiofsd/passthrough_ll.c:470:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#499: FILE: tools/virtiofsd/passthrough_ll.c:472:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#500: FILE: tools/virtiofsd/passthrough_ll.c:473:
+^Iinode->refcount++;$

ERROR: code indent should never use tabs
#501: FILE: tools/virtiofsd/passthrough_ll.c:474:
+^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#502: FILE: tools/virtiofsd/passthrough_ll.c:475:
+^Ie.ino = (uintptr_t) inode;$

ERROR: code indent should never use tabs
#504: FILE: tools/virtiofsd/passthrough_ll.c:477:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#505: FILE: tools/virtiofsd/passthrough_ll.c:478:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

ERROR: code indent should never use tabs
#506: FILE: tools/virtiofsd/passthrough_ll.c:479:
+^I^I^I(unsigned long long) parent, name,$

ERROR: code indent should never use tabs
#507: FILE: tools/virtiofsd/passthrough_ll.c:480:
+^I^I^I(unsigned long long) e.ino);$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/passthrough_ll.c:482:
+^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/passthrough_ll.c:483:
+^Ireturn;$

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/passthrough_ll.c:486:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#514: FILE: tools/virtiofsd/passthrough_ll.c:487:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/passthrough_ll.c:492:
+^Iint res;$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/passthrough_ll.c:494:
+^Ires = unlinkat(lo_fd(req, parent), name, AT_REMOVEDIR);$

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/passthrough_ll.c:496:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#527: FILE: tools/virtiofsd/passthrough_ll.c:500:
+^I^I      fuse_ino_t newparent, const char *newname,$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/passthrough_ll.c:501:
+^I^I      unsigned int flags)$

ERROR: code indent should never use tabs
#530: FILE: tools/virtiofsd/passthrough_ll.c:503:
+^Iint res;$

ERROR: code indent should never use tabs
#532: FILE: tools/virtiofsd/passthrough_ll.c:505:
+^Iif (flags) {$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/passthrough_ll.c:506:
+^I^Ifuse_reply_err(req, EINVAL);$

ERROR: code indent should never use tabs
#534: FILE: tools/virtiofsd/passthrough_ll.c:507:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#535: FILE: tools/virtiofsd/passthrough_ll.c:508:
+^I}$

ERROR: code indent should never use tabs
#537: FILE: tools/virtiofsd/passthrough_ll.c:510:
+^Ires = renameat(lo_fd(req, parent), name,$

ERROR: code indent should never use tabs
#538: FILE: tools/virtiofsd/passthrough_ll.c:511:
+^I^I^Ilo_fd(req, newparent), newname);$

ERROR: code indent should never use tabs
#540: FILE: tools/virtiofsd/passthrough_ll.c:513:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#545: FILE: tools/virtiofsd/passthrough_ll.c:518:
+^Iint res;$

ERROR: code indent should never use tabs
#547: FILE: tools/virtiofsd/passthrough_ll.c:520:
+^Ires = unlinkat(lo_fd(req, parent), name, 0);$

ERROR: code indent should never use tabs
#549: FILE: tools/virtiofsd/passthrough_ll.c:522:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#554: FILE: tools/virtiofsd/passthrough_ll.c:527:
+^Iif (!inode)$

ERROR: braces {} are necessary for all arms of this statement
#554: FILE: tools/virtiofsd/passthrough_ll.c:527:
+       if (!inode)
[...]

ERROR: code indent should never use tabs
#555: FILE: tools/virtiofsd/passthrough_ll.c:528:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#557: FILE: tools/virtiofsd/passthrough_ll.c:530:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#558: FILE: tools/virtiofsd/passthrough_ll.c:531:
+^Iassert(inode->refcount >= n);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/passthrough_ll.c:532:
+^Iinode->refcount -= n;$

ERROR: code indent should never use tabs
#560: FILE: tools/virtiofsd/passthrough_ll.c:533:
+^Iif (!inode->refcount) {$

ERROR: code indent should never use tabs
#561: FILE: tools/virtiofsd/passthrough_ll.c:534:
+^I^Istruct lo_inode *prev, *next;$

ERROR: code indent should never use tabs
#563: FILE: tools/virtiofsd/passthrough_ll.c:536:
+^I^Iprev = inode->prev;$

ERROR: code indent should never use tabs
#564: FILE: tools/virtiofsd/passthrough_ll.c:537:
+^I^Inext = inode->next;$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/passthrough_ll.c:538:
+^I^Inext->prev = prev;$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/passthrough_ll.c:539:
+^I^Iprev->next = next;$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/passthrough_ll.c:541:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/passthrough_ll.c:542:
+^I^Iclose(inode->fd);$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/passthrough_ll.c:543:
+^I^Ifree(inode);$

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/passthrough_ll.c:545:
+^I} else {$

ERROR: code indent should never use tabs
#573: FILE: tools/virtiofsd/passthrough_ll.c:546:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#574: FILE: tools/virtiofsd/passthrough_ll.c:547:
+^I}$

ERROR: code indent should never use tabs
#579: FILE: tools/virtiofsd/passthrough_ll.c:552:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#580: FILE: tools/virtiofsd/passthrough_ll.c:553:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#582: FILE: tools/virtiofsd/passthrough_ll.c:555:
+^Iif (lo_debug(req)) {$

ERROR: code indent should never use tabs
#583: FILE: tools/virtiofsd/passthrough_ll.c:556:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  forget %lli %lli -%lli\n",$

ERROR: code indent should never use tabs
#584: FILE: tools/virtiofsd/passthrough_ll.c:557:
+^I^I^I(unsigned long long) ino,$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/passthrough_ll.c:558:
+^I^I^I(unsigned long long) inode->refcount,$

ERROR: code indent should never use tabs
#586: FILE: tools/virtiofsd/passthrough_ll.c:559:
+^I^I^I(unsigned long long) nlookup);$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/passthrough_ll.c:560:
+^I}$

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/passthrough_ll.c:562:
+^Iunref_inode(lo, inode, nlookup);$

ERROR: code indent should never use tabs
#594: FILE: tools/virtiofsd/passthrough_ll.c:567:
+^Ilo_forget_one(req, ino, nlookup);$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/passthrough_ll.c:568:
+^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#599: FILE: tools/virtiofsd/passthrough_ll.c:572:
+^I^I^I^Istruct fuse_forget_data *forgets)$

ERROR: code indent should never use tabs
#601: FILE: tools/virtiofsd/passthrough_ll.c:574:
+^Iint i;$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/passthrough_ll.c:576:
+^Ifor (i = 0; i < count; i++)$

ERROR: braces {} are necessary for all arms of this statement
#603: FILE: tools/virtiofsd/passthrough_ll.c:576:
+       for (i = 0; i < count; i++)
[...]

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/passthrough_ll.c:577:
+^I^Ilo_forget_one(req, forgets[i].ino, forgets[i].nlookup);$

ERROR: code indent should never use tabs
#605: FILE: tools/virtiofsd/passthrough_ll.c:578:
+^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#610: FILE: tools/virtiofsd/passthrough_ll.c:583:
+^Ichar buf[PATH_MAX + 1];$

ERROR: code indent should never use tabs
#611: FILE: tools/virtiofsd/passthrough_ll.c:584:
+^Iint res;$

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/passthrough_ll.c:586:
+^Ires = readlinkat(lo_fd(req, ino), "", buf, sizeof(buf));$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/passthrough_ll.c:587:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#614: FILE: tools/virtiofsd/passthrough_ll.c:587:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/passthrough_ll.c:588:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#617: FILE: tools/virtiofsd/passthrough_ll.c:590:
+^Iif (res == sizeof(buf))$

ERROR: braces {} are necessary for all arms of this statement
#617: FILE: tools/virtiofsd/passthrough_ll.c:590:
+       if (res == sizeof(buf))
[...]

ERROR: code indent should never use tabs
#618: FILE: tools/virtiofsd/passthrough_ll.c:591:
+^I^Ireturn (void) fuse_reply_err(req, ENAMETOOLONG);$

ERROR: code indent should never use tabs
#620: FILE: tools/virtiofsd/passthrough_ll.c:593:
+^Ibuf[res] = '\0';$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/passthrough_ll.c:595:
+^Ifuse_reply_readlink(req, buf);$

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/passthrough_ll.c:599:
+^IDIR *dp;$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/passthrough_ll.c:600:
+^Istruct dirent *entry;$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/passthrough_ll.c:601:
+^Ioff_t offset;$

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/passthrough_ll.c:606:
+^Ireturn (struct lo_dirp *) (uintptr_t) fi->fh;$

WARNING: line over 80 characters
#636: FILE: tools/virtiofsd/passthrough_ll.c:609:
+static void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info 
*fi)

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/passthrough_ll.c:611:
+^Iint error = ENOMEM;$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/passthrough_ll.c:612:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#640: FILE: tools/virtiofsd/passthrough_ll.c:613:
+^Istruct lo_dirp *d;$

ERROR: code indent should never use tabs
#641: FILE: tools/virtiofsd/passthrough_ll.c:614:
+^Iint fd;$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/passthrough_ll.c:616:
+^Id = calloc(1, sizeof(struct lo_dirp));$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/passthrough_ll.c:617:
+^Iif (d == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#644: FILE: tools/virtiofsd/passthrough_ll.c:617:
+       if (d == NULL)
[...]

ERROR: code indent should never use tabs
#645: FILE: tools/virtiofsd/passthrough_ll.c:618:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/passthrough_ll.c:620:
+^Ifd = openat(lo_fd(req, ino), ".", O_RDONLY);$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/passthrough_ll.c:621:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#648: FILE: tools/virtiofsd/passthrough_ll.c:621:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#649: FILE: tools/virtiofsd/passthrough_ll.c:622:
+^I^Igoto out_errno;$

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/passthrough_ll.c:624:
+^Id->dp = fdopendir(fd);$

ERROR: code indent should never use tabs
#652: FILE: tools/virtiofsd/passthrough_ll.c:625:
+^Iif (d->dp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#652: FILE: tools/virtiofsd/passthrough_ll.c:625:
+       if (d->dp == NULL)
[...]

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/passthrough_ll.c:626:
+^I^Igoto out_errno;$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/passthrough_ll.c:628:
+^Id->offset = 0;$

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/passthrough_ll.c:629:
+^Id->entry = NULL;$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/passthrough_ll.c:631:
+^Ifi->fh = (uintptr_t) d;$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/passthrough_ll.c:632:
+^Iif (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#659: FILE: tools/virtiofsd/passthrough_ll.c:632:
+       if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/passthrough_ll.c:633:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/passthrough_ll.c:634:
+^Ifuse_reply_open(req, fi);$

ERROR: code indent should never use tabs
#662: FILE: tools/virtiofsd/passthrough_ll.c:635:
+^Ireturn;$

ERROR: code indent should never use tabs
#665: FILE: tools/virtiofsd/passthrough_ll.c:638:
+^Ierror = errno;$

ERROR: code indent should never use tabs
#667: FILE: tools/virtiofsd/passthrough_ll.c:640:
+^Iif (d) {$

ERROR: code indent should never use tabs
#668: FILE: tools/virtiofsd/passthrough_ll.c:641:
+^I^Iif (fd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#668: FILE: tools/virtiofsd/passthrough_ll.c:641:
+               if (fd != -1)
[...]

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/passthrough_ll.c:642:
+^I^I^Iclose(fd);$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/passthrough_ll.c:643:
+^I^Ifree(d);$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/passthrough_ll.c:644:
+^I}$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/passthrough_ll.c:645:
+^Ifuse_reply_err(req, error);$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/passthrough_ll.c:650:
+^Ireturn name[0] == '.' && (name[1] == '\0' ||$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/passthrough_ll.c:651:
+^I^I^I^I  (name[1] == '.' && name[2] == '\0'));$

ERROR: code indent should never use tabs
#682: FILE: tools/virtiofsd/passthrough_ll.c:655:
+^I^I^I  off_t offset, struct fuse_file_info *fi, int plus)$

ERROR: code indent should never use tabs
#684: FILE: tools/virtiofsd/passthrough_ll.c:657:
+^Istruct lo_dirp *d = lo_dirp(fi);$

ERROR: code indent should never use tabs
#685: FILE: tools/virtiofsd/passthrough_ll.c:658:
+^Ichar *buf;$

ERROR: code indent should never use tabs
#686: FILE: tools/virtiofsd/passthrough_ll.c:659:
+^Ichar *p;$

ERROR: code indent should never use tabs
#687: FILE: tools/virtiofsd/passthrough_ll.c:660:
+^Isize_t rem = size;$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/passthrough_ll.c:661:
+^Iint err;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/passthrough_ll.c:663:
+^I(void) ino;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/passthrough_ll.c:665:
+^Ibuf = calloc(1, size);$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/passthrough_ll.c:666:
+^Iif (!buf) {$

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/passthrough_ll.c:667:
+^I^Ierr = ENOMEM;$

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/passthrough_ll.c:668:
+^I^Igoto error;$

ERROR: code indent should never use tabs
#696: FILE: tools/virtiofsd/passthrough_ll.c:669:
+^I}$

ERROR: code indent should never use tabs
#697: FILE: tools/virtiofsd/passthrough_ll.c:670:
+^Ip = buf;$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/passthrough_ll.c:672:
+^Iif (offset != d->offset) {$

ERROR: code indent should never use tabs
#700: FILE: tools/virtiofsd/passthrough_ll.c:673:
+^I^Iseekdir(d->dp, offset);$

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/passthrough_ll.c:674:
+^I^Id->entry = NULL;$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/passthrough_ll.c:675:
+^I^Id->offset = offset;$

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/passthrough_ll.c:676:
+^I}$

ERROR: code indent should never use tabs
#704: FILE: tools/virtiofsd/passthrough_ll.c:677:
+^Iwhile (1) {$

ERROR: code indent should never use tabs
#705: FILE: tools/virtiofsd/passthrough_ll.c:678:
+^I^Isize_t entsize;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/passthrough_ll.c:679:
+^I^Ioff_t nextoff;$

ERROR: code indent should never use tabs
#707: FILE: tools/virtiofsd/passthrough_ll.c:680:
+^I^Iconst char *name;$

ERROR: code indent should never use tabs
#709: FILE: tools/virtiofsd/passthrough_ll.c:682:
+^I^Iif (!d->entry) {$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/passthrough_ll.c:683:
+^I^I^Ierrno = 0;$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/passthrough_ll.c:684:
+^I^I^Id->entry = readdir(d->dp);$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/passthrough_ll.c:685:
+^I^I^Iif (!d->entry) {$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+^I^I^I^Iif (errno) {  // Error$

ERROR: do not use C99 // comments
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+                               if (errno) {  // Error

ERROR: trailing statements should be on next line
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+                               if (errno) {  // Error

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/passthrough_ll.c:687:
+^I^I^I^I^Ierr = errno;$

ERROR: code indent should never use tabs
#715: FILE: tools/virtiofsd/passthrough_ll.c:688:
+^I^I^I^I^Igoto error;$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/passthrough_ll.c:689:
+^I^I^I^I} else {  // End of stream$

ERROR: do not use C99 // comments
#716: FILE: tools/virtiofsd/passthrough_ll.c:689:
+                               } else {  // End of stream

ERROR: trailing whitespace
#717: FILE: tools/virtiofsd/passthrough_ll.c:690:
+^I^I^I^I^Ibreak; $

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/passthrough_ll.c:690:
+^I^I^I^I^Ibreak; $

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/passthrough_ll.c:691:
+^I^I^I^I}$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/passthrough_ll.c:692:
+^I^I^I}$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/passthrough_ll.c:693:
+^I^I}$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/passthrough_ll.c:694:
+^I^Inextoff = d->entry->d_off;$

ERROR: code indent should never use tabs
#722: FILE: tools/virtiofsd/passthrough_ll.c:695:
+^I^Iname = d->entry->d_name;$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/passthrough_ll.c:696:
+^I^Ifuse_ino_t entry_ino = 0;$

ERROR: code indent should never use tabs
#724: FILE: tools/virtiofsd/passthrough_ll.c:697:
+^I^Iif (plus) {$

ERROR: code indent should never use tabs
#725: FILE: tools/virtiofsd/passthrough_ll.c:698:
+^I^I^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#726: FILE: tools/virtiofsd/passthrough_ll.c:699:
+^I^I^Iif (is_dot_or_dotdot(name)) {$

ERROR: code indent should never use tabs
#727: FILE: tools/virtiofsd/passthrough_ll.c:700:
+^I^I^I^Ie = (struct fuse_entry_param) {$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/passthrough_ll.c:701:
+^I^I^I^I^I.attr.st_ino = d->entry->d_ino,$

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/passthrough_ll.c:702:
+^I^I^I^I^I.attr.st_mode = d->entry->d_type << 12,$

ERROR: code indent should never use tabs
#730: FILE: tools/virtiofsd/passthrough_ll.c:703:
+^I^I^I^I};$

ERROR: code indent should never use tabs
#731: FILE: tools/virtiofsd/passthrough_ll.c:704:
+^I^I^I} else {$

ERROR: code indent should never use tabs
#732: FILE: tools/virtiofsd/passthrough_ll.c:705:
+^I^I^I^Ierr = lo_do_lookup(req, ino, name, &e);$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/passthrough_ll.c:706:
+^I^I^I^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#733: FILE: tools/virtiofsd/passthrough_ll.c:706:
+                               if (err)
[...]

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/passthrough_ll.c:707:
+^I^I^I^I^Igoto error;$

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/passthrough_ll.c:708:
+^I^I^I^Ientry_ino = e.ino;$

ERROR: code indent should never use tabs
#736: FILE: tools/virtiofsd/passthrough_ll.c:709:
+^I^I^I}$

ERROR: code indent should never use tabs
#738: FILE: tools/virtiofsd/passthrough_ll.c:711:
+^I^I^Ientsize = fuse_add_direntry_plus(req, p, rem, name,$

ERROR: code indent should never use tabs
#739: FILE: tools/virtiofsd/passthrough_ll.c:712:
+^I^I^I^I^I^I^I &e, nextoff);$

ERROR: code indent should never use tabs
#740: FILE: tools/virtiofsd/passthrough_ll.c:713:
+^I^I} else {$

ERROR: code indent should never use tabs
#741: FILE: tools/virtiofsd/passthrough_ll.c:714:
+^I^I^Istruct stat st = {$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/passthrough_ll.c:715:
+^I^I^I^I.st_ino = d->entry->d_ino,$

ERROR: code indent should never use tabs
#743: FILE: tools/virtiofsd/passthrough_ll.c:716:
+^I^I^I^I.st_mode = d->entry->d_type << 12,$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/passthrough_ll.c:717:
+^I^I^I};$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/passthrough_ll.c:718:
+^I^I^Ientsize = fuse_add_direntry(req, p, rem, name,$

ERROR: code indent should never use tabs
#746: FILE: tools/virtiofsd/passthrough_ll.c:719:
+^I^I^I^I^I^I    &st, nextoff);$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/passthrough_ll.c:720:
+^I^I}$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/passthrough_ll.c:721:
+^I^Iif (entsize > rem) {$

ERROR: trailing whitespace
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+^I^I^Iif (entry_ino != 0) $

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+^I^I^Iif (entry_ino != 0) $

ERROR: braces {} are necessary for all arms of this statement
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+                       if (entry_ino != 0) 
[...]

ERROR: code indent should never use tabs
#750: FILE: tools/virtiofsd/passthrough_ll.c:723:
+^I^I^I^Ilo_forget_one(req, entry_ino, 1);$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/passthrough_ll.c:724:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/passthrough_ll.c:725:
+^I^I}$

ERROR: trailing whitespace
#753: FILE: tools/virtiofsd/passthrough_ll.c:726:
+^I^I$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/passthrough_ll.c:726:
+^I^I$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/passthrough_ll.c:727:
+^I^Ip += entsize;$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/passthrough_ll.c:728:
+^I^Irem -= entsize;$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/passthrough_ll.c:730:
+^I^Id->entry = NULL;$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/passthrough_ll.c:731:
+^I^Id->offset = nextoff;$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/passthrough_ll.c:732:
+^I}$

ERROR: do not use C99 // comments
#763: FILE: tools/virtiofsd/passthrough_ll.c:736:
+    // If there's an error, we can only signal it if we haven't stored

ERROR: do not use C99 // comments
#764: FILE: tools/virtiofsd/passthrough_ll.c:737:
+    // any entries yet - otherwise we'd end up with wrong lookup

ERROR: do not use C99 // comments
#765: FILE: tools/virtiofsd/passthrough_ll.c:738:
+    // counts for the entries that are already in the buffer. So we

ERROR: do not use C99 // comments
#766: FILE: tools/virtiofsd/passthrough_ll.c:739:
+    // return what we've collected until that point.

ERROR: braces {} are necessary for all arms of this statement
#767: FILE: tools/virtiofsd/passthrough_ll.c:740:
+    if (err && rem == size)
[...]
+    else
[...]

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/passthrough_ll.c:741:
+^I    fuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/passthrough_ll.c:743:
+^I    fuse_reply_buf(req, buf, size - rem);$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/passthrough_ll.c:748:
+^I^I       off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/passthrough_ll.c:750:
+^Ilo_do_readdir(req, ino, size, offset, fi, 0);$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/passthrough_ll.c:754:
+^I^I^I   off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/passthrough_ll.c:756:
+^Ilo_do_readdir(req, ino, size, offset, fi, 1);$

WARNING: line over 80 characters
#786: FILE: tools/virtiofsd/passthrough_ll.c:759:
+static void lo_releasedir(fuse_req_t req, fuse_ino_t ino, struct 
fuse_file_info *fi)

ERROR: code indent should never use tabs
#788: FILE: tools/virtiofsd/passthrough_ll.c:761:
+^Istruct lo_dirp *d = lo_dirp(fi);$

ERROR: code indent should never use tabs
#789: FILE: tools/virtiofsd/passthrough_ll.c:762:
+^I(void) ino;$

ERROR: code indent should never use tabs
#790: FILE: tools/virtiofsd/passthrough_ll.c:763:
+^Iclosedir(d->dp);$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/passthrough_ll.c:764:
+^Ifree(d);$

ERROR: code indent should never use tabs
#792: FILE: tools/virtiofsd/passthrough_ll.c:765:
+^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/passthrough_ll.c:769:
+^I^I      mode_t mode, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/passthrough_ll.c:771:
+^Iint fd;$

ERROR: code indent should never use tabs
#799: FILE: tools/virtiofsd/passthrough_ll.c:772:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/passthrough_ll.c:773:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/passthrough_ll.c:774:
+^Iint err;$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/passthrough_ll.c:776:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#804: FILE: tools/virtiofsd/passthrough_ll.c:777:
+               fuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", 
name=%s)\n",

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/passthrough_ll.c:777:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#805: FILE: tools/virtiofsd/passthrough_ll.c:778:
+^I^I^Iparent, name);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/passthrough_ll.c:780:
+^Ifd = openat(lo_fd(req, parent), name,$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/passthrough_ll.c:781:
+^I^I    (fi->flags | O_CREAT) & ~O_NOFOLLOW, mode);$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/passthrough_ll.c:782:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#809: FILE: tools/virtiofsd/passthrough_ll.c:782:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/passthrough_ll.c:783:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/passthrough_ll.c:785:
+^Ifi->fh = fd;$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/passthrough_ll.c:786:
+^Iif (lo->cache == CACHE_NEVER)$

ERROR: braces {} are necessary for all arms of this statement
#813: FILE: tools/virtiofsd/passthrough_ll.c:786:
+       if (lo->cache == CACHE_NEVER)
[...]
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/passthrough_ll.c:787:
+^I^Ifi->direct_io = 1;$

ERROR: code indent should never use tabs
#815: FILE: tools/virtiofsd/passthrough_ll.c:788:
+^Ielse if (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#815: FILE: tools/virtiofsd/passthrough_ll.c:788:
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#816: FILE: tools/virtiofsd/passthrough_ll.c:789:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#818: FILE: tools/virtiofsd/passthrough_ll.c:791:
+^Ierr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#819: FILE: tools/virtiofsd/passthrough_ll.c:792:
+^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#819: FILE: tools/virtiofsd/passthrough_ll.c:792:
+       if (err)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#820: FILE: tools/virtiofsd/passthrough_ll.c:793:
+^I^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#821: FILE: tools/virtiofsd/passthrough_ll.c:794:
+^Ielse$

ERROR: code indent should never use tabs
#822: FILE: tools/virtiofsd/passthrough_ll.c:795:
+^I^Ifuse_reply_create(req, &e, fi);$

ERROR: code indent should never use tabs
#826: FILE: tools/virtiofsd/passthrough_ll.c:799:
+^I^I^Istruct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#828: FILE: tools/virtiofsd/passthrough_ll.c:801:
+^Iint res;$

ERROR: code indent should never use tabs
#829: FILE: tools/virtiofsd/passthrough_ll.c:802:
+^Iint fd = dirfd(lo_dirp(fi)->dp);$

ERROR: code indent should never use tabs
#830: FILE: tools/virtiofsd/passthrough_ll.c:803:
+^I(void) ino;$

ERROR: code indent should never use tabs
#831: FILE: tools/virtiofsd/passthrough_ll.c:804:
+^Iif (datasync)$

ERROR: braces {} are necessary for all arms of this statement
#831: FILE: tools/virtiofsd/passthrough_ll.c:804:
+       if (datasync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#832: FILE: tools/virtiofsd/passthrough_ll.c:805:
+^I^Ires = fdatasync(fd);$

ERROR: code indent should never use tabs
#833: FILE: tools/virtiofsd/passthrough_ll.c:806:
+^Ielse$

ERROR: code indent should never use tabs
#834: FILE: tools/virtiofsd/passthrough_ll.c:807:
+^I^Ires = fsync(fd);$

ERROR: code indent should never use tabs
#835: FILE: tools/virtiofsd/passthrough_ll.c:808:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#840: FILE: tools/virtiofsd/passthrough_ll.c:813:
+^Iint fd;$

ERROR: code indent should never use tabs
#841: FILE: tools/virtiofsd/passthrough_ll.c:814:
+^Ichar buf[64];$

ERROR: code indent should never use tabs
#842: FILE: tools/virtiofsd/passthrough_ll.c:815:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#844: FILE: tools/virtiofsd/passthrough_ll.c:817:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/passthrough_ll.c:818:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n",$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/passthrough_ll.c:819:
+^I^I^Iino, fi->flags);$

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/passthrough_ll.c:821:
+^I/* With writeback cache, kernel may send read requests even$

WARNING: Block comments use a leading /* on a separate line
#848: FILE: tools/virtiofsd/passthrough_ll.c:821:
+       /* With writeback cache, kernel may send read requests even

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+^I   when userspace opened write-only */$

WARNING: Block comments use * on subsequent lines
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+       /* With writeback cache, kernel may send read requests even
+          when userspace opened write-only */

WARNING: Block comments use a trailing */ on a separate line
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+          when userspace opened write-only */

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/passthrough_ll.c:823:
+^Iif (lo->writeback && (fi->flags & O_ACCMODE) == O_WRONLY) {$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/passthrough_ll.c:824:
+^I^Ifi->flags &= ~O_ACCMODE;$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/passthrough_ll.c:825:
+^I^Ifi->flags |= O_RDWR;$

ERROR: code indent should never use tabs
#853: FILE: tools/virtiofsd/passthrough_ll.c:826:
+^I}$

ERROR: code indent should never use tabs
#855: FILE: tools/virtiofsd/passthrough_ll.c:828:
+^I/* With writeback cache, O_APPEND is handled by the kernel.$

WARNING: Block comments use a leading /* on a separate line
#855: FILE: tools/virtiofsd/passthrough_ll.c:828:
+       /* With writeback cache, O_APPEND is handled by the kernel.

ERROR: code indent should never use tabs
#856: FILE: tools/virtiofsd/passthrough_ll.c:829:
+^I   This breaks atomicity (since the file may change in the$

WARNING: Block comments use * on subsequent lines
#856: FILE: tools/virtiofsd/passthrough_ll.c:829:
+       /* With writeback cache, O_APPEND is handled by the kernel.
+          This breaks atomicity (since the file may change in the

ERROR: code indent should never use tabs
#857: FILE: tools/virtiofsd/passthrough_ll.c:830:
+^I   underlying filesystem, so that the kernel's idea of the$

ERROR: code indent should never use tabs
#858: FILE: tools/virtiofsd/passthrough_ll.c:831:
+^I   end of the file isn't accurate anymore). In this example,$

ERROR: code indent should never use tabs
#859: FILE: tools/virtiofsd/passthrough_ll.c:832:
+^I   we just accept that. A more rigorous filesystem may want$

ERROR: code indent should never use tabs
#860: FILE: tools/virtiofsd/passthrough_ll.c:833:
+^I   to return an error here */$

WARNING: Block comments use a trailing */ on a separate line
#860: FILE: tools/virtiofsd/passthrough_ll.c:833:
+          to return an error here */

ERROR: code indent should never use tabs
#861: FILE: tools/virtiofsd/passthrough_ll.c:834:
+^Iif (lo->writeback && (fi->flags & O_APPEND))$

ERROR: braces {} are necessary for all arms of this statement
#861: FILE: tools/virtiofsd/passthrough_ll.c:834:
+       if (lo->writeback && (fi->flags & O_APPEND))
[...]

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/passthrough_ll.c:835:
+^I^Ifi->flags &= ~O_APPEND;$

ERROR: code indent should never use tabs
#864: FILE: tools/virtiofsd/passthrough_ll.c:837:
+^Isprintf(buf, "/proc/self/fd/%i", lo_fd(req, ino));$

ERROR: code indent should never use tabs
#865: FILE: tools/virtiofsd/passthrough_ll.c:838:
+^Ifd = open(buf, fi->flags & ~O_NOFOLLOW);$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/passthrough_ll.c:839:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#866: FILE: tools/virtiofsd/passthrough_ll.c:839:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/passthrough_ll.c:840:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#869: FILE: tools/virtiofsd/passthrough_ll.c:842:
+^Ifi->fh = fd;$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/passthrough_ll.c:843:
+^Iif (lo->cache == CACHE_NEVER)$

ERROR: braces {} are necessary for all arms of this statement
#870: FILE: tools/virtiofsd/passthrough_ll.c:843:
+       if (lo->cache == CACHE_NEVER)
[...]
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#871: FILE: tools/virtiofsd/passthrough_ll.c:844:
+^I^Ifi->direct_io = 1;$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/passthrough_ll.c:845:
+^Ielse if (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#872: FILE: tools/virtiofsd/passthrough_ll.c:845:
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#873: FILE: tools/virtiofsd/passthrough_ll.c:846:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#874: FILE: tools/virtiofsd/passthrough_ll.c:847:
+^Ifuse_reply_open(req, fi);$

WARNING: line over 80 characters
#877: FILE: tools/virtiofsd/passthrough_ll.c:850:
+static void lo_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info 
*fi)

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/passthrough_ll.c:852:
+^I(void) ino;$

ERROR: code indent should never use tabs
#881: FILE: tools/virtiofsd/passthrough_ll.c:854:
+^Iclose(fi->fh);$

ERROR: code indent should never use tabs
#882: FILE: tools/virtiofsd/passthrough_ll.c:855:
+^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/passthrough_ll.c:860:
+^Iint res;$

ERROR: code indent should never use tabs
#888: FILE: tools/virtiofsd/passthrough_ll.c:861:
+^I(void) ino;$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/passthrough_ll.c:862:
+^Ires = close(dup(fi->fh));$

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/passthrough_ll.c:863:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/passthrough_ll.c:867:
+^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#896: FILE: tools/virtiofsd/passthrough_ll.c:869:
+^Iint res;$

ERROR: code indent should never use tabs
#897: FILE: tools/virtiofsd/passthrough_ll.c:870:
+^I(void) ino;$

ERROR: code indent should never use tabs
#898: FILE: tools/virtiofsd/passthrough_ll.c:871:
+^Iif (datasync)$

ERROR: braces {} are necessary for all arms of this statement
#898: FILE: tools/virtiofsd/passthrough_ll.c:871:
+       if (datasync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#899: FILE: tools/virtiofsd/passthrough_ll.c:872:
+^I^Ires = fdatasync(fi->fh);$

ERROR: code indent should never use tabs
#900: FILE: tools/virtiofsd/passthrough_ll.c:873:
+^Ielse$

ERROR: code indent should never use tabs
#901: FILE: tools/virtiofsd/passthrough_ll.c:874:
+^I^Ires = fsync(fi->fh);$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/passthrough_ll.c:875:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#906: FILE: tools/virtiofsd/passthrough_ll.c:879:
+^I^I    off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#908: FILE: tools/virtiofsd/passthrough_ll.c:881:
+^Istruct fuse_bufvec buf = FUSE_BUFVEC_INIT(size);$

ERROR: code indent should never use tabs
#910: FILE: tools/virtiofsd/passthrough_ll.c:883:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#911: FILE: tools/virtiofsd/passthrough_ll.c:884:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_read(ino=%" PRIu64 ", size=%zd, "$

ERROR: code indent should never use tabs
#912: FILE: tools/virtiofsd/passthrough_ll.c:885:
+^I^I^I"off=%lu)\n", ino, size, (unsigned long) offset);$

ERROR: code indent should never use tabs
#914: FILE: tools/virtiofsd/passthrough_ll.c:887:
+^Ibuf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$

ERROR: code indent should never use tabs
#915: FILE: tools/virtiofsd/passthrough_ll.c:888:
+^Ibuf.buf[0].fd = fi->fh;$

ERROR: code indent should never use tabs
#916: FILE: tools/virtiofsd/passthrough_ll.c:889:
+^Ibuf.buf[0].pos = offset;$

ERROR: code indent should never use tabs
#918: FILE: tools/virtiofsd/passthrough_ll.c:891:
+^Ifuse_reply_data(req, &buf, FUSE_BUF_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#922: FILE: tools/virtiofsd/passthrough_ll.c:895:
+^I^I^I struct fuse_bufvec *in_buf, off_t off,$

ERROR: code indent should never use tabs
#923: FILE: tools/virtiofsd/passthrough_ll.c:896:
+^I^I^I struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#925: FILE: tools/virtiofsd/passthrough_ll.c:898:
+^I(void) ino;$

ERROR: code indent should never use tabs
#926: FILE: tools/virtiofsd/passthrough_ll.c:899:
+^Issize_t res;$

ERROR: code indent should never use tabs
#927: FILE: tools/virtiofsd/passthrough_ll.c:900:
+^Istruct fuse_bufvec out_buf = FUSE_BUFVEC_INIT(fuse_buf_size(in_buf));$

ERROR: code indent should never use tabs
#929: FILE: tools/virtiofsd/passthrough_ll.c:902:
+^Iout_buf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$

ERROR: code indent should never use tabs
#930: FILE: tools/virtiofsd/passthrough_ll.c:903:
+^Iout_buf.buf[0].fd = fi->fh;$

ERROR: code indent should never use tabs
#931: FILE: tools/virtiofsd/passthrough_ll.c:904:
+^Iout_buf.buf[0].pos = off;$

ERROR: code indent should never use tabs
#933: FILE: tools/virtiofsd/passthrough_ll.c:906:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#934: FILE: tools/virtiofsd/passthrough_ll.c:907:
+               fuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, 
off=%lu)\n",

ERROR: code indent should never use tabs
#934: FILE: tools/virtiofsd/passthrough_ll.c:907:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, off=%lu)\n",$

ERROR: code indent should never use tabs
#935: FILE: tools/virtiofsd/passthrough_ll.c:908:
+^I^I^Iino, out_buf.buf[0].size, (unsigned long) off);$

ERROR: code indent should never use tabs
#937: FILE: tools/virtiofsd/passthrough_ll.c:910:
+^Ires = fuse_buf_copy(&out_buf, in_buf, 0);$

ERROR: code indent should never use tabs
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+^Iif(res < 0)$

ERROR: space required before the open parenthesis '('
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+       if(res < 0)

ERROR: braces {} are necessary for all arms of this statement
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+       if(res < 0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#939: FILE: tools/virtiofsd/passthrough_ll.c:912:
+^I^Ifuse_reply_err(req, -res);$

ERROR: code indent should never use tabs
#940: FILE: tools/virtiofsd/passthrough_ll.c:913:
+^Ielse$

ERROR: code indent should never use tabs
#941: FILE: tools/virtiofsd/passthrough_ll.c:914:
+^I^Ifuse_reply_write(req, (size_t) res);$

ERROR: code indent should never use tabs
#946: FILE: tools/virtiofsd/passthrough_ll.c:919:
+^Iint res;$

ERROR: code indent should never use tabs
#947: FILE: tools/virtiofsd/passthrough_ll.c:920:
+^Istruct statvfs stbuf;$

ERROR: code indent should never use tabs
#949: FILE: tools/virtiofsd/passthrough_ll.c:922:
+^Ires = fstatvfs(lo_fd(req, ino), &stbuf);$

ERROR: code indent should never use tabs
#950: FILE: tools/virtiofsd/passthrough_ll.c:923:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#950: FILE: tools/virtiofsd/passthrough_ll.c:923:
+       if (res == -1)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/passthrough_ll.c:924:
+^I^Ifuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#952: FILE: tools/virtiofsd/passthrough_ll.c:925:
+^Ielse$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/passthrough_ll.c:926:
+^I^Ifuse_reply_statfs(req, &stbuf);$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/passthrough_ll.c:930:
+^I^I^I off_t offset, off_t length, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/passthrough_ll.c:932:
+^Iint err = EOPNOTSUPP;$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/passthrough_ll.c:933:
+^I(void) ino;$

ERROR: code indent should never use tabs
#963: FILE: tools/virtiofsd/passthrough_ll.c:936:
+^Ierr = fallocate(fi->fh, mode, offset, length);$

ERROR: code indent should never use tabs
#964: FILE: tools/virtiofsd/passthrough_ll.c:937:
+^Iif (err < 0)$

ERROR: braces {} are necessary for all arms of this statement
#964: FILE: tools/virtiofsd/passthrough_ll.c:937:
+       if (err < 0)
[...]

ERROR: code indent should never use tabs
#965: FILE: tools/virtiofsd/passthrough_ll.c:938:
+^I^Ierr = errno;$

ERROR: code indent should never use tabs
#968: FILE: tools/virtiofsd/passthrough_ll.c:941:
+^Iif (mode) {$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/passthrough_ll.c:942:
+^I^Ifuse_reply_err(req, EOPNOTSUPP);$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/passthrough_ll.c:943:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/passthrough_ll.c:944:
+^I}$

ERROR: code indent should never use tabs
#973: FILE: tools/virtiofsd/passthrough_ll.c:946:
+^Ierr = posix_fallocate(fi->fh, offset, length);$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/passthrough_ll.c:949:
+^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/passthrough_ll.c:953:
+^I^I     int op)$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/passthrough_ll.c:955:
+^Iint res;$

ERROR: code indent should never use tabs
#983: FILE: tools/virtiofsd/passthrough_ll.c:956:
+^I(void) ino;$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/passthrough_ll.c:958:
+^Ires = flock(fi->fh, op);$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/passthrough_ll.c:960:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/passthrough_ll.c:964:
+^I^I^Isize_t size)$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/passthrough_ll.c:966:
+^Ichar *value = NULL;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/passthrough_ll.c:967:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/passthrough_ll.c:968:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/passthrough_ll.c:969:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/passthrough_ll.c:970:
+^Iint saverr;$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/passthrough_ll.c:972:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/passthrough_ll.c:973:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1000: FILE: tools/virtiofsd/passthrough_ll.c:973:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/passthrough_ll.c:974:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/passthrough_ll.c:976:
+^Iif (lo_debug(req)) {$

ERROR: line over 90 characters
#1004: FILE: tools/virtiofsd/passthrough_ll.c:977:
+               fuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s 
size=%zd)\n",

ERROR: code indent should never use tabs
#1004: FILE: tools/virtiofsd/passthrough_ll.c:977:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s 
size=%zd)\n",$

ERROR: code indent should never use tabs
#1005: FILE: tools/virtiofsd/passthrough_ll.c:978:
+^I^I^Iino, name, size);$

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/passthrough_ll.c:979:
+^I}$

ERROR: code indent should never use tabs
#1008: FILE: tools/virtiofsd/passthrough_ll.c:981:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/passthrough_ll.c:982:
+^I^I/* Sorry, no race free way to getxattr on symlink. */$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/passthrough_ll.c:983:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/passthrough_ll.c:984:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/passthrough_ll.c:985:
+^I}$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/passthrough_ll.c:987:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1016: FILE: tools/virtiofsd/passthrough_ll.c:989:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/passthrough_ll.c:990:
+^I^Ivalue = malloc(size);$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/passthrough_ll.c:991:
+^I^Iif (!value)$

ERROR: braces {} are necessary for all arms of this statement
#1018: FILE: tools/virtiofsd/passthrough_ll.c:991:
+               if (!value)
[...]

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/passthrough_ll.c:992:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/passthrough_ll.c:994:
+^I^Iret = getxattr(procname, name, value, size);$

ERROR: code indent should never use tabs
#1022: FILE: tools/virtiofsd/passthrough_ll.c:995:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1022: FILE: tools/virtiofsd/passthrough_ll.c:995:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/passthrough_ll.c:996:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1024: FILE: tools/virtiofsd/passthrough_ll.c:997:
+^I^Isaverr = 0;$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/passthrough_ll.c:998:
+^I^Iif (ret == 0)$

ERROR: braces {} are necessary for all arms of this statement
#1025: FILE: tools/virtiofsd/passthrough_ll.c:998:
+               if (ret == 0)
[...]

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/passthrough_ll.c:999:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/passthrough_ll.c:1001:
+^I^Ifuse_reply_buf(req, value, ret);$

ERROR: code indent should never use tabs
#1029: FILE: tools/virtiofsd/passthrough_ll.c:1002:
+^I} else {$

ERROR: code indent should never use tabs
#1030: FILE: tools/virtiofsd/passthrough_ll.c:1003:
+^I^Iret = getxattr(procname, name, NULL, 0);$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/passthrough_ll.c:1004:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1031: FILE: tools/virtiofsd/passthrough_ll.c:1004:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/passthrough_ll.c:1005:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1034: FILE: tools/virtiofsd/passthrough_ll.c:1007:
+^I^Ifuse_reply_xattr(req, ret);$

ERROR: code indent should never use tabs
#1035: FILE: tools/virtiofsd/passthrough_ll.c:1008:
+^I}$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/passthrough_ll.c:1010:
+^Ifree(value);$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/passthrough_ll.c:1011:
+^Ireturn;$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/passthrough_ll.c:1014:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/passthrough_ll.c:1016:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1044: FILE: tools/virtiofsd/passthrough_ll.c:1017:
+^Igoto out_free;$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/passthrough_ll.c:1022:
+^Ichar *value = NULL;$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/passthrough_ll.c:1023:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/passthrough_ll.c:1024:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1052: FILE: tools/virtiofsd/passthrough_ll.c:1025:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/passthrough_ll.c:1026:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1055: FILE: tools/virtiofsd/passthrough_ll.c:1028:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1056: FILE: tools/virtiofsd/passthrough_ll.c:1029:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1056: FILE: tools/virtiofsd/passthrough_ll.c:1029:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/passthrough_ll.c:1030:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1059: FILE: tools/virtiofsd/passthrough_ll.c:1032:
+^Iif (lo_debug(req)) {$

WARNING: line over 80 characters
#1060: FILE: tools/virtiofsd/passthrough_ll.c:1033:
+               fuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", 
size=%zd)\n",

ERROR: code indent should never use tabs
#1060: FILE: tools/virtiofsd/passthrough_ll.c:1033:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", size=%zd)\n",$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/passthrough_ll.c:1034:
+^I^I^Iino, size);$

ERROR: code indent should never use tabs
#1062: FILE: tools/virtiofsd/passthrough_ll.c:1035:
+^I}$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/passthrough_ll.c:1037:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1065: FILE: tools/virtiofsd/passthrough_ll.c:1038:
+^I^I/* Sorry, no race free way to listxattr on symlink. */$

ERROR: code indent should never use tabs
#1066: FILE: tools/virtiofsd/passthrough_ll.c:1039:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/passthrough_ll.c:1040:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/passthrough_ll.c:1041:
+^I}$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/passthrough_ll.c:1043:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1072: FILE: tools/virtiofsd/passthrough_ll.c:1045:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1073: FILE: tools/virtiofsd/passthrough_ll.c:1046:
+^I^Ivalue = malloc(size);$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/passthrough_ll.c:1047:
+^I^Iif (!value)$

ERROR: braces {} are necessary for all arms of this statement
#1074: FILE: tools/virtiofsd/passthrough_ll.c:1047:
+               if (!value)
[...]

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/passthrough_ll.c:1048:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/passthrough_ll.c:1050:
+^I^Iret = listxattr(procname, value, size);$

ERROR: code indent should never use tabs
#1078: FILE: tools/virtiofsd/passthrough_ll.c:1051:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1078: FILE: tools/virtiofsd/passthrough_ll.c:1051:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1079: FILE: tools/virtiofsd/passthrough_ll.c:1052:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1080: FILE: tools/virtiofsd/passthrough_ll.c:1053:
+^I^Isaverr = 0;$

ERROR: code indent should never use tabs
#1081: FILE: tools/virtiofsd/passthrough_ll.c:1054:
+^I^Iif (ret == 0)$

ERROR: braces {} are necessary for all arms of this statement
#1081: FILE: tools/virtiofsd/passthrough_ll.c:1054:
+               if (ret == 0)
[...]

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/passthrough_ll.c:1055:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/passthrough_ll.c:1057:
+^I^Ifuse_reply_buf(req, value, ret);$

ERROR: code indent should never use tabs
#1085: FILE: tools/virtiofsd/passthrough_ll.c:1058:
+^I} else {$

ERROR: code indent should never use tabs
#1086: FILE: tools/virtiofsd/passthrough_ll.c:1059:
+^I^Iret = listxattr(procname, NULL, 0);$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/passthrough_ll.c:1060:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1087: FILE: tools/virtiofsd/passthrough_ll.c:1060:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1088: FILE: tools/virtiofsd/passthrough_ll.c:1061:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1090: FILE: tools/virtiofsd/passthrough_ll.c:1063:
+^I^Ifuse_reply_xattr(req, ret);$

ERROR: code indent should never use tabs
#1091: FILE: tools/virtiofsd/passthrough_ll.c:1064:
+^I}$

ERROR: code indent should never use tabs
#1093: FILE: tools/virtiofsd/passthrough_ll.c:1066:
+^Ifree(value);$

ERROR: code indent should never use tabs
#1094: FILE: tools/virtiofsd/passthrough_ll.c:1067:
+^Ireturn;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/passthrough_ll.c:1070:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#1099: FILE: tools/virtiofsd/passthrough_ll.c:1072:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1100: FILE: tools/virtiofsd/passthrough_ll.c:1073:
+^Igoto out_free;$

ERROR: code indent should never use tabs
#1104: FILE: tools/virtiofsd/passthrough_ll.c:1077:
+^I^I^Iconst char *value, size_t size, int flags)$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/passthrough_ll.c:1079:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/passthrough_ll.c:1080:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1108: FILE: tools/virtiofsd/passthrough_ll.c:1081:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1109: FILE: tools/virtiofsd/passthrough_ll.c:1082:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1111: FILE: tools/virtiofsd/passthrough_ll.c:1084:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1112: FILE: tools/virtiofsd/passthrough_ll.c:1085:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1112: FILE: tools/virtiofsd/passthrough_ll.c:1085:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1113: FILE: tools/virtiofsd/passthrough_ll.c:1086:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/passthrough_ll.c:1088:
+^Iif (lo_debug(req)) {$

ERROR: line over 90 characters
#1116: FILE: tools/virtiofsd/passthrough_ll.c:1089:
+               fuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s 
value=%s size=%zd)\n",

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/passthrough_ll.c:1089:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s value=%s 
size=%zd)\n",$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/passthrough_ll.c:1090:
+^I^I^Iino, name, value, size);$

ERROR: code indent should never use tabs
#1118: FILE: tools/virtiofsd/passthrough_ll.c:1091:
+^I}$

ERROR: code indent should never use tabs
#1120: FILE: tools/virtiofsd/passthrough_ll.c:1093:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/passthrough_ll.c:1094:
+^I^I/* Sorry, no race free way to setxattr on symlink. */$

ERROR: code indent should never use tabs
#1122: FILE: tools/virtiofsd/passthrough_ll.c:1095:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/passthrough_ll.c:1096:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1124: FILE: tools/virtiofsd/passthrough_ll.c:1097:
+^I}$

ERROR: code indent should never use tabs
#1126: FILE: tools/virtiofsd/passthrough_ll.c:1099:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1128: FILE: tools/virtiofsd/passthrough_ll.c:1101:
+^Iret = setxattr(procname, name, value, size, flags);$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/passthrough_ll.c:1102:
+^Isaverr = ret == -1 ? errno : 0;$

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/passthrough_ll.c:1105:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/passthrough_ll.c:1110:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1138: FILE: tools/virtiofsd/passthrough_ll.c:1111:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/passthrough_ll.c:1112:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1140: FILE: tools/virtiofsd/passthrough_ll.c:1113:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1142: FILE: tools/virtiofsd/passthrough_ll.c:1115:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1143: FILE: tools/virtiofsd/passthrough_ll.c:1116:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1143: FILE: tools/virtiofsd/passthrough_ll.c:1116:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1144: FILE: tools/virtiofsd/passthrough_ll.c:1117:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/passthrough_ll.c:1119:
+^Iif (lo_debug(req)) {$

WARNING: line over 80 characters
#1147: FILE: tools/virtiofsd/passthrough_ll.c:1120:
+               fuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", 
name=%s)\n",

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/passthrough_ll.c:1120:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/passthrough_ll.c:1121:
+^I^I^Iino, name);$

ERROR: code indent should never use tabs
#1149: FILE: tools/virtiofsd/passthrough_ll.c:1122:
+^I}$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/passthrough_ll.c:1124:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1152: FILE: tools/virtiofsd/passthrough_ll.c:1125:
+^I^I/* Sorry, no race free way to setxattr on symlink. */$

ERROR: code indent should never use tabs
#1153: FILE: tools/virtiofsd/passthrough_ll.c:1126:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1154: FILE: tools/virtiofsd/passthrough_ll.c:1127:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1155: FILE: tools/virtiofsd/passthrough_ll.c:1128:
+^I}$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/passthrough_ll.c:1130:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/passthrough_ll.c:1132:
+^Iret = removexattr(procname, name);$

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/passthrough_ll.c:1133:
+^Isaverr = ret == -1 ? errno : 0;$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/passthrough_ll.c:1136:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1168: FILE: tools/virtiofsd/passthrough_ll.c:1141:
+^I^I^I       struct fuse_file_info *fi_in,$

ERROR: code indent should never use tabs
#1169: FILE: tools/virtiofsd/passthrough_ll.c:1142:
+^I^I^I       fuse_ino_t ino_out, off_t off_out,$

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/passthrough_ll.c:1143:
+^I^I^I       struct fuse_file_info *fi_out, size_t len,$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/passthrough_ll.c:1144:
+^I^I^I       int flags)$

ERROR: code indent should never use tabs
#1173: FILE: tools/virtiofsd/passthrough_ll.c:1146:
+^Issize_t res;$

ERROR: code indent should never use tabs
#1175: FILE: tools/virtiofsd/passthrough_ll.c:1148:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#1176: FILE: tools/virtiofsd/passthrough_ll.c:1149:
+               fuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 
"/fd=%lu, "

ERROR: code indent should never use tabs
#1176: FILE: tools/virtiofsd/passthrough_ll.c:1149:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 "/fd=%lu, "$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/passthrough_ll.c:1150:
+^I^I^I^I"off=%lu, ino=%" PRIu64 "/fd=%lu, "$

ERROR: code indent should never use tabs
#1178: FILE: tools/virtiofsd/passthrough_ll.c:1151:
+^I^I^I^I"off=%lu, size=%zd, flags=0x%x)\n",$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/passthrough_ll.c:1152:
+^I^I^Iino_in, fi_in->fh, off_in, ino_out, fi_out->fh, off_out,$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/passthrough_ll.c:1153:
+^I^I^Ilen, flags);$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/passthrough_ll.c:1155:
+^Ires = copy_file_range(fi_in->fh, &off_in, fi_out->fh, &off_out, len,$

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/passthrough_ll.c:1156:
+^I^I^I      flags);$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/passthrough_ll.c:1157:
+^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#1184: FILE: tools/virtiofsd/passthrough_ll.c:1157:
+       if (res < 0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1185: FILE: tools/virtiofsd/passthrough_ll.c:1158:
+^I^Ifuse_reply_err(req, -errno);$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/passthrough_ll.c:1159:
+^Ielse$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/passthrough_ll.c:1160:
+^I^Ifuse_reply_write(req, res);$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/passthrough_ll.c:1165:
+^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/passthrough_ll.c:1167:
+^Ioff_t res;$

ERROR: code indent should never use tabs
#1196: FILE: tools/virtiofsd/passthrough_ll.c:1169:
+^I(void)ino;$

ERROR: code indent should never use tabs
#1197: FILE: tools/virtiofsd/passthrough_ll.c:1170:
+^Ires = lseek(fi->fh, off, whence);$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/passthrough_ll.c:1171:
+^Iif (res != -1)$

ERROR: braces {} are necessary for all arms of this statement
#1198: FILE: tools/virtiofsd/passthrough_ll.c:1171:
+       if (res != -1)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1199: FILE: tools/virtiofsd/passthrough_ll.c:1172:
+^I^Ifuse_reply_lseek(req, res);$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/passthrough_ll.c:1173:
+^Ielse$

ERROR: code indent should never use tabs
#1201: FILE: tools/virtiofsd/passthrough_ll.c:1174:
+^I^Ifuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#1205: FILE: tools/virtiofsd/passthrough_ll.c:1178:
+^I.init^I^I= lo_init,$

ERROR: code indent should never use tabs
#1206: FILE: tools/virtiofsd/passthrough_ll.c:1179:
+^I.lookup^I^I= lo_lookup,$

ERROR: code indent should never use tabs
#1207: FILE: tools/virtiofsd/passthrough_ll.c:1180:
+^I.mkdir^I^I= lo_mkdir,$

ERROR: code indent should never use tabs
#1208: FILE: tools/virtiofsd/passthrough_ll.c:1181:
+^I.mknod^I^I= lo_mknod,$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/passthrough_ll.c:1182:
+^I.symlink^I= lo_symlink,$

ERROR: code indent should never use tabs
#1210: FILE: tools/virtiofsd/passthrough_ll.c:1183:
+^I.link^I^I= lo_link,$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/passthrough_ll.c:1184:
+^I.unlink^I^I= lo_unlink,$

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/passthrough_ll.c:1185:
+^I.rmdir^I^I= lo_rmdir,$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/passthrough_ll.c:1186:
+^I.rename^I^I= lo_rename,$

ERROR: code indent should never use tabs
#1214: FILE: tools/virtiofsd/passthrough_ll.c:1187:
+^I.forget^I^I= lo_forget,$

ERROR: code indent should never use tabs
#1215: FILE: tools/virtiofsd/passthrough_ll.c:1188:
+^I.forget_multi^I= lo_forget_multi,$

ERROR: code indent should never use tabs
#1216: FILE: tools/virtiofsd/passthrough_ll.c:1189:
+^I.getattr^I= lo_getattr,$

ERROR: code indent should never use tabs
#1217: FILE: tools/virtiofsd/passthrough_ll.c:1190:
+^I.setattr^I= lo_setattr,$

ERROR: code indent should never use tabs
#1218: FILE: tools/virtiofsd/passthrough_ll.c:1191:
+^I.readlink^I= lo_readlink,$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/passthrough_ll.c:1192:
+^I.opendir^I= lo_opendir,$

ERROR: code indent should never use tabs
#1220: FILE: tools/virtiofsd/passthrough_ll.c:1193:
+^I.readdir^I= lo_readdir,$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/passthrough_ll.c:1194:
+^I.readdirplus^I= lo_readdirplus,$

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/passthrough_ll.c:1195:
+^I.releasedir^I= lo_releasedir,$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/passthrough_ll.c:1196:
+^I.fsyncdir^I= lo_fsyncdir,$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/passthrough_ll.c:1197:
+^I.create^I^I= lo_create,$

ERROR: code indent should never use tabs
#1225: FILE: tools/virtiofsd/passthrough_ll.c:1198:
+^I.open^I^I= lo_open,$

ERROR: code indent should never use tabs
#1226: FILE: tools/virtiofsd/passthrough_ll.c:1199:
+^I.release^I= lo_release,$

ERROR: code indent should never use tabs
#1227: FILE: tools/virtiofsd/passthrough_ll.c:1200:
+^I.flush^I^I= lo_flush,$

ERROR: code indent should never use tabs
#1228: FILE: tools/virtiofsd/passthrough_ll.c:1201:
+^I.fsync^I^I= lo_fsync,$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/passthrough_ll.c:1202:
+^I.read^I^I= lo_read,$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/passthrough_ll.c:1203:
+^I.write_buf      = lo_write_buf,$

ERROR: code indent should never use tabs
#1231: FILE: tools/virtiofsd/passthrough_ll.c:1204:
+^I.statfs^I^I= lo_statfs,$

ERROR: code indent should never use tabs
#1232: FILE: tools/virtiofsd/passthrough_ll.c:1205:
+^I.fallocate^I= lo_fallocate,$

ERROR: code indent should never use tabs
#1233: FILE: tools/virtiofsd/passthrough_ll.c:1206:
+^I.flock^I^I= lo_flock,$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/passthrough_ll.c:1207:
+^I.getxattr^I= lo_getxattr,$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/passthrough_ll.c:1208:
+^I.listxattr^I= lo_listxattr,$

ERROR: code indent should never use tabs
#1236: FILE: tools/virtiofsd/passthrough_ll.c:1209:
+^I.setxattr^I= lo_setxattr,$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/passthrough_ll.c:1210:
+^I.removexattr^I= lo_removexattr,$

ERROR: code indent should never use tabs
#1239: FILE: tools/virtiofsd/passthrough_ll.c:1212:
+^I.copy_file_range = lo_copy_file_range,$

ERROR: code indent should never use tabs
#1241: FILE: tools/virtiofsd/passthrough_ll.c:1214:
+^I.lseek^I^I= lo_lseek,$

ERROR: code indent should never use tabs
#1246: FILE: tools/virtiofsd/passthrough_ll.c:1219:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/passthrough_ll.c:1220:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/passthrough_ll.c:1221:
+^Istruct fuse_cmdline_opts opts;$

ERROR: code indent should never use tabs
#1249: FILE: tools/virtiofsd/passthrough_ll.c:1222:
+^Istruct lo_data lo = { .debug = 0,$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/passthrough_ll.c:1223:
+^I                      .writeback = 0 };$

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/passthrough_ll.c:1224:
+^Iint ret = -1;$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/passthrough_ll.c:1226:
+^I/* Don't mask creation mode, kernel already did that */$

ERROR: code indent should never use tabs
#1254: FILE: tools/virtiofsd/passthrough_ll.c:1227:
+^Iumask(0);$

ERROR: code indent should never use tabs
#1256: FILE: tools/virtiofsd/passthrough_ll.c:1229:
+^Ipthread_mutex_init(&lo.mutex, NULL);$

ERROR: code indent should never use tabs
#1257: FILE: tools/virtiofsd/passthrough_ll.c:1230:
+^Ilo.root.next = lo.root.prev = &lo.root;$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/passthrough_ll.c:1231:
+^Ilo.root.fd = -1;$

ERROR: code indent should never use tabs
#1259: FILE: tools/virtiofsd/passthrough_ll.c:1232:
+^Ilo.cache = CACHE_NORMAL;$

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/passthrough_ll.c:1234:
+^Iif (fuse_parse_cmdline(&args, &opts) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1261: FILE: tools/virtiofsd/passthrough_ll.c:1234:
+       if (fuse_parse_cmdline(&args, &opts) != 0)
[...]

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/passthrough_ll.c:1235:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/passthrough_ll.c:1236:
+^Iif (opts.show_help) {$

ERROR: code indent should never use tabs
#1264: FILE: tools/virtiofsd/passthrough_ll.c:1237:
+^I^Iprintf("usage: %s [options] <mountpoint>\n\n", argv[0]);$

ERROR: code indent should never use tabs
#1265: FILE: tools/virtiofsd/passthrough_ll.c:1238:
+^I^Ifuse_cmdline_help();$

ERROR: code indent should never use tabs
#1266: FILE: tools/virtiofsd/passthrough_ll.c:1239:
+^I^Ifuse_lowlevel_help();$

ERROR: code indent should never use tabs
#1267: FILE: tools/virtiofsd/passthrough_ll.c:1240:
+^I^Iret = 0;$

ERROR: code indent should never use tabs
#1268: FILE: tools/virtiofsd/passthrough_ll.c:1241:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1269: FILE: tools/virtiofsd/passthrough_ll.c:1242:
+^I} else if (opts.show_version) {$

ERROR: code indent should never use tabs
#1270: FILE: tools/virtiofsd/passthrough_ll.c:1243:
+^I^Iprintf("FUSE library version %s\n", fuse_pkgversion());$

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/passthrough_ll.c:1244:
+^I^Ifuse_lowlevel_version();$

ERROR: code indent should never use tabs
#1272: FILE: tools/virtiofsd/passthrough_ll.c:1245:
+^I^Iret = 0;$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/passthrough_ll.c:1246:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1274: FILE: tools/virtiofsd/passthrough_ll.c:1247:
+^I}$

ERROR: code indent should never use tabs
#1276: FILE: tools/virtiofsd/passthrough_ll.c:1249:
+^Iif(opts.mountpoint == NULL) {$

ERROR: space required before the open parenthesis '('
#1276: FILE: tools/virtiofsd/passthrough_ll.c:1249:
+       if(opts.mountpoint == NULL) {

ERROR: code indent should never use tabs
#1277: FILE: tools/virtiofsd/passthrough_ll.c:1250:
+^I^Iprintf("usage: %s [options] <mountpoint>\n", argv[0]);$

ERROR: code indent should never use tabs
#1278: FILE: tools/virtiofsd/passthrough_ll.c:1251:
+^I^Iprintf("       %s --help\n", argv[0]);$

ERROR: code indent should never use tabs
#1279: FILE: tools/virtiofsd/passthrough_ll.c:1252:
+^I^Iret = 1;$

ERROR: code indent should never use tabs
#1280: FILE: tools/virtiofsd/passthrough_ll.c:1253:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1281: FILE: tools/virtiofsd/passthrough_ll.c:1254:
+^I}$

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+^Iif (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)$

ERROR: spaces required around that '==' (ctx:VxW)
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+       if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)
                                                     ^

ERROR: braces {} are necessary for all arms of this statement
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+       if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)
[...]

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/passthrough_ll.c:1257:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1286: FILE: tools/virtiofsd/passthrough_ll.c:1259:
+^Ilo.debug = opts.debug;$

ERROR: code indent should never use tabs
#1287: FILE: tools/virtiofsd/passthrough_ll.c:1260:
+^Ilo.root.refcount = 2;$

ERROR: code indent should never use tabs
#1288: FILE: tools/virtiofsd/passthrough_ll.c:1261:
+^Iif (lo.source) {$

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/passthrough_ll.c:1262:
+^I^Istruct stat stat;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/passthrough_ll.c:1263:
+^I^Iint res;$

ERROR: code indent should never use tabs
#1292: FILE: tools/virtiofsd/passthrough_ll.c:1265:
+^I^Ires = lstat(lo.source, &stat);$

ERROR: code indent should never use tabs
#1293: FILE: tools/virtiofsd/passthrough_ll.c:1266:
+^I^Iif (res == -1) {$

WARNING: line over 80 characters
#1294: FILE: tools/virtiofsd/passthrough_ll.c:1267:
+                       fuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): 
%m\n",

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/passthrough_ll.c:1267:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): %m\n",$

ERROR: code indent should never use tabs
#1295: FILE: tools/virtiofsd/passthrough_ll.c:1268:
+^I^I^I^I lo.source);$

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/passthrough_ll.c:1269:
+^I^I^Iexit(1);$

ERROR: code indent should never use tabs
#1297: FILE: tools/virtiofsd/passthrough_ll.c:1270:
+^I^I}$

ERROR: code indent should never use tabs
#1298: FILE: tools/virtiofsd/passthrough_ll.c:1271:
+^I^Iif (!S_ISDIR(stat.st_mode)) {$

ERROR: code indent should never use tabs
#1299: FILE: tools/virtiofsd/passthrough_ll.c:1272:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "source is not a directory\n");$

ERROR: code indent should never use tabs
#1300: FILE: tools/virtiofsd/passthrough_ll.c:1273:
+^I^I^Iexit(1);$

ERROR: code indent should never use tabs
#1301: FILE: tools/virtiofsd/passthrough_ll.c:1274:
+^I^I}$

ERROR: code indent should never use tabs
#1303: FILE: tools/virtiofsd/passthrough_ll.c:1276:
+^I} else {$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/passthrough_ll.c:1277:
+^I^Ilo.source = "/";$

ERROR: code indent should never use tabs
#1305: FILE: tools/virtiofsd/passthrough_ll.c:1278:
+^I}$

ERROR: code indent should never use tabs
#1306: FILE: tools/virtiofsd/passthrough_ll.c:1279:
+^Ilo.root.is_symlink = false;$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/passthrough_ll.c:1280:
+^Iif (!lo.timeout_set) {$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/passthrough_ll.c:1281:
+^I^Iswitch (lo.cache) {$

ERROR: code indent should never use tabs
#1309: FILE: tools/virtiofsd/passthrough_ll.c:1282:
+^I^Icase CACHE_NEVER:$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/passthrough_ll.c:1283:
+^I^I^Ilo.timeout = 0.0;$

ERROR: code indent should never use tabs
#1311: FILE: tools/virtiofsd/passthrough_ll.c:1284:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1313: FILE: tools/virtiofsd/passthrough_ll.c:1286:
+^I^Icase CACHE_NORMAL:$

ERROR: code indent should never use tabs
#1314: FILE: tools/virtiofsd/passthrough_ll.c:1287:
+^I^I^Ilo.timeout = 1.0;$

ERROR: code indent should never use tabs
#1315: FILE: tools/virtiofsd/passthrough_ll.c:1288:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/passthrough_ll.c:1290:
+^I^Icase CACHE_ALWAYS:$

ERROR: code indent should never use tabs
#1318: FILE: tools/virtiofsd/passthrough_ll.c:1291:
+^I^I^Ilo.timeout = 86400.0;$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/passthrough_ll.c:1292:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/passthrough_ll.c:1293:
+^I^I}$

ERROR: code indent should never use tabs
#1321: FILE: tools/virtiofsd/passthrough_ll.c:1294:
+^I} else if (lo.timeout < 0) {$

ERROR: code indent should never use tabs
#1322: FILE: tools/virtiofsd/passthrough_ll.c:1295:
+^I^Ifuse_log(FUSE_LOG_ERR, "timeout is negative (%lf)\n",$

ERROR: code indent should never use tabs
#1323: FILE: tools/virtiofsd/passthrough_ll.c:1296:
+^I^I^I lo.timeout);$

ERROR: code indent should never use tabs
#1324: FILE: tools/virtiofsd/passthrough_ll.c:1297:
+^I^Iexit(1);$

ERROR: code indent should never use tabs
#1325: FILE: tools/virtiofsd/passthrough_ll.c:1298:
+^I}$

ERROR: code indent should never use tabs
#1327: FILE: tools/virtiofsd/passthrough_ll.c:1300:
+^Ilo.root.fd = open(lo.source, O_PATH);$

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/passthrough_ll.c:1301:
+^Iif (lo.root.fd == -1) {$

ERROR: code indent should never use tabs
#1329: FILE: tools/virtiofsd/passthrough_ll.c:1302:
+^I^Ifuse_log(FUSE_LOG_ERR, "open(\"%s\", O_PATH): %m\n",$

ERROR: code indent should never use tabs
#1330: FILE: tools/virtiofsd/passthrough_ll.c:1303:
+^I^I^I lo.source);$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/passthrough_ll.c:1304:
+^I^Iexit(1);$

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/passthrough_ll.c:1305:
+^I}$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/passthrough_ll.c:1307:
+^Ise = fuse_session_new(&args, &lo_oper, sizeof(lo_oper), &lo);$

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/passthrough_ll.c:1308:
+^Iif (se == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1335: FILE: tools/virtiofsd/passthrough_ll.c:1308:
+       if (se == NULL)
[...]

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/passthrough_ll.c:1309:
+^I    goto err_out1;$

ERROR: code indent should never use tabs
#1338: FILE: tools/virtiofsd/passthrough_ll.c:1311:
+^Iif (fuse_set_signal_handlers(se) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1338: FILE: tools/virtiofsd/passthrough_ll.c:1311:
+       if (fuse_set_signal_handlers(se) != 0)
[...]

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/passthrough_ll.c:1312:
+^I    goto err_out2;$

ERROR: code indent should never use tabs
#1341: FILE: tools/virtiofsd/passthrough_ll.c:1314:
+^Iif (fuse_session_mount(se, opts.mountpoint) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1341: FILE: tools/virtiofsd/passthrough_ll.c:1314:
+       if (fuse_session_mount(se, opts.mountpoint) != 0)
[...]

ERROR: code indent should never use tabs
#1342: FILE: tools/virtiofsd/passthrough_ll.c:1315:
+^I    goto err_out3;$

ERROR: code indent should never use tabs
#1344: FILE: tools/virtiofsd/passthrough_ll.c:1317:
+^Ifuse_daemonize(opts.foreground);$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/passthrough_ll.c:1319:
+^I/* Block until ctrl+c or fusermount -u */$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/passthrough_ll.c:1320:
+^Iif (opts.singlethread)$

ERROR: braces {} are necessary for all arms of this statement
#1347: FILE: tools/virtiofsd/passthrough_ll.c:1320:
+       if (opts.singlethread)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1348: FILE: tools/virtiofsd/passthrough_ll.c:1321:
+^I^Iret = fuse_session_loop(se);$

ERROR: code indent should never use tabs
#1349: FILE: tools/virtiofsd/passthrough_ll.c:1322:
+^Ielse$

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/passthrough_ll.c:1323:
+^I^Iret = fuse_session_loop_mt(se, opts.clone_fd);$

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/passthrough_ll.c:1325:
+^Ifuse_session_unmount(se);$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/passthrough_ll.c:1327:
+^Ifuse_remove_signal_handlers(se);$

ERROR: code indent should never use tabs
#1356: FILE: tools/virtiofsd/passthrough_ll.c:1329:
+^Ifuse_session_destroy(se);$

ERROR: code indent should never use tabs
#1358: FILE: tools/virtiofsd/passthrough_ll.c:1331:
+^Ifree(opts.mountpoint);$

ERROR: code indent should never use tabs
#1359: FILE: tools/virtiofsd/passthrough_ll.c:1332:
+^Ifuse_opt_free_args(&args);$

ERROR: code indent should never use tabs
#1361: FILE: tools/virtiofsd/passthrough_ll.c:1334:
+^Iif (lo.root.fd >= 0)$

ERROR: braces {} are necessary for all arms of this statement
#1361: FILE: tools/virtiofsd/passthrough_ll.c:1334:
+       if (lo.root.fd >= 0)
[...]

ERROR: code indent should never use tabs
#1362: FILE: tools/virtiofsd/passthrough_ll.c:1335:
+^I^Iclose(lo.root.fd);$

ERROR: code indent should never use tabs
#1364: FILE: tools/virtiofsd/passthrough_ll.c:1337:
+^Ireturn ret ? 1 : 0;$

total: 954 errors, 30 warnings, 1338 lines checked

Patch 5/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/111 Checking commit fb4748c6a5f2 (virtiofsd: Trim down imported files)
ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/buffer.c:184:
+^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#390: FILE: tools/virtiofsd/fuse_lowlevel.c:179:
+^Iabort(); /* virtio should have taken it before here */$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_lowlevel.c:475:
+^Iabort(); /* Will have taken vhost path */$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_lowlevel.c:1046:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#874: FILE: tools/virtiofsd/fuse_lowlevel.c:2142:
+^Iin = buf->mem;$

ERROR: code indent should never use tabs
#883: FILE: tools/virtiofsd/fuse_lowlevel.c:2164:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_lowlevel.c:2171:
+^Ireq->ch = ch;$

total: 7 errors, 0 warnings, 1422 lines checked

Patch 6/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

7/111 Checking commit 0bee017ccff5 (virtiofsd: Format imported files to qemu 
style)
WARNING: Block comments use a leading /* on a separate line
#3151: FILE: tools/virtiofsd/fuse_common.h:720:
+    ((struct fuse_bufvec){ /* .count= */ 1,                           \

WARNING: Block comments use a leading /* on a separate line
#3152: FILE: tools/virtiofsd/fuse_common.h:721:
+                           /* .idx =  */ 0,                           \

WARNING: Block comments use a leading /* on a separate line
#3153: FILE: tools/virtiofsd/fuse_common.h:722:
+                           /* .off =  */ 0, /* .buf =  */             \

WARNING: Block comments use a leading /* on a separate line
#3154: FILE: tools/virtiofsd/fuse_common.h:723:
+                           { /* [0] = */ {                            \

WARNING: Block comments use a leading /* on a separate line
#3155: FILE: tools/virtiofsd/fuse_common.h:724:
+                               /* .size =  */ (size__),               \

WARNING: Block comments use a leading /* on a separate line
#3156: FILE: tools/virtiofsd/fuse_common.h:725:
+                               /* .flags = */ (enum fuse_buf_flags)0, \

WARNING: Block comments use a leading /* on a separate line
#3157: FILE: tools/virtiofsd/fuse_common.h:726:
+                               /* .mem =   */ NULL,                   \

WARNING: Block comments use a leading /* on a separate line
#3158: FILE: tools/virtiofsd/fuse_common.h:727:
+                               /* .fd =    */ -1,                     \

WARNING: Block comments use a leading /* on a separate line
#3159: FILE: tools/virtiofsd/fuse_common.h:728:
+                               /* .pos =   */ 0,                      \

WARNING: architecture specific defines should be avoided
#3208: FILE: tools/virtiofsd/fuse_common.h:799:
+#if defined(__GNUC__) &&                                      \

ERROR: Use of volatile is usually wrong, please add a comment
#3319: FILE: tools/virtiofsd/fuse_i.h:44:
+    volatile int exited;

ERROR: spaces required around that '*' (ctx:WxV)
#3556: FILE: tools/virtiofsd/fuse_lowlevel.c:36:
+        const typeof(((type *)0)->member) *__mptr = (ptr); \
                                           ^

ERROR: use qemu_real_host_page_size instead of getpagesize()
#3572: FILE: tools/virtiofsd/fuse_lowlevel.c:49:
+    pagesize = getpagesize();

ERROR: use qemu_real_host_page_size instead of getpagesize()
#6228: FILE: tools/virtiofsd/fuse_lowlevel.c:1683:
+                FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() +

ERROR: Macros with complex values should be enclosed in parenthesis
#6296: FILE: tools/virtiofsd/fuse_lowlevel.c:1713:
+#define LL_SET_DEFAULT(cond, cap)             \
+    if ((cond) && (se->conn.capable & (cap))) \
+        se->conn.want |= (cap)

ERROR: use qemu_real_host_page_size instead of getpagesize()
#6370: FILE: tools/virtiofsd/fuse_lowlevel.c:1763:
+        outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;

ERROR: use qemu_real_host_page_size instead of getpagesize()
#7489: FILE: tools/virtiofsd/fuse_lowlevel.c:2436:
+    se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() + FUSE_BUFFER_HEADER_SIZE;

ERROR: consider using qemu_strtoul in preference to strtoul
#7707: FILE: tools/virtiofsd/fuse_lowlevel.c:2567:
+        unsigned long val = strtoul(s, &end, 0);

ERROR: Macros with complex values should be enclosed in parenthesis
#11887: FILE: tools/virtiofsd/helper.c:260:
+#define LL_ENABLE(cond, cap) \
+    if (cond)                \
+        conn->want |= (cap)

ERROR: Macros with complex values should be enclosed in parenthesis
#11890: FILE: tools/virtiofsd/helper.c:263:
+#define LL_DISABLE(cond, cap) \
+    if (cond)                 \
+        conn->want &= ~(cap)

WARNING: architecture specific defines should be avoided
#12088: FILE: tools/virtiofsd/passthrough_ll.c:67:
+#if defined(__GNUC__) &&                                      \

total: 10 errors, 11 warnings, 14038 lines checked

Patch 7/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/111 Checking commit 12da0829f0a1 (virtiofsd: remove mountpoint dummy argument)
9/111 Checking commit 609c48ca3464 (virtiofsd: remove unused notify reply 
support)
10/111 Checking commit 272f0aef76b5 (virtiofsd: Remove unused enum 
fuse_buf_copy_flags)
11/111 Checking commit ff9eccd086eb (virtiofsd: Fix fuse_daemonize ignored 
return values)
12/111 Checking commit ec05a51bf51d (virtiofsd: Fix common header and define 
for QEMU builds)
13/111 Checking commit 3d3baa60a110 (virtiofsd: Trim out compatibility code)
ERROR: use qemu_real_host_page_size instead of getpagesize()
#412: FILE: tools/virtiofsd/fuse_lowlevel.c:1614:
+        size_t max_bufsize = FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() +

total: 1 errors, 0 warnings, 486 lines checked

Patch 13/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

14/111 Checking commit 59f2c089ac89 (vitriofsd/passthrough_ll: fix fallocate() 
ifdefs)
15/111 Checking commit 727077a2ca9f (virtiofsd: Make fsync work even if only 
inode is passed in)
16/111 Checking commit 8dd452e31237 (virtiofsd: Add options for virtio)
17/111 Checking commit 34bb498970e4 (virtiofsd: add -o source=PATH to help 
output)
18/111 Checking commit b4b44c097f34 (virtiofsd: Open vhost connection instead 
of mounting)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#120: 
new file mode 100644

total: 0 errors, 1 warnings, 192 lines checked

Patch 18/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/111 Checking commit 0554213986dd (virtiofsd: Start wiring up vhost-user)
20/111 Checking commit 9379460f1e3a (virtiofsd: Add main virtio loop)
21/111 Checking commit 5e092733ec98 (virtiofsd: get/set features callbacks)
22/111 Checking commit 43a0f04e30b3 (virtiofsd: Start queue threads)
23/111 Checking commit ac43cd859e67 (virtiofsd: Poll kick_fd for queue)
24/111 Checking commit 67b2916e60be (virtiofsd: Start reading commands from 
queue)
25/111 Checking commit 2aad39d8c85c (virtiofsd: Send replies to messages)
26/111 Checking commit 946ef8269416 (virtiofsd: Keep track of replies)
27/111 Checking commit 0d4e62b4dd51 (virtiofsd: Add Makefile wiring for 
virtiofsd contrib)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#70: 
new file mode 100644

total: 0 errors, 1 warnings, 44 lines checked

Patch 27/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
28/111 Checking commit f827cc9b6caa (virtiofsd: Fast path for virtio read)
29/111 Checking commit bad1151dd6d6 (virtiofsd: add --fd=FDNUM fd passing 
option)
30/111 Checking commit abb1db4299f2 (virtiofsd: make -f (foreground) the 
default)
31/111 Checking commit b891ef85830e (virtiofsd: add vhost-user.json file)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#41: 
new file mode 100644

total: 0 errors, 1 warnings, 19 lines checked

Patch 31/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
32/111 Checking commit 52fd5cdeda71 (virtiofsd: add --print-capabilities option)
33/111 Checking commit 3e1c2941c81f (virtiofs: Add maintainers entry)
34/111 Checking commit 6237c27af71f (virtiofsd: passthrough_ll: create new 
files in caller's context)
35/111 Checking commit c45ea07f5933 (virtiofsd: passthrough_ll: add lo_map for 
ino/fh indirection)
ERROR: storage class should be at the beginning of the declaration
#50: FILE: tools/virtiofsd/passthrough_ll.c:148:
+__attribute__((unused)) static void lo_map_init(struct lo_map *map)

ERROR: storage class should be at the beginning of the declaration
#57: FILE: tools/virtiofsd/passthrough_ll.c:155:
+__attribute__((unused)) static void lo_map_destroy(struct lo_map *map)

ERROR: storage class should be at the beginning of the declaration
#88: FILE: tools/virtiofsd/passthrough_ll.c:186:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#105: FILE: tools/virtiofsd/passthrough_ll.c:203:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#127: FILE: tools/virtiofsd/passthrough_ll.c:225:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#139: FILE: tools/virtiofsd/passthrough_ll.c:237:
+__attribute__((unused)) static void lo_map_remove(struct lo_map *map,

total: 6 errors, 0 warnings, 136 lines checked

Patch 35/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

36/111 Checking commit 38933cd232cd (virtiofsd: passthrough_ll: add ino_map to 
hide lo_inode pointers)
37/111 Checking commit c5494b4b2ca9 (virtiofsd: passthrough_ll: add dirp_map to 
hide lo_dirp pointers)
38/111 Checking commit bc455a783dfe (virtiofsd: passthrough_ll: add fd_map to 
hide file descriptors)
39/111 Checking commit f023992efab4 (virtiofsd: passthrough_ll: add fallback 
for racy ops)
40/111 Checking commit 2b648251d2e7 (virtiofsd: validate path components)
41/111 Checking commit 5fb21b6bf446 (virtiofsd: Plumb fuse_bufvec through to 
do_write_buf)
42/111 Checking commit fba801a2e144 (virtiofsd: Pass write iov's all the way 
through)
43/111 Checking commit 6297f77f3db3 (virtiofsd: add fuse_mbuf_iter API)
44/111 Checking commit 1b03e0838202 (virtiofsd: validate input buffer sizes in 
do_write_buf())
45/111 Checking commit 91b0823ad7c6 (virtiofsd: check input buffer size in 
fuse_lowlevel.c ops)
46/111 Checking commit a75c596815f2 (virtiofsd: prevent ".." escape in 
lo_do_lookup())
47/111 Checking commit 38e6a9f57f5b (virtiofsd: prevent ".." escape in 
lo_do_readdir())
48/111 Checking commit af0815d98cc3 (virtiofsd: use /proc/self/fd/ O_PATH file 
descriptor)
49/111 Checking commit bbe5febc372e (virtiofsd: sandbox mount namespace)
50/111 Checking commit 1a1933b7b929 (virtiofsd: move to an empty network 
namespace)
51/111 Checking commit 0a6181318e2d (virtiofsd: move to a new pid namespace)
52/111 Checking commit 40894f59a792 (virtiofsd: add seccomp whitelist)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#83: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#106: FILE: tools/virtiofsd/seccomp.c:19:
+#if !defined(__SNR_ppoll) && defined(__SNR_brk)

WARNING: architecture specific defines should be avoided
#107: FILE: tools/virtiofsd/seccomp.c:20:
+#ifdef __NR_ppoll

WARNING: architecture specific defines should be avoided
#121: FILE: tools/virtiofsd/seccomp.c:34:
+#ifdef __NR_clone3

WARNING: architecture specific defines should be avoided
#181: FILE: tools/virtiofsd/seccomp.c:94:
+#ifdef __NR_setresgid32

WARNING: architecture specific defines should be avoided
#184: FILE: tools/virtiofsd/seccomp.c:97:
+#ifdef __NR_setresuid32

total: 0 errors, 6 warnings, 205 lines checked

Patch 52/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
53/111 Checking commit 67881a551d77 (virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV)
54/111 Checking commit 74c06be51da5 (virtiofsd: cap-ng helpers)
ERROR: do not initialise statics to 0 or NULL
#59: FILE: tools/virtiofsd/passthrough_ll.c:148:
+static __thread bool cap_loaded = 0;

total: 1 errors, 0 warnings, 124 lines checked

Patch 54/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

55/111 Checking commit 1548483add8c (virtiofsd: Drop CAP_FSETID if client asked 
for it)
56/111 Checking commit b34ef4778aca (virtiofsd: set maximum RLIMIT_NOFILE limit)
57/111 Checking commit 28097ad1df79 (virtiofsd: fix libfuse information leaks)
58/111 Checking commit 9dfd80373f20 (docs: Add docs/tools)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#60: 
new file mode 100644

total: 0 errors, 1 warnings, 60 lines checked

Patch 58/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
59/111 Checking commit b2cbdebdfa70 (virtiofsd: add security guide document)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#26: 
new file mode 100644

total: 0 errors, 1 warnings, 123 lines checked

Patch 59/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
60/111 Checking commit ed8c489ffcc6 (virtiofsd: add --syslog command-line 
option)
ERROR: do not initialise statics to 0 or NULL
#66: FILE: tools/virtiofsd/passthrough_ll.c:142:
+static bool use_syslog = false;

total: 1 errors, 0 warnings, 165 lines checked

Patch 60/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

61/111 Checking commit aec21e375906 (virtiofsd: print log only when priority is 
high enough)
62/111 Checking commit e57649279563 (virtiofsd: Add ID to the log with 
FUSE_LOG_DEBUG level)
63/111 Checking commit e240e7d2cd25 (virtiofsd: Add timestamp to the log with 
FUSE_LOG_DEBUG level)
64/111 Checking commit 3fb6ed295314 (virtiofsd: Handle reinit)
65/111 Checking commit c1bbe998e8c7 (virtiofsd: Handle hard reboot)
66/111 Checking commit 99bc00021169 (virtiofsd: Kill threads when queues are 
stopped)
67/111 Checking commit fe82538ea364 (vhost-user: Print unexpected slave message 
types)
68/111 Checking commit 446814859783 (contrib/libvhost-user: Protect slave fd 
with mutex)
69/111 Checking commit 3c0f02feaecc (virtiofsd: passthrough_ll: add renameat2 
support)
70/111 Checking commit 5bcb4118d33e (virtiofsd: passthrough_ll: disable 
readdirplus on cache=never)
71/111 Checking commit fdafd0b45174 (virtiofsd: passthrough_ll: control 
readdirplus)
72/111 Checking commit 47137cec9d4f (virtiofsd: rename unref_inode() to 
unref_inode_lolocked())
73/111 Checking commit a1f7cd1cce56 (virtiofsd: fail when parent inode isn't 
known in lo_do_lookup())
ERROR: return of an errno should typically be -ve (return -ENOENT)
#33: FILE: tools/virtiofsd/passthrough_ll.c:786:
+        return ENOENT;

total: 1 errors, 0 warnings, 38 lines checked

Patch 73/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

74/111 Checking commit b50d3795d2ec (virtiofsd: extract root inode init into 
setup_root())
75/111 Checking commit e55c0a27ee5c (virtiofsd: passthrough_ll: clean up cache 
related options)
76/111 Checking commit 0187ecb5bb0b (virtiofsd: passthrough_ll: use hashtable)
77/111 Checking commit 9e8b02e29b7b (virtiofsd: Clean up inodes on destroy)
78/111 Checking commit d07081b4c1ce (virtiofsd: support nanosecond resolution 
for file timestamp)
79/111 Checking commit 97b7ba6c16fb (virtiofsd: fix error handling in main())
80/111 Checking commit 4e23b88637d3 (virtiofsd: cleanup allocated resource in 
se)
81/111 Checking commit 34937ad22fbb (virtiofsd: fix memory leak on lo.source)
82/111 Checking commit b96a63cb7102 (virtiofsd: add helper for lo_data cleanup)
83/111 Checking commit ed19172b8268 (virtiofsd: Prevent multiply running with 
same vhost_user_socket)
84/111 Checking commit 45b84fed0705 (virtiofsd: enable PARALLEL_DIROPS during 
INIT)
85/111 Checking commit b034067772e6 (virtiofsd: fix incorrect error handling in 
lo_do_lookup)
86/111 Checking commit 97b37e40d63c (Virtiofsd: fix memory leak on fuse 
queueinfo)
87/111 Checking commit b27bd89b9f02 (virtiofsd: Support remote posix locks)
88/111 Checking commit f187715feb05 (virtiofsd: use fuse_lowlevel_is_virtio() 
in fuse_session_destroy())
89/111 Checking commit 148e0b8ab812 (virtiofsd: prevent fv_queue_thread() vs 
virtio_loop() races)
90/111 Checking commit 7ad63cec863d (virtiofsd: make lo_release() atomic)
91/111 Checking commit 40339634f2a6 (virtiofsd: prevent races with 
lo_dirp_put())
92/111 Checking commit 135fd20f8a90 (virtiofsd: rename inode->refcount to 
inode->nlookup)
93/111 Checking commit 7ad9f9216367 (libvhost-user: Fix some memtable remap 
cases)
94/111 Checking commit 6a52a9c9413e (virtiofsd: add man page)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#51: 
new file mode 100644

total: 0 errors, 1 warnings, 129 lines checked

Patch 94/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
95/111 Checking commit b30da17f8cab (virtiofsd: passthrough_ll: fix refcounting 
on remove/rename)
96/111 Checking commit 91b20954c1e4 (virtiofsd: introduce inode refcount to 
prevent use-after-free)
97/111 Checking commit 54af8fae2e6d (virtiofsd: do not always set 
FUSE_FLOCK_LOCKS)
98/111 Checking commit 22ff3861c463 (virtiofsd: convert more fprintf and perror 
to use fuse log infra)
99/111 Checking commit 7d962ffbb6c8 (virtiofsd: Reset O_DIRECT flag during file 
open)
100/111 Checking commit 7c74ca3bd996 (virtiofsd: Fix data corruption with 
O_APPEND write in writeback mode)
101/111 Checking commit 90e41c708674 (virtiofsd: passthrough_ll: Use 
cache_readdir for directory open)
102/111 Checking commit 5e0bc6503cc9 (virtiofsd: add definition of 
fuse_buf_writev())
103/111 Checking commit 5d532a42dbe5 (virtiofsd: use fuse_buf_writev to replace 
fuse_buf_write for better performance)
104/111 Checking commit e50a5017ab42 (virtiofsd: process requests in a thread 
pool)
WARNING: Block comments use a leading /* on a separate line
#333: FILE: tools/virtiofsd/fuse_virtio.c:577:
+    pool = g_thread_pool_new(fv_queue_worker, qi, 1 /* TODO max_threads */,

total: 0 errors, 1 warnings, 466 lines checked

Patch 104/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
105/111 Checking commit d6d15b34a05d (virtiofsd: prevent FUSE_INIT/FUSE_DESTROY 
races)
106/111 Checking commit 36d22965f434 (virtiofsd: fix lo_destroy() resource 
leaks)
107/111 Checking commit 1f3e36c48804 (virtiofsd: add --thread-pool-size=NUM 
option)
108/111 Checking commit 1d37492cc0d4 (virtiofsd: Convert lo_destroy to take the 
lo->mutex lock itself)
109/111 Checking commit dc2cd3d1a75f (virtiofsd/passthrough_ll: Pass errno to 
fuse_reply_err())
110/111 Checking commit 571166aed358 (virtiofsd: stop all queue threads on exit 
in virtio_loop())
111/111 Checking commit 01f242fef1e8 (virtiofsd: add some options to the help 
message)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/address@hidden/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]