All of lore.kernel.org
 help / color / mirror / Atom feed
From: no-reply@patchew.org
To: dgilbert@redhat.com
Cc: qemu-devel@nongnu.org, stefanha@redhat.com
Subject: Re: [PULL 000/108] virtiofs queue
Date: Thu, 23 Jan 2020 13:18:16 -0800 (PST)	[thread overview]
Message-ID: <157981429553.18655.2517275928872573913@f6d1ed32ca6b> (raw)
In-Reply-To: <20200123164630.91498-1-dgilbert@redhat.com>

Patchew URL: https://patchew.org/QEMU/20200123164630.91498-1-dgilbert@redhat.com/



Hi,

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

Type: series
Message-id: 20200123164630.91498-1-dgilbert@redhat.com
Subject: [PULL 000/108] 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 ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20200123170544.30117-1-kwolf@redhat.com -> patchew/20200123170544.30117-1-kwolf@redhat.com
Switched to a new branch 'test'
02e4c6d virtiofsd: add some options to the help message
91b9210 virtiofsd: stop all queue threads on exit in virtio_loop()
9325310 virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()
698292e virtiofsd: Convert lo_destroy to take the lo->mutex lock itself
72ece8f virtiofsd: add --thread-pool-size=NUM option
87504eb virtiofsd: fix lo_destroy() resource leaks
b573bdd virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races
322bbdc virtiofsd: process requests in a thread pool
0e583a1 virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance
4fda6a6 virtiofsd: add definition of fuse_buf_writev()
1f67fb7 virtiofsd: passthrough_ll: Use cache_readdir for directory open
9e739a1 virtiofsd: Fix data corruption with O_APPEND write in writeback mode
e5ee594 virtiofsd: Reset O_DIRECT flag during file open
269002e virtiofsd: convert more fprintf and perror to use fuse log infra
649aa49 virtiofsd: do not always set FUSE_FLOCK_LOCKS
a769832 virtiofsd: introduce inode refcount to prevent use-after-free
c70b7ee virtiofsd: passthrough_ll: fix refcounting on remove/rename
604298d libvhost-user: Fix some memtable remap cases
2ad1f55 virtiofsd: rename inode->refcount to inode->nlookup
f00cb4e virtiofsd: prevent races with lo_dirp_put()
b6ff58c virtiofsd: make lo_release() atomic
c1c535a virtiofsd: prevent fv_queue_thread() vs virtio_loop() races
aead534 virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy()
b76abf5 virtiofsd: Support remote posix locks
6902eb8 Virtiofsd: fix memory leak on fuse queueinfo
be5097a virtiofsd: fix incorrect error handling in lo_do_lookup
9006657 virtiofsd: enable PARALLEL_DIROPS during INIT
4706f46 virtiofsd: Prevent multiply running with same vhost_user_socket
f211a36 virtiofsd: add helper for lo_data cleanup
38200c6 virtiofsd: fix memory leak on lo.source
7f99afc virtiofsd: cleanup allocated resource in se
a1522ea virtiofsd: fix error handling in main()
f0e3fbc virtiofsd: support nanosecond resolution for file timestamp
0220aed virtiofsd: Clean up inodes on destroy
7a380f3 virtiofsd: passthrough_ll: use hashtable
1e21a9c virtiofsd: passthrough_ll: clean up cache related options
1b05316 virtiofsd: extract root inode init into setup_root()
1c063c8 virtiofsd: fail when parent inode isn't known in lo_do_lookup()
7ddb8e2 virtiofsd: rename unref_inode() to unref_inode_lolocked()
4dd6c3a virtiofsd: passthrough_ll: control readdirplus
b9097c9 virtiofsd: passthrough_ll: disable readdirplus on cache=never
c0279a6 virtiofsd: passthrough_ll: add renameat2 support
824a1db contrib/libvhost-user: Protect slave fd with mutex
851e8ec vhost-user: Print unexpected slave message types
818e2fc virtiofsd: Kill threads when queues are stopped
f04fe35 virtiofsd: Handle hard reboot
4002eb6 virtiofsd: Handle reinit
c257992 virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level
fb926ee virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level
776503c virtiofsd: print log only when priority is high enough
d19e062 virtiofsd: add --syslog command-line option
788d319 virtiofsd: fix libfuse information leaks
8b61e80 virtiofsd: set maximum RLIMIT_NOFILE limit
e137992 virtiofsd: Drop CAP_FSETID if client asked for it
9cc34cc virtiofsd: cap-ng helpers
7a02936 virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV
95d60ee virtiofsd: add seccomp whitelist
eb214a7 virtiofsd: move to a new pid namespace
3228cd4 virtiofsd: move to an empty network namespace
f20606a virtiofsd: sandbox mount namespace
b8b6552 virtiofsd: use /proc/self/fd/ O_PATH file descriptor
c3f5b07 virtiofsd: prevent ".." escape in lo_do_readdir()
3cb4463 virtiofsd: prevent ".." escape in lo_do_lookup()
3d11f12 virtiofsd: check input buffer size in fuse_lowlevel.c ops
38b34ea virtiofsd: validate input buffer sizes in do_write_buf()
9c34b09 virtiofsd: add fuse_mbuf_iter API
6b7914f virtiofsd: Pass write iov's all the way through
78d7979 virtiofsd: Plumb fuse_bufvec through to do_write_buf
408f8a1 virtiofsd: validate path components
bca92ad virtiofsd: passthrough_ll: add fallback for racy ops
3ed5357 virtiofsd: passthrough_ll: add fd_map to hide file descriptors
fad5ec7 virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers
db71a83 virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers
5a8812e virtiofsd: passthrough_ll: add lo_map for ino/fh indirection
d66da85 virtiofsd: passthrough_ll: create new files in caller's context
cffa2ea virtiofs: Add maintainers entry
c317252 virtiofsd: add --print-capabilities option
f437f8d virtiofsd: add vhost-user.json file
bd6c9f4 virtiofsd: make -f (foreground) the default
312e7d4 virtiofsd: add --fd=FDNUM fd passing option
52a2eec virtiofsd: Fast path for virtio read
ca3b0f6 virtiofsd: Add Makefile wiring for virtiofsd contrib
9e7093d virtiofsd: Keep track of replies
5bece7b virtiofsd: Send replies to messages
1372ebd virtiofsd: Start reading commands from queue
36e6c52 virtiofsd: Poll kick_fd for queue
440938d virtiofsd: Start queue threads
ad8b170 virtiofsd: get/set features callbacks
287b48c virtiofsd: Add main virtio loop
fef307e virtiofsd: Start wiring up vhost-user
0839049 virtiofsd: Open vhost connection instead of mounting
87cb3ca virtiofsd: add -o source=PATH to help output
a6f8a68 virtiofsd: Add options for virtio
01b4a15 virtiofsd: Make fsync work even if only inode is passed in
674d18b vitriofsd/passthrough_ll: fix fallocate() ifdefs
afdaf8e virtiofsd: Trim out compatibility code
85d350a virtiofsd: Fix common header and define for QEMU builds
470bf03 virtiofsd: Fix fuse_daemonize ignored return values
988582c virtiofsd: Remove unused enum fuse_buf_copy_flags
e0ade3b virtiofsd: remove unused notify reply support
40408f0 virtiofsd: remove mountpoint dummy argument
c695a07 virtiofsd: Format imported files to qemu style
4de66b5 virtiofsd: Trim down imported files
b0e9634 virtiofsd: Add passthrough_ll
dcd7ad1 virtiofsd: Add fuse_lowlevel.c
40b6782 virtiofsd: Add auxiliary .c's
63a5daf virtiofsd: Pull in kernel's fuse.h
ed88b1c virtiofsd: Pull in upstream headers

=== OUTPUT BEGIN ===
1/108 Checking commit ed88b1c5bf93 (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 <miklos@szeredi.hu>

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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/108 Checking commit 63a5dafc867f (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/108 Checking commit 40b67822938b (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/108 Checking commit dcd7ad1f8b54 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/108 Checking commit b0e96343f9cf (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/108 Checking commit 4de66b5b1207 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

7/108 Checking commit c695a07e2df4 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/108 Checking commit 40408f0a4239 (virtiofsd: remove mountpoint dummy argument)
9/108 Checking commit e0ade3b24dea (virtiofsd: remove unused notify reply support)
10/108 Checking commit 988582cce94b (virtiofsd: Remove unused enum fuse_buf_copy_flags)
11/108 Checking commit 470bf03530a4 (virtiofsd: Fix fuse_daemonize ignored return values)
12/108 Checking commit 85d350a61df8 (virtiofsd: Fix common header and define for QEMU builds)
13/108 Checking commit afdaf8ea7ba4 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

14/108 Checking commit 674d18bfe6a0 (vitriofsd/passthrough_ll: fix fallocate() ifdefs)
15/108 Checking commit 01b4a15a5110 (virtiofsd: Make fsync work even if only inode is passed in)
16/108 Checking commit a6f8a688a96b (virtiofsd: Add options for virtio)
17/108 Checking commit 87cb3caee7f9 (virtiofsd: add -o source=PATH to help output)
18/108 Checking commit 083904978e42 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/108 Checking commit fef307e7df1d (virtiofsd: Start wiring up vhost-user)
20/108 Checking commit 287b48cb387e (virtiofsd: Add main virtio loop)
21/108 Checking commit ad8b170e940e (virtiofsd: get/set features callbacks)
22/108 Checking commit 440938ddf944 (virtiofsd: Start queue threads)
23/108 Checking commit 36e6c52c582c (virtiofsd: Poll kick_fd for queue)
24/108 Checking commit 1372ebdac6c3 (virtiofsd: Start reading commands from queue)
25/108 Checking commit 5bece7bc1bed (virtiofsd: Send replies to messages)
26/108 Checking commit 9e7093d27c97 (virtiofsd: Keep track of replies)
27/108 Checking commit ca3b0f6d8ff0 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
28/108 Checking commit 52a2eec7b8dd (virtiofsd: Fast path for virtio read)
29/108 Checking commit 312e7d4a9705 (virtiofsd: add --fd=FDNUM fd passing option)
30/108 Checking commit bd6c9f420399 (virtiofsd: make -f (foreground) the default)
31/108 Checking commit f437f8d68ea7 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
32/108 Checking commit c3172526b8aa (virtiofsd: add --print-capabilities option)
33/108 Checking commit cffa2eada53f (virtiofs: Add maintainers entry)
34/108 Checking commit d66da85d0c3e (virtiofsd: passthrough_ll: create new files in caller's context)
35/108 Checking commit 5a8812e49283 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

36/108 Checking commit db71a83e306e (virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers)
37/108 Checking commit fad5ec76c542 (virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers)
38/108 Checking commit 3ed53576c346 (virtiofsd: passthrough_ll: add fd_map to hide file descriptors)
39/108 Checking commit bca92ad4101a (virtiofsd: passthrough_ll: add fallback for racy ops)
40/108 Checking commit 408f8a16069f (virtiofsd: validate path components)
41/108 Checking commit 78d7979aa404 (virtiofsd: Plumb fuse_bufvec through to do_write_buf)
42/108 Checking commit 6b7914f009aa (virtiofsd: Pass write iov's all the way through)
43/108 Checking commit 9c34b09ea272 (virtiofsd: add fuse_mbuf_iter API)
44/108 Checking commit 38b34ea4267a (virtiofsd: validate input buffer sizes in do_write_buf())
45/108 Checking commit 3d11f1290722 (virtiofsd: check input buffer size in fuse_lowlevel.c ops)
46/108 Checking commit 3cb44633ac0b (virtiofsd: prevent ".." escape in lo_do_lookup())
47/108 Checking commit c3f5b07b5770 (virtiofsd: prevent ".." escape in lo_do_readdir())
48/108 Checking commit b8b6552b0b69 (virtiofsd: use /proc/self/fd/ O_PATH file descriptor)
49/108 Checking commit f20606af251e (virtiofsd: sandbox mount namespace)
50/108 Checking commit 3228cd452850 (virtiofsd: move to an empty network namespace)
51/108 Checking commit eb214a7e2e19 (virtiofsd: move to a new pid namespace)
52/108 Checking commit 95d60ee9b439 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
53/108 Checking commit 7a0293638d16 (virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV)
54/108 Checking commit 9cc34cc90aa7 (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/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

55/108 Checking commit e13799272dc5 (virtiofsd: Drop CAP_FSETID if client asked for it)
56/108 Checking commit 8b61e8020b0e (virtiofsd: set maximum RLIMIT_NOFILE limit)
57/108 Checking commit 788d31909aa3 (virtiofsd: fix libfuse information leaks)
58/108 Checking commit d19e0624df20 (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 58/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

59/108 Checking commit 776503cd485b (virtiofsd: print log only when priority is high enough)
60/108 Checking commit fb926eea957b (virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level)
61/108 Checking commit c257992aa2b2 (virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level)
62/108 Checking commit 4002eb603ff8 (virtiofsd: Handle reinit)
63/108 Checking commit f04fe35bfa29 (virtiofsd: Handle hard reboot)
64/108 Checking commit 818e2fc00716 (virtiofsd: Kill threads when queues are stopped)
65/108 Checking commit 851e8ec6f0b1 (vhost-user: Print unexpected slave message types)
66/108 Checking commit 824a1db34a76 (contrib/libvhost-user: Protect slave fd with mutex)
67/108 Checking commit c0279a678019 (virtiofsd: passthrough_ll: add renameat2 support)
68/108 Checking commit b9097c9ab5bd (virtiofsd: passthrough_ll: disable readdirplus on cache=never)
69/108 Checking commit 4dd6c3a82a92 (virtiofsd: passthrough_ll: control readdirplus)
70/108 Checking commit 7ddb8e28a38e (virtiofsd: rename unref_inode() to unref_inode_lolocked())
71/108 Checking commit 1c063c8e4268 (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 71/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

72/108 Checking commit 1b0531636fc3 (virtiofsd: extract root inode init into setup_root())
73/108 Checking commit 1e21a9ced978 (virtiofsd: passthrough_ll: clean up cache related options)
74/108 Checking commit 7a380f3f3e58 (virtiofsd: passthrough_ll: use hashtable)
75/108 Checking commit 0220aed8f3ef (virtiofsd: Clean up inodes on destroy)
76/108 Checking commit f0e3fbc22bf8 (virtiofsd: support nanosecond resolution for file timestamp)
77/108 Checking commit a1522eaa7029 (virtiofsd: fix error handling in main())
78/108 Checking commit 7f99afcd6234 (virtiofsd: cleanup allocated resource in se)
79/108 Checking commit 38200c63dfe3 (virtiofsd: fix memory leak on lo.source)
80/108 Checking commit f211a361cfe9 (virtiofsd: add helper for lo_data cleanup)
81/108 Checking commit 4706f46b6c70 (virtiofsd: Prevent multiply running with same vhost_user_socket)
82/108 Checking commit 9006657fa6bb (virtiofsd: enable PARALLEL_DIROPS during INIT)
83/108 Checking commit be5097a9f8e9 (virtiofsd: fix incorrect error handling in lo_do_lookup)
84/108 Checking commit 6902eb89573a (Virtiofsd: fix memory leak on fuse queueinfo)
85/108 Checking commit b76abf527f0e (virtiofsd: Support remote posix locks)
86/108 Checking commit aead5347143a (virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy())
87/108 Checking commit c1c535a7a3b7 (virtiofsd: prevent fv_queue_thread() vs virtio_loop() races)
88/108 Checking commit b6ff58c86e6a (virtiofsd: make lo_release() atomic)
89/108 Checking commit f00cb4ebb1b4 (virtiofsd: prevent races with lo_dirp_put())
90/108 Checking commit 2ad1f55629b0 (virtiofsd: rename inode->refcount to inode->nlookup)
91/108 Checking commit 604298d829b1 (libvhost-user: Fix some memtable remap cases)
92/108 Checking commit c70b7eeeb4ad (virtiofsd: passthrough_ll: fix refcounting on remove/rename)
93/108 Checking commit a769832235ef (virtiofsd: introduce inode refcount to prevent use-after-free)
94/108 Checking commit 649aa4935418 (virtiofsd: do not always set FUSE_FLOCK_LOCKS)
95/108 Checking commit 269002e44f93 (virtiofsd: convert more fprintf and perror to use fuse log infra)
96/108 Checking commit e5ee594338fb (virtiofsd: Reset O_DIRECT flag during file open)
97/108 Checking commit 9e739a1eaa59 (virtiofsd: Fix data corruption with O_APPEND write in writeback mode)
98/108 Checking commit 1f67fb7b203d (virtiofsd: passthrough_ll: Use cache_readdir for directory open)
99/108 Checking commit 4fda6a6b26f4 (virtiofsd: add definition of fuse_buf_writev())
100/108 Checking commit 0e583a177769 (virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance)
101/108 Checking commit 322bbdc8daa2 (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 101/108 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
102/108 Checking commit b573bddfdbde (virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races)
103/108 Checking commit 87504eb0152c (virtiofsd: fix lo_destroy() resource leaks)
104/108 Checking commit 72ece8ff7c59 (virtiofsd: add --thread-pool-size=NUM option)
105/108 Checking commit 698292e5ac7a (virtiofsd: Convert lo_destroy to take the lo->mutex lock itself)
106/108 Checking commit 932531004fc4 (virtiofsd/passthrough_ll: Pass errno to fuse_reply_err())
107/108 Checking commit 91b9210c6f82 (virtiofsd: stop all queue threads on exit in virtio_loop())
108/108 Checking commit 02e4c6d98946 (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/20200123164630.91498-1-dgilbert@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

      parent reply	other threads:[~2020-01-23 23:39 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-23 16:44 [PULL 000/108] virtiofs queue Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 001/108] virtiofsd: Pull in upstream headers Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 002/108] virtiofsd: Pull in kernel's fuse.h Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 003/108] virtiofsd: Add auxiliary .c's Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 004/108] virtiofsd: Add fuse_lowlevel.c Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 005/108] virtiofsd: Add passthrough_ll Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 006/108] virtiofsd: Trim down imported files Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 007/108] virtiofsd: Format imported files to qemu style Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 008/108] virtiofsd: remove mountpoint dummy argument Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 009/108] virtiofsd: remove unused notify reply support Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 010/108] virtiofsd: Remove unused enum fuse_buf_copy_flags Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 011/108] virtiofsd: Fix fuse_daemonize ignored return values Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 012/108] virtiofsd: Fix common header and define for QEMU builds Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 013/108] virtiofsd: Trim out compatibility code Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 014/108] vitriofsd/passthrough_ll: fix fallocate() ifdefs Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 015/108] virtiofsd: Make fsync work even if only inode is passed in Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 016/108] virtiofsd: Add options for virtio Dr. David Alan Gilbert (git)
2020-01-23 16:44 ` [PULL 017/108] virtiofsd: add -o source=PATH to help output Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 018/108] virtiofsd: Open vhost connection instead of mounting Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 019/108] virtiofsd: Start wiring up vhost-user Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 020/108] virtiofsd: Add main virtio loop Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 021/108] virtiofsd: get/set features callbacks Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 022/108] virtiofsd: Start queue threads Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 023/108] virtiofsd: Poll kick_fd for queue Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 024/108] virtiofsd: Start reading commands from queue Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 025/108] virtiofsd: Send replies to messages Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 026/108] virtiofsd: Keep track of replies Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 027/108] virtiofsd: Add Makefile wiring for virtiofsd contrib Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 028/108] virtiofsd: Fast path for virtio read Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 029/108] virtiofsd: add --fd=FDNUM fd passing option Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 030/108] virtiofsd: make -f (foreground) the default Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 031/108] virtiofsd: add vhost-user.json file Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 032/108] virtiofsd: add --print-capabilities option Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 033/108] virtiofs: Add maintainers entry Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 034/108] virtiofsd: passthrough_ll: create new files in caller's context Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 035/108] virtiofsd: passthrough_ll: add lo_map for ino/fh indirection Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 036/108] virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 037/108] virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers Dr. David Alan Gilbert (git)
2020-03-20 13:38   ` Peter Maydell
2020-01-23 16:45 ` [PULL 038/108] virtiofsd: passthrough_ll: add fd_map to hide file descriptors Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 039/108] virtiofsd: passthrough_ll: add fallback for racy ops Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 040/108] virtiofsd: validate path components Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 041/108] virtiofsd: Plumb fuse_bufvec through to do_write_buf Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 042/108] virtiofsd: Pass write iov's all the way through Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 043/108] virtiofsd: add fuse_mbuf_iter API Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 044/108] virtiofsd: validate input buffer sizes in do_write_buf() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 045/108] virtiofsd: check input buffer size in fuse_lowlevel.c ops Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 046/108] virtiofsd: prevent ".." escape in lo_do_lookup() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 047/108] virtiofsd: prevent ".." escape in lo_do_readdir() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 048/108] virtiofsd: use /proc/self/fd/ O_PATH file descriptor Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 049/108] virtiofsd: sandbox mount namespace Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 050/108] virtiofsd: move to an empty network namespace Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 051/108] virtiofsd: move to a new pid namespace Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 052/108] virtiofsd: add seccomp whitelist Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 053/108] virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 054/108] virtiofsd: cap-ng helpers Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 055/108] virtiofsd: Drop CAP_FSETID if client asked for it Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 056/108] virtiofsd: set maximum RLIMIT_NOFILE limit Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 057/108] virtiofsd: fix libfuse information leaks Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 058/108] virtiofsd: add --syslog command-line option Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 059/108] virtiofsd: print log only when priority is high enough Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 060/108] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 061/108] virtiofsd: Add timestamp " Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 062/108] virtiofsd: Handle reinit Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 063/108] virtiofsd: Handle hard reboot Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 064/108] virtiofsd: Kill threads when queues are stopped Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 065/108] vhost-user: Print unexpected slave message types Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 066/108] contrib/libvhost-user: Protect slave fd with mutex Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 067/108] virtiofsd: passthrough_ll: add renameat2 support Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 068/108] virtiofsd: passthrough_ll: disable readdirplus on cache=never Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 069/108] virtiofsd: passthrough_ll: control readdirplus Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 070/108] virtiofsd: rename unref_inode() to unref_inode_lolocked() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 071/108] virtiofsd: fail when parent inode isn't known in lo_do_lookup() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 072/108] virtiofsd: extract root inode init into setup_root() Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 073/108] virtiofsd: passthrough_ll: clean up cache related options Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 074/108] virtiofsd: passthrough_ll: use hashtable Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 075/108] virtiofsd: Clean up inodes on destroy Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 076/108] virtiofsd: support nanosecond resolution for file timestamp Dr. David Alan Gilbert (git)
2020-01-23 16:45 ` [PULL 077/108] virtiofsd: fix error handling in main() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 078/108] virtiofsd: cleanup allocated resource in se Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 079/108] virtiofsd: fix memory leak on lo.source Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 080/108] virtiofsd: add helper for lo_data cleanup Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 081/108] virtiofsd: Prevent multiply running with same vhost_user_socket Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 082/108] virtiofsd: enable PARALLEL_DIROPS during INIT Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 083/108] virtiofsd: fix incorrect error handling in lo_do_lookup Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 084/108] Virtiofsd: fix memory leak on fuse queueinfo Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 085/108] virtiofsd: Support remote posix locks Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 086/108] virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 087/108] virtiofsd: prevent fv_queue_thread() vs virtio_loop() races Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 088/108] virtiofsd: make lo_release() atomic Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 089/108] virtiofsd: prevent races with lo_dirp_put() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 090/108] virtiofsd: rename inode->refcount to inode->nlookup Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 091/108] libvhost-user: Fix some memtable remap cases Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 092/108] virtiofsd: passthrough_ll: fix refcounting on remove/rename Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 093/108] virtiofsd: introduce inode refcount to prevent use-after-free Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 094/108] virtiofsd: do not always set FUSE_FLOCK_LOCKS Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 095/108] virtiofsd: convert more fprintf and perror to use fuse log infra Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 096/108] virtiofsd: Reset O_DIRECT flag during file open Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 097/108] virtiofsd: Fix data corruption with O_APPEND write in writeback mode Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 098/108] virtiofsd: passthrough_ll: Use cache_readdir for directory open Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 099/108] virtiofsd: add definition of fuse_buf_writev() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 100/108] virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 101/108] virtiofsd: process requests in a thread pool Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 102/108] virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 103/108] virtiofsd: fix lo_destroy() resource leaks Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 104/108] virtiofsd: add --thread-pool-size=NUM option Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 105/108] virtiofsd: Convert lo_destroy to take the lo->mutex lock itself Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 106/108] virtiofsd/passthrough_ll: Pass errno to fuse_reply_err() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 107/108] virtiofsd: stop all queue threads on exit in virtio_loop() Dr. David Alan Gilbert (git)
2020-01-23 16:46 ` [PULL 108/108] virtiofsd: add some options to the help message Dr. David Alan Gilbert (git)
2020-01-23 19:32 ` [PULL 000/108] virtiofs queue Dr. David Alan Gilbert
2020-01-24 11:06   ` Peter Maydell
2020-01-23 21:18 ` no-reply [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=157981429553.18655.2517275928872573913@f6d1ed32ca6b \
    --to=no-reply@patchew.org \
    --cc=dgilbert@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.