mbox series

[PULL,000/111] virtiofs queue

Message ID 20200123115841.138849-1-dgilbert@redhat.com
Headers show
Series virtiofs queue | expand

Message

Dr. David Alan Gilbert Jan. 23, 2020, 11:56 a.m. UTC
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The following changes since commit 3e08b2b9cb64bff2b73fa9128c0e49bfcde0dd40:

  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200121' into staging (2020-01-21 15:29:25 +0000)

are available in the Git repository at:

  git@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123

for you to fetch changes up to 87509325f70c78a28683f9460699915ea3300091:

  virtiofsd: add some options to the help message (2020-01-23 10:54:49 +0000)

----------------------------------------------------------------
virtiofsd first pull

Import our virtiofsd.
This pulls in the daemon to drive a file system connected to the
existing qemu virtiofsd device.
It's derived from upstream libfuse with lots of changes (and a lot
trimmed out).
The daemon lives in the newly created qemu/tools/virtiofsd

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

----------------------------------------------------------------
Dr. David Alan Gilbert (35):
      virtiofsd: Pull in upstream headers
      virtiofsd: Pull in kernel's fuse.h
      virtiofsd: Add auxiliary .c's
      virtiofsd: Add fuse_lowlevel.c
      virtiofsd: Add passthrough_ll
      virtiofsd: Trim down imported files
      virtiofsd: Format imported files to qemu style
      virtiofsd: Fix fuse_daemonize ignored return values
      virtiofsd: Fix common header and define for QEMU builds
      virtiofsd: Trim out compatibility code
      virtiofsd: Add options for virtio
      virtiofsd: Open vhost connection instead of mounting
      virtiofsd: Start wiring up vhost-user
      virtiofsd: Add main virtio loop
      virtiofsd: get/set features callbacks
      virtiofsd: Start queue threads
      virtiofsd: Poll kick_fd for queue
      virtiofsd: Start reading commands from queue
      virtiofsd: Send replies to messages
      virtiofsd: Keep track of replies
      virtiofsd: Add Makefile wiring for virtiofsd contrib
      virtiofsd: Fast path for virtio read
      virtiofs: Add maintainers entry
      virtiofsd: Plumb fuse_bufvec through to do_write_buf
      virtiofsd: Pass write iov's all the way through
      virtiofsd: cap-ng helpers
      docs:  Add docs/tools
      virtiofsd: Handle reinit
      virtiofsd: Handle hard reboot
      virtiofsd: Kill threads when queues are stopped
      vhost-user: Print unexpected slave message types
      contrib/libvhost-user: Protect slave fd with mutex
      virtiofsd: Clean up inodes on destroy
      libvhost-user: Fix some memtable remap cases
      virtiofsd: Convert lo_destroy to take the lo->mutex lock itself

Eric Ren (1):
      virtiofsd: fix incorrect error handling in lo_do_lookup

Eryu Guan (3):
      virtiofsd: print log only when priority is high enough
      virtiofsd: convert more fprintf and perror to use fuse log infra
      virtiofsd: stop all queue threads on exit in virtio_loop()

Jiufei Xue (1):
      virtiofsd: support nanosecond resolution for file timestamp

Liu Bo (6):
      virtiofsd: fix error handling in main()
      virtiofsd: cleanup allocated resource in se
      virtiofsd: fix memory leak on lo.source
      virtiofsd: add helper for lo_data cleanup
      virtiofsd: enable PARALLEL_DIROPS during INIT
      Virtiofsd: fix memory leak on fuse queueinfo

Masayoshi Mizuma (4):
      virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level
      virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level
      virtiofsd: Prevent multiply running with same vhost_user_socket
      virtiofsd: add some options to the help message

Miklos Szeredi (10):
      virtiofsd: passthrough_ll: add fallback for racy ops
      virtiofsd: passthrough_ll: add renameat2 support
      virtiofsd: passthrough_ll: disable readdirplus on cache=never
      virtiofsd: passthrough_ll: control readdirplus
      virtiofsd: rename unref_inode() to unref_inode_lolocked()
      virtiofsd: fail when parent inode isn't known in lo_do_lookup()
      virtiofsd: extract root inode init into setup_root()
      virtiofsd: passthrough_ll: clean up cache related options
      virtiofsd: passthrough_ll: use hashtable
      virtiofsd: passthrough_ll: fix refcounting on remove/rename

Misono Tomohiro (2):
      virtiofsd: Fix data corruption with O_APPEND write in writeback mode
      virtiofsd: passthrough_ll: Use cache_readdir for directory open

Peng Tao (1):
      virtiofsd: do not always set FUSE_FLOCK_LOCKS

Stefan Hajnoczi (37):
      virtiofsd: remove mountpoint dummy argument
      virtiofsd: remove unused notify reply support
      virtiofsd: add -o source=PATH to help output
      virtiofsd: add --fd=FDNUM fd passing option
      virtiofsd: make -f (foreground) the default
      virtiofsd: add vhost-user.json file
      virtiofsd: add --print-capabilities option
      virtiofsd: passthrough_ll: add lo_map for ino/fh indirection
      virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers
      virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers
      virtiofsd: passthrough_ll: add fd_map to hide file descriptors
      virtiofsd: validate path components
      virtiofsd: add fuse_mbuf_iter API
      virtiofsd: validate input buffer sizes in do_write_buf()
      virtiofsd: check input buffer size in fuse_lowlevel.c ops
      virtiofsd: prevent ".." escape in lo_do_lookup()
      virtiofsd: prevent ".." escape in lo_do_readdir()
      virtiofsd: use /proc/self/fd/ O_PATH file descriptor
      virtiofsd: sandbox mount namespace
      virtiofsd: move to an empty network namespace
      virtiofsd: move to a new pid namespace
      virtiofsd: add seccomp whitelist
      virtiofsd: set maximum RLIMIT_NOFILE limit
      virtiofsd: fix libfuse information leaks
      virtiofsd: add security guide document
      virtiofsd: add --syslog command-line option
      virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy()
      virtiofsd: prevent fv_queue_thread() vs virtio_loop() races
      virtiofsd: make lo_release() atomic
      virtiofsd: prevent races with lo_dirp_put()
      virtiofsd: rename inode->refcount to inode->nlookup
      virtiofsd: add man page
      virtiofsd: introduce inode refcount to prevent use-after-free
      virtiofsd: process requests in a thread pool
      virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races
      virtiofsd: fix lo_destroy() resource leaks
      virtiofsd: add --thread-pool-size=NUM option

Vivek Goyal (6):
      virtiofsd: Make fsync work even if only inode is passed in
      virtiofsd: passthrough_ll: create new files in caller's context
      virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV
      virtiofsd: Drop CAP_FSETID if client asked for it
      virtiofsd: Support remote posix locks
      virtiofsd: Reset O_DIRECT flag during file open

Xiao Yang (3):
      virtiofsd: Remove unused enum fuse_buf_copy_flags
      vitriofsd/passthrough_ll: fix fallocate() ifdefs
      virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()

piaojun (2):
      virtiofsd: add definition of fuse_buf_writev()
      virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance

 .gitignore                                |    1 +
 MAINTAINERS                               |    8 +
 Makefile                                  |   28 +-
 Makefile.objs                             |    1 +
 configure                                 |   16 +
 contrib/libvhost-user/libvhost-user.c     |   57 +-
 contrib/libvhost-user/libvhost-user.h     |    6 +
 docs/index.rst                            |    1 +
 docs/interop/vhost-user.json              |    4 +-
 docs/tools/conf.py                        |   16 +
 docs/tools/index.rst                      |   14 +
 docs/tools/virtiofsd-security.rst         |  118 ++
 hw/virtio/vhost-user.c                    |    2 +-
 include/standard-headers/linux/fuse.h     |  891 +++++++++
 scripts/update-linux-headers.sh           |    1 +
 tools/virtiofsd/50-qemu-virtiofsd.json.in |    5 +
 tools/virtiofsd/Makefile.objs             |   12 +
 tools/virtiofsd/buffer.c                  |  351 ++++
 tools/virtiofsd/fuse.h                    | 1249 ++++++++++++
 tools/virtiofsd/fuse_common.h             |  816 ++++++++
 tools/virtiofsd/fuse_i.h                  |  115 ++
 tools/virtiofsd/fuse_log.c                |   41 +
 tools/virtiofsd/fuse_log.h                |   74 +
 tools/virtiofsd/fuse_lowlevel.c           | 2761 ++++++++++++++++++++++++++
 tools/virtiofsd/fuse_lowlevel.h           | 1991 +++++++++++++++++++
 tools/virtiofsd/fuse_misc.h               |   60 +
 tools/virtiofsd/fuse_opt.c                |  450 +++++
 tools/virtiofsd/fuse_opt.h                |  272 +++
 tools/virtiofsd/fuse_signals.c            |   98 +
 tools/virtiofsd/fuse_virtio.c             |  986 ++++++++++
 tools/virtiofsd/fuse_virtio.h             |   33 +
 tools/virtiofsd/helper.c                  |  349 ++++
 tools/virtiofsd/passthrough_helpers.h     |   51 +
 tools/virtiofsd/passthrough_ll.c          | 3006 +++++++++++++++++++++++++++++
 tools/virtiofsd/seccomp.c                 |  165 ++
 tools/virtiofsd/seccomp.h                 |   16 +
 tools/virtiofsd/virtiofsd.texi            |  104 +
 37 files changed, 14154 insertions(+), 15 deletions(-)
 create mode 100644 docs/tools/conf.py
 create mode 100644 docs/tools/index.rst
 create mode 100644 docs/tools/virtiofsd-security.rst
 create mode 100644 include/standard-headers/linux/fuse.h
 create mode 100644 tools/virtiofsd/50-qemu-virtiofsd.json.in
 create mode 100644 tools/virtiofsd/Makefile.objs
 create mode 100644 tools/virtiofsd/buffer.c
 create mode 100644 tools/virtiofsd/fuse.h
 create mode 100644 tools/virtiofsd/fuse_common.h
 create mode 100644 tools/virtiofsd/fuse_i.h
 create mode 100644 tools/virtiofsd/fuse_log.c
 create mode 100644 tools/virtiofsd/fuse_log.h
 create mode 100644 tools/virtiofsd/fuse_lowlevel.c
 create mode 100644 tools/virtiofsd/fuse_lowlevel.h
 create mode 100644 tools/virtiofsd/fuse_misc.h
 create mode 100644 tools/virtiofsd/fuse_opt.c
 create mode 100644 tools/virtiofsd/fuse_opt.h
 create mode 100644 tools/virtiofsd/fuse_signals.c
 create mode 100644 tools/virtiofsd/fuse_virtio.c
 create mode 100644 tools/virtiofsd/fuse_virtio.h
 create mode 100644 tools/virtiofsd/helper.c
 create mode 100644 tools/virtiofsd/passthrough_helpers.h
 create mode 100644 tools/virtiofsd/passthrough_ll.c
 create mode 100644 tools/virtiofsd/seccomp.c
 create mode 100644 tools/virtiofsd/seccomp.h
 create mode 100644 tools/virtiofsd/virtiofsd.texi

Comments

no-reply@patchew.org Jan. 23, 2020, 3:13 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20200123115841.138849-1-dgilbert@redhat.com/



Hi,

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

Type: series
Message-id: 20200123115841.138849-1-dgilbert@redhat.com
Subject: [PULL 000/111] virtiofs queue

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WARNING: Block comments use * on subsequent lines
#1303: FILE: tools/virtiofsd/fuse_common.h:2:
+/*  FUSE: Filesystem in Userspace
+  Copyright (C) 2001-2007  Miklos Szeredi <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/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/111 Checking commit 927a1285d820 (virtiofsd: Pull in kernel's fuse.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#16: 
new file mode 100644

total: 0 errors, 1 warnings, 898 lines checked

Patch 2/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/111 Checking commit 218ce1365802 (virtiofsd: Add auxiliary .c's)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#21: FILE: tools/virtiofsd/buffer.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#43: FILE: tools/virtiofsd/buffer.c:24:
+^Isize_t i;$

ERROR: code indent should never use tabs
#44: FILE: tools/virtiofsd/buffer.c:25:
+^Isize_t size = 0;$

ERROR: code indent should never use tabs
#46: FILE: tools/virtiofsd/buffer.c:27:
+^Ifor (i = 0; i < bufv->count; i++) {$

ERROR: code indent should never use tabs
#47: FILE: tools/virtiofsd/buffer.c:28:
+^I^Iif (bufv->buf[i].size == SIZE_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#47: FILE: tools/virtiofsd/buffer.c:28:
+               if (bufv->buf[i].size == SIZE_MAX)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#48: FILE: tools/virtiofsd/buffer.c:29:
+^I^I^Isize = SIZE_MAX;$

ERROR: code indent should never use tabs
#49: FILE: tools/virtiofsd/buffer.c:30:
+^I^Ielse$

ERROR: code indent should never use tabs
#50: FILE: tools/virtiofsd/buffer.c:31:
+^I^I^Isize += bufv->buf[i].size;$

ERROR: code indent should never use tabs
#51: FILE: tools/virtiofsd/buffer.c:32:
+^I}$

ERROR: code indent should never use tabs
#53: FILE: tools/virtiofsd/buffer.c:34:
+^Ireturn size;$

ERROR: code indent should never use tabs
#58: FILE: tools/virtiofsd/buffer.c:39:
+^Ireturn s1 < s2 ? s1 : s2;$

ERROR: code indent should never use tabs
#62: FILE: tools/virtiofsd/buffer.c:43:
+^I^I^I      const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#63: FILE: tools/virtiofsd/buffer.c:44:
+^I^I^I      size_t len)$

ERROR: code indent should never use tabs
#65: FILE: tools/virtiofsd/buffer.c:46:
+^Issize_t res = 0;$

ERROR: code indent should never use tabs
#66: FILE: tools/virtiofsd/buffer.c:47:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#68: FILE: tools/virtiofsd/buffer.c:49:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#69: FILE: tools/virtiofsd/buffer.c:50:
+^I^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#70: FILE: tools/virtiofsd/buffer.c:51:
+^I^I^Ires = pwrite(dst->fd, (char *)src->mem + src_off, len,$

ERROR: code indent should never use tabs
#71: FILE: tools/virtiofsd/buffer.c:52:
+^I^I^I^I     dst->pos + dst_off);$

ERROR: code indent should never use tabs
#72: FILE: tools/virtiofsd/buffer.c:53:
+^I^I} else {$

ERROR: code indent should never use tabs
#73: FILE: tools/virtiofsd/buffer.c:54:
+^I^I^Ires = write(dst->fd, (char *)src->mem + src_off, len);$

ERROR: code indent should never use tabs
#74: FILE: tools/virtiofsd/buffer.c:55:
+^I^I}$

ERROR: code indent should never use tabs
#75: FILE: tools/virtiofsd/buffer.c:56:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#76: FILE: tools/virtiofsd/buffer.c:57:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#76: FILE: tools/virtiofsd/buffer.c:57:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#77: FILE: tools/virtiofsd/buffer.c:58:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#78: FILE: tools/virtiofsd/buffer.c:59:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#79: FILE: tools/virtiofsd/buffer.c:60:
+^I^I}$

ERROR: code indent should never use tabs
#80: FILE: tools/virtiofsd/buffer.c:61:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#80: FILE: tools/virtiofsd/buffer.c:61:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#81: FILE: tools/virtiofsd/buffer.c:62:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#83: FILE: tools/virtiofsd/buffer.c:64:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#84: FILE: tools/virtiofsd/buffer.c:65:
+^I^Iif (!(dst->flags & FUSE_BUF_FD_RETRY))$

ERROR: braces {} are necessary for all arms of this statement
#84: FILE: tools/virtiofsd/buffer.c:65:
+               if (!(dst->flags & FUSE_BUF_FD_RETRY))
[...]

ERROR: code indent should never use tabs
#85: FILE: tools/virtiofsd/buffer.c:66:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#87: FILE: tools/virtiofsd/buffer.c:68:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#88: FILE: tools/virtiofsd/buffer.c:69:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#89: FILE: tools/virtiofsd/buffer.c:70:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#90: FILE: tools/virtiofsd/buffer.c:71:
+^I}$

ERROR: code indent should never use tabs
#92: FILE: tools/virtiofsd/buffer.c:73:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/buffer.c:77:
+^I^I^I     const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#97: FILE: tools/virtiofsd/buffer.c:78:
+^I^I^I     size_t len)$

ERROR: code indent should never use tabs
#99: FILE: tools/virtiofsd/buffer.c:80:
+^Issize_t res = 0;$

ERROR: code indent should never use tabs
#100: FILE: tools/virtiofsd/buffer.c:81:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/buffer.c:83:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/buffer.c:84:
+^I^Iif (src->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/buffer.c:85:
+^I^I^Ires = pread(src->fd, (char *)dst->mem + dst_off, len,$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/buffer.c:86:
+^I^I^I^I     src->pos + src_off);$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/buffer.c:87:
+^I^I} else {$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/buffer.c:88:
+^I^I^Ires = read(src->fd, (char *)dst->mem + dst_off, len);$

ERROR: code indent should never use tabs
#108: FILE: tools/virtiofsd/buffer.c:89:
+^I^I}$

ERROR: code indent should never use tabs
#109: FILE: tools/virtiofsd/buffer.c:90:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#110: FILE: tools/virtiofsd/buffer.c:91:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#110: FILE: tools/virtiofsd/buffer.c:91:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#111: FILE: tools/virtiofsd/buffer.c:92:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#112: FILE: tools/virtiofsd/buffer.c:93:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/buffer.c:94:
+^I^I}$

ERROR: code indent should never use tabs
#114: FILE: tools/virtiofsd/buffer.c:95:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#114: FILE: tools/virtiofsd/buffer.c:95:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#115: FILE: tools/virtiofsd/buffer.c:96:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#117: FILE: tools/virtiofsd/buffer.c:98:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/buffer.c:99:
+^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY))$

ERROR: braces {} are necessary for all arms of this statement
#118: FILE: tools/virtiofsd/buffer.c:99:
+               if (!(src->flags & FUSE_BUF_FD_RETRY))
[...]

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/buffer.c:100:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#121: FILE: tools/virtiofsd/buffer.c:102:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#122: FILE: tools/virtiofsd/buffer.c:103:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#123: FILE: tools/virtiofsd/buffer.c:104:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#124: FILE: tools/virtiofsd/buffer.c:105:
+^I}$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/buffer.c:107:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#130: FILE: tools/virtiofsd/buffer.c:111:
+^I^I^I^I const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/buffer.c:112:
+^I^I^I^I size_t len)$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/buffer.c:114:
+^Ichar buf[4096];$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/buffer.c:115:
+^Istruct fuse_buf tmp = {$

ERROR: code indent should never use tabs
#135: FILE: tools/virtiofsd/buffer.c:116:
+^I^I.size = sizeof(buf),$

ERROR: code indent should never use tabs
#136: FILE: tools/virtiofsd/buffer.c:117:
+^I^I.flags = 0,$

ERROR: code indent should never use tabs
#137: FILE: tools/virtiofsd/buffer.c:118:
+^I};$

ERROR: code indent should never use tabs
#138: FILE: tools/virtiofsd/buffer.c:119:
+^Issize_t res;$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/buffer.c:120:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/buffer.c:122:
+^Itmp.mem = buf;$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/buffer.c:124:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#144: FILE: tools/virtiofsd/buffer.c:125:
+^I^Isize_t this_len = min_size(tmp.size, len);$

ERROR: code indent should never use tabs
#145: FILE: tools/virtiofsd/buffer.c:126:
+^I^Isize_t read_len;$

ERROR: code indent should never use tabs
#147: FILE: tools/virtiofsd/buffer.c:128:
+^I^Ires = fuse_buf_read(&tmp, 0, src, src_off, this_len);$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/buffer.c:129:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/buffer.c:130:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#149: FILE: tools/virtiofsd/buffer.c:130:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#150: FILE: tools/virtiofsd/buffer.c:131:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#151: FILE: tools/virtiofsd/buffer.c:132:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#152: FILE: tools/virtiofsd/buffer.c:133:
+^I^I}$

ERROR: code indent should never use tabs
#153: FILE: tools/virtiofsd/buffer.c:134:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#153: FILE: tools/virtiofsd/buffer.c:134:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#154: FILE: tools/virtiofsd/buffer.c:135:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#156: FILE: tools/virtiofsd/buffer.c:137:
+^I^Iread_len = res;$

ERROR: code indent should never use tabs
#157: FILE: tools/virtiofsd/buffer.c:138:
+^I^Ires = fuse_buf_write(dst, dst_off, &tmp, 0, read_len);$

ERROR: code indent should never use tabs
#158: FILE: tools/virtiofsd/buffer.c:139:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#159: FILE: tools/virtiofsd/buffer.c:140:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#159: FILE: tools/virtiofsd/buffer.c:140:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/buffer.c:141:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#161: FILE: tools/virtiofsd/buffer.c:142:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#162: FILE: tools/virtiofsd/buffer.c:143:
+^I^I}$

ERROR: code indent should never use tabs
#163: FILE: tools/virtiofsd/buffer.c:144:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#163: FILE: tools/virtiofsd/buffer.c:144:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#164: FILE: tools/virtiofsd/buffer.c:145:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/buffer.c:147:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#168: FILE: tools/virtiofsd/buffer.c:149:
+^I^Iif (res < this_len)$

ERROR: braces {} are necessary for all arms of this statement
#168: FILE: tools/virtiofsd/buffer.c:149:
+               if (res < this_len)
[...]

ERROR: code indent should never use tabs
#169: FILE: tools/virtiofsd/buffer.c:150:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#171: FILE: tools/virtiofsd/buffer.c:152:
+^I^Idst_off += res;$

ERROR: code indent should never use tabs
#172: FILE: tools/virtiofsd/buffer.c:153:
+^I^Isrc_off += res;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/buffer.c:154:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#174: FILE: tools/virtiofsd/buffer.c:155:
+^I}$

ERROR: code indent should never use tabs
#176: FILE: tools/virtiofsd/buffer.c:157:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#181: FILE: tools/virtiofsd/buffer.c:162:
+^I^I^I       const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#182: FILE: tools/virtiofsd/buffer.c:163:
+^I^I^I       size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#184: FILE: tools/virtiofsd/buffer.c:165:
+^Iint splice_flags = 0;$

ERROR: code indent should never use tabs
#185: FILE: tools/virtiofsd/buffer.c:166:
+^Ioff_t *srcpos = NULL;$

ERROR: code indent should never use tabs
#186: FILE: tools/virtiofsd/buffer.c:167:
+^Ioff_t *dstpos = NULL;$

ERROR: code indent should never use tabs
#187: FILE: tools/virtiofsd/buffer.c:168:
+^Ioff_t srcpos_val;$

ERROR: code indent should never use tabs
#188: FILE: tools/virtiofsd/buffer.c:169:
+^Ioff_t dstpos_val;$

ERROR: code indent should never use tabs
#189: FILE: tools/virtiofsd/buffer.c:170:
+^Issize_t res;$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/buffer.c:171:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/buffer.c:173:
+^Iif (flags & FUSE_BUF_SPLICE_MOVE)$

ERROR: braces {} are necessary for all arms of this statement
#192: FILE: tools/virtiofsd/buffer.c:173:
+       if (flags & FUSE_BUF_SPLICE_MOVE)
[...]

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/buffer.c:174:
+^I^Isplice_flags |= SPLICE_F_MOVE;$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/buffer.c:175:
+^Iif (flags & FUSE_BUF_SPLICE_NONBLOCK)$

ERROR: braces {} are necessary for all arms of this statement
#194: FILE: tools/virtiofsd/buffer.c:175:
+       if (flags & FUSE_BUF_SPLICE_NONBLOCK)
[...]

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/buffer.c:176:
+^I^Isplice_flags |= SPLICE_F_NONBLOCK;$

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/buffer.c:178:
+^Iif (src->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/buffer.c:179:
+^I^Isrcpos_val = src->pos + src_off;$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/buffer.c:180:
+^I^Isrcpos = &srcpos_val;$

ERROR: code indent should never use tabs
#200: FILE: tools/virtiofsd/buffer.c:181:
+^I}$

ERROR: code indent should never use tabs
#201: FILE: tools/virtiofsd/buffer.c:182:
+^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$

ERROR: code indent should never use tabs
#202: FILE: tools/virtiofsd/buffer.c:183:
+^I^Idstpos_val = dst->pos + dst_off;$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/buffer.c:184:
+^I^Idstpos = &dstpos_val;$

ERROR: code indent should never use tabs
#204: FILE: tools/virtiofsd/buffer.c:185:
+^I}$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/buffer.c:187:
+^Iwhile (len) {$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/buffer.c:188:
+^I^Ires = splice(src->fd, srcpos, dst->fd, dstpos, len,$

ERROR: code indent should never use tabs
#208: FILE: tools/virtiofsd/buffer.c:189:
+^I^I^I     splice_flags);$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/buffer.c:190:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#210: FILE: tools/virtiofsd/buffer.c:191:
+^I^I^Iif (copied)$

ERROR: braces {} are necessary for all arms of this statement
#210: FILE: tools/virtiofsd/buffer.c:191:
+                       if (copied)
[...]

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/buffer.c:192:
+^I^I^I^Ibreak;$

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/buffer.c:194:
+^I^I^Iif (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE))$

ERROR: braces {} are necessary for all arms of this statement
#213: FILE: tools/virtiofsd/buffer.c:194:
+                       if (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE))
[...]

ERROR: code indent should never use tabs
#214: FILE: tools/virtiofsd/buffer.c:195:
+^I^I^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#216: FILE: tools/virtiofsd/buffer.c:197:
+^I^I^I/* Maybe splice is not supported for this combination */$

ERROR: code indent should never use tabs
#217: FILE: tools/virtiofsd/buffer.c:198:
+^I^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off,$

ERROR: code indent should never use tabs
#218: FILE: tools/virtiofsd/buffer.c:199:
+^I^I^I^I^I^I len);$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/buffer.c:200:
+^I^I}$

ERROR: code indent should never use tabs
#220: FILE: tools/virtiofsd/buffer.c:201:
+^I^Iif (res == 0)$

ERROR: braces {} are necessary for all arms of this statement
#220: FILE: tools/virtiofsd/buffer.c:201:
+               if (res == 0)
[...]

ERROR: code indent should never use tabs
#221: FILE: tools/virtiofsd/buffer.c:202:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#223: FILE: tools/virtiofsd/buffer.c:204:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#224: FILE: tools/virtiofsd/buffer.c:205:
+^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY) &&$

ERROR: code indent should never use tabs
#225: FILE: tools/virtiofsd/buffer.c:206:
+^I^I    !(dst->flags & FUSE_BUF_FD_RETRY)) {$

ERROR: code indent should never use tabs
#226: FILE: tools/virtiofsd/buffer.c:207:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/buffer.c:208:
+^I^I}$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/buffer.c:210:
+^I^Ilen -= res;$

ERROR: code indent should never use tabs
#230: FILE: tools/virtiofsd/buffer.c:211:
+^I}$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/buffer.c:213:
+^Ireturn copied;$

ERROR: code indent should never use tabs
#236: FILE: tools/virtiofsd/buffer.c:217:
+^I^I^I       const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#237: FILE: tools/virtiofsd/buffer.c:218:
+^I^I^I       size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/buffer.c:220:
+^I(void) flags;$

ERROR: code indent should never use tabs
#241: FILE: tools/virtiofsd/buffer.c:222:
+^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#247: FILE: tools/virtiofsd/buffer.c:228:
+^I^I^I^I const struct fuse_buf *src, size_t src_off,$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/buffer.c:229:
+^I^I^I^I size_t len, enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/buffer.c:231:
+^Iint src_is_fd = src->flags & FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/buffer.c:232:
+^Iint dst_is_fd = dst->flags & FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#253: FILE: tools/virtiofsd/buffer.c:234:
+^Iif (!src_is_fd && !dst_is_fd) {$

ERROR: code indent should never use tabs
#254: FILE: tools/virtiofsd/buffer.c:235:
+^I^Ichar *dstmem = (char *)dst->mem + dst_off;$

ERROR: code indent should never use tabs
#255: FILE: tools/virtiofsd/buffer.c:236:
+^I^Ichar *srcmem = (char *)src->mem + src_off;$

ERROR: code indent should never use tabs
#257: FILE: tools/virtiofsd/buffer.c:238:
+^I^Iif (dstmem != srcmem) {$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/buffer.c:239:
+^I^I^Iif (dstmem + len <= srcmem || srcmem + len <= dstmem)$

ERROR: braces {} are necessary for all arms of this statement
#258: FILE: tools/virtiofsd/buffer.c:239:
+                       if (dstmem + len <= srcmem || srcmem + len <= dstmem)
[...]
+                       else
[...]

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/buffer.c:240:
+^I^I^I^Imemcpy(dstmem, srcmem, len);$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/buffer.c:241:
+^I^I^Ielse$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/buffer.c:242:
+^I^I^I^Imemmove(dstmem, srcmem, len);$

ERROR: code indent should never use tabs
#262: FILE: tools/virtiofsd/buffer.c:243:
+^I^I}$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/buffer.c:245:
+^I^Ireturn len;$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/buffer.c:246:
+^I} else if (!src_is_fd) {$

ERROR: code indent should never use tabs
#266: FILE: tools/virtiofsd/buffer.c:247:
+^I^Ireturn fuse_buf_write(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#267: FILE: tools/virtiofsd/buffer.c:248:
+^I} else if (!dst_is_fd) {$

ERROR: code indent should never use tabs
#268: FILE: tools/virtiofsd/buffer.c:249:
+^I^Ireturn fuse_buf_read(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#269: FILE: tools/virtiofsd/buffer.c:250:
+^I} else if (flags & FUSE_BUF_NO_SPLICE) {$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/buffer.c:251:
+^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/buffer.c:252:
+^I} else {$

ERROR: code indent should never use tabs
#272: FILE: tools/virtiofsd/buffer.c:253:
+^I^Ireturn fuse_buf_splice(dst, dst_off, src, src_off, len, flags);$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/buffer.c:254:
+^I}$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/buffer.c:259:
+^Iif (bufv->idx < bufv->count)$

ERROR: braces {} are necessary for all arms of this statement
#278: FILE: tools/virtiofsd/buffer.c:259:
+       if (bufv->idx < bufv->count)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#279: FILE: tools/virtiofsd/buffer.c:260:
+^I^Ireturn &bufv->buf[bufv->idx];$

ERROR: code indent should never use tabs
#280: FILE: tools/virtiofsd/buffer.c:261:
+^Ielse$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/buffer.c:262:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#286: FILE: tools/virtiofsd/buffer.c:267:
+^Iconst struct fuse_buf *buf = fuse_bufvec_current(bufv);$

ERROR: code indent should never use tabs
#288: FILE: tools/virtiofsd/buffer.c:269:
+^Ibufv->off += len;$

ERROR: code indent should never use tabs
#289: FILE: tools/virtiofsd/buffer.c:270:
+^Iassert(bufv->off <= buf->size);$

ERROR: code indent should never use tabs
#290: FILE: tools/virtiofsd/buffer.c:271:
+^Iif (bufv->off == buf->size) {$

ERROR: code indent should never use tabs
#291: FILE: tools/virtiofsd/buffer.c:272:
+^I^Iassert(bufv->idx < bufv->count);$

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/buffer.c:273:
+^I^Ibufv->idx++;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/buffer.c:274:
+^I^Iif (bufv->idx == bufv->count)$

ERROR: braces {} are necessary for all arms of this statement
#293: FILE: tools/virtiofsd/buffer.c:274:
+               if (bufv->idx == bufv->count)
[...]

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/buffer.c:275:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#295: FILE: tools/virtiofsd/buffer.c:276:
+^I^Ibufv->off = 0;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/buffer.c:277:
+^I}$

ERROR: code indent should never use tabs
#297: FILE: tools/virtiofsd/buffer.c:278:
+^Ireturn 1;$

ERROR: code indent should never use tabs
#301: FILE: tools/virtiofsd/buffer.c:282:
+^I^I      enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#303: FILE: tools/virtiofsd/buffer.c:284:
+^Isize_t copied = 0;$

ERROR: code indent should never use tabs
#305: FILE: tools/virtiofsd/buffer.c:286:
+^Iif (dstv == srcv)$

ERROR: braces {} are necessary for all arms of this statement
#305: FILE: tools/virtiofsd/buffer.c:286:
+       if (dstv == srcv)
[...]

ERROR: code indent should never use tabs
#306: FILE: tools/virtiofsd/buffer.c:287:
+^I^Ireturn fuse_buf_size(dstv);$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/buffer.c:289:
+^Ifor (;;) {$

ERROR: code indent should never use tabs
#309: FILE: tools/virtiofsd/buffer.c:290:
+^I^Iconst struct fuse_buf *src = fuse_bufvec_current(srcv);$

ERROR: code indent should never use tabs
#310: FILE: tools/virtiofsd/buffer.c:291:
+^I^Iconst struct fuse_buf *dst = fuse_bufvec_current(dstv);$

ERROR: code indent should never use tabs
#311: FILE: tools/virtiofsd/buffer.c:292:
+^I^Isize_t src_len;$

ERROR: code indent should never use tabs
#312: FILE: tools/virtiofsd/buffer.c:293:
+^I^Isize_t dst_len;$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/buffer.c:294:
+^I^Isize_t len;$

ERROR: code indent should never use tabs
#314: FILE: tools/virtiofsd/buffer.c:295:
+^I^Issize_t res;$

ERROR: code indent should never use tabs
#316: FILE: tools/virtiofsd/buffer.c:297:
+^I^Iif (src == NULL || dst == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#316: FILE: tools/virtiofsd/buffer.c:297:
+               if (src == NULL || dst == NULL)
[...]

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/buffer.c:298:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/buffer.c:300:
+^I^Isrc_len = src->size - srcv->off;$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/buffer.c:301:
+^I^Idst_len = dst->size - dstv->off;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/buffer.c:302:
+^I^Ilen = min_size(src_len, dst_len);$

WARNING: line over 80 characters
#323: FILE: tools/virtiofsd/buffer.c:304:
+               res = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, flags);

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/buffer.c:304:
+^I^Ires = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, flags);$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/buffer.c:305:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/buffer.c:306:
+^I^I^Iif (!copied)$

ERROR: braces {} are necessary for all arms of this statement
#325: FILE: tools/virtiofsd/buffer.c:306:
+                       if (!copied)
[...]

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/buffer.c:307:
+^I^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#327: FILE: tools/virtiofsd/buffer.c:308:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#328: FILE: tools/virtiofsd/buffer.c:309:
+^I^I}$

ERROR: code indent should never use tabs
#329: FILE: tools/virtiofsd/buffer.c:310:
+^I^Icopied += res;$

ERROR: code indent should never use tabs
#331: FILE: tools/virtiofsd/buffer.c:312:
+^I^Iif (!fuse_bufvec_advance(srcv, res) ||$

ERROR: code indent should never use tabs
#332: FILE: tools/virtiofsd/buffer.c:313:
+^I^I    !fuse_bufvec_advance(dstv, res))$

ERROR: code indent should never use tabs
#333: FILE: tools/virtiofsd/buffer.c:314:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#335: FILE: tools/virtiofsd/buffer.c:316:
+^I^Iif (res < len)$

ERROR: braces {} are necessary for all arms of this statement
#335: FILE: tools/virtiofsd/buffer.c:316:
+               if (res < len)
[...]

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/buffer.c:317:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#337: FILE: tools/virtiofsd/buffer.c:318:
+^I}$

ERROR: code indent should never use tabs
#339: FILE: tools/virtiofsd/buffer.c:320:
+^Ireturn copied;$

WARNING: Block comments use * on subsequent lines
#348: FILE: tools/virtiofsd/fuse_log.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+^I^I__attribute__(( unused )) enum fuse_log_level level,$

ERROR: space prohibited after that open parenthesis '('
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+               __attribute__(( unused )) enum fuse_log_level level,

ERROR: space prohibited before that close parenthesis ')'
#363: FILE: tools/virtiofsd/fuse_log.c:17:
+               __attribute__(( unused )) enum fuse_log_level level,

ERROR: code indent should never use tabs
#364: FILE: tools/virtiofsd/fuse_log.c:18:
+^I^Iconst char *fmt, va_list ap)$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/fuse_log.c:20:
+^Ivfprintf(stderr, fmt, ap);$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/fuse_log.c:27:
+^Iif (!func)$

ERROR: braces {} are necessary for all arms of this statement
#373: FILE: tools/virtiofsd/fuse_log.c:27:
+       if (!func)
[...]

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/fuse_log.c:28:
+^I^Ifunc = default_log_func;$

ERROR: code indent should never use tabs
#376: FILE: tools/virtiofsd/fuse_log.c:30:
+^Ilog_func = func;$

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/fuse_log.c:35:
+^Iva_list ap;$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/fuse_log.c:37:
+^Iva_start(ap, fmt);$

ERROR: code indent should never use tabs
#384: FILE: tools/virtiofsd/fuse_log.c:38:
+^Ilog_func(level, fmt, ap);$

ERROR: code indent should never use tabs
#385: FILE: tools/virtiofsd/fuse_log.c:39:
+^Iva_end(ap);$

WARNING: Block comments use * on subsequent lines
#394: FILE: tools/virtiofsd/fuse_opt.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/fuse_opt.c:23:
+^Ivoid *data;$

ERROR: code indent should never use tabs
#416: FILE: tools/virtiofsd/fuse_opt.c:24:
+^Iconst struct fuse_opt *opt;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/fuse_opt.c:25:
+^Ifuse_opt_proc_t proc;$

ERROR: code indent should never use tabs
#418: FILE: tools/virtiofsd/fuse_opt.c:26:
+^Iint argctr;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/fuse_opt.c:27:
+^Iint argc;$

ERROR: code indent should never use tabs
#420: FILE: tools/virtiofsd/fuse_opt.c:28:
+^Ichar **argv;$

ERROR: code indent should never use tabs
#421: FILE: tools/virtiofsd/fuse_opt.c:29:
+^Istruct fuse_args outargs;$

ERROR: code indent should never use tabs
#422: FILE: tools/virtiofsd/fuse_opt.c:30:
+^Ichar *opts;$

ERROR: code indent should never use tabs
#423: FILE: tools/virtiofsd/fuse_opt.c:31:
+^Iint nonopt;$

ERROR: code indent should never use tabs
#428: FILE: tools/virtiofsd/fuse_opt.c:36:
+^Iif (args) {$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/fuse_opt.c:37:
+^I^Iif (args->argv && args->allocated) {$

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/fuse_opt.c:38:
+^I^I^Iint i;$

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/fuse_opt.c:39:
+^I^I^Ifor (i = 0; i < args->argc; i++)$

ERROR: braces {} are necessary for all arms of this statement
#431: FILE: tools/virtiofsd/fuse_opt.c:39:
+                       for (i = 0; i < args->argc; i++)
[...]

ERROR: code indent should never use tabs
#432: FILE: tools/virtiofsd/fuse_opt.c:40:
+^I^I^I^Ifree(args->argv[i]);$

ERROR: code indent should never use tabs
#433: FILE: tools/virtiofsd/fuse_opt.c:41:
+^I^I^Ifree(args->argv);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/fuse_opt.c:42:
+^I^I}$

ERROR: code indent should never use tabs
#435: FILE: tools/virtiofsd/fuse_opt.c:43:
+^I^Iargs->argc = 0;$

ERROR: code indent should never use tabs
#436: FILE: tools/virtiofsd/fuse_opt.c:44:
+^I^Iargs->argv = NULL;$

ERROR: code indent should never use tabs
#437: FILE: tools/virtiofsd/fuse_opt.c:45:
+^I^Iargs->allocated = 0;$

ERROR: code indent should never use tabs
#438: FILE: tools/virtiofsd/fuse_opt.c:46:
+^I}$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/fuse_opt.c:51:
+^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#444: FILE: tools/virtiofsd/fuse_opt.c:52:
+^Ireturn -1;$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/fuse_opt.c:57:
+^Ichar **newargv;$

ERROR: code indent should never use tabs
#450: FILE: tools/virtiofsd/fuse_opt.c:58:
+^Ichar *newarg;$

ERROR: code indent should never use tabs
#452: FILE: tools/virtiofsd/fuse_opt.c:60:
+^Iassert(!args->argv || args->allocated);$

ERROR: code indent should never use tabs
#454: FILE: tools/virtiofsd/fuse_opt.c:62:
+^Inewarg = strdup(arg);$

ERROR: code indent should never use tabs
#455: FILE: tools/virtiofsd/fuse_opt.c:63:
+^Iif (!newarg)$

ERROR: braces {} are necessary for all arms of this statement
#455: FILE: tools/virtiofsd/fuse_opt.c:63:
+       if (!newarg)
[...]

ERROR: code indent should never use tabs
#456: FILE: tools/virtiofsd/fuse_opt.c:64:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#458: FILE: tools/virtiofsd/fuse_opt.c:66:
+^Inewargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/fuse_opt.c:67:
+^Iif (!newargv) {$

ERROR: code indent should never use tabs
#460: FILE: tools/virtiofsd/fuse_opt.c:68:
+^I^Ifree(newarg);$

ERROR: code indent should never use tabs
#461: FILE: tools/virtiofsd/fuse_opt.c:69:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/fuse_opt.c:70:
+^I}$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/fuse_opt.c:72:
+^Iargs->argv = newargv;$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/fuse_opt.c:73:
+^Iargs->allocated = 1;$

ERROR: code indent should never use tabs
#466: FILE: tools/virtiofsd/fuse_opt.c:74:
+^Iargs->argv[args->argc++] = newarg;$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/fuse_opt.c:75:
+^Iargs->argv[args->argc] = NULL;$

ERROR: code indent should never use tabs
#468: FILE: tools/virtiofsd/fuse_opt.c:76:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#472: FILE: tools/virtiofsd/fuse_opt.c:80:
+^I^I^I^I      const char *arg)$

ERROR: code indent should never use tabs
#474: FILE: tools/virtiofsd/fuse_opt.c:82:
+^Iassert(pos <= args->argc);$

ERROR: code indent should never use tabs
#475: FILE: tools/virtiofsd/fuse_opt.c:83:
+^Iif (fuse_opt_add_arg(args, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#475: FILE: tools/virtiofsd/fuse_opt.c:83:
+       if (fuse_opt_add_arg(args, arg) == -1)
[...]

ERROR: code indent should never use tabs
#476: FILE: tools/virtiofsd/fuse_opt.c:84:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#478: FILE: tools/virtiofsd/fuse_opt.c:86:
+^Iif (pos != args->argc - 1) {$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/fuse_opt.c:87:
+^I^Ichar *newarg = args->argv[args->argc - 1];$

ERROR: code indent should never use tabs
#480: FILE: tools/virtiofsd/fuse_opt.c:88:
+^I^Imemmove(&args->argv[pos + 1], &args->argv[pos],$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/fuse_opt.c:89:
+^I^I^Isizeof(char *) * (args->argc - pos - 1));$

ERROR: code indent should never use tabs
#482: FILE: tools/virtiofsd/fuse_opt.c:90:
+^I^Iargs->argv[pos] = newarg;$

ERROR: code indent should never use tabs
#483: FILE: tools/virtiofsd/fuse_opt.c:91:
+^I}$

ERROR: code indent should never use tabs
#484: FILE: tools/virtiofsd/fuse_opt.c:92:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/fuse_opt.c:97:
+^Ireturn fuse_opt_insert_arg_common(args, pos, arg);$

ERROR: code indent should never use tabs
#494: FILE: tools/virtiofsd/fuse_opt.c:102:
+^Iif (ctx->argctr + 1 >= ctx->argc) {$

WARNING: line over 80 characters
#495: FILE: tools/virtiofsd/fuse_opt.c:103:
+               fuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", opt);

ERROR: code indent should never use tabs
#495: FILE: tools/virtiofsd/fuse_opt.c:103:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", opt);$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/fuse_opt.c:104:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#497: FILE: tools/virtiofsd/fuse_opt.c:105:
+^I}$

ERROR: code indent should never use tabs
#498: FILE: tools/virtiofsd/fuse_opt.c:106:
+^Ictx->argctr++;$

ERROR: code indent should never use tabs
#499: FILE: tools/virtiofsd/fuse_opt.c:107:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#504: FILE: tools/virtiofsd/fuse_opt.c:112:
+^Ireturn fuse_opt_add_arg(&ctx->outargs, arg);$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/fuse_opt.c:117:
+^Iunsigned oldlen = *opts ? strlen(*opts) : 0;$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/fuse_opt.c:118:
+^Ichar *d = realloc(*opts, oldlen + 1 + strlen(opt) * 2 + 1);$

ERROR: code indent should never use tabs
#512: FILE: tools/virtiofsd/fuse_opt.c:120:
+^Iif (!d)$

ERROR: braces {} are necessary for all arms of this statement
#512: FILE: tools/virtiofsd/fuse_opt.c:120:
+       if (!d)
[...]

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/fuse_opt.c:121:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#515: FILE: tools/virtiofsd/fuse_opt.c:123:
+^I*opts = d;$

ERROR: code indent should never use tabs
#516: FILE: tools/virtiofsd/fuse_opt.c:124:
+^Iif (oldlen) {$

ERROR: code indent should never use tabs
#517: FILE: tools/virtiofsd/fuse_opt.c:125:
+^I^Id += oldlen;$

ERROR: code indent should never use tabs
#518: FILE: tools/virtiofsd/fuse_opt.c:126:
+^I^I*d++ = ',';$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/fuse_opt.c:127:
+^I}$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_opt.c:129:
+^Ifor (; *opt; opt++) {$

ERROR: code indent should never use tabs
#522: FILE: tools/virtiofsd/fuse_opt.c:130:
+^I^Iif (esc && (*opt == ',' || *opt == '\\'))$

ERROR: braces {} are necessary for all arms of this statement
#522: FILE: tools/virtiofsd/fuse_opt.c:130:
+               if (esc && (*opt == ',' || *opt == '\\'))
[...]

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/fuse_opt.c:131:
+^I^I^I*d++ = '\\';$

ERROR: code indent should never use tabs
#524: FILE: tools/virtiofsd/fuse_opt.c:132:
+^I^I*d++ = *opt;$

ERROR: code indent should never use tabs
#525: FILE: tools/virtiofsd/fuse_opt.c:133:
+^I}$

ERROR: code indent should never use tabs
#526: FILE: tools/virtiofsd/fuse_opt.c:134:
+^I*d = '\0';$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/fuse_opt.c:136:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/fuse_opt.c:141:
+^Ireturn add_opt_common(opts, opt, 0);$

ERROR: code indent should never use tabs
#538: FILE: tools/virtiofsd/fuse_opt.c:146:
+^Ireturn add_opt_common(opts, opt, 1);$

ERROR: code indent should never use tabs
#543: FILE: tools/virtiofsd/fuse_opt.c:151:
+^Ireturn add_opt_common(&ctx->opts, opt, 1);$

ERROR: code indent should never use tabs
#547: FILE: tools/virtiofsd/fuse_opt.c:155:
+^I^I     int iso)$

ERROR: code indent should never use tabs
#549: FILE: tools/virtiofsd/fuse_opt.c:157:
+^Iif (key == FUSE_OPT_KEY_DISCARD)$

ERROR: braces {} are necessary for all arms of this statement
#549: FILE: tools/virtiofsd/fuse_opt.c:157:
+       if (key == FUSE_OPT_KEY_DISCARD)
[...]

ERROR: code indent should never use tabs
#550: FILE: tools/virtiofsd/fuse_opt.c:158:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#552: FILE: tools/virtiofsd/fuse_opt.c:160:
+^Iif (key != FUSE_OPT_KEY_KEEP && ctx->proc) {$

ERROR: code indent should never use tabs
#553: FILE: tools/virtiofsd/fuse_opt.c:161:
+^I^Iint res = ctx->proc(ctx->data, arg, key, &ctx->outargs);$

ERROR: code indent should never use tabs
#554: FILE: tools/virtiofsd/fuse_opt.c:162:
+^I^Iif (res == -1 || !res)$

ERROR: braces {} are necessary for all arms of this statement
#554: FILE: tools/virtiofsd/fuse_opt.c:162:
+               if (res == -1 || !res)
[...]

ERROR: code indent should never use tabs
#555: FILE: tools/virtiofsd/fuse_opt.c:163:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#556: FILE: tools/virtiofsd/fuse_opt.c:164:
+^I}$

ERROR: code indent should never use tabs
#557: FILE: tools/virtiofsd/fuse_opt.c:165:
+^Iif (iso)$

ERROR: braces {} are necessary for all arms of this statement
#557: FILE: tools/virtiofsd/fuse_opt.c:165:
+       if (iso)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#558: FILE: tools/virtiofsd/fuse_opt.c:166:
+^I^Ireturn add_opt(ctx, arg);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/fuse_opt.c:167:
+^Ielse$

ERROR: code indent should never use tabs
#560: FILE: tools/virtiofsd/fuse_opt.c:168:
+^I^Ireturn add_arg(ctx, arg);$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/fuse_opt.c:173:
+^Iint arglen = strlen(arg);$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/fuse_opt.c:174:
+^Iconst char *sep = strchr(t, '=');$

ERROR: code indent should never use tabs
#567: FILE: tools/virtiofsd/fuse_opt.c:175:
+^Isep = sep ? sep : strchr(t, ' ');$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/fuse_opt.c:176:
+^Iif (sep && (!sep[1] || sep[1] == '%')) {$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/fuse_opt.c:177:
+^I^Iint tlen = sep - t;$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/fuse_opt.c:178:
+^I^Iif (sep[0] == '=')$

ERROR: braces {} are necessary for all arms of this statement
#570: FILE: tools/virtiofsd/fuse_opt.c:178:
+               if (sep[0] == '=')
[...]

ERROR: code indent should never use tabs
#571: FILE: tools/virtiofsd/fuse_opt.c:179:
+^I^I^Itlen ++;$

ERROR: space prohibited before that '++' (ctx:WxO)
#571: FILE: tools/virtiofsd/fuse_opt.c:179:
+                       tlen ++;
                             ^

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/fuse_opt.c:180:
+^I^Iif (arglen >= tlen && strncmp(arg, t, tlen) == 0) {$

ERROR: code indent should never use tabs
#573: FILE: tools/virtiofsd/fuse_opt.c:181:
+^I^I^I*sepp = sep - t;$

ERROR: code indent should never use tabs
#574: FILE: tools/virtiofsd/fuse_opt.c:182:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#575: FILE: tools/virtiofsd/fuse_opt.c:183:
+^I^I}$

ERROR: code indent should never use tabs
#576: FILE: tools/virtiofsd/fuse_opt.c:184:
+^I}$

ERROR: code indent should never use tabs
#577: FILE: tools/virtiofsd/fuse_opt.c:185:
+^Iif (strcmp(t, arg) == 0) {$

ERROR: code indent should never use tabs
#578: FILE: tools/virtiofsd/fuse_opt.c:186:
+^I^I*sepp = 0;$

ERROR: code indent should never use tabs
#579: FILE: tools/virtiofsd/fuse_opt.c:187:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#580: FILE: tools/virtiofsd/fuse_opt.c:188:
+^I}$

ERROR: code indent should never use tabs
#581: FILE: tools/virtiofsd/fuse_opt.c:189:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/fuse_opt.c:193:
+^I^I^I^I       const char *arg, unsigned *sepp)$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/fuse_opt.c:195:
+^Ifor (; opt && opt->templ; opt++)$

ERROR: code indent should never use tabs
#588: FILE: tools/virtiofsd/fuse_opt.c:196:
+^I^Iif (match_template(opt->templ, arg, sepp))$

ERROR: braces {} are necessary for all arms of this statement
#588: FILE: tools/virtiofsd/fuse_opt.c:196:
+               if (match_template(opt->templ, arg, sepp))
[...]

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/fuse_opt.c:197:
+^I^I^Ireturn opt;$

ERROR: code indent should never use tabs
#590: FILE: tools/virtiofsd/fuse_opt.c:198:
+^Ireturn NULL;$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/fuse_opt.c:203:
+^Iunsigned dummy;$

ERROR: code indent should never use tabs
#596: FILE: tools/virtiofsd/fuse_opt.c:204:
+^Ireturn find_opt(opts, opt, &dummy) ? 1 : 0;$

ERROR: code indent should never use tabs
#600: FILE: tools/virtiofsd/fuse_opt.c:208:
+^I^I^I     const char *arg)$

ERROR: code indent should never use tabs
#602: FILE: tools/virtiofsd/fuse_opt.c:210:
+^Iassert(format[0] == '%');$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/fuse_opt.c:211:
+^Iif (format[1] == 's') {$

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/fuse_opt.c:212:
+^I^Ichar **s = var;$

ERROR: code indent should never use tabs
#605: FILE: tools/virtiofsd/fuse_opt.c:213:
+^I^Ichar *copy = strdup(param);$

ERROR: code indent should never use tabs
#606: FILE: tools/virtiofsd/fuse_opt.c:214:
+^I^Iif (!copy)$

ERROR: braces {} are necessary for all arms of this statement
#606: FILE: tools/virtiofsd/fuse_opt.c:214:
+               if (!copy)
[...]

ERROR: code indent should never use tabs
#607: FILE: tools/virtiofsd/fuse_opt.c:215:
+^I^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#609: FILE: tools/virtiofsd/fuse_opt.c:217:
+^I^Ifree(*s);$

ERROR: code indent should never use tabs
#610: FILE: tools/virtiofsd/fuse_opt.c:218:
+^I^I*s = copy;$

ERROR: code indent should never use tabs
#611: FILE: tools/virtiofsd/fuse_opt.c:219:
+^I} else {$

ERROR: code indent should never use tabs
#612: FILE: tools/virtiofsd/fuse_opt.c:220:
+^I^Iif (sscanf(param, format, var) != 1) {$

ERROR: line over 90 characters
#613: FILE: tools/virtiofsd/fuse_opt.c:221:
+                       fuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in option `%s'\n", arg);

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/fuse_opt.c:221:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in option `%s'\n", arg);$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/fuse_opt.c:222:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/fuse_opt.c:223:
+^I^I}$

ERROR: code indent should never use tabs
#616: FILE: tools/virtiofsd/fuse_opt.c:224:
+^I}$

ERROR: code indent should never use tabs
#617: FILE: tools/virtiofsd/fuse_opt.c:225:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#621: FILE: tools/virtiofsd/fuse_opt.c:229:
+^I^I       const struct fuse_opt *opt, unsigned sep,$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/fuse_opt.c:230:
+^I^I       const char *arg, int iso)$

ERROR: code indent should never use tabs
#624: FILE: tools/virtiofsd/fuse_opt.c:232:
+^Iif (opt->offset == -1U) {$

ERROR: code indent should never use tabs
#625: FILE: tools/virtiofsd/fuse_opt.c:233:
+^I^Iif (call_proc(ctx, arg, opt->value, iso) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#625: FILE: tools/virtiofsd/fuse_opt.c:233:
+               if (call_proc(ctx, arg, opt->value, iso) == -1)
[...]

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/fuse_opt.c:234:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/fuse_opt.c:235:
+^I} else {$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/fuse_opt.c:236:
+^I^Ivoid *var = (char *)ctx->data + opt->offset;$

ERROR: code indent should never use tabs
#629: FILE: tools/virtiofsd/fuse_opt.c:237:
+^I^Iif (sep && opt->templ[sep + 1]) {$

ERROR: code indent should never use tabs
#630: FILE: tools/virtiofsd/fuse_opt.c:238:
+^I^I^Iconst char *param = arg + sep;$

ERROR: code indent should never use tabs
#631: FILE: tools/virtiofsd/fuse_opt.c:239:
+^I^I^Iif (opt->templ[sep] == '=')$

ERROR: braces {} are necessary for all arms of this statement
#631: FILE: tools/virtiofsd/fuse_opt.c:239:
+                       if (opt->templ[sep] == '=')
[...]

ERROR: code indent should never use tabs
#632: FILE: tools/virtiofsd/fuse_opt.c:240:
+^I^I^I^Iparam ++;$

ERROR: space prohibited before that '++' (ctx:WxO)
#632: FILE: tools/virtiofsd/fuse_opt.c:240:
+                               param ++;
                                      ^

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/fuse_opt.c:241:
+^I^I^Iif (process_opt_param(var, opt->templ + sep + 1,$

ERROR: code indent should never use tabs
#634: FILE: tools/virtiofsd/fuse_opt.c:242:
+^I^I^I^I^I      param, arg) == -1)$

ERROR: code indent should never use tabs
#635: FILE: tools/virtiofsd/fuse_opt.c:243:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#636: FILE: tools/virtiofsd/fuse_opt.c:244:
+^I^I} else$

ERROR: code indent should never use tabs
#637: FILE: tools/virtiofsd/fuse_opt.c:245:
+^I^I^I*(int *)var = opt->value;$

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/fuse_opt.c:246:
+^I}$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/fuse_opt.c:247:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/fuse_opt.c:251:
+^I^I^I       const struct fuse_opt *opt, unsigned sep,$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/fuse_opt.c:252:
+^I^I^I       const char *arg, int iso)$

ERROR: code indent should never use tabs
#646: FILE: tools/virtiofsd/fuse_opt.c:254:
+^Iint res;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/fuse_opt.c:255:
+^Ichar *newarg;$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/fuse_opt.c:256:
+^Ichar *param;$

ERROR: code indent should never use tabs
#650: FILE: tools/virtiofsd/fuse_opt.c:258:
+^Iif (next_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#650: FILE: tools/virtiofsd/fuse_opt.c:258:
+       if (next_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/fuse_opt.c:259:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/fuse_opt.c:261:
+^Iparam = ctx->argv[ctx->argctr];$

ERROR: code indent should never use tabs
#654: FILE: tools/virtiofsd/fuse_opt.c:262:
+^Inewarg = malloc(sep + strlen(param) + 1);$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/fuse_opt.c:263:
+^Iif (!newarg)$

ERROR: braces {} are necessary for all arms of this statement
#655: FILE: tools/virtiofsd/fuse_opt.c:263:
+       if (!newarg)
[...]

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/fuse_opt.c:264:
+^I^Ireturn alloc_failed();$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/fuse_opt.c:266:
+^Imemcpy(newarg, arg, sep);$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/fuse_opt.c:267:
+^Istrcpy(newarg + sep, param);$

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/fuse_opt.c:268:
+^Ires = process_opt(ctx, opt, sep, newarg, iso);$

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/fuse_opt.c:269:
+^Ifree(newarg);$

ERROR: code indent should never use tabs
#663: FILE: tools/virtiofsd/fuse_opt.c:271:
+^Ireturn res;$

ERROR: code indent should never use tabs
#668: FILE: tools/virtiofsd/fuse_opt.c:276:
+^Iunsigned sep;$

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/fuse_opt.c:277:
+^Iconst struct fuse_opt *opt = find_opt(ctx->opt, arg, &sep);$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/fuse_opt.c:278:
+^Iif (opt) {$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/fuse_opt.c:279:
+^I^Ifor (; opt; opt = find_opt(opt + 1, arg, &sep)) {$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/fuse_opt.c:280:
+^I^I^Iint res;$

ERROR: code indent should never use tabs
#673: FILE: tools/virtiofsd/fuse_opt.c:281:
+^I^I^Iif (sep && opt->templ[sep] == ' ' && !arg[sep])$

ERROR: code indent should never use tabs
#674: FILE: tools/virtiofsd/fuse_opt.c:282:
+^I^I^I^Ires = process_opt_sep_arg(ctx, opt, sep, arg,$

ERROR: code indent should never use tabs
#675: FILE: tools/virtiofsd/fuse_opt.c:283:
+^I^I^I^I^I^I^I  iso);$

ERROR: code indent should never use tabs
#676: FILE: tools/virtiofsd/fuse_opt.c:284:
+^I^I^Ielse$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/fuse_opt.c:285:
+^I^I^I^Ires = process_opt(ctx, opt, sep, arg, iso);$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/fuse_opt.c:286:
+^I^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#678: FILE: tools/virtiofsd/fuse_opt.c:286:
+                       if (res == -1)
[...]

ERROR: code indent should never use tabs
#679: FILE: tools/virtiofsd/fuse_opt.c:287:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#680: FILE: tools/virtiofsd/fuse_opt.c:288:
+^I^I}$

ERROR: code indent should never use tabs
#681: FILE: tools/virtiofsd/fuse_opt.c:289:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#682: FILE: tools/virtiofsd/fuse_opt.c:290:
+^I} else$

ERROR: code indent should never use tabs
#683: FILE: tools/virtiofsd/fuse_opt.c:291:
+^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_OPT, iso);$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/fuse_opt.c:296:
+^Ichar *s = opts;$

ERROR: code indent should never use tabs
#689: FILE: tools/virtiofsd/fuse_opt.c:297:
+^Ichar *d = s;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/fuse_opt.c:298:
+^Iint end = 0;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/fuse_opt.c:300:
+^Iwhile (!end) {$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/fuse_opt.c:301:
+^I^Iif (*s == '\0')$

ERROR: braces {} are necessary for all arms of this statement
#693: FILE: tools/virtiofsd/fuse_opt.c:301:
+               if (*s == '\0')
[...]

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/fuse_opt.c:302:
+^I^I^Iend = 1;$

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/fuse_opt.c:303:
+^I^Iif (*s == ',' || end) {$

ERROR: code indent should never use tabs
#696: FILE: tools/virtiofsd/fuse_opt.c:304:
+^I^I^Iint res;$

ERROR: code indent should never use tabs
#698: FILE: tools/virtiofsd/fuse_opt.c:306:
+^I^I^I*d = '\0';$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/fuse_opt.c:307:
+^I^I^Ires = process_gopt(ctx, opts, 1);$

ERROR: code indent should never use tabs
#700: FILE: tools/virtiofsd/fuse_opt.c:308:
+^I^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#700: FILE: tools/virtiofsd/fuse_opt.c:308:
+                       if (res == -1)
[...]

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/fuse_opt.c:309:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/fuse_opt.c:310:
+^I^I^Id = opts;$

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/fuse_opt.c:311:
+^I^I} else {$

ERROR: code indent should never use tabs
#704: FILE: tools/virtiofsd/fuse_opt.c:312:
+^I^I^Iif (s[0] == '\\' && s[1] != '\0') {$

ERROR: code indent should never use tabs
#705: FILE: tools/virtiofsd/fuse_opt.c:313:
+^I^I^I^Is++;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/fuse_opt.c:314:
+^I^I^I^Iif (s[0] >= '0' && s[0] <= '3' &&$

ERROR: code indent should never use tabs
#707: FILE: tools/virtiofsd/fuse_opt.c:315:
+^I^I^I^I    s[1] >= '0' && s[1] <= '7' &&$

ERROR: code indent should never use tabs
#708: FILE: tools/virtiofsd/fuse_opt.c:316:
+^I^I^I^I    s[2] >= '0' && s[2] <= '7') {$

ERROR: code indent should never use tabs
#709: FILE: tools/virtiofsd/fuse_opt.c:317:
+^I^I^I^I^I*d++ = (s[0] - '0') * 0100 +$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/fuse_opt.c:318:
+^I^I^I^I^I^I(s[1] - '0') * 0010 +$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/fuse_opt.c:319:
+^I^I^I^I^I^I(s[2] - '0');$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/fuse_opt.c:320:
+^I^I^I^I^Is += 2;$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/fuse_opt.c:321:
+^I^I^I^I} else {$

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/fuse_opt.c:322:
+^I^I^I^I^I*d++ = *s;$

ERROR: code indent should never use tabs
#715: FILE: tools/virtiofsd/fuse_opt.c:323:
+^I^I^I^I}$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/fuse_opt.c:324:
+^I^I^I} else {$

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/fuse_opt.c:325:
+^I^I^I^I*d++ = *s;$

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/fuse_opt.c:326:
+^I^I^I}$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/fuse_opt.c:327:
+^I^I}$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/fuse_opt.c:328:
+^I^Is++;$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/fuse_opt.c:329:
+^I}$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/fuse_opt.c:331:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/fuse_opt.c:336:
+^Iint res;$

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/fuse_opt.c:337:
+^Ichar *copy = strdup(opts);$

ERROR: code indent should never use tabs
#731: FILE: tools/virtiofsd/fuse_opt.c:339:
+^Iif (!copy) {$

ERROR: code indent should never use tabs
#732: FILE: tools/virtiofsd/fuse_opt.c:340:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/fuse_opt.c:341:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/fuse_opt.c:342:
+^I}$

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/fuse_opt.c:343:
+^Ires = process_real_option_group(ctx, copy);$

ERROR: code indent should never use tabs
#736: FILE: tools/virtiofsd/fuse_opt.c:344:
+^Ifree(copy);$

ERROR: code indent should never use tabs
#737: FILE: tools/virtiofsd/fuse_opt.c:345:
+^Ireturn res;$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/fuse_opt.c:350:
+^Iif (ctx->nonopt || arg[0] != '-')$

ERROR: code indent should never use tabs
#743: FILE: tools/virtiofsd/fuse_opt.c:351:
+^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_NONOPT, 0);$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/fuse_opt.c:352:
+^Ielse if (arg[1] == 'o') {$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/fuse_opt.c:353:
+^I^Iif (arg[2])$

ERROR: code indent should never use tabs
#746: FILE: tools/virtiofsd/fuse_opt.c:354:
+^I^I^Ireturn process_option_group(ctx, arg + 2);$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/fuse_opt.c:355:
+^I^Ielse {$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/fuse_opt.c:356:
+^I^I^Iif (next_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#748: FILE: tools/virtiofsd/fuse_opt.c:356:
+                       if (next_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/fuse_opt.c:357:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/fuse_opt.c:359:
+^I^I^Ireturn process_option_group(ctx,$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/fuse_opt.c:360:
+^I^I^I^I^I^I    ctx->argv[ctx->argctr]);$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/fuse_opt.c:361:
+^I^I}$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/fuse_opt.c:362:
+^I} else if (arg[1] == '-' && !arg[2]) {$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/fuse_opt.c:363:
+^I^Iif (add_arg(ctx, arg) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#755: FILE: tools/virtiofsd/fuse_opt.c:363:
+               if (add_arg(ctx, arg) == -1)
[...]

ERROR: code indent should never use tabs
#756: FILE: tools/virtiofsd/fuse_opt.c:364:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/fuse_opt.c:365:
+^I^Ictx->nonopt = ctx->outargs.argc;$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/fuse_opt.c:366:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/fuse_opt.c:367:
+^I} else$

ERROR: code indent should never use tabs
#760: FILE: tools/virtiofsd/fuse_opt.c:368:
+^I^Ireturn process_gopt(ctx, arg, 0);$

ERROR: code indent should never use tabs
#765: FILE: tools/virtiofsd/fuse_opt.c:373:
+^Iif (ctx->argc) {$

ERROR: code indent should never use tabs
#766: FILE: tools/virtiofsd/fuse_opt.c:374:
+^I^Iif (add_arg(ctx, ctx->argv[0]) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#766: FILE: tools/virtiofsd/fuse_opt.c:374:
+               if (add_arg(ctx, ctx->argv[0]) == -1)
[...]

ERROR: code indent should never use tabs
#767: FILE: tools/virtiofsd/fuse_opt.c:375:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/fuse_opt.c:376:
+^I}$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_opt.c:378:
+^Ifor (ctx->argctr = 1; ctx->argctr < ctx->argc; ctx->argctr++)$

ERROR: code indent should never use tabs
#771: FILE: tools/virtiofsd/fuse_opt.c:379:
+^I^Iif (process_one(ctx, ctx->argv[ctx->argctr]) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#771: FILE: tools/virtiofsd/fuse_opt.c:379:
+               if (process_one(ctx, ctx->argv[ctx->argctr]) == -1)
[...]

ERROR: code indent should never use tabs
#772: FILE: tools/virtiofsd/fuse_opt.c:380:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#774: FILE: tools/virtiofsd/fuse_opt.c:382:
+^Iif (ctx->opts) {$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/fuse_opt.c:383:
+^I^Iif (fuse_opt_insert_arg(&ctx->outargs, 1, "-o") == -1 ||$

ERROR: code indent should never use tabs
#776: FILE: tools/virtiofsd/fuse_opt.c:384:
+^I^I    fuse_opt_insert_arg(&ctx->outargs, 2, ctx->opts) == -1)$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/fuse_opt.c:385:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#778: FILE: tools/virtiofsd/fuse_opt.c:386:
+^I}$

ERROR: code indent should never use tabs
#780: FILE: tools/virtiofsd/fuse_opt.c:388:
+^I/* If option separator ("--") is the last argument, remove it */$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/fuse_opt.c:389:
+^Iif (ctx->nonopt && ctx->nonopt == ctx->outargs.argc &&$

ERROR: code indent should never use tabs
#782: FILE: tools/virtiofsd/fuse_opt.c:390:
+^I    strcmp(ctx->outargs.argv[ctx->outargs.argc - 1], "--") == 0) {$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/fuse_opt.c:391:
+^I^Ifree(ctx->outargs.argv[ctx->outargs.argc - 1]);$

ERROR: code indent should never use tabs
#784: FILE: tools/virtiofsd/fuse_opt.c:392:
+^I^Ictx->outargs.argv[--ctx->outargs.argc] = NULL;$

ERROR: code indent should never use tabs
#785: FILE: tools/virtiofsd/fuse_opt.c:393:
+^I}$

ERROR: code indent should never use tabs
#787: FILE: tools/virtiofsd/fuse_opt.c:395:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/fuse_opt.c:399:
+^I^I   const struct fuse_opt opts[], fuse_opt_proc_t proc)$

ERROR: code indent should never use tabs
#793: FILE: tools/virtiofsd/fuse_opt.c:401:
+^Iint res;$

ERROR: code indent should never use tabs
#794: FILE: tools/virtiofsd/fuse_opt.c:402:
+^Istruct fuse_opt_context ctx = {$

ERROR: code indent should never use tabs
#795: FILE: tools/virtiofsd/fuse_opt.c:403:
+^I^I.data = data,$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/fuse_opt.c:404:
+^I^I.opt = opts,$

ERROR: code indent should never use tabs
#797: FILE: tools/virtiofsd/fuse_opt.c:405:
+^I^I.proc = proc,$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/fuse_opt.c:406:
+^I};$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/fuse_opt.c:408:
+^Iif (!args || !args->argv || !args->argc)$

ERROR: braces {} are necessary for all arms of this statement
#800: FILE: tools/virtiofsd/fuse_opt.c:408:
+       if (!args || !args->argv || !args->argc)
[...]

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/fuse_opt.c:409:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/fuse_opt.c:411:
+^Ictx.argc = args->argc;$

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/fuse_opt.c:412:
+^Ictx.argv = args->argv;$

ERROR: code indent should never use tabs
#806: FILE: tools/virtiofsd/fuse_opt.c:414:
+^Ires = opt_parse(&ctx);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/fuse_opt.c:415:
+^Iif (res != -1) {$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/fuse_opt.c:416:
+^I^Istruct fuse_args tmp = *args;$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/fuse_opt.c:417:
+^I^I*args = ctx.outargs;$

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/fuse_opt.c:418:
+^I^Ictx.outargs = tmp;$

ERROR: code indent should never use tabs
#811: FILE: tools/virtiofsd/fuse_opt.c:419:
+^I}$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/fuse_opt.c:420:
+^Ifree(ctx.opts);$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/fuse_opt.c:421:
+^Ifuse_opt_free_args(&ctx.outargs);$

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/fuse_opt.c:422:
+^Ireturn res;$

WARNING: Block comments use * on subsequent lines
#823: FILE: tools/virtiofsd/fuse_signals.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/fuse_signals.c:24:
+^Iif (fuse_instance) {$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/fuse_signals.c:25:
+^I^Ifuse_session_exit(fuse_instance);$

ERROR: code indent should never use tabs
#847: FILE: tools/virtiofsd/fuse_signals.c:26:
+^I^Iif(sig <= 0) {$

ERROR: space required before the open parenthesis '('
#847: FILE: tools/virtiofsd/fuse_signals.c:26:
+               if(sig <= 0) {

WARNING: line over 80 characters
#848: FILE: tools/virtiofsd/fuse_signals.c:27:
+                       fuse_log(FUSE_LOG_ERR, "assertion error: signal value <= 0\n");

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/fuse_signals.c:27:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "assertion error: signal value <= 0\n");$

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/fuse_signals.c:28:
+^I^I^Iabort();$

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/fuse_signals.c:29:
+^I^I}$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/fuse_signals.c:30:
+^I^Ifuse_instance->error = sig;$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/fuse_signals.c:31:
+^I}$

ERROR: code indent should never use tabs
#857: FILE: tools/virtiofsd/fuse_signals.c:36:
+^I(void) sig;$

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/fuse_signals.c:41:
+^Istruct sigaction sa;$

ERROR: code indent should never use tabs
#863: FILE: tools/virtiofsd/fuse_signals.c:42:
+^Istruct sigaction old_sa;$

ERROR: code indent should never use tabs
#865: FILE: tools/virtiofsd/fuse_signals.c:44:
+^Imemset(&sa, 0, sizeof(struct sigaction));$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/fuse_signals.c:45:
+^Isa.sa_handler = remove ? SIG_DFL : handler;$

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/fuse_signals.c:46:
+^Isigemptyset(&(sa.sa_mask));$

ERROR: code indent should never use tabs
#868: FILE: tools/virtiofsd/fuse_signals.c:47:
+^Isa.sa_flags = 0;$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/fuse_signals.c:49:
+^Iif (sigaction(sig, NULL, &old_sa) == -1) {$

ERROR: code indent should never use tabs
#871: FILE: tools/virtiofsd/fuse_signals.c:50:
+^I^Iperror("fuse: cannot get old signal handler");$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/fuse_signals.c:51:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#873: FILE: tools/virtiofsd/fuse_signals.c:52:
+^I}$

ERROR: code indent should never use tabs
#875: FILE: tools/virtiofsd/fuse_signals.c:54:
+^Iif (old_sa.sa_handler == (remove ? handler : SIG_DFL) &&$

ERROR: code indent should never use tabs
#876: FILE: tools/virtiofsd/fuse_signals.c:55:
+^I    sigaction(sig, &sa, NULL) == -1) {$

ERROR: code indent should never use tabs
#877: FILE: tools/virtiofsd/fuse_signals.c:56:
+^I^Iperror("fuse: cannot set signal handler");$

ERROR: code indent should never use tabs
#878: FILE: tools/virtiofsd/fuse_signals.c:57:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/fuse_signals.c:58:
+^I}$

ERROR: code indent should never use tabs
#880: FILE: tools/virtiofsd/fuse_signals.c:59:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#885: FILE: tools/virtiofsd/fuse_signals.c:64:
+^I/* If we used SIG_IGN instead of the do_nothing function,$

WARNING: Block comments use a leading /* on a separate line
#885: FILE: tools/virtiofsd/fuse_signals.c:64:
+       /* If we used SIG_IGN instead of the do_nothing function,

ERROR: code indent should never use tabs
#886: FILE: tools/virtiofsd/fuse_signals.c:65:
+^I   then we would be unable to tell if we set SIG_IGN (and$

WARNING: Block comments use * on subsequent lines
#886: FILE: tools/virtiofsd/fuse_signals.c:65:
+       /* If we used SIG_IGN instead of the do_nothing function,
+          then we would be unable to tell if we set SIG_IGN (and

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/fuse_signals.c:66:
+^I   thus should reset to SIG_DFL in fuse_remove_signal_handlers)$

ERROR: code indent should never use tabs
#888: FILE: tools/virtiofsd/fuse_signals.c:67:
+^I   or if it was already set to SIG_IGN (and should be left$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/fuse_signals.c:68:
+^I   untouched. */$

WARNING: Block comments use a trailing */ on a separate line
#889: FILE: tools/virtiofsd/fuse_signals.c:68:
+          untouched. */

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/fuse_signals.c:69:
+^Iif (set_one_signal_handler(SIGHUP, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_signals.c:70:
+^I    set_one_signal_handler(SIGINT, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#892: FILE: tools/virtiofsd/fuse_signals.c:71:
+^I    set_one_signal_handler(SIGTERM, exit_handler, 0) == -1 ||$

ERROR: code indent should never use tabs
#893: FILE: tools/virtiofsd/fuse_signals.c:72:
+^I    set_one_signal_handler(SIGPIPE, do_nothing, 0) == -1)$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/fuse_signals.c:73:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#896: FILE: tools/virtiofsd/fuse_signals.c:75:
+^Ifuse_instance = se;$

ERROR: code indent should never use tabs
#897: FILE: tools/virtiofsd/fuse_signals.c:76:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/fuse_signals.c:81:
+^Iif (fuse_instance != se)$

ERROR: code indent should never use tabs
#903: FILE: tools/virtiofsd/fuse_signals.c:82:
+^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#904: FILE: tools/virtiofsd/fuse_signals.c:83:
+^I^I^I"fuse: fuse_remove_signal_handlers: unknown session\n");$

ERROR: code indent should never use tabs
#905: FILE: tools/virtiofsd/fuse_signals.c:84:
+^Ielse$

ERROR: code indent should never use tabs
#906: FILE: tools/virtiofsd/fuse_signals.c:85:
+^I^Ifuse_instance = NULL;$

ERROR: code indent should never use tabs
#908: FILE: tools/virtiofsd/fuse_signals.c:87:
+^Iset_one_signal_handler(SIGHUP, exit_handler, 1);$

ERROR: code indent should never use tabs
#909: FILE: tools/virtiofsd/fuse_signals.c:88:
+^Iset_one_signal_handler(SIGINT, exit_handler, 1);$

ERROR: code indent should never use tabs
#910: FILE: tools/virtiofsd/fuse_signals.c:89:
+^Iset_one_signal_handler(SIGTERM, exit_handler, 1);$

ERROR: code indent should never use tabs
#911: FILE: tools/virtiofsd/fuse_signals.c:90:
+^Iset_one_signal_handler(SIGPIPE, do_nothing, 1);$

WARNING: Block comments use * on subsequent lines
#920: FILE: tools/virtiofsd/helper.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#948: FILE: tools/virtiofsd/helper.c:30:
+^I{ t, offsetof(struct fuse_cmdline_opts, p), 1 }$

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/helper.c:33:
+^IFUSE_HELPER_OPT("-h",^I^Ishow_help),$

ERROR: code indent should never use tabs
#952: FILE: tools/virtiofsd/helper.c:34:
+^IFUSE_HELPER_OPT("--help",^Ishow_help),$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/helper.c:35:
+^IFUSE_HELPER_OPT("-V",^I^Ishow_version),$

ERROR: code indent should never use tabs
#954: FILE: tools/virtiofsd/helper.c:36:
+^IFUSE_HELPER_OPT("--version",^Ishow_version),$

ERROR: code indent should never use tabs
#955: FILE: tools/virtiofsd/helper.c:37:
+^IFUSE_HELPER_OPT("-d",^I^Idebug),$

ERROR: code indent should never use tabs
#956: FILE: tools/virtiofsd/helper.c:38:
+^IFUSE_HELPER_OPT("debug",^Idebug),$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/helper.c:39:
+^IFUSE_HELPER_OPT("-d",^I^Iforeground),$

ERROR: code indent should never use tabs
#958: FILE: tools/virtiofsd/helper.c:40:
+^IFUSE_HELPER_OPT("debug",^Iforeground),$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/helper.c:41:
+^IFUSE_OPT_KEY("-d",^I^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/helper.c:42:
+^IFUSE_OPT_KEY("debug",^I^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#961: FILE: tools/virtiofsd/helper.c:43:
+^IFUSE_HELPER_OPT("-f",^I^Iforeground),$

ERROR: code indent should never use tabs
#962: FILE: tools/virtiofsd/helper.c:44:
+^IFUSE_HELPER_OPT("-s",^I^Isinglethread),$

ERROR: code indent should never use tabs
#963: FILE: tools/virtiofsd/helper.c:45:
+^IFUSE_HELPER_OPT("fsname=",^Inodefault_subtype),$

ERROR: code indent should never use tabs
#964: FILE: tools/virtiofsd/helper.c:46:
+^IFUSE_OPT_KEY("fsname=",^I^IFUSE_OPT_KEY_KEEP),$

WARNING: architecture specific defines should be avoided
#965: FILE: tools/virtiofsd/helper.c:47:
+#ifndef __FreeBSD__

ERROR: code indent should never use tabs
#966: FILE: tools/virtiofsd/helper.c:48:
+^IFUSE_HELPER_OPT("subtype=",^Inodefault_subtype),$

ERROR: code indent should never use tabs
#967: FILE: tools/virtiofsd/helper.c:49:
+^IFUSE_OPT_KEY("subtype=",^IFUSE_OPT_KEY_KEEP),$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/helper.c:51:
+^IFUSE_HELPER_OPT("clone_fd",^Iclone_fd),$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/helper.c:52:
+^IFUSE_HELPER_OPT("max_idle_threads=%u", max_idle_threads),$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/helper.c:53:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#975: FILE: tools/virtiofsd/helper.c:57:
+^Iint atomic_o_trunc;$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/helper.c:58:
+^Iint no_remote_posix_lock;$

ERROR: code indent should never use tabs
#977: FILE: tools/virtiofsd/helper.c:59:
+^Iint no_remote_flock;$

ERROR: code indent should never use tabs
#978: FILE: tools/virtiofsd/helper.c:60:
+^Iint splice_write;$

ERROR: code indent should never use tabs
#979: FILE: tools/virtiofsd/helper.c:61:
+^Iint splice_move;$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/helper.c:62:
+^Iint splice_read;$

ERROR: code indent should never use tabs
#981: FILE: tools/virtiofsd/helper.c:63:
+^Iint no_splice_write;$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/helper.c:64:
+^Iint no_splice_move;$

ERROR: code indent should never use tabs
#983: FILE: tools/virtiofsd/helper.c:65:
+^Iint no_splice_read;$

ERROR: code indent should never use tabs
#984: FILE: tools/virtiofsd/helper.c:66:
+^Iint auto_inval_data;$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/helper.c:67:
+^Iint no_auto_inval_data;$

ERROR: code indent should never use tabs
#986: FILE: tools/virtiofsd/helper.c:68:
+^Iint no_readdirplus;$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/helper.c:69:
+^Iint no_readdirplus_auto;$

ERROR: code indent should never use tabs
#988: FILE: tools/virtiofsd/helper.c:70:
+^Iint async_dio;$

ERROR: code indent should never use tabs
#989: FILE: tools/virtiofsd/helper.c:71:
+^Iint no_async_dio;$

ERROR: code indent should never use tabs
#990: FILE: tools/virtiofsd/helper.c:72:
+^Iint writeback_cache;$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/helper.c:73:
+^Iint no_writeback_cache;$

ERROR: code indent should never use tabs
#992: FILE: tools/virtiofsd/helper.c:74:
+^Iint async_read;$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/helper.c:75:
+^Iint sync_read;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/helper.c:76:
+^Iunsigned max_write;$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/helper.c:77:
+^Iunsigned max_readahead;$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/helper.c:78:
+^Iunsigned max_background;$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/helper.c:79:
+^Iunsigned congestion_threshold;$

ERROR: code indent should never use tabs
#998: FILE: tools/virtiofsd/helper.c:80:
+^Iunsigned time_gran;$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/helper.c:81:
+^Iint set_max_write;$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/helper.c:82:
+^Iint set_max_readahead;$

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/helper.c:83:
+^Iint set_max_background;$

ERROR: code indent should never use tabs
#1002: FILE: tools/virtiofsd/helper.c:84:
+^Iint set_congestion_threshold;$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/helper.c:85:
+^Iint set_time_gran;$

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/helper.c:88:
+#define CONN_OPTION(t, p, v)^I^I^I^I^I\$

ERROR: code indent should never use tabs
#1007: FILE: tools/virtiofsd/helper.c:89:
+^I{ t, offsetof(struct fuse_conn_info_opts, p), v }$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/helper.c:91:
+^ICONN_OPTION("max_write=%u", max_write, 0),$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/helper.c:92:
+^ICONN_OPTION("max_write=", set_max_write, 1),$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/helper.c:93:
+^ICONN_OPTION("max_readahead=%u", max_readahead, 0),$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/helper.c:94:
+^ICONN_OPTION("max_readahead=", set_max_readahead, 1),$

ERROR: code indent should never use tabs
#1013: FILE: tools/virtiofsd/helper.c:95:
+^ICONN_OPTION("max_background=%u", max_background, 0),$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/helper.c:96:
+^ICONN_OPTION("max_background=", set_max_background, 1),$

ERROR: code indent should never use tabs
#1015: FILE: tools/virtiofsd/helper.c:97:
+^ICONN_OPTION("congestion_threshold=%u", congestion_threshold, 0),$

ERROR: code indent should never use tabs
#1016: FILE: tools/virtiofsd/helper.c:98:
+^ICONN_OPTION("congestion_threshold=", set_congestion_threshold, 1),$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/helper.c:99:
+^ICONN_OPTION("sync_read", sync_read, 1),$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/helper.c:100:
+^ICONN_OPTION("async_read", async_read, 1),$

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/helper.c:101:
+^ICONN_OPTION("atomic_o_trunc", atomic_o_trunc, 1),$

ERROR: code indent should never use tabs
#1020: FILE: tools/virtiofsd/helper.c:102:
+^ICONN_OPTION("no_remote_lock", no_remote_posix_lock, 1),$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/helper.c:103:
+^ICONN_OPTION("no_remote_lock", no_remote_flock, 1),$

ERROR: code indent should never use tabs
#1022: FILE: tools/virtiofsd/helper.c:104:
+^ICONN_OPTION("no_remote_flock", no_remote_flock, 1),$

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/helper.c:105:
+^ICONN_OPTION("no_remote_posix_lock", no_remote_posix_lock, 1),$

ERROR: code indent should never use tabs
#1024: FILE: tools/virtiofsd/helper.c:106:
+^ICONN_OPTION("splice_write", splice_write, 1),$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/helper.c:107:
+^ICONN_OPTION("no_splice_write", no_splice_write, 1),$

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/helper.c:108:
+^ICONN_OPTION("splice_move", splice_move, 1),$

ERROR: code indent should never use tabs
#1027: FILE: tools/virtiofsd/helper.c:109:
+^ICONN_OPTION("no_splice_move", no_splice_move, 1),$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/helper.c:110:
+^ICONN_OPTION("splice_read", splice_read, 1),$

ERROR: code indent should never use tabs
#1029: FILE: tools/virtiofsd/helper.c:111:
+^ICONN_OPTION("no_splice_read", no_splice_read, 1),$

ERROR: code indent should never use tabs
#1030: FILE: tools/virtiofsd/helper.c:112:
+^ICONN_OPTION("auto_inval_data", auto_inval_data, 1),$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/helper.c:113:
+^ICONN_OPTION("no_auto_inval_data", no_auto_inval_data, 1),$

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/helper.c:114:
+^ICONN_OPTION("readdirplus=no", no_readdirplus, 1),$

ERROR: code indent should never use tabs
#1033: FILE: tools/virtiofsd/helper.c:115:
+^ICONN_OPTION("readdirplus=yes", no_readdirplus, 0),$

ERROR: code indent should never use tabs
#1034: FILE: tools/virtiofsd/helper.c:116:
+^ICONN_OPTION("readdirplus=yes", no_readdirplus_auto, 1),$

ERROR: code indent should never use tabs
#1035: FILE: tools/virtiofsd/helper.c:117:
+^ICONN_OPTION("readdirplus=auto", no_readdirplus, 0),$

ERROR: code indent should never use tabs
#1036: FILE: tools/virtiofsd/helper.c:118:
+^ICONN_OPTION("readdirplus=auto", no_readdirplus_auto, 0),$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/helper.c:119:
+^ICONN_OPTION("async_dio", async_dio, 1),$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/helper.c:120:
+^ICONN_OPTION("no_async_dio", no_async_dio, 1),$

ERROR: code indent should never use tabs
#1039: FILE: tools/virtiofsd/helper.c:121:
+^ICONN_OPTION("writeback_cache", writeback_cache, 1),$

ERROR: code indent should never use tabs
#1040: FILE: tools/virtiofsd/helper.c:122:
+^ICONN_OPTION("no_writeback_cache", no_writeback_cache, 1),$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/helper.c:123:
+^ICONN_OPTION("time_gran=%u", time_gran, 0),$

ERROR: code indent should never use tabs
#1042: FILE: tools/virtiofsd/helper.c:124:
+^ICONN_OPTION("time_gran=", set_time_gran, 1),$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/helper.c:125:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/helper.c:131:
+^Iprintf("    -h   --help            print help\n"$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/helper.c:132:
+^I       "    -V   --version         print version\n"$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/helper.c:133:
+^I       "    -d   -o debug          enable debug output (implies -f)\n"$

ERROR: code indent should never use tabs
#1052: FILE: tools/virtiofsd/helper.c:134:
+^I       "    -f                     foreground operation\n"$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/helper.c:135:
+^I       "    -s                     disable multi-threaded operation\n"$

ERROR: code indent should never use tabs
#1054: FILE: tools/virtiofsd/helper.c:136:
+^I       "    -o clone_fd            use separate fuse device fd for each thread\n"$

ERROR: code indent should never use tabs
#1055: FILE: tools/virtiofsd/helper.c:137:
+^I       "                           (may improve performance)\n"$

ERROR: code indent should never use tabs
#1056: FILE: tools/virtiofsd/helper.c:138:
+^I       "    -o max_idle_threads    the maximum number of idle worker threads\n"$

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/helper.c:139:
+^I       "                           allowed (default: 10)\n");$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/helper.c:143:
+^I^I^I^Istruct fuse_args *outargs)$

ERROR: code indent should never use tabs
#1063: FILE: tools/virtiofsd/helper.c:145:
+^I(void) outargs;$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/helper.c:146:
+^Istruct fuse_cmdline_opts *opts = data;$

ERROR: code indent should never use tabs
#1066: FILE: tools/virtiofsd/helper.c:148:
+^Iswitch (key) {$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/helper.c:149:
+^Icase FUSE_OPT_KEY_NONOPT:$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/helper.c:150:
+^I^Iif (!opts->mountpoint) {$

ERROR: code indent should never use tabs
#1069: FILE: tools/virtiofsd/helper.c:151:
+^I^I^Iif (fuse_mnt_parse_fuse_fd(arg) != -1) {$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/helper.c:152:
+^I^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, arg);$

ERROR: code indent should never use tabs
#1071: FILE: tools/virtiofsd/helper.c:153:
+^I^I^I}$

ERROR: code indent should never use tabs
#1073: FILE: tools/virtiofsd/helper.c:155:
+^I^I^Ichar mountpoint[PATH_MAX] = "";$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/helper.c:156:
+^I^I^Iif (realpath(arg, mountpoint) == NULL) {$

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/helper.c:157:
+^I^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#1076: FILE: tools/virtiofsd/helper.c:158:
+^I^I^I^I^I"fuse: bad mount point `%s': %s\n",$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/helper.c:159:
+^I^I^I^I^Iarg, strerror(errno));$

ERROR: code indent should never use tabs
#1078: FILE: tools/virtiofsd/helper.c:160:
+^I^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1079: FILE: tools/virtiofsd/helper.c:161:
+^I^I^I}$

ERROR: code indent should never use tabs
#1080: FILE: tools/virtiofsd/helper.c:162:
+^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, mountpoint);$

ERROR: code indent should never use tabs
#1081: FILE: tools/virtiofsd/helper.c:163:
+^I^I} else {$

WARNING: line over 80 characters
#1082: FILE: tools/virtiofsd/helper.c:164:
+                       fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/helper.c:164:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);$

ERROR: code indent should never use tabs
#1083: FILE: tools/virtiofsd/helper.c:165:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/helper.c:166:
+^I^I}$

ERROR: code indent should never use tabs
#1086: FILE: tools/virtiofsd/helper.c:168:
+^Idefault:$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/helper.c:169:
+^I^I/* Pass through unknown options */$

ERROR: code indent should never use tabs
#1088: FILE: tools/virtiofsd/helper.c:170:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1089: FILE: tools/virtiofsd/helper.c:171:
+^I}$

WARNING: Block comments use a leading /* on a separate line
#1092: FILE: tools/virtiofsd/helper.c:174:
+/* Under FreeBSD, there is no subtype option so this

WARNING: Block comments use * on subsequent lines
#1093: FILE: tools/virtiofsd/helper.c:175:
+/* Under FreeBSD, there is no subtype option so this
+   function actually sets the fsname */

WARNING: Block comments use a trailing */ on a separate line
#1093: FILE: tools/virtiofsd/helper.c:175:
+   function actually sets the fsname */

ERROR: code indent should never use tabs
#1096: FILE: tools/virtiofsd/helper.c:178:
+^Iint res;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/helper.c:179:
+^Ichar *subtype_opt;$

ERROR: code indent should never use tabs
#1099: FILE: tools/virtiofsd/helper.c:181:
+^Iconst char *basename = strrchr(progname, '/');$

ERROR: code indent should never use tabs
#1100: FILE: tools/virtiofsd/helper.c:182:
+^Iif (basename == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1100: FILE: tools/virtiofsd/helper.c:182:
+       if (basename == NULL)
[...]
+       else if (basename[1] != '\0')
[...]

ERROR: code indent should never use tabs
#1101: FILE: tools/virtiofsd/helper.c:183:
+^I^Ibasename = progname;$

ERROR: code indent should never use tabs
#1102: FILE: tools/virtiofsd/helper.c:184:
+^Ielse if (basename[1] != '\0')$

ERROR: braces {} are necessary for all arms of this statement
#1102: FILE: tools/virtiofsd/helper.c:184:
+       else if (basename[1] != '\0')
[...]

ERROR: code indent should never use tabs
#1103: FILE: tools/virtiofsd/helper.c:185:
+^I^Ibasename++;$

ERROR: code indent should never use tabs
#1105: FILE: tools/virtiofsd/helper.c:187:
+^Isubtype_opt = (char *) malloc(strlen(basename) + 64);$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/helper.c:188:
+^Iif (subtype_opt == NULL) {$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/helper.c:189:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$

ERROR: code indent should never use tabs
#1108: FILE: tools/virtiofsd/helper.c:190:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1109: FILE: tools/virtiofsd/helper.c:191:
+^I}$

WARNING: architecture specific defines should be avoided
#1110: FILE: tools/virtiofsd/helper.c:192:
+#ifdef __FreeBSD__

ERROR: code indent should never use tabs
#1111: FILE: tools/virtiofsd/helper.c:193:
+^Isprintf(subtype_opt, "-ofsname=%s", basename);$

ERROR: code indent should never use tabs
#1113: FILE: tools/virtiofsd/helper.c:195:
+^Isprintf(subtype_opt, "-osubtype=%s", basename);$

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/helper.c:197:
+^Ires = fuse_opt_add_arg(args, subtype_opt);$

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/helper.c:198:
+^Ifree(subtype_opt);$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/helper.c:199:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/helper.c:203:
+^I^I       struct fuse_cmdline_opts *opts)$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/helper.c:205:
+^Imemset(opts, 0, sizeof(struct fuse_cmdline_opts));$

ERROR: code indent should never use tabs
#1125: FILE: tools/virtiofsd/helper.c:207:
+^Iopts->max_idle_threads = 10;$

ERROR: code indent should never use tabs
#1127: FILE: tools/virtiofsd/helper.c:209:
+^Iif (fuse_opt_parse(args, opts, fuse_helper_opts,$

ERROR: code indent should never use tabs
#1128: FILE: tools/virtiofsd/helper.c:210:
+^I^I^I   fuse_helper_opt_proc) == -1)$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/helper.c:211:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1131: FILE: tools/virtiofsd/helper.c:213:
+^I/* *Linux*: if neither -o subtype nor -o fsname are specified,$

WARNING: Block comments use a leading /* on a separate line
#1131: FILE: tools/virtiofsd/helper.c:213:
+       /* *Linux*: if neither -o subtype nor -o fsname are specified,

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/helper.c:214:
+^I   set subtype to program's basename.$

WARNING: Block comments use * on subsequent lines
#1132: FILE: tools/virtiofsd/helper.c:214:
+       /* *Linux*: if neither -o subtype nor -o fsname are specified,
+          set subtype to program's basename.

ERROR: code indent should never use tabs
#1133: FILE: tools/virtiofsd/helper.c:215:
+^I   *FreeBSD*: if fsname is not specified, set to program's$

ERROR: code indent should never use tabs
#1134: FILE: tools/virtiofsd/helper.c:216:
+^I   basename. */$

WARNING: Block comments use a trailing */ on a separate line
#1134: FILE: tools/virtiofsd/helper.c:216:
+          basename. */

ERROR: code indent should never use tabs
#1135: FILE: tools/virtiofsd/helper.c:217:
+^Iif (!opts->nodefault_subtype)$

ERROR: code indent should never use tabs
#1136: FILE: tools/virtiofsd/helper.c:218:
+^I^Iif (add_default_subtype(args->argv[0], args) == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1136: FILE: tools/virtiofsd/helper.c:218:
+               if (add_default_subtype(args->argv[0], args) == -1)
[...]

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/helper.c:219:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/helper.c:221:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1145: FILE: tools/virtiofsd/helper.c:227:
+^Iif (!foreground) {$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/helper.c:228:
+^I^Iint nullfd;$

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/helper.c:229:
+^I^Iint waiter[2];$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/helper.c:230:
+^I^Ichar completed;$

ERROR: code indent should never use tabs
#1150: FILE: tools/virtiofsd/helper.c:232:
+^I^Iif (pipe(waiter)) {$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/helper.c:233:
+^I^I^Iperror("fuse_daemonize: pipe");$

ERROR: code indent should never use tabs
#1152: FILE: tools/virtiofsd/helper.c:234:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1153: FILE: tools/virtiofsd/helper.c:235:
+^I^I}$

ERROR: code indent should never use tabs
#1155: FILE: tools/virtiofsd/helper.c:237:
+^I^I/*$

ERROR: code indent should never use tabs
#1156: FILE: tools/virtiofsd/helper.c:238:
+^I^I * demonize current process by forking it and killing the$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/helper.c:239:
+^I^I * parent.  This makes current process as a child of 'init'.$

ERROR: code indent should never use tabs
#1158: FILE: tools/virtiofsd/helper.c:240:
+^I^I */$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/helper.c:241:
+^I^Iswitch(fork()) {$

ERROR: space required before the open parenthesis '('
#1159: FILE: tools/virtiofsd/helper.c:241:
+               switch(fork()) {

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/helper.c:242:
+^I^Icase -1:$

ERROR: code indent should never use tabs
#1161: FILE: tools/virtiofsd/helper.c:243:
+^I^I^Iperror("fuse_daemonize: fork");$

ERROR: code indent should never use tabs
#1162: FILE: tools/virtiofsd/helper.c:244:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/helper.c:245:
+^I^Icase 0:$

ERROR: code indent should never use tabs
#1164: FILE: tools/virtiofsd/helper.c:246:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1165: FILE: tools/virtiofsd/helper.c:247:
+^I^Idefault:$

ERROR: code indent should never use tabs
#1166: FILE: tools/virtiofsd/helper.c:248:
+^I^I^I(void) read(waiter[0], &completed, sizeof(completed));$

ERROR: code indent should never use tabs
#1167: FILE: tools/virtiofsd/helper.c:249:
+^I^I^I_exit(0);$

ERROR: code indent should never use tabs
#1168: FILE: tools/virtiofsd/helper.c:250:
+^I^I}$

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/helper.c:252:
+^I^Iif (setsid() == -1) {$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/helper.c:253:
+^I^I^Iperror("fuse_daemonize: setsid");$

ERROR: code indent should never use tabs
#1172: FILE: tools/virtiofsd/helper.c:254:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1173: FILE: tools/virtiofsd/helper.c:255:
+^I^I}$

ERROR: code indent should never use tabs
#1175: FILE: tools/virtiofsd/helper.c:257:
+^I^I(void) chdir("/");$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/helper.c:259:
+^I^Inullfd = open("/dev/null", O_RDWR, 0);$

ERROR: code indent should never use tabs
#1178: FILE: tools/virtiofsd/helper.c:260:
+^I^Iif (nullfd != -1) {$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/helper.c:261:
+^I^I^I(void) dup2(nullfd, 0);$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/helper.c:262:
+^I^I^I(void) dup2(nullfd, 1);$

ERROR: code indent should never use tabs
#1181: FILE: tools/virtiofsd/helper.c:263:
+^I^I^I(void) dup2(nullfd, 2);$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/helper.c:264:
+^I^I^Iif (nullfd > 2)$

ERROR: braces {} are necessary for all arms of this statement
#1182: FILE: tools/virtiofsd/helper.c:264:
+                       if (nullfd > 2)
[...]

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/helper.c:265:
+^I^I^I^Iclose(nullfd);$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/helper.c:266:
+^I^I}$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/helper.c:268:
+^I^I/* Propagate completion of daemon initialization */$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/helper.c:269:
+^I^Icompleted = 1;$

ERROR: code indent should never use tabs
#1188: FILE: tools/virtiofsd/helper.c:270:
+^I^I(void) write(waiter[1], &completed, sizeof(completed));$

ERROR: code indent should never use tabs
#1189: FILE: tools/virtiofsd/helper.c:271:
+^I^Iclose(waiter[0]);$

ERROR: code indent should never use tabs
#1190: FILE: tools/virtiofsd/helper.c:272:
+^I^Iclose(waiter[1]);$

ERROR: code indent should never use tabs
#1191: FILE: tools/virtiofsd/helper.c:273:
+^I} else {$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/helper.c:274:
+^I^I(void) chdir("/");$

ERROR: code indent should never use tabs
#1193: FILE: tools/virtiofsd/helper.c:275:
+^I}$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/helper.c:276:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/helper.c:280:
+^I^I   size_t op_size, void *user_data)$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/helper.c:282:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$

ERROR: code indent should never use tabs
#1201: FILE: tools/virtiofsd/helper.c:283:
+^Istruct fuse *fuse;$

ERROR: code indent should never use tabs
#1202: FILE: tools/virtiofsd/helper.c:284:
+^Istruct fuse_cmdline_opts opts;$

ERROR: code indent should never use tabs
#1203: FILE: tools/virtiofsd/helper.c:285:
+^Iint res;$

ERROR: code indent should never use tabs
#1205: FILE: tools/virtiofsd/helper.c:287:
+^Iif (fuse_parse_cmdline(&args, &opts) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1205: FILE: tools/virtiofsd/helper.c:287:
+       if (fuse_parse_cmdline(&args, &opts) != 0)
[...]

ERROR: code indent should never use tabs
#1206: FILE: tools/virtiofsd/helper.c:288:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1208: FILE: tools/virtiofsd/helper.c:290:
+^Iif (opts.show_version) {$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/helper.c:291:
+^I^Iprintf("FUSE library version %s\n", PACKAGE_VERSION);$

ERROR: code indent should never use tabs
#1210: FILE: tools/virtiofsd/helper.c:292:
+^I^Ifuse_lowlevel_version();$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/helper.c:293:
+^I^Ires = 0;$

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/helper.c:294:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/helper.c:295:
+^I}$

ERROR: code indent should never use tabs
#1215: FILE: tools/virtiofsd/helper.c:297:
+^Iif (opts.show_help) {$

ERROR: code indent should never use tabs
#1216: FILE: tools/virtiofsd/helper.c:298:
+^I^Iif(args.argv[0][0] != '\0')$

ERROR: space required before the open parenthesis '('
#1216: FILE: tools/virtiofsd/helper.c:298:
+               if(args.argv[0][0] != '\0')

ERROR: code indent should never use tabs
#1217: FILE: tools/virtiofsd/helper.c:299:
+^I^I^Iprintf("usage: %s [options] <mountpoint>\n\n",$

ERROR: code indent should never use tabs
#1218: FILE: tools/virtiofsd/helper.c:300:
+^I^I^I       args.argv[0]);$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/helper.c:301:
+^I^Iprintf("FUSE options:\n");$

ERROR: code indent should never use tabs
#1220: FILE: tools/virtiofsd/helper.c:302:
+^I^Ifuse_cmdline_help();$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/helper.c:303:
+^I^Ifuse_lib_help(&args);$

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/helper.c:304:
+^I^Ires = 0;$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/helper.c:305:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/helper.c:306:
+^I}$

ERROR: code indent should never use tabs
#1226: FILE: tools/virtiofsd/helper.c:308:
+^Iif (!opts.show_help &&$

ERROR: code indent should never use tabs
#1227: FILE: tools/virtiofsd/helper.c:309:
+^I    !opts.mountpoint) {$

ERROR: code indent should never use tabs
#1228: FILE: tools/virtiofsd/helper.c:310:
+^I^Ifuse_log(FUSE_LOG_ERR, "error: no mountpoint specified\n");$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/helper.c:311:
+^I^Ires = 2;$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/helper.c:312:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1231: FILE: tools/virtiofsd/helper.c:313:
+^I}$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/helper.c:316:
+^Ifuse = fuse_new_31(&args, op, op_size, user_data);$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/helper.c:317:
+^Iif (fuse == NULL) {$

ERROR: code indent should never use tabs
#1236: FILE: tools/virtiofsd/helper.c:318:
+^I^Ires = 3;$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/helper.c:319:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#1238: FILE: tools/virtiofsd/helper.c:320:
+^I}$

ERROR: code indent should never use tabs
#1240: FILE: tools/virtiofsd/helper.c:322:
+^Iif (fuse_mount(fuse,opts.mountpoint) != 0) {$

ERROR: space required after that ',' (ctx:VxV)
#1240: FILE: tools/virtiofsd/helper.c:322:
+       if (fuse_mount(fuse,opts.mountpoint) != 0) {
                           ^

ERROR: code indent should never use tabs
#1241: FILE: tools/virtiofsd/helper.c:323:
+^I^Ires = 4;$

ERROR: code indent should never use tabs
#1242: FILE: tools/virtiofsd/helper.c:324:
+^I^Igoto out2;$

ERROR: code indent should never use tabs
#1243: FILE: tools/virtiofsd/helper.c:325:
+^I}$

ERROR: code indent should never use tabs
#1245: FILE: tools/virtiofsd/helper.c:327:
+^Iif (fuse_daemonize(opts.foreground) != 0) {$

ERROR: code indent should never use tabs
#1246: FILE: tools/virtiofsd/helper.c:328:
+^I^Ires = 5;$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/helper.c:329:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/helper.c:330:
+^I}$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/helper.c:332:
+^Istruct fuse_session *se = fuse_get_session(fuse);$

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/helper.c:333:
+^Iif (fuse_set_signal_handlers(se) != 0) {$

ERROR: code indent should never use tabs
#1252: FILE: tools/virtiofsd/helper.c:334:
+^I^Ires = 6;$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/helper.c:335:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#1254: FILE: tools/virtiofsd/helper.c:336:
+^I}$

ERROR: code indent should never use tabs
#1256: FILE: tools/virtiofsd/helper.c:338:
+^Iif (opts.singlethread)$

ERROR: code indent should never use tabs
#1257: FILE: tools/virtiofsd/helper.c:339:
+^I^Ires = fuse_loop(fuse);$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/helper.c:340:
+^Ielse {$

ERROR: code indent should never use tabs
#1259: FILE: tools/virtiofsd/helper.c:341:
+^I^Istruct fuse_loop_config loop_config;$

ERROR: code indent should never use tabs
#1260: FILE: tools/virtiofsd/helper.c:342:
+^I^Iloop_config.clone_fd = opts.clone_fd;$

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/helper.c:343:
+^I^Iloop_config.max_idle_threads = opts.max_idle_threads;$

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/helper.c:344:
+^I^Ires = fuse_loop_mt_32(fuse, &loop_config);$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/helper.c:345:
+^I}$

ERROR: code indent should never use tabs
#1264: FILE: tools/virtiofsd/helper.c:346:
+^Iif (res)$

ERROR: braces {} are necessary for all arms of this statement
#1264: FILE: tools/virtiofsd/helper.c:346:
+       if (res)
[...]

ERROR: code indent should never use tabs
#1265: FILE: tools/virtiofsd/helper.c:347:
+^I^Ires = 7;$

ERROR: code indent should never use tabs
#1267: FILE: tools/virtiofsd/helper.c:349:
+^Ifuse_remove_signal_handlers(se);$

ERROR: code indent should never use tabs
#1269: FILE: tools/virtiofsd/helper.c:351:
+^Ifuse_unmount(fuse);$

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/helper.c:353:
+^Ifuse_destroy(fuse);$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/helper.c:355:
+^Ifree(opts.mountpoint);$

ERROR: code indent should never use tabs
#1274: FILE: tools/virtiofsd/helper.c:356:
+^Ifuse_opt_free_args(&args);$

ERROR: code indent should never use tabs
#1275: FILE: tools/virtiofsd/helper.c:357:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1280: FILE: tools/virtiofsd/helper.c:362:
+^I^I^I       struct fuse_conn_info *conn)$

ERROR: code indent should never use tabs
#1282: FILE: tools/virtiofsd/helper.c:364:
+^Iif(opts->set_max_write)$

ERROR: space required before the open parenthesis '('
#1282: FILE: tools/virtiofsd/helper.c:364:
+       if(opts->set_max_write)

ERROR: braces {} are necessary for all arms of this statement
#1282: FILE: tools/virtiofsd/helper.c:364:
+       if(opts->set_max_write)
[...]

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/helper.c:365:
+^I^Iconn->max_write = opts->max_write;$

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/helper.c:366:
+^Iif(opts->set_max_background)$

ERROR: space required before the open parenthesis '('
#1284: FILE: tools/virtiofsd/helper.c:366:
+       if(opts->set_max_background)

ERROR: braces {} are necessary for all arms of this statement
#1284: FILE: tools/virtiofsd/helper.c:366:
+       if(opts->set_max_background)
[...]

ERROR: code indent should never use tabs
#1285: FILE: tools/virtiofsd/helper.c:367:
+^I^Iconn->max_background = opts->max_background;$

ERROR: code indent should never use tabs
#1286: FILE: tools/virtiofsd/helper.c:368:
+^Iif(opts->set_congestion_threshold)$

ERROR: space required before the open parenthesis '('
#1286: FILE: tools/virtiofsd/helper.c:368:
+       if(opts->set_congestion_threshold)

ERROR: braces {} are necessary for all arms of this statement
#1286: FILE: tools/virtiofsd/helper.c:368:
+       if(opts->set_congestion_threshold)
[...]

ERROR: code indent should never use tabs
#1287: FILE: tools/virtiofsd/helper.c:369:
+^I^Iconn->congestion_threshold = opts->congestion_threshold;$

ERROR: code indent should never use tabs
#1288: FILE: tools/virtiofsd/helper.c:370:
+^Iif(opts->set_time_gran)$

ERROR: space required before the open parenthesis '('
#1288: FILE: tools/virtiofsd/helper.c:370:
+       if(opts->set_time_gran)

ERROR: braces {} are necessary for all arms of this statement
#1288: FILE: tools/virtiofsd/helper.c:370:
+       if(opts->set_time_gran)
[...]

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/helper.c:371:
+^I^Iconn->time_gran = opts->time_gran;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/helper.c:372:
+^Iif(opts->set_max_readahead)$

ERROR: space required before the open parenthesis '('
#1290: FILE: tools/virtiofsd/helper.c:372:
+       if(opts->set_max_readahead)

ERROR: braces {} are necessary for all arms of this statement
#1290: FILE: tools/virtiofsd/helper.c:372:
+       if(opts->set_max_readahead)
[...]

ERROR: code indent should never use tabs
#1291: FILE: tools/virtiofsd/helper.c:373:
+^I^Iconn->max_readahead = opts->max_readahead;$

ERROR: space required after that ',' (ctx:VxV)
#1293: FILE: tools/virtiofsd/helper.c:375:
+#define LL_ENABLE(cond,cap) \
                       ^

ERROR: Macros with complex values should be enclosed in parenthesis
#1293: FILE: tools/virtiofsd/helper.c:375:
+#define LL_ENABLE(cond,cap) \
+       if (cond) conn->want |= (cap)

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/helper.c:376:
+^Iif (cond) conn->want |= (cap)$

ERROR: trailing statements should be on next line
#1294: FILE: tools/virtiofsd/helper.c:376:
+       if (cond) conn->want |= (cap)

ERROR: space required after that ',' (ctx:VxV)
#1295: FILE: tools/virtiofsd/helper.c:377:
+#define LL_DISABLE(cond,cap) \
                        ^

ERROR: Macros with complex values should be enclosed in parenthesis
#1295: FILE: tools/virtiofsd/helper.c:377:
+#define LL_DISABLE(cond,cap) \
+       if (cond) conn->want &= ~(cap)

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/helper.c:378:
+^Iif (cond) conn->want &= ~(cap)$

ERROR: trailing statements should be on next line
#1296: FILE: tools/virtiofsd/helper.c:378:
+       if (cond) conn->want &= ~(cap)

ERROR: code indent should never use tabs
#1298: FILE: tools/virtiofsd/helper.c:380:
+^ILL_ENABLE(opts->splice_read, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#1299: FILE: tools/virtiofsd/helper.c:381:
+^ILL_DISABLE(opts->no_splice_read, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#1301: FILE: tools/virtiofsd/helper.c:383:
+^ILL_ENABLE(opts->splice_write, FUSE_CAP_SPLICE_WRITE);$

ERROR: code indent should never use tabs
#1302: FILE: tools/virtiofsd/helper.c:384:
+^ILL_DISABLE(opts->no_splice_write, FUSE_CAP_SPLICE_WRITE);$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/helper.c:386:
+^ILL_ENABLE(opts->splice_move, FUSE_CAP_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#1305: FILE: tools/virtiofsd/helper.c:387:
+^ILL_DISABLE(opts->no_splice_move, FUSE_CAP_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/helper.c:389:
+^ILL_ENABLE(opts->auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/helper.c:390:
+^ILL_DISABLE(opts->no_auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/helper.c:392:
+^ILL_DISABLE(opts->no_readdirplus, FUSE_CAP_READDIRPLUS);$

ERROR: code indent should never use tabs
#1311: FILE: tools/virtiofsd/helper.c:393:
+^ILL_DISABLE(opts->no_readdirplus_auto, FUSE_CAP_READDIRPLUS_AUTO);$

ERROR: code indent should never use tabs
#1313: FILE: tools/virtiofsd/helper.c:395:
+^ILL_ENABLE(opts->async_dio, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#1314: FILE: tools/virtiofsd/helper.c:396:
+^ILL_DISABLE(opts->no_async_dio, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#1316: FILE: tools/virtiofsd/helper.c:398:
+^ILL_ENABLE(opts->writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/helper.c:399:
+^ILL_DISABLE(opts->no_writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/helper.c:401:
+^ILL_ENABLE(opts->async_read, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/helper.c:402:
+^ILL_DISABLE(opts->sync_read, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#1322: FILE: tools/virtiofsd/helper.c:404:
+^ILL_DISABLE(opts->no_remote_posix_lock, FUSE_CAP_POSIX_LOCKS);$

ERROR: code indent should never use tabs
#1323: FILE: tools/virtiofsd/helper.c:405:
+^ILL_DISABLE(opts->no_remote_flock, FUSE_CAP_FLOCK_LOCKS);$

ERROR: "foo* bar" should be "foo *bar"
#1326: FILE: tools/virtiofsd/helper.c:408:
+struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args)

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/helper.c:410:
+^Istruct fuse_conn_info_opts *opts;$

ERROR: code indent should never use tabs
#1330: FILE: tools/virtiofsd/helper.c:412:
+^Iopts = calloc(1, sizeof(struct fuse_conn_info_opts));$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/helper.c:413:
+^Iif(opts == NULL) {$

ERROR: space required before the open parenthesis '('
#1331: FILE: tools/virtiofsd/helper.c:413:
+       if(opts == NULL) {

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/helper.c:414:
+^I^Ifuse_log(FUSE_LOG_ERR, "calloc failed\n");$

ERROR: code indent should never use tabs
#1333: FILE: tools/virtiofsd/helper.c:415:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/helper.c:416:
+^I}$

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/helper.c:417:
+^Iif(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {$

ERROR: space required before the open parenthesis '('
#1335: FILE: tools/virtiofsd/helper.c:417:
+       if(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/helper.c:418:
+^I^Ifree(opts);$

ERROR: code indent should never use tabs
#1337: FILE: tools/virtiofsd/helper.c:419:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1338: FILE: tools/virtiofsd/helper.c:420:
+^I}$

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/helper.c:421:
+^Ireturn opts;$

ERROR: code indent should never use tabs
#1344: FILE: tools/virtiofsd/helper.c:426:
+^Istruct mount_opts *opts = NULL;$

ERROR: code indent should never use tabs
#1345: FILE: tools/virtiofsd/helper.c:427:
+^Iint fd = -1;$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/helper.c:428:
+^Iconst char *argv[] = { "", "-o", options };$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/helper.c:429:
+^Iint argc = sizeof(argv) / sizeof(argv[0]);$

ERROR: code indent should never use tabs
#1348: FILE: tools/virtiofsd/helper.c:430:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv);$

ERROR: "(foo**)" should be "(foo **)"
#1348: FILE: tools/virtiofsd/helper.c:430:
+       struct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv);

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/helper.c:432:
+^Iopts = parse_mount_opts(&args);$

ERROR: code indent should never use tabs
#1351: FILE: tools/virtiofsd/helper.c:433:
+^Iif (opts == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1351: FILE: tools/virtiofsd/helper.c:433:
+       if (opts == NULL)
[...]

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/helper.c:434:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/helper.c:436:
+^Ifd = fuse_kern_mount(mountpoint, opts);$

ERROR: code indent should never use tabs
#1355: FILE: tools/virtiofsd/helper.c:437:
+^Idestroy_mount_opts(opts);$

ERROR: code indent should never use tabs
#1357: FILE: tools/virtiofsd/helper.c:439:
+^Ireturn fd;$

total: 943 errors, 21 warnings, 1315 lines checked

Patch 3/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/111 Checking commit 2fbe697abc8b (virtiofsd: Add fuse_lowlevel.c)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#24: FILE: tools/virtiofsd/fuse_lowlevel.c:2:
+/*
+  FUSE: Filesystem in Userspace

ERROR: code indent should never use tabs
#57: FILE: tools/virtiofsd/fuse_lowlevel.c:35:
+#define F_SETPIPE_SZ^I(F_LINUX_SPECIFIC_BASE + 7)$

ERROR: code indent should never use tabs
#64: FILE: tools/virtiofsd/fuse_lowlevel.c:42:
+#define container_of(ptr, type, member) ({^I^I^I^I\$

ERROR: code indent should never use tabs
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+^I^I^Iconst typeof( ((type *)0)->member ) *__mptr = (ptr); \$

ERROR: spaces required around that '*' (ctx:WxV)
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                            ^

ERROR: space prohibited after that open parenthesis '('
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \

ERROR: space prohibited before that close parenthesis ')'
#65: FILE: tools/virtiofsd/fuse_lowlevel.c:43:
+                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \

ERROR: code indent should never use tabs
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+^I^I^I(type *)( (char *)__mptr - offsetof(type,member) );})$

ERROR: space required after that ',' (ctx:VxV)
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})
                                                                ^

ERROR: space required after that ';' (ctx:VxV)
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})
                                                                          ^

ERROR: space prohibited after that open parenthesis '('
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})

ERROR: space prohibited before that close parenthesis ')'
#66: FILE: tools/virtiofsd/fuse_lowlevel.c:44:
+                       (type *)( (char *)__mptr - offsetof(type,member) );})

ERROR: code indent should never use tabs
#69: FILE: tools/virtiofsd/fuse_lowlevel.c:47:
+^Iuint64_t kh;$

ERROR: code indent should never use tabs
#70: FILE: tools/virtiofsd/fuse_lowlevel.c:48:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#77: FILE: tools/virtiofsd/fuse_lowlevel.c:55:
+^Ipagesize = getpagesize();$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#77: FILE: tools/virtiofsd/fuse_lowlevel.c:55:
+       pagesize = getpagesize();

ERROR: code indent should never use tabs
#82: FILE: tools/virtiofsd/fuse_lowlevel.c:60:
+^Iattr->ino^I= stbuf->st_ino;$

ERROR: code indent should never use tabs
#83: FILE: tools/virtiofsd/fuse_lowlevel.c:61:
+^Iattr->mode^I= stbuf->st_mode;$

ERROR: code indent should never use tabs
#84: FILE: tools/virtiofsd/fuse_lowlevel.c:62:
+^Iattr->nlink^I= stbuf->st_nlink;$

ERROR: code indent should never use tabs
#85: FILE: tools/virtiofsd/fuse_lowlevel.c:63:
+^Iattr->uid^I= stbuf->st_uid;$

ERROR: code indent should never use tabs
#86: FILE: tools/virtiofsd/fuse_lowlevel.c:64:
+^Iattr->gid^I= stbuf->st_gid;$

ERROR: code indent should never use tabs
#87: FILE: tools/virtiofsd/fuse_lowlevel.c:65:
+^Iattr->rdev^I= stbuf->st_rdev;$

ERROR: code indent should never use tabs
#88: FILE: tools/virtiofsd/fuse_lowlevel.c:66:
+^Iattr->size^I= stbuf->st_size;$

ERROR: code indent should never use tabs
#89: FILE: tools/virtiofsd/fuse_lowlevel.c:67:
+^Iattr->blksize^I= stbuf->st_blksize;$

ERROR: code indent should never use tabs
#90: FILE: tools/virtiofsd/fuse_lowlevel.c:68:
+^Iattr->blocks^I= stbuf->st_blocks;$

ERROR: code indent should never use tabs
#91: FILE: tools/virtiofsd/fuse_lowlevel.c:69:
+^Iattr->atime^I= stbuf->st_atime;$

ERROR: code indent should never use tabs
#92: FILE: tools/virtiofsd/fuse_lowlevel.c:70:
+^Iattr->mtime^I= stbuf->st_mtime;$

ERROR: code indent should never use tabs
#93: FILE: tools/virtiofsd/fuse_lowlevel.c:71:
+^Iattr->ctime^I= stbuf->st_ctime;$

ERROR: code indent should never use tabs
#94: FILE: tools/virtiofsd/fuse_lowlevel.c:72:
+^Iattr->atimensec = ST_ATIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#95: FILE: tools/virtiofsd/fuse_lowlevel.c:73:
+^Iattr->mtimensec = ST_MTIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/fuse_lowlevel.c:74:
+^Iattr->ctimensec = ST_CTIM_NSEC(stbuf);$

ERROR: code indent should never use tabs
#101: FILE: tools/virtiofsd/fuse_lowlevel.c:79:
+^Istbuf->st_mode^I       = attr->mode;$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/fuse_lowlevel.c:80:
+^Istbuf->st_uid^I       = attr->uid;$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/fuse_lowlevel.c:81:
+^Istbuf->st_gid^I       = attr->gid;$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/fuse_lowlevel.c:82:
+^Istbuf->st_size^I       = attr->size;$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/fuse_lowlevel.c:83:
+^Istbuf->st_atime^I       = attr->atime;$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/fuse_lowlevel.c:84:
+^Istbuf->st_mtime^I       = attr->mtime;$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/fuse_lowlevel.c:85:
+^Istbuf->st_ctime        = attr->ctime;$

ERROR: code indent should never use tabs
#108: FILE: tools/virtiofsd/fuse_lowlevel.c:86:
+^IST_ATIM_NSEC_SET(stbuf, attr->atimensec);$

ERROR: code indent should never use tabs
#109: FILE: tools/virtiofsd/fuse_lowlevel.c:87:
+^IST_MTIM_NSEC_SET(stbuf, attr->mtimensec);$

ERROR: code indent should never use tabs
#110: FILE: tools/virtiofsd/fuse_lowlevel.c:88:
+^IST_CTIM_NSEC_SET(stbuf, attr->ctimensec);$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/fuse_lowlevel.c:91:
+static^Isize_t iov_length(const struct iovec *iov, size_t count)$

ERROR: code indent should never use tabs
#115: FILE: tools/virtiofsd/fuse_lowlevel.c:93:
+^Isize_t seg;$

ERROR: code indent should never use tabs
#116: FILE: tools/virtiofsd/fuse_lowlevel.c:94:
+^Isize_t ret = 0;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/fuse_lowlevel.c:96:
+^Ifor (seg = 0; seg < count; seg++)$

ERROR: braces {} are necessary for all arms of this statement
#118: FILE: tools/virtiofsd/fuse_lowlevel.c:96:
+       for (seg = 0; seg < count; seg++)
[...]

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/fuse_lowlevel.c:97:
+^I^Iret += iov[seg].iov_len;$

ERROR: code indent should never use tabs
#120: FILE: tools/virtiofsd/fuse_lowlevel.c:98:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#125: FILE: tools/virtiofsd/fuse_lowlevel.c:103:
+^Ireq->next = req;$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/fuse_lowlevel.c:104:
+^Ireq->prev = req;$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/fuse_lowlevel.c:109:
+^Istruct fuse_req *prev = req->prev;$

ERROR: code indent should never use tabs
#132: FILE: tools/virtiofsd/fuse_lowlevel.c:110:
+^Istruct fuse_req *next = req->next;$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/fuse_lowlevel.c:111:
+^Iprev->next = next;$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/fuse_lowlevel.c:112:
+^Inext->prev = prev;$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/fuse_lowlevel.c:117:
+^Istruct fuse_req *prev = next->prev;$

ERROR: code indent should never use tabs
#140: FILE: tools/virtiofsd/fuse_lowlevel.c:118:
+^Ireq->next = next;$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/fuse_lowlevel.c:119:
+^Ireq->prev = prev;$

ERROR: code indent should never use tabs
#142: FILE: tools/virtiofsd/fuse_lowlevel.c:120:
+^Iprev->next = req;$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/fuse_lowlevel.c:121:
+^Inext->prev = req;$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/fuse_lowlevel.c:126:
+^Ipthread_mutex_destroy(&req->lock);$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/fuse_lowlevel.c:127:
+^Ifree(req);$

ERROR: code indent should never use tabs
#154: FILE: tools/virtiofsd/fuse_lowlevel.c:132:
+^Iint ctr;$

ERROR: code indent should never use tabs
#155: FILE: tools/virtiofsd/fuse_lowlevel.c:133:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#157: FILE: tools/virtiofsd/fuse_lowlevel.c:135:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#158: FILE: tools/virtiofsd/fuse_lowlevel.c:136:
+^Ireq->u.ni.func = NULL;$

ERROR: code indent should never use tabs
#159: FILE: tools/virtiofsd/fuse_lowlevel.c:137:
+^Ireq->u.ni.data = NULL;$

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/fuse_lowlevel.c:138:
+^Ilist_del_req(req);$

ERROR: code indent should never use tabs
#161: FILE: tools/virtiofsd/fuse_lowlevel.c:139:
+^Ictr = --req->ctr;$

ERROR: code indent should never use tabs
#162: FILE: tools/virtiofsd/fuse_lowlevel.c:140:
+^Ifuse_chan_put(req->ch);$

ERROR: code indent should never use tabs
#163: FILE: tools/virtiofsd/fuse_lowlevel.c:141:
+^Ireq->ch = NULL;$

ERROR: code indent should never use tabs
#164: FILE: tools/virtiofsd/fuse_lowlevel.c:142:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#165: FILE: tools/virtiofsd/fuse_lowlevel.c:143:
+^Iif (!ctr)$

ERROR: braces {} are necessary for all arms of this statement
#165: FILE: tools/virtiofsd/fuse_lowlevel.c:143:
+       if (!ctr)
[...]

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/fuse_lowlevel.c:144:
+^I^Idestroy_req(req);$

ERROR: code indent should never use tabs
#171: FILE: tools/virtiofsd/fuse_lowlevel.c:149:
+^Istruct fuse_req *req;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/fuse_lowlevel.c:151:
+^Ireq = (struct fuse_req *) calloc(1, sizeof(struct fuse_req));$

ERROR: code indent should never use tabs
#174: FILE: tools/virtiofsd/fuse_lowlevel.c:152:
+^Iif (req == NULL) {$

ERROR: code indent should never use tabs
#175: FILE: tools/virtiofsd/fuse_lowlevel.c:153:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate request\n");$

ERROR: code indent should never use tabs
#176: FILE: tools/virtiofsd/fuse_lowlevel.c:154:
+^I} else {$

ERROR: code indent should never use tabs
#177: FILE: tools/virtiofsd/fuse_lowlevel.c:155:
+^I^Ireq->se = se;$

ERROR: code indent should never use tabs
#178: FILE: tools/virtiofsd/fuse_lowlevel.c:156:
+^I^Ireq->ctr = 1;$

ERROR: code indent should never use tabs
#179: FILE: tools/virtiofsd/fuse_lowlevel.c:157:
+^I^Ilist_init_req(req);$

ERROR: code indent should never use tabs
#180: FILE: tools/virtiofsd/fuse_lowlevel.c:158:
+^I^Ifuse_mutex_init(&req->lock);$

ERROR: code indent should never use tabs
#181: FILE: tools/virtiofsd/fuse_lowlevel.c:159:
+^I}$

ERROR: code indent should never use tabs
#183: FILE: tools/virtiofsd/fuse_lowlevel.c:161:
+^Ireturn req;$

ERROR: code indent should never use tabs
#188: FILE: tools/virtiofsd/fuse_lowlevel.c:166:
+^I^I^I struct iovec *iov, int count)$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/fuse_lowlevel.c:168:
+^Istruct fuse_out_header *out = iov[0].iov_base;$

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/fuse_lowlevel.c:170:
+^Iout->len = iov_length(iov, count);$

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/fuse_lowlevel.c:171:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/fuse_lowlevel.c:172:
+^I^Iif (out->unique == 0) {$

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/fuse_lowlevel.c:173:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "NOTIFY: code=%d length=%u\n",$

ERROR: code indent should never use tabs
#196: FILE: tools/virtiofsd/fuse_lowlevel.c:174:
+^I^I^I^Iout->error, out->len);$

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/fuse_lowlevel.c:175:
+^I^I} else if (out->error) {$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/fuse_lowlevel.c:176:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/fuse_lowlevel.c:177:
+^I^I^I^I"   unique: %llu, error: %i (%s), outsize: %i\n",$

ERROR: code indent should never use tabs
#200: FILE: tools/virtiofsd/fuse_lowlevel.c:178:
+^I^I^I^I(unsigned long long) out->unique, out->error,$

ERROR: code indent should never use tabs
#201: FILE: tools/virtiofsd/fuse_lowlevel.c:179:
+^I^I^I^Istrerror(-out->error), out->len);$

ERROR: code indent should never use tabs
#202: FILE: tools/virtiofsd/fuse_lowlevel.c:180:
+^I^I} else {$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/fuse_lowlevel.c:181:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#204: FILE: tools/virtiofsd/fuse_lowlevel.c:182:
+^I^I^I^I"   unique: %llu, success, outsize: %i\n",$

ERROR: code indent should never use tabs
#205: FILE: tools/virtiofsd/fuse_lowlevel.c:183:
+^I^I^I^I(unsigned long long) out->unique, out->len);$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/fuse_lowlevel.c:184:
+^I^I}$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/fuse_lowlevel.c:185:
+^I}$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/fuse_lowlevel.c:187:
+^Issize_t res = writev(ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#210: FILE: tools/virtiofsd/fuse_lowlevel.c:188:
+^I^I^I     iov, count);$

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/fuse_lowlevel.c:189:
+^Iint err = errno;$

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/fuse_lowlevel.c:191:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#214: FILE: tools/virtiofsd/fuse_lowlevel.c:192:
+^I^Iassert(se != NULL);$

ERROR: code indent should never use tabs
#216: FILE: tools/virtiofsd/fuse_lowlevel.c:194:
+^I^I/* ENOENT means the operation was interrupted */$

ERROR: code indent should never use tabs
#217: FILE: tools/virtiofsd/fuse_lowlevel.c:195:
+^I^Iif (!fuse_session_exited(se) && err != ENOENT)$

ERROR: braces {} are necessary for all arms of this statement
#217: FILE: tools/virtiofsd/fuse_lowlevel.c:195:
+               if (!fuse_session_exited(se) && err != ENOENT)
[...]

ERROR: code indent should never use tabs
#218: FILE: tools/virtiofsd/fuse_lowlevel.c:196:
+^I^I^Iperror("fuse: writing device");$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/fuse_lowlevel.c:197:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#220: FILE: tools/virtiofsd/fuse_lowlevel.c:198:
+^I}$

ERROR: code indent should never use tabs
#222: FILE: tools/virtiofsd/fuse_lowlevel.c:200:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/fuse_lowlevel.c:205:
+^I^I^I       int count)$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/fuse_lowlevel.c:207:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#231: FILE: tools/virtiofsd/fuse_lowlevel.c:209:
+^Iif (error <= -1000 || error > 0) {$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/fuse_lowlevel.c:210:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: bad error value: %i\n",^Ierror);$

ERROR: code indent should never use tabs
#233: FILE: tools/virtiofsd/fuse_lowlevel.c:211:
+^I^Ierror = -ERANGE;$

ERROR: code indent should never use tabs
#234: FILE: tools/virtiofsd/fuse_lowlevel.c:212:
+^I}$

ERROR: code indent should never use tabs
#236: FILE: tools/virtiofsd/fuse_lowlevel.c:214:
+^Iout.unique = req->unique;$

ERROR: code indent should never use tabs
#237: FILE: tools/virtiofsd/fuse_lowlevel.c:215:
+^Iout.error = error;$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/fuse_lowlevel.c:217:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#240: FILE: tools/virtiofsd/fuse_lowlevel.c:218:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#242: FILE: tools/virtiofsd/fuse_lowlevel.c:220:
+^Ireturn fuse_send_msg(req->se, req->ch, iov, count);$

ERROR: code indent should never use tabs
#246: FILE: tools/virtiofsd/fuse_lowlevel.c:224:
+^I^I^I  int count)$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/fuse_lowlevel.c:226:
+^Iint res;$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/fuse_lowlevel.c:228:
+^Ires = fuse_send_reply_iov_nofree(req, error, iov, count);$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/fuse_lowlevel.c:229:
+^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#252: FILE: tools/virtiofsd/fuse_lowlevel.c:230:
+^Ireturn res;$

ERROR: code indent should never use tabs
#256: FILE: tools/virtiofsd/fuse_lowlevel.c:234:
+^I^I      size_t argsize)$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/fuse_lowlevel.c:236:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/fuse_lowlevel.c:237:
+^Iint count = 1;$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/fuse_lowlevel.c:238:
+^Iif (argsize) {$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/fuse_lowlevel.c:239:
+^I^Iiov[1].iov_base = (void *) arg;$

ERROR: code indent should never use tabs
#262: FILE: tools/virtiofsd/fuse_lowlevel.c:240:
+^I^Iiov[1].iov_len = argsize;$

ERROR: code indent should never use tabs
#263: FILE: tools/virtiofsd/fuse_lowlevel.c:241:
+^I^Icount++;$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/fuse_lowlevel.c:242:
+^I}$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/fuse_lowlevel.c:243:
+^Ireturn send_reply_iov(req, error, iov, count);$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/fuse_lowlevel.c:248:
+^Iint res;$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/fuse_lowlevel.c:249:
+^Istruct iovec *padded_iov;$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/fuse_lowlevel.c:251:
+^Ipadded_iov = malloc((count + 1) * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#274: FILE: tools/virtiofsd/fuse_lowlevel.c:252:
+^Iif (padded_iov == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#274: FILE: tools/virtiofsd/fuse_lowlevel.c:252:
+       if (padded_iov == NULL)
[...]

ERROR: code indent should never use tabs
#275: FILE: tools/virtiofsd/fuse_lowlevel.c:253:
+^I^Ireturn fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#277: FILE: tools/virtiofsd/fuse_lowlevel.c:255:
+^Imemcpy(padded_iov + 1, iov, count * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/fuse_lowlevel.c:256:
+^Icount++;$

ERROR: code indent should never use tabs
#280: FILE: tools/virtiofsd/fuse_lowlevel.c:258:
+^Ires = send_reply_iov(req, 0, padded_iov, count);$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/fuse_lowlevel.c:259:
+^Ifree(padded_iov);$

ERROR: code indent should never use tabs
#283: FILE: tools/virtiofsd/fuse_lowlevel.c:261:
+^Ireturn res;$

WARNING: Block comments use a leading /* on a separate line
#287: FILE: tools/virtiofsd/fuse_lowlevel.c:265:
+/* `buf` is allowed to be empty so that the proper size may be

WARNING: Block comments use * on subsequent lines
#288: FILE: tools/virtiofsd/fuse_lowlevel.c:266:
+/* `buf` is allowed to be empty so that the proper size may be
+   allocated by the caller */

WARNING: Block comments use a trailing */ on a separate line
#288: FILE: tools/virtiofsd/fuse_lowlevel.c:266:
+   allocated by the caller */

ERROR: code indent should never use tabs
#290: FILE: tools/virtiofsd/fuse_lowlevel.c:268:
+^I^I^I const char *name, const struct stat *stbuf, off_t off)$

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/fuse_lowlevel.c:270:
+^I(void)req;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/fuse_lowlevel.c:271:
+^Isize_t namelen;$

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/fuse_lowlevel.c:272:
+^Isize_t entlen;$

ERROR: code indent should never use tabs
#295: FILE: tools/virtiofsd/fuse_lowlevel.c:273:
+^Isize_t entlen_padded;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/fuse_lowlevel.c:274:
+^Istruct fuse_dirent *dirent;$

ERROR: code indent should never use tabs
#298: FILE: tools/virtiofsd/fuse_lowlevel.c:276:
+^Inamelen = strlen(name);$

ERROR: code indent should never use tabs
#299: FILE: tools/virtiofsd/fuse_lowlevel.c:277:
+^Ientlen = FUSE_NAME_OFFSET + namelen;$

ERROR: code indent should never use tabs
#300: FILE: tools/virtiofsd/fuse_lowlevel.c:278:
+^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$

ERROR: code indent should never use tabs
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+^Iif ((buf == NULL) || (entlen_padded > bufsize))$

ERROR: suspect code indent for conditional statements (8, 10)
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+       if ((buf == NULL) || (entlen_padded > bufsize))
+         return entlen_padded;

ERROR: braces {} are necessary for all arms of this statement
#302: FILE: tools/virtiofsd/fuse_lowlevel.c:280:
+       if ((buf == NULL) || (entlen_padded > bufsize))
[...]

ERROR: code indent should never use tabs
#303: FILE: tools/virtiofsd/fuse_lowlevel.c:281:
+^I  return entlen_padded;$

ERROR: code indent should never use tabs
#305: FILE: tools/virtiofsd/fuse_lowlevel.c:283:
+^Idirent = (struct fuse_dirent*) buf;$

ERROR: "(foo*)" should be "(foo *)"
#305: FILE: tools/virtiofsd/fuse_lowlevel.c:283:
+       dirent = (struct fuse_dirent*) buf;

ERROR: code indent should never use tabs
#306: FILE: tools/virtiofsd/fuse_lowlevel.c:284:
+^Idirent->ino = stbuf->st_ino;$

ERROR: code indent should never use tabs
#307: FILE: tools/virtiofsd/fuse_lowlevel.c:285:
+^Idirent->off = off;$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/fuse_lowlevel.c:286:
+^Idirent->namelen = namelen;$

ERROR: code indent should never use tabs
#309: FILE: tools/virtiofsd/fuse_lowlevel.c:287:
+^Idirent->type = (stbuf->st_mode & S_IFMT) >> 12;$

ERROR: code indent should never use tabs
#310: FILE: tools/virtiofsd/fuse_lowlevel.c:288:
+^Imemcpy(dirent->name, name, namelen);$

ERROR: code indent should never use tabs
#311: FILE: tools/virtiofsd/fuse_lowlevel.c:289:
+^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/fuse_lowlevel.c:291:
+^Ireturn entlen_padded;$

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/fuse_lowlevel.c:295:
+^I^I^I   struct fuse_kstatfs *kstatfs)$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/fuse_lowlevel.c:297:
+^Ikstatfs->bsize^I = stbuf->f_bsize;$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/fuse_lowlevel.c:298:
+^Ikstatfs->frsize^I = stbuf->f_frsize;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/fuse_lowlevel.c:299:
+^Ikstatfs->blocks^I = stbuf->f_blocks;$

ERROR: code indent should never use tabs
#322: FILE: tools/virtiofsd/fuse_lowlevel.c:300:
+^Ikstatfs->bfree^I = stbuf->f_bfree;$

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/fuse_lowlevel.c:301:
+^Ikstatfs->bavail^I = stbuf->f_bavail;$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/fuse_lowlevel.c:302:
+^Ikstatfs->files^I = stbuf->f_files;$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/fuse_lowlevel.c:303:
+^Ikstatfs->ffree^I = stbuf->f_ffree;$

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/fuse_lowlevel.c:304:
+^Ikstatfs->namelen = stbuf->f_namemax;$

ERROR: code indent should never use tabs
#331: FILE: tools/virtiofsd/fuse_lowlevel.c:309:
+^Ireturn send_reply(req, 0, arg, argsize);$

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/fuse_lowlevel.c:314:
+^Ireturn send_reply(req, -err, NULL, 0);$

ERROR: code indent should never use tabs
#341: FILE: tools/virtiofsd/fuse_lowlevel.c:319:
+^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#346: FILE: tools/virtiofsd/fuse_lowlevel.c:324:
+^Iif (t > (double) ULONG_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#346: FILE: tools/virtiofsd/fuse_lowlevel.c:324:
+       if (t > (double) ULONG_MAX)
[...]
+       else if (t < 0.0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#347: FILE: tools/virtiofsd/fuse_lowlevel.c:325:
+^I^Ireturn ULONG_MAX;$

ERROR: code indent should never use tabs
#348: FILE: tools/virtiofsd/fuse_lowlevel.c:326:
+^Ielse if (t < 0.0)$

ERROR: braces {} are necessary for all arms of this statement
#348: FILE: tools/virtiofsd/fuse_lowlevel.c:326:
+       else if (t < 0.0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#349: FILE: tools/virtiofsd/fuse_lowlevel.c:327:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#350: FILE: tools/virtiofsd/fuse_lowlevel.c:328:
+^Ielse$

ERROR: code indent should never use tabs
#351: FILE: tools/virtiofsd/fuse_lowlevel.c:329:
+^I^Ireturn (unsigned long) t;$

ERROR: code indent should never use tabs
#356: FILE: tools/virtiofsd/fuse_lowlevel.c:334:
+^Idouble f = t - (double) calc_timeout_sec(t);$

ERROR: code indent should never use tabs
#357: FILE: tools/virtiofsd/fuse_lowlevel.c:335:
+^Iif (f < 0.0)$

ERROR: braces {} are necessary for all arms of this statement
#357: FILE: tools/virtiofsd/fuse_lowlevel.c:335:
+       if (f < 0.0)
[...]
+       else if (f >= 0.999999999)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#358: FILE: tools/virtiofsd/fuse_lowlevel.c:336:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#359: FILE: tools/virtiofsd/fuse_lowlevel.c:337:
+^Ielse if (f >= 0.999999999)$

ERROR: braces {} are necessary for all arms of this statement
#359: FILE: tools/virtiofsd/fuse_lowlevel.c:337:
+       else if (f >= 0.999999999)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#360: FILE: tools/virtiofsd/fuse_lowlevel.c:338:
+^I^Ireturn 999999999;$

ERROR: code indent should never use tabs
#361: FILE: tools/virtiofsd/fuse_lowlevel.c:339:
+^Ielse$

ERROR: code indent should never use tabs
#362: FILE: tools/virtiofsd/fuse_lowlevel.c:340:
+^I^Ireturn (unsigned int) (f * 1.0e9);$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/fuse_lowlevel.c:344:
+^I^I       const struct fuse_entry_param *e)$

ERROR: code indent should never use tabs
#368: FILE: tools/virtiofsd/fuse_lowlevel.c:346:
+^Iarg->nodeid = e->ino;$

ERROR: code indent should never use tabs
#369: FILE: tools/virtiofsd/fuse_lowlevel.c:347:
+^Iarg->generation = e->generation;$

ERROR: code indent should never use tabs
#370: FILE: tools/virtiofsd/fuse_lowlevel.c:348:
+^Iarg->entry_valid = calc_timeout_sec(e->entry_timeout);$

ERROR: code indent should never use tabs
#371: FILE: tools/virtiofsd/fuse_lowlevel.c:349:
+^Iarg->entry_valid_nsec = calc_timeout_nsec(e->entry_timeout);$

ERROR: code indent should never use tabs
#372: FILE: tools/virtiofsd/fuse_lowlevel.c:350:
+^Iarg->attr_valid = calc_timeout_sec(e->attr_timeout);$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/fuse_lowlevel.c:351:
+^Iarg->attr_valid_nsec = calc_timeout_nsec(e->attr_timeout);$

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/fuse_lowlevel.c:352:
+^Iconvert_stat(&e->attr, &arg->attr);$

WARNING: Block comments use a leading /* on a separate line
#377: FILE: tools/virtiofsd/fuse_lowlevel.c:355:
+/* `buf` is allowed to be empty so that the proper size may be

WARNING: Block comments use * on subsequent lines
#378: FILE: tools/virtiofsd/fuse_lowlevel.c:356:
+/* `buf` is allowed to be empty so that the proper size may be
+   allocated by the caller */

WARNING: Block comments use a trailing */ on a separate line
#378: FILE: tools/virtiofsd/fuse_lowlevel.c:356:
+   allocated by the caller */

ERROR: code indent should never use tabs
#380: FILE: tools/virtiofsd/fuse_lowlevel.c:358:
+^I^I^I      const char *name,$

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/fuse_lowlevel.c:359:
+^I^I^I      const struct fuse_entry_param *e, off_t off)$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/fuse_lowlevel.c:361:
+^I(void)req;$

ERROR: code indent should never use tabs
#384: FILE: tools/virtiofsd/fuse_lowlevel.c:362:
+^Isize_t namelen;$

ERROR: code indent should never use tabs
#385: FILE: tools/virtiofsd/fuse_lowlevel.c:363:
+^Isize_t entlen;$

ERROR: code indent should never use tabs
#386: FILE: tools/virtiofsd/fuse_lowlevel.c:364:
+^Isize_t entlen_padded;$

ERROR: code indent should never use tabs
#388: FILE: tools/virtiofsd/fuse_lowlevel.c:366:
+^Inamelen = strlen(name);$

ERROR: code indent should never use tabs
#389: FILE: tools/virtiofsd/fuse_lowlevel.c:367:
+^Ientlen = FUSE_NAME_OFFSET_DIRENTPLUS + namelen;$

ERROR: code indent should never use tabs
#390: FILE: tools/virtiofsd/fuse_lowlevel.c:368:
+^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$

ERROR: code indent should never use tabs
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+^Iif ((buf == NULL) || (entlen_padded > bufsize))$

ERROR: suspect code indent for conditional statements (8, 10)
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+       if ((buf == NULL) || (entlen_padded > bufsize))
+         return entlen_padded;

ERROR: braces {} are necessary for all arms of this statement
#391: FILE: tools/virtiofsd/fuse_lowlevel.c:369:
+       if ((buf == NULL) || (entlen_padded > bufsize))
[...]

ERROR: code indent should never use tabs
#392: FILE: tools/virtiofsd/fuse_lowlevel.c:370:
+^I  return entlen_padded;$

ERROR: code indent should never use tabs
#394: FILE: tools/virtiofsd/fuse_lowlevel.c:372:
+^Istruct fuse_direntplus *dp = (struct fuse_direntplus *) buf;$

ERROR: code indent should never use tabs
#395: FILE: tools/virtiofsd/fuse_lowlevel.c:373:
+^Imemset(&dp->entry_out, 0, sizeof(dp->entry_out));$

ERROR: code indent should never use tabs
#396: FILE: tools/virtiofsd/fuse_lowlevel.c:374:
+^Ifill_entry(&dp->entry_out, e);$

ERROR: code indent should never use tabs
#398: FILE: tools/virtiofsd/fuse_lowlevel.c:376:
+^Istruct fuse_dirent *dirent = &dp->dirent;$

ERROR: code indent should never use tabs
#399: FILE: tools/virtiofsd/fuse_lowlevel.c:377:
+^Idirent->ino = e->attr.st_ino;$

ERROR: code indent should never use tabs
#400: FILE: tools/virtiofsd/fuse_lowlevel.c:378:
+^Idirent->off = off;$

ERROR: code indent should never use tabs
#401: FILE: tools/virtiofsd/fuse_lowlevel.c:379:
+^Idirent->namelen = namelen;$

ERROR: code indent should never use tabs
#402: FILE: tools/virtiofsd/fuse_lowlevel.c:380:
+^Idirent->type = (e->attr.st_mode & S_IFMT) >> 12;$

ERROR: code indent should never use tabs
#403: FILE: tools/virtiofsd/fuse_lowlevel.c:381:
+^Imemcpy(dirent->name, name, namelen);$

ERROR: code indent should never use tabs
#404: FILE: tools/virtiofsd/fuse_lowlevel.c:382:
+^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$

ERROR: code indent should never use tabs
#406: FILE: tools/virtiofsd/fuse_lowlevel.c:384:
+^Ireturn entlen_padded;$

ERROR: code indent should never use tabs
#410: FILE: tools/virtiofsd/fuse_lowlevel.c:388:
+^I^I      const struct fuse_file_info *f)$

ERROR: code indent should never use tabs
#412: FILE: tools/virtiofsd/fuse_lowlevel.c:390:
+^Iarg->fh = f->fh;$

ERROR: code indent should never use tabs
#413: FILE: tools/virtiofsd/fuse_lowlevel.c:391:
+^Iif (f->direct_io)$

ERROR: braces {} are necessary for all arms of this statement
#413: FILE: tools/virtiofsd/fuse_lowlevel.c:391:
+       if (f->direct_io)
[...]

ERROR: code indent should never use tabs
#414: FILE: tools/virtiofsd/fuse_lowlevel.c:392:
+^I^Iarg->open_flags |= FOPEN_DIRECT_IO;$

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/fuse_lowlevel.c:393:
+^Iif (f->keep_cache)$

ERROR: braces {} are necessary for all arms of this statement
#415: FILE: tools/virtiofsd/fuse_lowlevel.c:393:
+       if (f->keep_cache)
[...]

ERROR: code indent should never use tabs
#416: FILE: tools/virtiofsd/fuse_lowlevel.c:394:
+^I^Iarg->open_flags |= FOPEN_KEEP_CACHE;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/fuse_lowlevel.c:395:
+^Iif (f->cache_readdir)$

ERROR: braces {} are necessary for all arms of this statement
#417: FILE: tools/virtiofsd/fuse_lowlevel.c:395:
+       if (f->cache_readdir)
[...]

ERROR: code indent should never use tabs
#418: FILE: tools/virtiofsd/fuse_lowlevel.c:396:
+^I^Iarg->open_flags |= FOPEN_CACHE_DIR;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/fuse_lowlevel.c:397:
+^Iif (f->nonseekable)$

ERROR: braces {} are necessary for all arms of this statement
#419: FILE: tools/virtiofsd/fuse_lowlevel.c:397:
+       if (f->nonseekable)
[...]

ERROR: code indent should never use tabs
#420: FILE: tools/virtiofsd/fuse_lowlevel.c:398:
+^I^Iarg->open_flags |= FOPEN_NONSEEKABLE;$

ERROR: code indent should never use tabs
#425: FILE: tools/virtiofsd/fuse_lowlevel.c:403:
+^Istruct fuse_entry_out arg;$

ERROR: code indent should never use tabs
#426: FILE: tools/virtiofsd/fuse_lowlevel.c:404:
+^Isize_t size = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#427: FILE: tools/virtiofsd/fuse_lowlevel.c:405:
+^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/fuse_lowlevel.c:407:
+^I/* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant$

WARNING: Block comments use a leading /* on a separate line
#429: FILE: tools/virtiofsd/fuse_lowlevel.c:407:
+       /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+^I   negative entry */$

WARNING: Block comments use * on subsequent lines
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+       /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant
+          negative entry */

WARNING: Block comments use a trailing */ on a separate line
#430: FILE: tools/virtiofsd/fuse_lowlevel.c:408:
+          negative entry */

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/fuse_lowlevel.c:409:
+^Iif (!e->ino && req->se->conn.proto_minor < 4)$

ERROR: braces {} are necessary for all arms of this statement
#431: FILE: tools/virtiofsd/fuse_lowlevel.c:409:
+       if (!e->ino && req->se->conn.proto_minor < 4)
[...]

ERROR: code indent should never use tabs
#432: FILE: tools/virtiofsd/fuse_lowlevel.c:410:
+^I^Ireturn fuse_reply_err(req, ENOENT);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/fuse_lowlevel.c:412:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#435: FILE: tools/virtiofsd/fuse_lowlevel.c:413:
+^Ifill_entry(&arg, e);$

ERROR: code indent should never use tabs
#436: FILE: tools/virtiofsd/fuse_lowlevel.c:414:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#440: FILE: tools/virtiofsd/fuse_lowlevel.c:418:
+^I^I      const struct fuse_file_info *f)$

ERROR: code indent should never use tabs
#442: FILE: tools/virtiofsd/fuse_lowlevel.c:420:
+^Ichar buf[sizeof(struct fuse_entry_out) + sizeof(struct fuse_open_out)];$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/fuse_lowlevel.c:421:
+^Isize_t entrysize = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#444: FILE: tools/virtiofsd/fuse_lowlevel.c:422:
+^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(struct fuse_entry_out);$

ERROR: code indent should never use tabs
#445: FILE: tools/virtiofsd/fuse_lowlevel.c:423:
+^Istruct fuse_entry_out *earg = (struct fuse_entry_out *) buf;$

ERROR: code indent should never use tabs
#446: FILE: tools/virtiofsd/fuse_lowlevel.c:424:
+^Istruct fuse_open_out *oarg = (struct fuse_open_out *) (buf + entrysize);$

ERROR: code indent should never use tabs
#448: FILE: tools/virtiofsd/fuse_lowlevel.c:426:
+^Imemset(buf, 0, sizeof(buf));$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/fuse_lowlevel.c:427:
+^Ifill_entry(earg, e);$

ERROR: code indent should never use tabs
#450: FILE: tools/virtiofsd/fuse_lowlevel.c:428:
+^Ifill_open(oarg, f);$

ERROR: code indent should never use tabs
#451: FILE: tools/virtiofsd/fuse_lowlevel.c:429:
+^Ireturn send_reply_ok(req, buf,$

ERROR: code indent should never use tabs
#452: FILE: tools/virtiofsd/fuse_lowlevel.c:430:
+^I^I^I     entrysize + sizeof(struct fuse_open_out));$

ERROR: code indent should never use tabs
#456: FILE: tools/virtiofsd/fuse_lowlevel.c:434:
+^I^I    double attr_timeout)$

ERROR: code indent should never use tabs
#458: FILE: tools/virtiofsd/fuse_lowlevel.c:436:
+^Istruct fuse_attr_out arg;$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/fuse_lowlevel.c:437:
+^Isize_t size = req->se->conn.proto_minor < 9 ?$

ERROR: code indent should never use tabs
#460: FILE: tools/virtiofsd/fuse_lowlevel.c:438:
+^I^IFUSE_COMPAT_ATTR_OUT_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/fuse_lowlevel.c:440:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#463: FILE: tools/virtiofsd/fuse_lowlevel.c:441:
+^Iarg.attr_valid = calc_timeout_sec(attr_timeout);$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/fuse_lowlevel.c:442:
+^Iarg.attr_valid_nsec = calc_timeout_nsec(attr_timeout);$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/fuse_lowlevel.c:443:
+^Iconvert_stat(attr, &arg.attr);$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/fuse_lowlevel.c:445:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#472: FILE: tools/virtiofsd/fuse_lowlevel.c:450:
+^Ireturn send_reply_ok(req, linkname, strlen(linkname));$

ERROR: code indent should never use tabs
#477: FILE: tools/virtiofsd/fuse_lowlevel.c:455:
+^Istruct fuse_open_out arg;$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/fuse_lowlevel.c:457:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#480: FILE: tools/virtiofsd/fuse_lowlevel.c:458:
+^Ifill_open(&arg, f);$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/fuse_lowlevel.c:459:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#486: FILE: tools/virtiofsd/fuse_lowlevel.c:464:
+^Istruct fuse_write_out arg;$

ERROR: code indent should never use tabs
#488: FILE: tools/virtiofsd/fuse_lowlevel.c:466:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/fuse_lowlevel.c:467:
+^Iarg.size = count;$

ERROR: code indent should never use tabs
#491: FILE: tools/virtiofsd/fuse_lowlevel.c:469:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/fuse_lowlevel.c:474:
+^Ireturn send_reply_ok(req, buf, size);$

ERROR: code indent should never use tabs
#500: FILE: tools/virtiofsd/fuse_lowlevel.c:478:
+^I^I^I^I       struct fuse_chan *ch,$

ERROR: code indent should never use tabs
#501: FILE: tools/virtiofsd/fuse_lowlevel.c:479:
+^I^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#502: FILE: tools/virtiofsd/fuse_lowlevel.c:480:
+^I^I^I^I       struct fuse_bufvec *buf,$

ERROR: code indent should never use tabs
#503: FILE: tools/virtiofsd/fuse_lowlevel.c:481:
+^I^I^I^I       size_t len)$

ERROR: code indent should never use tabs
#505: FILE: tools/virtiofsd/fuse_lowlevel.c:483:
+^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#506: FILE: tools/virtiofsd/fuse_lowlevel.c:484:
+^Ivoid *mbuf;$

ERROR: code indent should never use tabs
#507: FILE: tools/virtiofsd/fuse_lowlevel.c:485:
+^Iint res;$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/fuse_lowlevel.c:487:
+^I/* Optimize common case */$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/fuse_lowlevel.c:488:
+^Iif (buf->count == 1 && buf->idx == 0 && buf->off == 0 &&$

ERROR: code indent should never use tabs
#511: FILE: tools/virtiofsd/fuse_lowlevel.c:489:
+^I    !(buf->buf[0].flags & FUSE_BUF_IS_FD)) {$

ERROR: code indent should never use tabs
#512: FILE: tools/virtiofsd/fuse_lowlevel.c:490:
+^I^I/* FIXME: also avoid memory copy if there are multiple buffers$

WARNING: Block comments use a leading /* on a separate line
#512: FILE: tools/virtiofsd/fuse_lowlevel.c:490:
+               /* FIXME: also avoid memory copy if there are multiple buffers

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+^I^I   but none of them contain an fd */$

WARNING: Block comments use * on subsequent lines
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+               /* FIXME: also avoid memory copy if there are multiple buffers
+                  but none of them contain an fd */

WARNING: Block comments use a trailing */ on a separate line
#513: FILE: tools/virtiofsd/fuse_lowlevel.c:491:
+                  but none of them contain an fd */

ERROR: code indent should never use tabs
#515: FILE: tools/virtiofsd/fuse_lowlevel.c:493:
+^I^Iiov[iov_count].iov_base = buf->buf[0].mem;$

ERROR: code indent should never use tabs
#516: FILE: tools/virtiofsd/fuse_lowlevel.c:494:
+^I^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#517: FILE: tools/virtiofsd/fuse_lowlevel.c:495:
+^I^Iiov_count++;$

ERROR: code indent should never use tabs
#518: FILE: tools/virtiofsd/fuse_lowlevel.c:496:
+^I^Ireturn fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/fuse_lowlevel.c:497:
+^I}$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_lowlevel.c:499:
+^Ires = posix_memalign(&mbuf, pagesize, len);$

ERROR: code indent should never use tabs
#522: FILE: tools/virtiofsd/fuse_lowlevel.c:500:
+^Iif (res != 0)$

ERROR: braces {} are necessary for all arms of this statement
#522: FILE: tools/virtiofsd/fuse_lowlevel.c:500:
+       if (res != 0)
[...]

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/fuse_lowlevel.c:501:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#525: FILE: tools/virtiofsd/fuse_lowlevel.c:503:
+^Imem_buf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#526: FILE: tools/virtiofsd/fuse_lowlevel.c:504:
+^Ires = fuse_buf_copy(&mem_buf, buf, 0);$

ERROR: code indent should never use tabs
#527: FILE: tools/virtiofsd/fuse_lowlevel.c:505:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/fuse_lowlevel.c:506:
+^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#529: FILE: tools/virtiofsd/fuse_lowlevel.c:507:
+^I^Ireturn -res;$

ERROR: code indent should never use tabs
#530: FILE: tools/virtiofsd/fuse_lowlevel.c:508:
+^I}$

ERROR: code indent should never use tabs
#531: FILE: tools/virtiofsd/fuse_lowlevel.c:509:
+^Ilen = res;$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/fuse_lowlevel.c:511:
+^Iiov[iov_count].iov_base = mbuf;$

ERROR: code indent should never use tabs
#534: FILE: tools/virtiofsd/fuse_lowlevel.c:512:
+^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#535: FILE: tools/virtiofsd/fuse_lowlevel.c:513:
+^Iiov_count++;$

ERROR: code indent should never use tabs
#536: FILE: tools/virtiofsd/fuse_lowlevel.c:514:
+^Ires = fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#537: FILE: tools/virtiofsd/fuse_lowlevel.c:515:
+^Ifree(mbuf);$

ERROR: code indent should never use tabs
#539: FILE: tools/virtiofsd/fuse_lowlevel.c:517:
+^Ireturn res;$

ERROR: code indent should never use tabs
#543: FILE: tools/virtiofsd/fuse_lowlevel.c:521:
+^Isize_t size;$

ERROR: code indent should never use tabs
#544: FILE: tools/virtiofsd/fuse_lowlevel.c:522:
+^Iint can_grow;$

ERROR: code indent should never use tabs
#545: FILE: tools/virtiofsd/fuse_lowlevel.c:523:
+^Iint pipe[2];$

ERROR: code indent should never use tabs
#550: FILE: tools/virtiofsd/fuse_lowlevel.c:528:
+^Iclose(llp->pipe[0]);$

ERROR: code indent should never use tabs
#551: FILE: tools/virtiofsd/fuse_lowlevel.c:529:
+^Iclose(llp->pipe[1]);$

ERROR: code indent should never use tabs
#552: FILE: tools/virtiofsd/fuse_lowlevel.c:530:
+^Ifree(llp);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/fuse_lowlevel.c:537:
+^Iint rv = pipe(fds);$

ERROR: code indent should never use tabs
#561: FILE: tools/virtiofsd/fuse_lowlevel.c:539:
+^Iif (rv == -1)$

ERROR: braces {} are necessary for all arms of this statement
#561: FILE: tools/virtiofsd/fuse_lowlevel.c:539:
+       if (rv == -1)
[...]

ERROR: code indent should never use tabs
#562: FILE: tools/virtiofsd/fuse_lowlevel.c:540:
+^I^Ireturn rv;$

ERROR: code indent should never use tabs
#564: FILE: tools/virtiofsd/fuse_lowlevel.c:542:
+^Iif (fcntl(fds[0], F_SETFL, O_NONBLOCK) == -1 ||$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/fuse_lowlevel.c:543:
+^I    fcntl(fds[1], F_SETFL, O_NONBLOCK) == -1 ||$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/fuse_lowlevel.c:544:
+^I    fcntl(fds[0], F_SETFD, FD_CLOEXEC) == -1 ||$

ERROR: code indent should never use tabs
#567: FILE: tools/virtiofsd/fuse_lowlevel.c:545:
+^I    fcntl(fds[1], F_SETFD, FD_CLOEXEC) == -1) {$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/fuse_lowlevel.c:546:
+^I^Iclose(fds[0]);$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/fuse_lowlevel.c:547:
+^I^Iclose(fds[1]);$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/fuse_lowlevel.c:548:
+^I^Irv = -1;$

ERROR: code indent should never use tabs
#571: FILE: tools/virtiofsd/fuse_lowlevel.c:549:
+^I}$

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/fuse_lowlevel.c:550:
+^Ireturn rv;$

ERROR: code indent should never use tabs
#577: FILE: tools/virtiofsd/fuse_lowlevel.c:555:
+^Ireturn pipe2(fds, O_CLOEXEC | O_NONBLOCK);$

ERROR: code indent should never use tabs
#583: FILE: tools/virtiofsd/fuse_lowlevel.c:561:
+^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#584: FILE: tools/virtiofsd/fuse_lowlevel.c:562:
+^Iif (llp == NULL) {$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/fuse_lowlevel.c:563:
+^I^Iint res;$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/fuse_lowlevel.c:565:
+^I^Illp = malloc(sizeof(struct fuse_ll_pipe));$

ERROR: code indent should never use tabs
#588: FILE: tools/virtiofsd/fuse_lowlevel.c:566:
+^I^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#588: FILE: tools/virtiofsd/fuse_lowlevel.c:566:
+               if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/fuse_lowlevel.c:567:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#591: FILE: tools/virtiofsd/fuse_lowlevel.c:569:
+^I^Ires = fuse_pipe(llp->pipe);$

ERROR: code indent should never use tabs
#592: FILE: tools/virtiofsd/fuse_lowlevel.c:570:
+^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#593: FILE: tools/virtiofsd/fuse_lowlevel.c:571:
+^I^I^Ifree(llp);$

ERROR: code indent should never use tabs
#594: FILE: tools/virtiofsd/fuse_lowlevel.c:572:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/fuse_lowlevel.c:573:
+^I^I}$

ERROR: code indent should never use tabs
#597: FILE: tools/virtiofsd/fuse_lowlevel.c:575:
+^I^I/*$

ERROR: code indent should never use tabs
#598: FILE: tools/virtiofsd/fuse_lowlevel.c:576:
+^I^I *the default size is 16 pages on linux$

ERROR: code indent should never use tabs
#599: FILE: tools/virtiofsd/fuse_lowlevel.c:577:
+^I^I */$

ERROR: code indent should never use tabs
#600: FILE: tools/virtiofsd/fuse_lowlevel.c:578:
+^I^Illp->size = pagesize * 16;$

ERROR: code indent should never use tabs
#601: FILE: tools/virtiofsd/fuse_lowlevel.c:579:
+^I^Illp->can_grow = 1;$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/fuse_lowlevel.c:581:
+^I^Ipthread_setspecific(se->pipe_key, llp);$

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/fuse_lowlevel.c:582:
+^I}$

ERROR: code indent should never use tabs
#606: FILE: tools/virtiofsd/fuse_lowlevel.c:584:
+^Ireturn llp;$

ERROR: code indent should never use tabs
#612: FILE: tools/virtiofsd/fuse_lowlevel.c:590:
+^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/fuse_lowlevel.c:591:
+^Iif (llp) {$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/fuse_lowlevel.c:592:
+^I^Ipthread_setspecific(se->pipe_key, NULL);$

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/fuse_lowlevel.c:593:
+^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#616: FILE: tools/virtiofsd/fuse_lowlevel.c:594:
+^I}$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/fuse_lowlevel.c:600:
+^Iint res;$

ERROR: code indent should never use tabs
#624: FILE: tools/virtiofsd/fuse_lowlevel.c:602:
+^Ires = read(fd, buf, len);$

ERROR: code indent should never use tabs
#625: FILE: tools/virtiofsd/fuse_lowlevel.c:603:
+^Iif (res == -1) {$

ERROR: line over 90 characters
#626: FILE: tools/virtiofsd/fuse_lowlevel.c:604:
+               fuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read back from pipe: %s\n", strerror(errno));

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/fuse_lowlevel.c:604:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read back from pipe: %s\n", strerror(errno));$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/fuse_lowlevel.c:605:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/fuse_lowlevel.c:606:
+^I}$

ERROR: code indent should never use tabs
#629: FILE: tools/virtiofsd/fuse_lowlevel.c:607:
+^Iif (res != len) {$

ERROR: line over 90 characters
#630: FILE: tools/virtiofsd/fuse_lowlevel.c:608:
+               fuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back from pipe: %i from %zi\n", res, len);

ERROR: code indent should never use tabs
#630: FILE: tools/virtiofsd/fuse_lowlevel.c:608:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back from pipe: %i from %zi\n", res, len);$

ERROR: code indent should never use tabs
#631: FILE: tools/virtiofsd/fuse_lowlevel.c:609:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#632: FILE: tools/virtiofsd/fuse_lowlevel.c:610:
+^I}$

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/fuse_lowlevel.c:611:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/fuse_lowlevel.c:616:
+^Iint max;$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/fuse_lowlevel.c:617:
+^Iint res;$

ERROR: code indent should never use tabs
#640: FILE: tools/virtiofsd/fuse_lowlevel.c:618:
+^Iint maxfd;$

ERROR: code indent should never use tabs
#641: FILE: tools/virtiofsd/fuse_lowlevel.c:619:
+^Ichar buf[32];$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/fuse_lowlevel.c:621:
+^Imaxfd = open("/proc/sys/fs/pipe-max-size", O_RDONLY);$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/fuse_lowlevel.c:622:
+^Iif (maxfd < 0)$

ERROR: braces {} are necessary for all arms of this statement
#644: FILE: tools/virtiofsd/fuse_lowlevel.c:622:
+       if (maxfd < 0)
[...]

ERROR: code indent should never use tabs
#645: FILE: tools/virtiofsd/fuse_lowlevel.c:623:
+^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/fuse_lowlevel.c:625:
+^Ires = read(maxfd, buf, sizeof(buf) - 1);$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/fuse_lowlevel.c:626:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#649: FILE: tools/virtiofsd/fuse_lowlevel.c:627:
+^I^Iint saved_errno;$

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/fuse_lowlevel.c:629:
+^I^Isaved_errno = errno;$

ERROR: code indent should never use tabs
#652: FILE: tools/virtiofsd/fuse_lowlevel.c:630:
+^I^Iclose(maxfd);$

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/fuse_lowlevel.c:631:
+^I^Ireturn -saved_errno;$

ERROR: code indent should never use tabs
#654: FILE: tools/virtiofsd/fuse_lowlevel.c:632:
+^I}$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/fuse_lowlevel.c:633:
+^Iclose(maxfd);$

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/fuse_lowlevel.c:634:
+^Ibuf[res] = '\0';$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/fuse_lowlevel.c:636:
+^Imax = atoi(buf);$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/fuse_lowlevel.c:637:
+^Ires = fcntl(pipefd, F_SETPIPE_SZ, max);$

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/fuse_lowlevel.c:638:
+^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#660: FILE: tools/virtiofsd/fuse_lowlevel.c:638:
+       if (res < 0)
[...]

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/fuse_lowlevel.c:639:
+^I^Ireturn -errno;$

ERROR: code indent should never use tabs
#662: FILE: tools/virtiofsd/fuse_lowlevel.c:640:
+^Ireturn max;$

ERROR: code indent should never use tabs
#666: FILE: tools/virtiofsd/fuse_lowlevel.c:644:
+^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#667: FILE: tools/virtiofsd/fuse_lowlevel.c:645:
+^I^I^I       struct fuse_bufvec *buf, unsigned int flags)$

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/fuse_lowlevel.c:647:
+^Iint res;$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/fuse_lowlevel.c:648:
+^Isize_t len = fuse_buf_size(buf);$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/fuse_lowlevel.c:649:
+^Istruct fuse_out_header *out = iov[0].iov_base;$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/fuse_lowlevel.c:650:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#673: FILE: tools/virtiofsd/fuse_lowlevel.c:651:
+^Iint splice_flags;$

ERROR: code indent should never use tabs
#674: FILE: tools/virtiofsd/fuse_lowlevel.c:652:
+^Isize_t pipesize;$

ERROR: code indent should never use tabs
#675: FILE: tools/virtiofsd/fuse_lowlevel.c:653:
+^Isize_t total_fd_size;$

ERROR: code indent should never use tabs
#676: FILE: tools/virtiofsd/fuse_lowlevel.c:654:
+^Isize_t idx;$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/fuse_lowlevel.c:655:
+^Isize_t headerlen;$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/fuse_lowlevel.c:656:
+^Istruct fuse_bufvec pipe_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#680: FILE: tools/virtiofsd/fuse_lowlevel.c:658:
+^Iif (se->broken_splice_nonblock)$

ERROR: braces {} are necessary for all arms of this statement
#680: FILE: tools/virtiofsd/fuse_lowlevel.c:658:
+       if (se->broken_splice_nonblock)
[...]

ERROR: code indent should never use tabs
#681: FILE: tools/virtiofsd/fuse_lowlevel.c:659:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#683: FILE: tools/virtiofsd/fuse_lowlevel.c:661:
+^Iif (flags & FUSE_BUF_NO_SPLICE)$

ERROR: braces {} are necessary for all arms of this statement
#683: FILE: tools/virtiofsd/fuse_lowlevel.c:661:
+       if (flags & FUSE_BUF_NO_SPLICE)
[...]

ERROR: code indent should never use tabs
#684: FILE: tools/virtiofsd/fuse_lowlevel.c:662:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#686: FILE: tools/virtiofsd/fuse_lowlevel.c:664:
+^Itotal_fd_size = 0;$

ERROR: code indent should never use tabs
#687: FILE: tools/virtiofsd/fuse_lowlevel.c:665:
+^Ifor (idx = buf->idx; idx < buf->count; idx++) {$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/fuse_lowlevel.c:666:
+^I^Iif (buf->buf[idx].flags & FUSE_BUF_IS_FD) {$

ERROR: code indent should never use tabs
#689: FILE: tools/virtiofsd/fuse_lowlevel.c:667:
+^I^I^Itotal_fd_size = buf->buf[idx].size;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/fuse_lowlevel.c:668:
+^I^I^Iif (idx == buf->idx)$

ERROR: braces {} are necessary for all arms of this statement
#690: FILE: tools/virtiofsd/fuse_lowlevel.c:668:
+                       if (idx == buf->idx)
[...]

ERROR: code indent should never use tabs
#691: FILE: tools/virtiofsd/fuse_lowlevel.c:669:
+^I^I^I^Itotal_fd_size -= buf->off;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/fuse_lowlevel.c:670:
+^I^I}$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/fuse_lowlevel.c:671:
+^I}$

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/fuse_lowlevel.c:672:
+^Iif (total_fd_size < 2 * pagesize)$

ERROR: braces {} are necessary for all arms of this statement
#694: FILE: tools/virtiofsd/fuse_lowlevel.c:672:
+       if (total_fd_size < 2 * pagesize)
[...]

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/fuse_lowlevel.c:673:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#697: FILE: tools/virtiofsd/fuse_lowlevel.c:675:
+^Iif (se->conn.proto_minor < 14 ||$

ERROR: code indent should never use tabs
#698: FILE: tools/virtiofsd/fuse_lowlevel.c:676:
+^I    !(se->conn.want & FUSE_CAP_SPLICE_WRITE))$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/fuse_lowlevel.c:677:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/fuse_lowlevel.c:679:
+^Illp = fuse_ll_get_pipe(se);$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/fuse_lowlevel.c:680:
+^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#702: FILE: tools/virtiofsd/fuse_lowlevel.c:680:
+       if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/fuse_lowlevel.c:681:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/fuse_lowlevel.c:684:
+^Iheaderlen = iov_length(iov, iov_count);$

ERROR: code indent should never use tabs
#708: FILE: tools/virtiofsd/fuse_lowlevel.c:686:
+^Iout->len = headerlen + len;$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/fuse_lowlevel.c:688:
+^I/*$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/fuse_lowlevel.c:689:
+^I * Heuristic for the required pipe size, does not work if the$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/fuse_lowlevel.c:690:
+^I * source contains less than page size fragments$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/fuse_lowlevel.c:691:
+^I */$

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/fuse_lowlevel.c:692:
+^Ipipesize = pagesize * (iov_count + buf->count + 1) + out->len;$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/fuse_lowlevel.c:694:
+^Iif (llp->size < pipesize) {$

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/fuse_lowlevel.c:695:
+^I^Iif (llp->can_grow) {$

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/fuse_lowlevel.c:696:
+^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, pipesize);$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/fuse_lowlevel.c:697:
+^I^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/fuse_lowlevel.c:698:
+^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/fuse_lowlevel.c:699:
+^I^I^I^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#721: FILE: tools/virtiofsd/fuse_lowlevel.c:699:
+                               if (res > 0)
[...]

ERROR: code indent should never use tabs
#722: FILE: tools/virtiofsd/fuse_lowlevel.c:700:
+^I^I^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/fuse_lowlevel.c:701:
+^I^I^I^Illp->can_grow = 0;$

ERROR: code indent should never use tabs
#724: FILE: tools/virtiofsd/fuse_lowlevel.c:702:
+^I^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#725: FILE: tools/virtiofsd/fuse_lowlevel.c:703:
+^I^I^I}$

ERROR: code indent should never use tabs
#726: FILE: tools/virtiofsd/fuse_lowlevel.c:704:
+^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#727: FILE: tools/virtiofsd/fuse_lowlevel.c:705:
+^I^I}$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/fuse_lowlevel.c:706:
+^I^Iif (llp->size < pipesize)$

ERROR: braces {} are necessary for all arms of this statement
#728: FILE: tools/virtiofsd/fuse_lowlevel.c:706:
+               if (llp->size < pipesize)
[...]

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/fuse_lowlevel.c:707:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#730: FILE: tools/virtiofsd/fuse_lowlevel.c:708:
+^I}$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/fuse_lowlevel.c:711:
+^Ires = vmsplice(llp->pipe[1], iov, iov_count, SPLICE_F_NONBLOCK);$

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/fuse_lowlevel.c:712:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#734: FILE: tools/virtiofsd/fuse_lowlevel.c:712:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/fuse_lowlevel.c:713:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#737: FILE: tools/virtiofsd/fuse_lowlevel.c:715:
+^Iif (res != headerlen) {$

ERROR: code indent should never use tabs
#738: FILE: tools/virtiofsd/fuse_lowlevel.c:716:
+^I^Ires = -EIO;$

WARNING: line over 80 characters
#739: FILE: tools/virtiofsd/fuse_lowlevel.c:717:
+               fuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: %u/%zu\n", res,

ERROR: code indent should never use tabs
#739: FILE: tools/virtiofsd/fuse_lowlevel.c:717:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: %u/%zu\n", res,$

ERROR: code indent should never use tabs
#740: FILE: tools/virtiofsd/fuse_lowlevel.c:718:
+^I^I^Iheaderlen);$

ERROR: code indent should never use tabs
#741: FILE: tools/virtiofsd/fuse_lowlevel.c:719:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/fuse_lowlevel.c:720:
+^I}$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/fuse_lowlevel.c:722:
+^Ipipe_buf.buf[0].flags = FUSE_BUF_IS_FD;$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/fuse_lowlevel.c:723:
+^Ipipe_buf.buf[0].fd = llp->pipe[1];$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/fuse_lowlevel.c:725:
+^Ires = fuse_buf_copy(&pipe_buf, buf,$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/fuse_lowlevel.c:726:
+^I^I^I    FUSE_BUF_FORCE_SPLICE | FUSE_BUF_SPLICE_NONBLOCK);$

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/fuse_lowlevel.c:727:
+^Iif (res < 0) {$

ERROR: code indent should never use tabs
#750: FILE: tools/virtiofsd/fuse_lowlevel.c:728:
+^I^Iif (res == -EAGAIN || res == -EINVAL) {$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/fuse_lowlevel.c:729:
+^I^I^I/*$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/fuse_lowlevel.c:730:
+^I^I^I * Should only get EAGAIN on kernels with$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/fuse_lowlevel.c:731:
+^I^I^I * broken SPLICE_F_NONBLOCK support (<=$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/fuse_lowlevel.c:732:
+^I^I^I * 2.6.35) where this error or a short read is$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/fuse_lowlevel.c:733:
+^I^I^I * returned even if the pipe itself is not$

ERROR: code indent should never use tabs
#756: FILE: tools/virtiofsd/fuse_lowlevel.c:734:
+^I^I^I * full$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/fuse_lowlevel.c:735:
+^I^I^I *$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/fuse_lowlevel.c:736:
+^I^I^I * EINVAL might mean that splice can't handle$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/fuse_lowlevel.c:737:
+^I^I^I * this combination of input and output.$

ERROR: code indent should never use tabs
#760: FILE: tools/virtiofsd/fuse_lowlevel.c:738:
+^I^I^I */$

ERROR: code indent should never use tabs
#761: FILE: tools/virtiofsd/fuse_lowlevel.c:739:
+^I^I^Iif (res == -EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#761: FILE: tools/virtiofsd/fuse_lowlevel.c:739:
+                       if (res == -EAGAIN)
[...]

ERROR: code indent should never use tabs
#762: FILE: tools/virtiofsd/fuse_lowlevel.c:740:
+^I^I^I^Ise->broken_splice_nonblock = 1;$

ERROR: code indent should never use tabs
#764: FILE: tools/virtiofsd/fuse_lowlevel.c:742:
+^I^I^Ipthread_setspecific(se->pipe_key, NULL);$

ERROR: code indent should never use tabs
#765: FILE: tools/virtiofsd/fuse_lowlevel.c:743:
+^I^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#766: FILE: tools/virtiofsd/fuse_lowlevel.c:744:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#767: FILE: tools/virtiofsd/fuse_lowlevel.c:745:
+^I^I}$

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/fuse_lowlevel.c:746:
+^I^Ires = -res;$

ERROR: code indent should never use tabs
#769: FILE: tools/virtiofsd/fuse_lowlevel.c:747:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_lowlevel.c:748:
+^I}$

ERROR: code indent should never use tabs
#772: FILE: tools/virtiofsd/fuse_lowlevel.c:750:
+^Iif (res != 0 && res < len) {$

ERROR: code indent should never use tabs
#773: FILE: tools/virtiofsd/fuse_lowlevel.c:751:
+^I^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$

ERROR: code indent should never use tabs
#774: FILE: tools/virtiofsd/fuse_lowlevel.c:752:
+^I^Ivoid *mbuf;$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/fuse_lowlevel.c:753:
+^I^Isize_t now_len = res;$

ERROR: code indent should never use tabs
#776: FILE: tools/virtiofsd/fuse_lowlevel.c:754:
+^I^I/*$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/fuse_lowlevel.c:755:
+^I^I * For regular files a short count is either$

ERROR: code indent should never use tabs
#778: FILE: tools/virtiofsd/fuse_lowlevel.c:756:
+^I^I *  1) due to EOF, or$

ERROR: code indent should never use tabs
#779: FILE: tools/virtiofsd/fuse_lowlevel.c:757:
+^I^I *  2) because of broken SPLICE_F_NONBLOCK (see above)$

ERROR: code indent should never use tabs
#780: FILE: tools/virtiofsd/fuse_lowlevel.c:758:
+^I^I *$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/fuse_lowlevel.c:759:
+^I^I * For other inputs it's possible that we overflowed$

ERROR: code indent should never use tabs
#782: FILE: tools/virtiofsd/fuse_lowlevel.c:760:
+^I^I * the pipe because of small buffer fragments.$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/fuse_lowlevel.c:761:
+^I^I */$

ERROR: code indent should never use tabs
#785: FILE: tools/virtiofsd/fuse_lowlevel.c:763:
+^I^Ires = posix_memalign(&mbuf, pagesize, len);$

ERROR: code indent should never use tabs
#786: FILE: tools/virtiofsd/fuse_lowlevel.c:764:
+^I^Iif (res != 0)$

ERROR: braces {} are necessary for all arms of this statement
#786: FILE: tools/virtiofsd/fuse_lowlevel.c:764:
+               if (res != 0)
[...]

ERROR: code indent should never use tabs
#787: FILE: tools/virtiofsd/fuse_lowlevel.c:765:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#789: FILE: tools/virtiofsd/fuse_lowlevel.c:767:
+^I^Imem_buf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#790: FILE: tools/virtiofsd/fuse_lowlevel.c:768:
+^I^Imem_buf.off = now_len;$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/fuse_lowlevel.c:769:
+^I^Ires = fuse_buf_copy(&mem_buf, buf, 0);$

ERROR: code indent should never use tabs
#792: FILE: tools/virtiofsd/fuse_lowlevel.c:770:
+^I^Iif (res > 0) {$

ERROR: code indent should never use tabs
#793: FILE: tools/virtiofsd/fuse_lowlevel.c:771:
+^I^I^Ichar *tmpbuf;$

ERROR: code indent should never use tabs
#794: FILE: tools/virtiofsd/fuse_lowlevel.c:772:
+^I^I^Isize_t extra_len = res;$

ERROR: code indent should never use tabs
#795: FILE: tools/virtiofsd/fuse_lowlevel.c:773:
+^I^I^I/*$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/fuse_lowlevel.c:774:
+^I^I^I * Trickiest case: got more data.  Need to get$

ERROR: code indent should never use tabs
#797: FILE: tools/virtiofsd/fuse_lowlevel.c:775:
+^I^I^I * back the data from the pipe and then fall$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/fuse_lowlevel.c:776:
+^I^I^I * back to regular write.$

ERROR: code indent should never use tabs
#799: FILE: tools/virtiofsd/fuse_lowlevel.c:777:
+^I^I^I */$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/fuse_lowlevel.c:778:
+^I^I^Itmpbuf = malloc(headerlen);$

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/fuse_lowlevel.c:779:
+^I^I^Iif (tmpbuf == NULL) {$

ERROR: code indent should never use tabs
#802: FILE: tools/virtiofsd/fuse_lowlevel.c:780:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/fuse_lowlevel.c:781:
+^I^I^I^Ires = ENOMEM;$

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/fuse_lowlevel.c:782:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#805: FILE: tools/virtiofsd/fuse_lowlevel.c:783:
+^I^I^I}$

ERROR: code indent should never use tabs
#806: FILE: tools/virtiofsd/fuse_lowlevel.c:784:
+^I^I^Ires = read_back(llp->pipe[0], tmpbuf, headerlen);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/fuse_lowlevel.c:785:
+^I^I^Ifree(tmpbuf);$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/fuse_lowlevel.c:786:
+^I^I^Iif (res != 0) {$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/fuse_lowlevel.c:787:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/fuse_lowlevel.c:788:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#811: FILE: tools/virtiofsd/fuse_lowlevel.c:789:
+^I^I^I}$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/fuse_lowlevel.c:790:
+^I^I^Ires = read_back(llp->pipe[0], mbuf, now_len);$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/fuse_lowlevel.c:791:
+^I^I^Iif (res != 0) {$

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/fuse_lowlevel.c:792:
+^I^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#815: FILE: tools/virtiofsd/fuse_lowlevel.c:793:
+^I^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#816: FILE: tools/virtiofsd/fuse_lowlevel.c:794:
+^I^I^I}$

ERROR: code indent should never use tabs
#817: FILE: tools/virtiofsd/fuse_lowlevel.c:795:
+^I^I^Ilen = now_len + extra_len;$

ERROR: code indent should never use tabs
#818: FILE: tools/virtiofsd/fuse_lowlevel.c:796:
+^I^I^Iiov[iov_count].iov_base = mbuf;$

ERROR: code indent should never use tabs
#819: FILE: tools/virtiofsd/fuse_lowlevel.c:797:
+^I^I^Iiov[iov_count].iov_len = len;$

ERROR: code indent should never use tabs
#820: FILE: tools/virtiofsd/fuse_lowlevel.c:798:
+^I^I^Iiov_count++;$

ERROR: code indent should never use tabs
#821: FILE: tools/virtiofsd/fuse_lowlevel.c:799:
+^I^I^Ires = fuse_send_msg(se, ch, iov, iov_count);$

ERROR: code indent should never use tabs
#822: FILE: tools/virtiofsd/fuse_lowlevel.c:800:
+^I^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#823: FILE: tools/virtiofsd/fuse_lowlevel.c:801:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#824: FILE: tools/virtiofsd/fuse_lowlevel.c:802:
+^I^I}$

ERROR: code indent should never use tabs
#825: FILE: tools/virtiofsd/fuse_lowlevel.c:803:
+^I^Ifree(mbuf);$

ERROR: code indent should never use tabs
#826: FILE: tools/virtiofsd/fuse_lowlevel.c:804:
+^I^Ires = now_len;$

ERROR: code indent should never use tabs
#827: FILE: tools/virtiofsd/fuse_lowlevel.c:805:
+^I}$

ERROR: code indent should never use tabs
#828: FILE: tools/virtiofsd/fuse_lowlevel.c:806:
+^Ilen = res;$

ERROR: code indent should never use tabs
#829: FILE: tools/virtiofsd/fuse_lowlevel.c:807:
+^Iout->len = headerlen + len;$

ERROR: code indent should never use tabs
#831: FILE: tools/virtiofsd/fuse_lowlevel.c:809:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#832: FILE: tools/virtiofsd/fuse_lowlevel.c:810:
+^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#833: FILE: tools/virtiofsd/fuse_lowlevel.c:811:
+^I^I^I"   unique: %llu, success, outsize: %i (splice)\n",$

ERROR: code indent should never use tabs
#834: FILE: tools/virtiofsd/fuse_lowlevel.c:812:
+^I^I^I(unsigned long long) out->unique, out->len);$

ERROR: code indent should never use tabs
#835: FILE: tools/virtiofsd/fuse_lowlevel.c:813:
+^I}$

ERROR: code indent should never use tabs
#837: FILE: tools/virtiofsd/fuse_lowlevel.c:815:
+^Isplice_flags = 0;$

ERROR: code indent should never use tabs
#838: FILE: tools/virtiofsd/fuse_lowlevel.c:816:
+^Iif ((flags & FUSE_BUF_SPLICE_MOVE) &&$

ERROR: code indent should never use tabs
#839: FILE: tools/virtiofsd/fuse_lowlevel.c:817:
+^I    (se->conn.want & FUSE_CAP_SPLICE_MOVE))$

ERROR: code indent should never use tabs
#840: FILE: tools/virtiofsd/fuse_lowlevel.c:818:
+^I^Isplice_flags |= SPLICE_F_MOVE;$

ERROR: code indent should never use tabs
#842: FILE: tools/virtiofsd/fuse_lowlevel.c:820:
+^Ires = splice(llp->pipe[0], NULL, ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#843: FILE: tools/virtiofsd/fuse_lowlevel.c:821:
+^I^I     NULL, out->len, splice_flags);$

ERROR: code indent should never use tabs
#844: FILE: tools/virtiofsd/fuse_lowlevel.c:822:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/fuse_lowlevel.c:823:
+^I^Ires = -errno;$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/fuse_lowlevel.c:824:
+^I^Iperror("fuse: splice from pipe");$

ERROR: code indent should never use tabs
#847: FILE: tools/virtiofsd/fuse_lowlevel.c:825:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/fuse_lowlevel.c:826:
+^I}$

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/fuse_lowlevel.c:827:
+^Iif (res != out->len) {$

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/fuse_lowlevel.c:828:
+^I^Ires = -EIO;$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/fuse_lowlevel.c:829:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short splice from pipe: %u/%u\n",$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/fuse_lowlevel.c:830:
+^I^I^Ires, out->len);$

ERROR: code indent should never use tabs
#853: FILE: tools/virtiofsd/fuse_lowlevel.c:831:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#854: FILE: tools/virtiofsd/fuse_lowlevel.c:832:
+^I}$

ERROR: code indent should never use tabs
#855: FILE: tools/virtiofsd/fuse_lowlevel.c:833:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#858: FILE: tools/virtiofsd/fuse_lowlevel.c:836:
+^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#859: FILE: tools/virtiofsd/fuse_lowlevel.c:837:
+^Ireturn res;$

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/fuse_lowlevel.c:840:
+^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/fuse_lowlevel.c:844:
+^I^I^I       struct iovec *iov, int iov_count,$

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/fuse_lowlevel.c:845:
+^I^I^I       struct fuse_bufvec *buf, unsigned int flags)$

ERROR: code indent should never use tabs
#869: FILE: tools/virtiofsd/fuse_lowlevel.c:847:
+^Isize_t len = fuse_buf_size(buf);$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/fuse_lowlevel.c:848:
+^I(void) flags;$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/fuse_lowlevel.c:850:
+^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$

ERROR: code indent should never use tabs
#877: FILE: tools/virtiofsd/fuse_lowlevel.c:855:
+^I^I    enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/fuse_lowlevel.c:857:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#880: FILE: tools/virtiofsd/fuse_lowlevel.c:858:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#881: FILE: tools/virtiofsd/fuse_lowlevel.c:859:
+^Iint res;$

ERROR: code indent should never use tabs
#883: FILE: tools/virtiofsd/fuse_lowlevel.c:861:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#884: FILE: tools/virtiofsd/fuse_lowlevel.c:862:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#886: FILE: tools/virtiofsd/fuse_lowlevel.c:864:
+^Iout.unique = req->unique;$

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/fuse_lowlevel.c:865:
+^Iout.error = 0;$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/fuse_lowlevel.c:867:
+^Ires = fuse_send_data_iov(req->se, req->ch, iov, 1, bufv, flags);$

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/fuse_lowlevel.c:868:
+^Iif (res <= 0) {$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_lowlevel.c:869:
+^I^Ifuse_free_req(req);$

ERROR: code indent should never use tabs
#892: FILE: tools/virtiofsd/fuse_lowlevel.c:870:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#893: FILE: tools/virtiofsd/fuse_lowlevel.c:871:
+^I} else {$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/fuse_lowlevel.c:872:
+^I^Ireturn fuse_reply_err(req, res);$

ERROR: code indent should never use tabs
#895: FILE: tools/virtiofsd/fuse_lowlevel.c:873:
+^I}$

ERROR: code indent should never use tabs
#900: FILE: tools/virtiofsd/fuse_lowlevel.c:878:
+^Istruct fuse_statfs_out arg;$

ERROR: code indent should never use tabs
#901: FILE: tools/virtiofsd/fuse_lowlevel.c:879:
+^Isize_t size = req->se->conn.proto_minor < 4 ?$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/fuse_lowlevel.c:880:
+^I^IFUSE_COMPAT_STATFS_SIZE : sizeof(arg);$

ERROR: code indent should never use tabs
#904: FILE: tools/virtiofsd/fuse_lowlevel.c:882:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#905: FILE: tools/virtiofsd/fuse_lowlevel.c:883:
+^Iconvert_statfs(stbuf, &arg.st);$

ERROR: code indent should never use tabs
#907: FILE: tools/virtiofsd/fuse_lowlevel.c:885:
+^Ireturn send_reply_ok(req, &arg, size);$

ERROR: code indent should never use tabs
#912: FILE: tools/virtiofsd/fuse_lowlevel.c:890:
+^Istruct fuse_getxattr_out arg;$

ERROR: code indent should never use tabs
#914: FILE: tools/virtiofsd/fuse_lowlevel.c:892:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#915: FILE: tools/virtiofsd/fuse_lowlevel.c:893:
+^Iarg.size = count;$

ERROR: code indent should never use tabs
#917: FILE: tools/virtiofsd/fuse_lowlevel.c:895:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#922: FILE: tools/virtiofsd/fuse_lowlevel.c:900:
+^Istruct fuse_lk_out arg;$

ERROR: code indent should never use tabs
#924: FILE: tools/virtiofsd/fuse_lowlevel.c:902:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#925: FILE: tools/virtiofsd/fuse_lowlevel.c:903:
+^Iarg.lk.type = lock->l_type;$

ERROR: code indent should never use tabs
#926: FILE: tools/virtiofsd/fuse_lowlevel.c:904:
+^Iif (lock->l_type != F_UNLCK) {$

ERROR: code indent should never use tabs
#927: FILE: tools/virtiofsd/fuse_lowlevel.c:905:
+^I^Iarg.lk.start = lock->l_start;$

ERROR: code indent should never use tabs
#928: FILE: tools/virtiofsd/fuse_lowlevel.c:906:
+^I^Iif (lock->l_len == 0)$

ERROR: braces {} are necessary for all arms of this statement
#928: FILE: tools/virtiofsd/fuse_lowlevel.c:906:
+               if (lock->l_len == 0)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#929: FILE: tools/virtiofsd/fuse_lowlevel.c:907:
+^I^I^Iarg.lk.end = OFFSET_MAX;$

ERROR: code indent should never use tabs
#930: FILE: tools/virtiofsd/fuse_lowlevel.c:908:
+^I^Ielse$

ERROR: code indent should never use tabs
#931: FILE: tools/virtiofsd/fuse_lowlevel.c:909:
+^I^I^Iarg.lk.end = lock->l_start + lock->l_len - 1;$

ERROR: code indent should never use tabs
#932: FILE: tools/virtiofsd/fuse_lowlevel.c:910:
+^I}$

ERROR: code indent should never use tabs
#933: FILE: tools/virtiofsd/fuse_lowlevel.c:911:
+^Iarg.lk.pid = lock->l_pid;$

ERROR: code indent should never use tabs
#934: FILE: tools/virtiofsd/fuse_lowlevel.c:912:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#939: FILE: tools/virtiofsd/fuse_lowlevel.c:917:
+^Istruct fuse_bmap_out arg;$

ERROR: code indent should never use tabs
#941: FILE: tools/virtiofsd/fuse_lowlevel.c:919:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#942: FILE: tools/virtiofsd/fuse_lowlevel.c:920:
+^Iarg.block = idx;$

ERROR: code indent should never use tabs
#944: FILE: tools/virtiofsd/fuse_lowlevel.c:922:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#948: FILE: tools/virtiofsd/fuse_lowlevel.c:926:
+^I^I^I^I^I^I      size_t count)$

ERROR: code indent should never use tabs
#950: FILE: tools/virtiofsd/fuse_lowlevel.c:928:
+^Istruct fuse_ioctl_iovec *fiov;$

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/fuse_lowlevel.c:929:
+^Isize_t i;$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/fuse_lowlevel.c:931:
+^Ifiov = malloc(sizeof(fiov[0]) * count);$

ERROR: code indent should never use tabs
#954: FILE: tools/virtiofsd/fuse_lowlevel.c:932:
+^Iif (!fiov)$

ERROR: braces {} are necessary for all arms of this statement
#954: FILE: tools/virtiofsd/fuse_lowlevel.c:932:
+       if (!fiov)
[...]

ERROR: code indent should never use tabs
#955: FILE: tools/virtiofsd/fuse_lowlevel.c:933:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/fuse_lowlevel.c:935:
+^Ifor (i = 0; i < count; i++) {$

ERROR: code indent should never use tabs
#958: FILE: tools/virtiofsd/fuse_lowlevel.c:936:
+^I^Ifiov[i].base = (uintptr_t) iov[i].iov_base;$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/fuse_lowlevel.c:937:
+^I^Ifiov[i].len = iov[i].iov_len;$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/fuse_lowlevel.c:938:
+^I}$

ERROR: code indent should never use tabs
#962: FILE: tools/virtiofsd/fuse_lowlevel.c:940:
+^Ireturn fiov;$

ERROR: code indent should never use tabs
#966: FILE: tools/virtiofsd/fuse_lowlevel.c:944:
+^I^I^I   const struct iovec *in_iov, size_t in_count,$

ERROR: code indent should never use tabs
#967: FILE: tools/virtiofsd/fuse_lowlevel.c:945:
+^I^I^I   const struct iovec *out_iov, size_t out_count)$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/fuse_lowlevel.c:947:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/fuse_lowlevel.c:948:
+^Istruct fuse_ioctl_iovec *in_fiov = NULL;$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/fuse_lowlevel.c:949:
+^Istruct fuse_ioctl_iovec *out_fiov = NULL;$

ERROR: code indent should never use tabs
#972: FILE: tools/virtiofsd/fuse_lowlevel.c:950:
+^Istruct iovec iov[4];$

ERROR: code indent should never use tabs
#973: FILE: tools/virtiofsd/fuse_lowlevel.c:951:
+^Isize_t count = 1;$

ERROR: code indent should never use tabs
#974: FILE: tools/virtiofsd/fuse_lowlevel.c:952:
+^Iint res;$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/fuse_lowlevel.c:954:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#977: FILE: tools/virtiofsd/fuse_lowlevel.c:955:
+^Iarg.flags |= FUSE_IOCTL_RETRY;$

ERROR: code indent should never use tabs
#978: FILE: tools/virtiofsd/fuse_lowlevel.c:956:
+^Iarg.in_iovs = in_count;$

ERROR: code indent should never use tabs
#979: FILE: tools/virtiofsd/fuse_lowlevel.c:957:
+^Iarg.out_iovs = out_count;$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/fuse_lowlevel.c:958:
+^Iiov[count].iov_base = &arg;$

ERROR: code indent should never use tabs
#981: FILE: tools/virtiofsd/fuse_lowlevel.c:959:
+^Iiov[count].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/fuse_lowlevel.c:960:
+^Icount++;$

ERROR: code indent should never use tabs
#984: FILE: tools/virtiofsd/fuse_lowlevel.c:962:
+^Iif (req->se->conn.proto_minor < 16) {$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/fuse_lowlevel.c:963:
+^I^Iif (in_count) {$

ERROR: code indent should never use tabs
#986: FILE: tools/virtiofsd/fuse_lowlevel.c:964:
+^I^I^Iiov[count].iov_base = (void *)in_iov;$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/fuse_lowlevel.c:965:
+^I^I^Iiov[count].iov_len = sizeof(in_iov[0]) * in_count;$

ERROR: code indent should never use tabs
#988: FILE: tools/virtiofsd/fuse_lowlevel.c:966:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#989: FILE: tools/virtiofsd/fuse_lowlevel.c:967:
+^I^I}$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/fuse_lowlevel.c:969:
+^I^Iif (out_count) {$

ERROR: code indent should never use tabs
#992: FILE: tools/virtiofsd/fuse_lowlevel.c:970:
+^I^I^Iiov[count].iov_base = (void *)out_iov;$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/fuse_lowlevel.c:971:
+^I^I^Iiov[count].iov_len = sizeof(out_iov[0]) * out_count;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/fuse_lowlevel.c:972:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/fuse_lowlevel.c:973:
+^I^I}$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/fuse_lowlevel.c:974:
+^I} else {$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/fuse_lowlevel.c:975:
+^I^I/* Can't handle non-compat 64bit ioctls on 32bit */$

ERROR: code indent should never use tabs
#998: FILE: tools/virtiofsd/fuse_lowlevel.c:976:
+^I^Iif (sizeof(void *) == 4 && req->ioctl_64bit) {$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/fuse_lowlevel.c:977:
+^I^I^Ires = fuse_reply_err(req, EINVAL);$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/fuse_lowlevel.c:978:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/fuse_lowlevel.c:979:
+^I^I}$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/fuse_lowlevel.c:981:
+^I^Iif (in_count) {$

ERROR: code indent should never use tabs
#1004: FILE: tools/virtiofsd/fuse_lowlevel.c:982:
+^I^I^Iin_fiov = fuse_ioctl_iovec_copy(in_iov, in_count);$

ERROR: code indent should never use tabs
#1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983:
+^I^I^Iif (!in_fiov)$

ERROR: braces {} are necessary for all arms of this statement
#1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983:
+                       if (!in_fiov)
[...]

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/fuse_lowlevel.c:984:
+^I^I^I^Igoto enomem;$

ERROR: code indent should never use tabs
#1008: FILE: tools/virtiofsd/fuse_lowlevel.c:986:
+^I^I^Iiov[count].iov_base = (void *)in_fiov;$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/fuse_lowlevel.c:987:
+^I^I^Iiov[count].iov_len = sizeof(in_fiov[0]) * in_count;$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/fuse_lowlevel.c:988:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/fuse_lowlevel.c:989:
+^I^I}$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/fuse_lowlevel.c:990:
+^I^Iif (out_count) {$

ERROR: code indent should never use tabs
#1013: FILE: tools/virtiofsd/fuse_lowlevel.c:991:
+^I^I^Iout_fiov = fuse_ioctl_iovec_copy(out_iov, out_count);$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992:
+^I^I^Iif (!out_fiov)$

ERROR: braces {} are necessary for all arms of this statement
#1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992:
+                       if (!out_fiov)
[...]

ERROR: code indent should never use tabs
#1015: FILE: tools/virtiofsd/fuse_lowlevel.c:993:
+^I^I^I^Igoto enomem;$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/fuse_lowlevel.c:995:
+^I^I^Iiov[count].iov_base = (void *)out_fiov;$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/fuse_lowlevel.c:996:
+^I^I^Iiov[count].iov_len = sizeof(out_fiov[0]) * out_count;$

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/fuse_lowlevel.c:997:
+^I^I^Icount++;$

ERROR: code indent should never use tabs
#1020: FILE: tools/virtiofsd/fuse_lowlevel.c:998:
+^I^I}$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/fuse_lowlevel.c:999:
+^I}$

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/fuse_lowlevel.c:1001:
+^Ires = send_reply_iov(req, 0, iov, count);$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/fuse_lowlevel.c:1003:
+^Ifree(in_fiov);$

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/fuse_lowlevel.c:1004:
+^Ifree(out_fiov);$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/fuse_lowlevel.c:1006:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/fuse_lowlevel.c:1009:
+^Ires = fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/fuse_lowlevel.c:1010:
+^Igoto out;$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/fuse_lowlevel.c:1015:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/fuse_lowlevel.c:1016:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#1039: FILE: tools/virtiofsd/fuse_lowlevel.c:1017:
+^Isize_t count = 1;$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/fuse_lowlevel.c:1019:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1042: FILE: tools/virtiofsd/fuse_lowlevel.c:1020:
+^Iarg.result = result;$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/fuse_lowlevel.c:1021:
+^Iiov[count].iov_base = &arg;$

ERROR: code indent should never use tabs
#1044: FILE: tools/virtiofsd/fuse_lowlevel.c:1022:
+^Iiov[count].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#1045: FILE: tools/virtiofsd/fuse_lowlevel.c:1023:
+^Icount++;$

ERROR: code indent should never use tabs
#1047: FILE: tools/virtiofsd/fuse_lowlevel.c:1025:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1048: FILE: tools/virtiofsd/fuse_lowlevel.c:1026:
+^I^Iiov[count].iov_base = (char *) buf;$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/fuse_lowlevel.c:1027:
+^I^Iiov[count].iov_len = size;$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/fuse_lowlevel.c:1028:
+^I^Icount++;$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/fuse_lowlevel.c:1029:
+^I}$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/fuse_lowlevel.c:1031:
+^Ireturn send_reply_iov(req, 0, iov, count);$

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/fuse_lowlevel.c:1035:
+^I^I^I int count)$

ERROR: code indent should never use tabs
#1059: FILE: tools/virtiofsd/fuse_lowlevel.c:1037:
+^Istruct iovec *padded_iov;$

ERROR: code indent should never use tabs
#1060: FILE: tools/virtiofsd/fuse_lowlevel.c:1038:
+^Istruct fuse_ioctl_out arg;$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/fuse_lowlevel.c:1039:
+^Iint res;$

ERROR: code indent should never use tabs
#1063: FILE: tools/virtiofsd/fuse_lowlevel.c:1041:
+^Ipadded_iov = malloc((count + 2) * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042:
+^Iif (padded_iov == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042:
+       if (padded_iov == NULL)
[...]

ERROR: code indent should never use tabs
#1065: FILE: tools/virtiofsd/fuse_lowlevel.c:1043:
+^I^Ireturn fuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/fuse_lowlevel.c:1045:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/fuse_lowlevel.c:1046:
+^Iarg.result = result;$

ERROR: code indent should never use tabs
#1069: FILE: tools/virtiofsd/fuse_lowlevel.c:1047:
+^Ipadded_iov[1].iov_base = &arg;$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/fuse_lowlevel.c:1048:
+^Ipadded_iov[1].iov_len = sizeof(arg);$

ERROR: code indent should never use tabs
#1072: FILE: tools/virtiofsd/fuse_lowlevel.c:1050:
+^Imemcpy(&padded_iov[2], iov, count * sizeof(struct iovec));$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/fuse_lowlevel.c:1052:
+^Ires = send_reply_iov(req, 0, padded_iov, count + 2);$

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/fuse_lowlevel.c:1053:
+^Ifree(padded_iov);$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/fuse_lowlevel.c:1055:
+^Ireturn res;$

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/fuse_lowlevel.c:1060:
+^Istruct fuse_poll_out arg;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/fuse_lowlevel.c:1062:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1085: FILE: tools/virtiofsd/fuse_lowlevel.c:1063:
+^Iarg.revents = revents;$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/fuse_lowlevel.c:1065:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#1092: FILE: tools/virtiofsd/fuse_lowlevel.c:1070:
+^Istruct fuse_lseek_out arg;$

ERROR: code indent should never use tabs
#1094: FILE: tools/virtiofsd/fuse_lowlevel.c:1072:
+^Imemset(&arg, 0, sizeof(arg));$

ERROR: code indent should never use tabs
#1095: FILE: tools/virtiofsd/fuse_lowlevel.c:1073:
+^Iarg.offset = off;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/fuse_lowlevel.c:1075:
+^Ireturn send_reply_ok(req, &arg, sizeof(arg));$

ERROR: code indent should never use tabs
#1102: FILE: tools/virtiofsd/fuse_lowlevel.c:1080:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082:
+^Iif (req->se->op.lookup)$

ERROR: braces {} are necessary for all arms of this statement
#1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082:
+       if (req->se->op.lookup)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1105: FILE: tools/virtiofsd/fuse_lowlevel.c:1083:
+^I^Ireq->se->op.lookup(req, nodeid, name);$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/fuse_lowlevel.c:1084:
+^Ielse$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/fuse_lowlevel.c:1085:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1112: FILE: tools/virtiofsd/fuse_lowlevel.c:1090:
+^Istruct fuse_forget_in *arg = (struct fuse_forget_in *) inarg;$

ERROR: code indent should never use tabs
#1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092:
+^Iif (req->se->op.forget)$

ERROR: braces {} are necessary for all arms of this statement
#1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092:
+       if (req->se->op.forget)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/fuse_lowlevel.c:1093:
+^I^Ireq->se->op.forget(req, nodeid, arg->nlookup);$

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/fuse_lowlevel.c:1094:
+^Ielse$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/fuse_lowlevel.c:1095:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/fuse_lowlevel.c:1099:
+^I^I^I    const void *inarg)$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/fuse_lowlevel.c:1101:
+^Istruct fuse_batch_forget_in *arg = (void *) inarg;$

ERROR: code indent should never use tabs
#1124: FILE: tools/virtiofsd/fuse_lowlevel.c:1102:
+^Istruct fuse_forget_one *param = (void *) PARAM(arg);$

ERROR: code indent should never use tabs
#1125: FILE: tools/virtiofsd/fuse_lowlevel.c:1103:
+^Iunsigned int i;$

ERROR: code indent should never use tabs
#1127: FILE: tools/virtiofsd/fuse_lowlevel.c:1105:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/fuse_lowlevel.c:1107:
+^Iif (req->se->op.forget_multi) {$

ERROR: code indent should never use tabs
#1130: FILE: tools/virtiofsd/fuse_lowlevel.c:1108:
+^I^Ireq->se->op.forget_multi(req, arg->count,$

ERROR: code indent should never use tabs
#1131: FILE: tools/virtiofsd/fuse_lowlevel.c:1109:
+^I^I^I^I     (struct fuse_forget_data *) param);$

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/fuse_lowlevel.c:1110:
+^I} else if (req->se->op.forget) {$

ERROR: code indent should never use tabs
#1133: FILE: tools/virtiofsd/fuse_lowlevel.c:1111:
+^I^Ifor (i = 0; i < arg->count; i++) {$

ERROR: code indent should never use tabs
#1134: FILE: tools/virtiofsd/fuse_lowlevel.c:1112:
+^I^I^Istruct fuse_forget_one *forget = &param[i];$

ERROR: code indent should never use tabs
#1135: FILE: tools/virtiofsd/fuse_lowlevel.c:1113:
+^I^I^Istruct fuse_req *dummy_req;$

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/fuse_lowlevel.c:1115:
+^I^I^Idummy_req = fuse_ll_alloc_req(req->se);$

ERROR: code indent should never use tabs
#1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116:
+^I^I^Iif (dummy_req == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116:
+                       if (dummy_req == NULL)
[...]

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/fuse_lowlevel.c:1117:
+^I^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1141: FILE: tools/virtiofsd/fuse_lowlevel.c:1119:
+^I^I^Idummy_req->unique = req->unique;$

ERROR: code indent should never use tabs
#1142: FILE: tools/virtiofsd/fuse_lowlevel.c:1120:
+^I^I^Idummy_req->ctx = req->ctx;$

ERROR: code indent should never use tabs
#1143: FILE: tools/virtiofsd/fuse_lowlevel.c:1121:
+^I^I^Idummy_req->ch = NULL;$

ERROR: code indent should never use tabs
#1145: FILE: tools/virtiofsd/fuse_lowlevel.c:1123:
+^I^I^Ireq->se->op.forget(dummy_req, forget->nodeid,$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/fuse_lowlevel.c:1124:
+^I^I^I^I^I  forget->nlookup);$

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/fuse_lowlevel.c:1125:
+^I^I}$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/fuse_lowlevel.c:1126:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1149: FILE: tools/virtiofsd/fuse_lowlevel.c:1127:
+^I} else {$

ERROR: code indent should never use tabs
#1150: FILE: tools/virtiofsd/fuse_lowlevel.c:1128:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/fuse_lowlevel.c:1129:
+^I}$

ERROR: code indent should never use tabs
#1156: FILE: tools/virtiofsd/fuse_lowlevel.c:1134:
+^Istruct fuse_file_info *fip = NULL;$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/fuse_lowlevel.c:1135:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/fuse_lowlevel.c:1137:
+^Iif (req->se->conn.proto_minor >= 9) {$

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/fuse_lowlevel.c:1138:
+^I^Istruct fuse_getattr_in *arg = (struct fuse_getattr_in *) inarg;$

ERROR: code indent should never use tabs
#1162: FILE: tools/virtiofsd/fuse_lowlevel.c:1140:
+^I^Iif (arg->getattr_flags & FUSE_GETATTR_FH) {$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/fuse_lowlevel.c:1141:
+^I^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1164: FILE: tools/virtiofsd/fuse_lowlevel.c:1142:
+^I^I^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1165: FILE: tools/virtiofsd/fuse_lowlevel.c:1143:
+^I^I^Ifip = &fi;$

ERROR: code indent should never use tabs
#1166: FILE: tools/virtiofsd/fuse_lowlevel.c:1144:
+^I^I}$

ERROR: code indent should never use tabs
#1167: FILE: tools/virtiofsd/fuse_lowlevel.c:1145:
+^I}$

ERROR: code indent should never use tabs
#1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147:
+^Iif (req->se->op.getattr)$

ERROR: braces {} are necessary for all arms of this statement
#1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147:
+       if (req->se->op.getattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/fuse_lowlevel.c:1148:
+^I^Ireq->se->op.getattr(req, nodeid, fip);$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/fuse_lowlevel.c:1149:
+^Ielse$

ERROR: code indent should never use tabs
#1172: FILE: tools/virtiofsd/fuse_lowlevel.c:1150:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/fuse_lowlevel.c:1155:
+^Istruct fuse_setattr_in *arg = (struct fuse_setattr_in *) inarg;$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/fuse_lowlevel.c:1157:
+^Iif (req->se->op.setattr) {$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/fuse_lowlevel.c:1158:
+^I^Istruct fuse_file_info *fi = NULL;$

ERROR: code indent should never use tabs
#1181: FILE: tools/virtiofsd/fuse_lowlevel.c:1159:
+^I^Istruct fuse_file_info fi_store;$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/fuse_lowlevel.c:1160:
+^I^Istruct stat stbuf;$

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/fuse_lowlevel.c:1161:
+^I^Imemset(&stbuf, 0, sizeof(stbuf));$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/fuse_lowlevel.c:1162:
+^I^Iconvert_attr(arg, &stbuf);$

ERROR: code indent should never use tabs
#1185: FILE: tools/virtiofsd/fuse_lowlevel.c:1163:
+^I^Iif (arg->valid & FATTR_FH) {$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/fuse_lowlevel.c:1164:
+^I^I^Iarg->valid &= ~FATTR_FH;$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/fuse_lowlevel.c:1165:
+^I^I^Imemset(&fi_store, 0, sizeof(fi_store));$

ERROR: code indent should never use tabs
#1188: FILE: tools/virtiofsd/fuse_lowlevel.c:1166:
+^I^I^Ifi = &fi_store;$

ERROR: code indent should never use tabs
#1189: FILE: tools/virtiofsd/fuse_lowlevel.c:1167:
+^I^I^Ifi->fh = arg->fh;$

ERROR: code indent should never use tabs
#1190: FILE: tools/virtiofsd/fuse_lowlevel.c:1168:
+^I^I}$

ERROR: code indent should never use tabs
#1191: FILE: tools/virtiofsd/fuse_lowlevel.c:1169:
+^I^Iarg->valid &=$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/fuse_lowlevel.c:1170:
+^I^I^IFUSE_SET_ATTR_MODE^I|$

ERROR: code indent should never use tabs
#1193: FILE: tools/virtiofsd/fuse_lowlevel.c:1171:
+^I^I^IFUSE_SET_ATTR_UID^I|$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/fuse_lowlevel.c:1172:
+^I^I^IFUSE_SET_ATTR_GID^I|$

ERROR: code indent should never use tabs
#1195: FILE: tools/virtiofsd/fuse_lowlevel.c:1173:
+^I^I^IFUSE_SET_ATTR_SIZE^I|$

ERROR: code indent should never use tabs
#1196: FILE: tools/virtiofsd/fuse_lowlevel.c:1174:
+^I^I^IFUSE_SET_ATTR_ATIME^I|$

ERROR: code indent should never use tabs
#1197: FILE: tools/virtiofsd/fuse_lowlevel.c:1175:
+^I^I^IFUSE_SET_ATTR_MTIME^I|$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/fuse_lowlevel.c:1176:
+^I^I^IFUSE_SET_ATTR_ATIME_NOW^I|$

ERROR: code indent should never use tabs
#1199: FILE: tools/virtiofsd/fuse_lowlevel.c:1177:
+^I^I^IFUSE_SET_ATTR_MTIME_NOW |$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/fuse_lowlevel.c:1178:
+^I^I^IFUSE_SET_ATTR_CTIME;$

ERROR: code indent should never use tabs
#1202: FILE: tools/virtiofsd/fuse_lowlevel.c:1180:
+^I^Ireq->se->op.setattr(req, nodeid, &stbuf, arg->valid, fi);$

ERROR: code indent should never use tabs
#1203: FILE: tools/virtiofsd/fuse_lowlevel.c:1181:
+^I} else$

ERROR: code indent should never use tabs
#1204: FILE: tools/virtiofsd/fuse_lowlevel.c:1182:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/fuse_lowlevel.c:1187:
+^Istruct fuse_access_in *arg = (struct fuse_access_in *) inarg;$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189:
+^Iif (req->se->op.access)$

ERROR: braces {} are necessary for all arms of this statement
#1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189:
+       if (req->se->op.access)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/fuse_lowlevel.c:1190:
+^I^Ireq->se->op.access(req, nodeid, arg->mask);$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/fuse_lowlevel.c:1191:
+^Ielse$

ERROR: code indent should never use tabs
#1214: FILE: tools/virtiofsd/fuse_lowlevel.c:1192:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/fuse_lowlevel.c:1197:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199:
+^Iif (req->se->op.readlink)$

ERROR: braces {} are necessary for all arms of this statement
#1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199:
+       if (req->se->op.readlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/fuse_lowlevel.c:1200:
+^I^Ireq->se->op.readlink(req, nodeid);$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/fuse_lowlevel.c:1201:
+^Ielse$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/fuse_lowlevel.c:1202:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/fuse_lowlevel.c:1207:
+^Istruct fuse_mknod_in *arg = (struct fuse_mknod_in *) inarg;$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/fuse_lowlevel.c:1208:
+^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210:
+^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210:
+       if (req->se->conn.proto_minor >= 12)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1233: FILE: tools/virtiofsd/fuse_lowlevel.c:1211:
+^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/fuse_lowlevel.c:1212:
+^Ielse$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/fuse_lowlevel.c:1213:
+^I^Iname = (char *) inarg + FUSE_COMPAT_MKNOD_IN_SIZE;$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215:
+^Iif (req->se->op.mknod)$

ERROR: braces {} are necessary for all arms of this statement
#1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215:
+       if (req->se->op.mknod)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1238: FILE: tools/virtiofsd/fuse_lowlevel.c:1216:
+^I^Ireq->se->op.mknod(req, nodeid, name, arg->mode, arg->rdev);$

ERROR: code indent should never use tabs
#1239: FILE: tools/virtiofsd/fuse_lowlevel.c:1217:
+^Ielse$

ERROR: code indent should never use tabs
#1240: FILE: tools/virtiofsd/fuse_lowlevel.c:1218:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1245: FILE: tools/virtiofsd/fuse_lowlevel.c:1223:
+^Istruct fuse_mkdir_in *arg = (struct fuse_mkdir_in *) inarg;$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225:
+^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225:
+       if (req->se->conn.proto_minor >= 12)
[...]

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/fuse_lowlevel.c:1226:
+^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228:
+^Iif (req->se->op.mkdir)$

ERROR: braces {} are necessary for all arms of this statement
#1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228:
+       if (req->se->op.mkdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/fuse_lowlevel.c:1229:
+^I^Ireq->se->op.mkdir(req, nodeid, PARAM(arg), arg->mode);$

ERROR: code indent should never use tabs
#1252: FILE: tools/virtiofsd/fuse_lowlevel.c:1230:
+^Ielse$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/fuse_lowlevel.c:1231:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/fuse_lowlevel.c:1236:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238:
+^Iif (req->se->op.unlink)$

ERROR: braces {} are necessary for all arms of this statement
#1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238:
+       if (req->se->op.unlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/fuse_lowlevel.c:1239:
+^I^Ireq->se->op.unlink(req, nodeid, name);$

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/fuse_lowlevel.c:1240:
+^Ielse$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/fuse_lowlevel.c:1241:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1268: FILE: tools/virtiofsd/fuse_lowlevel.c:1246:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248:
+^Iif (req->se->op.rmdir)$

ERROR: braces {} are necessary for all arms of this statement
#1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248:
+       if (req->se->op.rmdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/fuse_lowlevel.c:1249:
+^I^Ireq->se->op.rmdir(req, nodeid, name);$

ERROR: code indent should never use tabs
#1272: FILE: tools/virtiofsd/fuse_lowlevel.c:1250:
+^Ielse$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/fuse_lowlevel.c:1251:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1278: FILE: tools/virtiofsd/fuse_lowlevel.c:1256:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1279: FILE: tools/virtiofsd/fuse_lowlevel.c:1257:
+^Ichar *linkname = ((char *) inarg) + strlen((char *) inarg) + 1;$

ERROR: code indent should never use tabs
#1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259:
+^Iif (req->se->op.symlink)$

ERROR: braces {} are necessary for all arms of this statement
#1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259:
+       if (req->se->op.symlink)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1282: FILE: tools/virtiofsd/fuse_lowlevel.c:1260:
+^I^Ireq->se->op.symlink(req, linkname, nodeid, name);$

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/fuse_lowlevel.c:1261:
+^Ielse$

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/fuse_lowlevel.c:1262:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/fuse_lowlevel.c:1267:
+^Istruct fuse_rename_in *arg = (struct fuse_rename_in *) inarg;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/fuse_lowlevel.c:1268:
+^Ichar *oldname = PARAM(arg);$

ERROR: code indent should never use tabs
#1291: FILE: tools/virtiofsd/fuse_lowlevel.c:1269:
+^Ichar *newname = oldname + strlen(oldname) + 1;$

ERROR: code indent should never use tabs
#1293: FILE: tools/virtiofsd/fuse_lowlevel.c:1271:
+^Iif (req->se->op.rename)$

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/fuse_lowlevel.c:1272:
+^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$

ERROR: code indent should never use tabs
#1295: FILE: tools/virtiofsd/fuse_lowlevel.c:1273:
+^I^I^I^I  0);$

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/fuse_lowlevel.c:1274:
+^Ielse$

ERROR: code indent should never use tabs
#1297: FILE: tools/virtiofsd/fuse_lowlevel.c:1275:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1302: FILE: tools/virtiofsd/fuse_lowlevel.c:1280:
+^Istruct fuse_rename2_in *arg = (struct fuse_rename2_in *) inarg;$

ERROR: code indent should never use tabs
#1303: FILE: tools/virtiofsd/fuse_lowlevel.c:1281:
+^Ichar *oldname = PARAM(arg);$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/fuse_lowlevel.c:1282:
+^Ichar *newname = oldname + strlen(oldname) + 1;$

ERROR: code indent should never use tabs
#1306: FILE: tools/virtiofsd/fuse_lowlevel.c:1284:
+^Iif (req->se->op.rename)$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/fuse_lowlevel.c:1285:
+^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/fuse_lowlevel.c:1286:
+^I^I^I^I  arg->flags);$

ERROR: code indent should never use tabs
#1309: FILE: tools/virtiofsd/fuse_lowlevel.c:1287:
+^Ielse$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/fuse_lowlevel.c:1288:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1315: FILE: tools/virtiofsd/fuse_lowlevel.c:1293:
+^Istruct fuse_link_in *arg = (struct fuse_link_in *) inarg;$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295:
+^Iif (req->se->op.link)$

ERROR: braces {} are necessary for all arms of this statement
#1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295:
+       if (req->se->op.link)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1318: FILE: tools/virtiofsd/fuse_lowlevel.c:1296:
+^I^Ireq->se->op.link(req, arg->oldnodeid, nodeid, PARAM(arg));$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/fuse_lowlevel.c:1297:
+^Ielse$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/fuse_lowlevel.c:1298:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1325: FILE: tools/virtiofsd/fuse_lowlevel.c:1303:
+^Istruct fuse_create_in *arg = (struct fuse_create_in *) inarg;$

ERROR: code indent should never use tabs
#1327: FILE: tools/virtiofsd/fuse_lowlevel.c:1305:
+^Iif (req->se->op.create) {$

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/fuse_lowlevel.c:1306:
+^I^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1329: FILE: tools/virtiofsd/fuse_lowlevel.c:1307:
+^I^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/fuse_lowlevel.c:1309:
+^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/fuse_lowlevel.c:1310:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312:
+^I^Iif (req->se->conn.proto_minor >= 12)$

ERROR: braces {} are necessary for all arms of this statement
#1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312:
+               if (req->se->conn.proto_minor >= 12)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/fuse_lowlevel.c:1313:
+^I^I^Ireq->ctx.umask = arg->umask;$

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/fuse_lowlevel.c:1314:
+^I^Ielse$

ERROR: code indent should never use tabs
#1337: FILE: tools/virtiofsd/fuse_lowlevel.c:1315:
+^I^I^Iname = (char *) inarg + sizeof(struct fuse_open_in);$

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/fuse_lowlevel.c:1317:
+^I^Ireq->se->op.create(req, nodeid, name, arg->mode, &fi);$

ERROR: code indent should never use tabs
#1340: FILE: tools/virtiofsd/fuse_lowlevel.c:1318:
+^I} else$

ERROR: code indent should never use tabs
#1341: FILE: tools/virtiofsd/fuse_lowlevel.c:1319:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/fuse_lowlevel.c:1324:
+^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/fuse_lowlevel.c:1325:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1349: FILE: tools/virtiofsd/fuse_lowlevel.c:1327:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/fuse_lowlevel.c:1328:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330:
+^Iif (req->se->op.open)$

ERROR: braces {} are necessary for all arms of this statement
#1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330:
+       if (req->se->op.open)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1353: FILE: tools/virtiofsd/fuse_lowlevel.c:1331:
+^I^Ireq->se->op.open(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/fuse_lowlevel.c:1332:
+^Ielse$

ERROR: code indent should never use tabs
#1355: FILE: tools/virtiofsd/fuse_lowlevel.c:1333:
+^I^Ifuse_reply_open(req, &fi);$

ERROR: code indent should never use tabs
#1360: FILE: tools/virtiofsd/fuse_lowlevel.c:1338:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1362: FILE: tools/virtiofsd/fuse_lowlevel.c:1340:
+^Iif (req->se->op.read) {$

ERROR: code indent should never use tabs
#1363: FILE: tools/virtiofsd/fuse_lowlevel.c:1341:
+^I^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1365: FILE: tools/virtiofsd/fuse_lowlevel.c:1343:
+^I^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1366: FILE: tools/virtiofsd/fuse_lowlevel.c:1344:
+^I^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1367: FILE: tools/virtiofsd/fuse_lowlevel.c:1345:
+^I^Iif (req->se->conn.proto_minor >= 9) {$

ERROR: code indent should never use tabs
#1368: FILE: tools/virtiofsd/fuse_lowlevel.c:1346:
+^I^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1369: FILE: tools/virtiofsd/fuse_lowlevel.c:1347:
+^I^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1370: FILE: tools/virtiofsd/fuse_lowlevel.c:1348:
+^I^I}$

ERROR: code indent should never use tabs
#1371: FILE: tools/virtiofsd/fuse_lowlevel.c:1349:
+^I^Ireq->se->op.read(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1372: FILE: tools/virtiofsd/fuse_lowlevel.c:1350:
+^I} else$

ERROR: code indent should never use tabs
#1373: FILE: tools/virtiofsd/fuse_lowlevel.c:1351:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1378: FILE: tools/virtiofsd/fuse_lowlevel.c:1356:
+^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$

ERROR: code indent should never use tabs
#1379: FILE: tools/virtiofsd/fuse_lowlevel.c:1357:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1380: FILE: tools/virtiofsd/fuse_lowlevel.c:1358:
+^Ichar *param;$

ERROR: code indent should never use tabs
#1382: FILE: tools/virtiofsd/fuse_lowlevel.c:1360:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1383: FILE: tools/virtiofsd/fuse_lowlevel.c:1361:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1384: FILE: tools/virtiofsd/fuse_lowlevel.c:1362:
+^Ifi.writepage = (arg->write_flags & FUSE_WRITE_CACHE) != 0;$

ERROR: code indent should never use tabs
#1386: FILE: tools/virtiofsd/fuse_lowlevel.c:1364:
+^Iif (req->se->conn.proto_minor < 9) {$

ERROR: code indent should never use tabs
#1387: FILE: tools/virtiofsd/fuse_lowlevel.c:1365:
+^I^Iparam = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1388: FILE: tools/virtiofsd/fuse_lowlevel.c:1366:
+^I} else {$

ERROR: code indent should never use tabs
#1389: FILE: tools/virtiofsd/fuse_lowlevel.c:1367:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1390: FILE: tools/virtiofsd/fuse_lowlevel.c:1368:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1391: FILE: tools/virtiofsd/fuse_lowlevel.c:1369:
+^I^Iparam = PARAM(arg);$

ERROR: code indent should never use tabs
#1392: FILE: tools/virtiofsd/fuse_lowlevel.c:1370:
+^I}$

ERROR: code indent should never use tabs
#1394: FILE: tools/virtiofsd/fuse_lowlevel.c:1372:
+^Iif (req->se->op.write)$

ERROR: code indent should never use tabs
#1395: FILE: tools/virtiofsd/fuse_lowlevel.c:1373:
+^I^Ireq->se->op.write(req, nodeid, param, arg->size,$

ERROR: code indent should never use tabs
#1396: FILE: tools/virtiofsd/fuse_lowlevel.c:1374:
+^I^I^I^I arg->offset, &fi);$

ERROR: code indent should never use tabs
#1397: FILE: tools/virtiofsd/fuse_lowlevel.c:1375:
+^Ielse$

ERROR: code indent should never use tabs
#1398: FILE: tools/virtiofsd/fuse_lowlevel.c:1376:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1402: FILE: tools/virtiofsd/fuse_lowlevel.c:1380:
+^I^I^I const struct fuse_buf *ibuf)$

ERROR: code indent should never use tabs
#1404: FILE: tools/virtiofsd/fuse_lowlevel.c:1382:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1405: FILE: tools/virtiofsd/fuse_lowlevel.c:1383:
+^Istruct fuse_bufvec bufv = {$

ERROR: code indent should never use tabs
#1406: FILE: tools/virtiofsd/fuse_lowlevel.c:1384:
+^I^I.buf[0] = *ibuf,$

ERROR: code indent should never use tabs
#1407: FILE: tools/virtiofsd/fuse_lowlevel.c:1385:
+^I^I.count = 1,$

ERROR: code indent should never use tabs
#1408: FILE: tools/virtiofsd/fuse_lowlevel.c:1386:
+^I};$

ERROR: code indent should never use tabs
#1409: FILE: tools/virtiofsd/fuse_lowlevel.c:1387:
+^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$

ERROR: code indent should never use tabs
#1410: FILE: tools/virtiofsd/fuse_lowlevel.c:1388:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1412: FILE: tools/virtiofsd/fuse_lowlevel.c:1390:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1413: FILE: tools/virtiofsd/fuse_lowlevel.c:1391:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1414: FILE: tools/virtiofsd/fuse_lowlevel.c:1392:
+^Ifi.writepage = arg->write_flags & FUSE_WRITE_CACHE;$

ERROR: code indent should never use tabs
#1416: FILE: tools/virtiofsd/fuse_lowlevel.c:1394:
+^Iif (se->conn.proto_minor < 9) {$

ERROR: code indent should never use tabs
#1417: FILE: tools/virtiofsd/fuse_lowlevel.c:1395:
+^I^Ibufv.buf[0].mem = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1418: FILE: tools/virtiofsd/fuse_lowlevel.c:1396:
+^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#1419: FILE: tools/virtiofsd/fuse_lowlevel.c:1397:
+^I^I^IFUSE_COMPAT_WRITE_IN_SIZE;$

ERROR: code indent should never use tabs
#1420: FILE: tools/virtiofsd/fuse_lowlevel.c:1398:
+^I^Iassert(!(bufv.buf[0].flags & FUSE_BUF_IS_FD));$

ERROR: code indent should never use tabs
#1421: FILE: tools/virtiofsd/fuse_lowlevel.c:1399:
+^I} else {$

ERROR: code indent should never use tabs
#1422: FILE: tools/virtiofsd/fuse_lowlevel.c:1400:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1423: FILE: tools/virtiofsd/fuse_lowlevel.c:1401:
+^I^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402:
+^I^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$

ERROR: braces {} are necessary for all arms of this statement
#1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402:
+               if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))
[...]

ERROR: code indent should never use tabs
#1425: FILE: tools/virtiofsd/fuse_lowlevel.c:1403:
+^I^I^Ibufv.buf[0].mem = PARAM(arg);$

ERROR: code indent should never use tabs
#1427: FILE: tools/virtiofsd/fuse_lowlevel.c:1405:
+^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#1428: FILE: tools/virtiofsd/fuse_lowlevel.c:1406:
+^I^I^Isizeof(struct fuse_write_in);$

ERROR: code indent should never use tabs
#1429: FILE: tools/virtiofsd/fuse_lowlevel.c:1407:
+^I}$

ERROR: code indent should never use tabs
#1430: FILE: tools/virtiofsd/fuse_lowlevel.c:1408:
+^Iif (bufv.buf[0].size < arg->size) {$

WARNING: line over 80 characters
#1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409:
+               fuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too small\n");

ERROR: code indent should never use tabs
#1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too small\n");$

ERROR: code indent should never use tabs
#1432: FILE: tools/virtiofsd/fuse_lowlevel.c:1410:
+^I^Ifuse_reply_err(req, EIO);$

ERROR: code indent should never use tabs
#1433: FILE: tools/virtiofsd/fuse_lowlevel.c:1411:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1434: FILE: tools/virtiofsd/fuse_lowlevel.c:1412:
+^I}$

ERROR: code indent should never use tabs
#1435: FILE: tools/virtiofsd/fuse_lowlevel.c:1413:
+^Ibufv.buf[0].size = arg->size;$

ERROR: code indent should never use tabs
#1437: FILE: tools/virtiofsd/fuse_lowlevel.c:1415:
+^Ise->op.write_buf(req, nodeid, &bufv, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1440: FILE: tools/virtiofsd/fuse_lowlevel.c:1418:
+^I/* Need to reset the pipe if ->write_buf() didn't consume all data */$

ERROR: code indent should never use tabs
#1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419:
+^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$

ERROR: braces {} are necessary for all arms of this statement
#1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419:
+       if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)
[...]

ERROR: code indent should never use tabs
#1442: FILE: tools/virtiofsd/fuse_lowlevel.c:1420:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#1447: FILE: tools/virtiofsd/fuse_lowlevel.c:1425:
+^Istruct fuse_flush_in *arg = (struct fuse_flush_in *) inarg;$

ERROR: code indent should never use tabs
#1448: FILE: tools/virtiofsd/fuse_lowlevel.c:1426:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1450: FILE: tools/virtiofsd/fuse_lowlevel.c:1428:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1451: FILE: tools/virtiofsd/fuse_lowlevel.c:1429:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1452: FILE: tools/virtiofsd/fuse_lowlevel.c:1430:
+^Ifi.flush = 1;$

ERROR: code indent should never use tabs
#1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431:
+^Iif (req->se->conn.proto_minor >= 7)$

ERROR: braces {} are necessary for all arms of this statement
#1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431:
+       if (req->se->conn.proto_minor >= 7)
[...]

ERROR: code indent should never use tabs
#1454: FILE: tools/virtiofsd/fuse_lowlevel.c:1432:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434:
+^Iif (req->se->op.flush)$

ERROR: braces {} are necessary for all arms of this statement
#1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434:
+       if (req->se->op.flush)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1457: FILE: tools/virtiofsd/fuse_lowlevel.c:1435:
+^I^Ireq->se->op.flush(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1458: FILE: tools/virtiofsd/fuse_lowlevel.c:1436:
+^Ielse$

ERROR: code indent should never use tabs
#1459: FILE: tools/virtiofsd/fuse_lowlevel.c:1437:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1464: FILE: tools/virtiofsd/fuse_lowlevel.c:1442:
+^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$

ERROR: code indent should never use tabs
#1465: FILE: tools/virtiofsd/fuse_lowlevel.c:1443:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1467: FILE: tools/virtiofsd/fuse_lowlevel.c:1445:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1468: FILE: tools/virtiofsd/fuse_lowlevel.c:1446:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1469: FILE: tools/virtiofsd/fuse_lowlevel.c:1447:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1470: FILE: tools/virtiofsd/fuse_lowlevel.c:1448:
+^Iif (req->se->conn.proto_minor >= 8) {$

ERROR: code indent should never use tabs
#1471: FILE: tools/virtiofsd/fuse_lowlevel.c:1449:
+^I^Ifi.flush = (arg->release_flags & FUSE_RELEASE_FLUSH) ? 1 : 0;$

ERROR: code indent should never use tabs
#1472: FILE: tools/virtiofsd/fuse_lowlevel.c:1450:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1473: FILE: tools/virtiofsd/fuse_lowlevel.c:1451:
+^I}$

ERROR: code indent should never use tabs
#1474: FILE: tools/virtiofsd/fuse_lowlevel.c:1452:
+^Iif (arg->release_flags & FUSE_RELEASE_FLOCK_UNLOCK) {$

ERROR: code indent should never use tabs
#1475: FILE: tools/virtiofsd/fuse_lowlevel.c:1453:
+^I^Ifi.flock_release = 1;$

ERROR: code indent should never use tabs
#1476: FILE: tools/virtiofsd/fuse_lowlevel.c:1454:
+^I^Ifi.lock_owner = arg->lock_owner;$

ERROR: code indent should never use tabs
#1477: FILE: tools/virtiofsd/fuse_lowlevel.c:1455:
+^I}$

ERROR: code indent should never use tabs
#1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457:
+^Iif (req->se->op.release)$

ERROR: braces {} are necessary for all arms of this statement
#1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457:
+       if (req->se->op.release)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1480: FILE: tools/virtiofsd/fuse_lowlevel.c:1458:
+^I^Ireq->se->op.release(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1481: FILE: tools/virtiofsd/fuse_lowlevel.c:1459:
+^Ielse$

ERROR: code indent should never use tabs
#1482: FILE: tools/virtiofsd/fuse_lowlevel.c:1460:
+^I^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#1487: FILE: tools/virtiofsd/fuse_lowlevel.c:1465:
+^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$

ERROR: code indent should never use tabs
#1488: FILE: tools/virtiofsd/fuse_lowlevel.c:1466:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1489: FILE: tools/virtiofsd/fuse_lowlevel.c:1467:
+^Iint datasync = arg->fsync_flags & 1;$

ERROR: code indent should never use tabs
#1491: FILE: tools/virtiofsd/fuse_lowlevel.c:1469:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1492: FILE: tools/virtiofsd/fuse_lowlevel.c:1470:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472:
+^Iif (req->se->op.fsync)$

ERROR: braces {} are necessary for all arms of this statement
#1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472:
+       if (req->se->op.fsync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1495: FILE: tools/virtiofsd/fuse_lowlevel.c:1473:
+^I^Ireq->se->op.fsync(req, nodeid, datasync, &fi);$

ERROR: code indent should never use tabs
#1496: FILE: tools/virtiofsd/fuse_lowlevel.c:1474:
+^Ielse$

ERROR: code indent should never use tabs
#1497: FILE: tools/virtiofsd/fuse_lowlevel.c:1475:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1502: FILE: tools/virtiofsd/fuse_lowlevel.c:1480:
+^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$

ERROR: code indent should never use tabs
#1503: FILE: tools/virtiofsd/fuse_lowlevel.c:1481:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1505: FILE: tools/virtiofsd/fuse_lowlevel.c:1483:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1506: FILE: tools/virtiofsd/fuse_lowlevel.c:1484:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486:
+^Iif (req->se->op.opendir)$

ERROR: braces {} are necessary for all arms of this statement
#1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486:
+       if (req->se->op.opendir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1509: FILE: tools/virtiofsd/fuse_lowlevel.c:1487:
+^I^Ireq->se->op.opendir(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1510: FILE: tools/virtiofsd/fuse_lowlevel.c:1488:
+^Ielse$

ERROR: code indent should never use tabs
#1511: FILE: tools/virtiofsd/fuse_lowlevel.c:1489:
+^I^Ifuse_reply_open(req, &fi);$

ERROR: code indent should never use tabs
#1516: FILE: tools/virtiofsd/fuse_lowlevel.c:1494:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1517: FILE: tools/virtiofsd/fuse_lowlevel.c:1495:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1519: FILE: tools/virtiofsd/fuse_lowlevel.c:1497:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1520: FILE: tools/virtiofsd/fuse_lowlevel.c:1498:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500:
+^Iif (req->se->op.readdir)$

ERROR: braces {} are necessary for all arms of this statement
#1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500:
+       if (req->se->op.readdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1523: FILE: tools/virtiofsd/fuse_lowlevel.c:1501:
+^I^Ireq->se->op.readdir(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1524: FILE: tools/virtiofsd/fuse_lowlevel.c:1502:
+^Ielse$

ERROR: code indent should never use tabs
#1525: FILE: tools/virtiofsd/fuse_lowlevel.c:1503:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1530: FILE: tools/virtiofsd/fuse_lowlevel.c:1508:
+^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$

ERROR: code indent should never use tabs
#1531: FILE: tools/virtiofsd/fuse_lowlevel.c:1509:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1533: FILE: tools/virtiofsd/fuse_lowlevel.c:1511:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1534: FILE: tools/virtiofsd/fuse_lowlevel.c:1512:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514:
+^Iif (req->se->op.readdirplus)$

ERROR: braces {} are necessary for all arms of this statement
#1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514:
+       if (req->se->op.readdirplus)
[...]
+       else
[...]

WARNING: line over 80 characters
#1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515:
+               req->se->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi);

ERROR: code indent should never use tabs
#1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515:
+^I^Ireq->se->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi);$

ERROR: code indent should never use tabs
#1538: FILE: tools/virtiofsd/fuse_lowlevel.c:1516:
+^Ielse$

ERROR: code indent should never use tabs
#1539: FILE: tools/virtiofsd/fuse_lowlevel.c:1517:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1544: FILE: tools/virtiofsd/fuse_lowlevel.c:1522:
+^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$

ERROR: code indent should never use tabs
#1545: FILE: tools/virtiofsd/fuse_lowlevel.c:1523:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1547: FILE: tools/virtiofsd/fuse_lowlevel.c:1525:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1548: FILE: tools/virtiofsd/fuse_lowlevel.c:1526:
+^Ifi.flags = arg->flags;$

ERROR: code indent should never use tabs
#1549: FILE: tools/virtiofsd/fuse_lowlevel.c:1527:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529:
+^Iif (req->se->op.releasedir)$

ERROR: braces {} are necessary for all arms of this statement
#1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529:
+       if (req->se->op.releasedir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1552: FILE: tools/virtiofsd/fuse_lowlevel.c:1530:
+^I^Ireq->se->op.releasedir(req, nodeid, &fi);$

ERROR: code indent should never use tabs
#1553: FILE: tools/virtiofsd/fuse_lowlevel.c:1531:
+^Ielse$

ERROR: code indent should never use tabs
#1554: FILE: tools/virtiofsd/fuse_lowlevel.c:1532:
+^I^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#1559: FILE: tools/virtiofsd/fuse_lowlevel.c:1537:
+^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$

ERROR: code indent should never use tabs
#1560: FILE: tools/virtiofsd/fuse_lowlevel.c:1538:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1561: FILE: tools/virtiofsd/fuse_lowlevel.c:1539:
+^Iint datasync = arg->fsync_flags & 1;$

ERROR: code indent should never use tabs
#1563: FILE: tools/virtiofsd/fuse_lowlevel.c:1541:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1564: FILE: tools/virtiofsd/fuse_lowlevel.c:1542:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544:
+^Iif (req->se->op.fsyncdir)$

ERROR: braces {} are necessary for all arms of this statement
#1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544:
+       if (req->se->op.fsyncdir)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1567: FILE: tools/virtiofsd/fuse_lowlevel.c:1545:
+^I^Ireq->se->op.fsyncdir(req, nodeid, datasync, &fi);$

ERROR: code indent should never use tabs
#1568: FILE: tools/virtiofsd/fuse_lowlevel.c:1546:
+^Ielse$

ERROR: code indent should never use tabs
#1569: FILE: tools/virtiofsd/fuse_lowlevel.c:1547:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1574: FILE: tools/virtiofsd/fuse_lowlevel.c:1552:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1575: FILE: tools/virtiofsd/fuse_lowlevel.c:1553:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#1577: FILE: tools/virtiofsd/fuse_lowlevel.c:1555:
+^Iif (req->se->op.statfs)$

ERROR: code indent should never use tabs
#1578: FILE: tools/virtiofsd/fuse_lowlevel.c:1556:
+^I^Ireq->se->op.statfs(req, nodeid);$

ERROR: code indent should never use tabs
#1579: FILE: tools/virtiofsd/fuse_lowlevel.c:1557:
+^Ielse {$

ERROR: code indent should never use tabs
#1580: FILE: tools/virtiofsd/fuse_lowlevel.c:1558:
+^I^Istruct statvfs buf = {$

ERROR: code indent should never use tabs
#1581: FILE: tools/virtiofsd/fuse_lowlevel.c:1559:
+^I^I^I.f_namemax = 255,$

ERROR: code indent should never use tabs
#1582: FILE: tools/virtiofsd/fuse_lowlevel.c:1560:
+^I^I^I.f_bsize = 512,$

ERROR: code indent should never use tabs
#1583: FILE: tools/virtiofsd/fuse_lowlevel.c:1561:
+^I^I};$

ERROR: code indent should never use tabs
#1584: FILE: tools/virtiofsd/fuse_lowlevel.c:1562:
+^I^Ifuse_reply_statfs(req, &buf);$

ERROR: code indent should never use tabs
#1585: FILE: tools/virtiofsd/fuse_lowlevel.c:1563:
+^I}$

ERROR: code indent should never use tabs
#1590: FILE: tools/virtiofsd/fuse_lowlevel.c:1568:
+^Istruct fuse_setxattr_in *arg = (struct fuse_setxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1591: FILE: tools/virtiofsd/fuse_lowlevel.c:1569:
+^Ichar *name = PARAM(arg);$

ERROR: code indent should never use tabs
#1592: FILE: tools/virtiofsd/fuse_lowlevel.c:1570:
+^Ichar *value = name + strlen(name) + 1;$

ERROR: code indent should never use tabs
#1594: FILE: tools/virtiofsd/fuse_lowlevel.c:1572:
+^Iif (req->se->op.setxattr)$

ERROR: code indent should never use tabs
#1595: FILE: tools/virtiofsd/fuse_lowlevel.c:1573:
+^I^Ireq->se->op.setxattr(req, nodeid, name, value, arg->size,$

ERROR: code indent should never use tabs
#1596: FILE: tools/virtiofsd/fuse_lowlevel.c:1574:
+^I^I^I^I    arg->flags);$

ERROR: code indent should never use tabs
#1597: FILE: tools/virtiofsd/fuse_lowlevel.c:1575:
+^Ielse$

ERROR: code indent should never use tabs
#1598: FILE: tools/virtiofsd/fuse_lowlevel.c:1576:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1603: FILE: tools/virtiofsd/fuse_lowlevel.c:1581:
+^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583:
+^Iif (req->se->op.getxattr)$

ERROR: braces {} are necessary for all arms of this statement
#1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583:
+       if (req->se->op.getxattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1606: FILE: tools/virtiofsd/fuse_lowlevel.c:1584:
+^I^Ireq->se->op.getxattr(req, nodeid, PARAM(arg), arg->size);$

ERROR: code indent should never use tabs
#1607: FILE: tools/virtiofsd/fuse_lowlevel.c:1585:
+^Ielse$

ERROR: code indent should never use tabs
#1608: FILE: tools/virtiofsd/fuse_lowlevel.c:1586:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1613: FILE: tools/virtiofsd/fuse_lowlevel.c:1591:
+^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$

ERROR: code indent should never use tabs
#1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593:
+^Iif (req->se->op.listxattr)$

ERROR: braces {} are necessary for all arms of this statement
#1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593:
+       if (req->se->op.listxattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1616: FILE: tools/virtiofsd/fuse_lowlevel.c:1594:
+^I^Ireq->se->op.listxattr(req, nodeid, arg->size);$

ERROR: code indent should never use tabs
#1617: FILE: tools/virtiofsd/fuse_lowlevel.c:1595:
+^Ielse$

ERROR: code indent should never use tabs
#1618: FILE: tools/virtiofsd/fuse_lowlevel.c:1596:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1623: FILE: tools/virtiofsd/fuse_lowlevel.c:1601:
+^Ichar *name = (char *) inarg;$

ERROR: code indent should never use tabs
#1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603:
+^Iif (req->se->op.removexattr)$

ERROR: braces {} are necessary for all arms of this statement
#1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603:
+       if (req->se->op.removexattr)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1626: FILE: tools/virtiofsd/fuse_lowlevel.c:1604:
+^I^Ireq->se->op.removexattr(req, nodeid, name);$

ERROR: code indent should never use tabs
#1627: FILE: tools/virtiofsd/fuse_lowlevel.c:1605:
+^Ielse$

ERROR: code indent should never use tabs
#1628: FILE: tools/virtiofsd/fuse_lowlevel.c:1606:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1632: FILE: tools/virtiofsd/fuse_lowlevel.c:1610:
+^I^I^I^I   struct flock *flock)$

ERROR: code indent should never use tabs
#1634: FILE: tools/virtiofsd/fuse_lowlevel.c:1612:
+^Imemset(flock, 0, sizeof(struct flock));$

ERROR: code indent should never use tabs
#1635: FILE: tools/virtiofsd/fuse_lowlevel.c:1613:
+^Iflock->l_type = fl->type;$

ERROR: code indent should never use tabs
#1636: FILE: tools/virtiofsd/fuse_lowlevel.c:1614:
+^Iflock->l_whence = SEEK_SET;$

ERROR: code indent should never use tabs
#1637: FILE: tools/virtiofsd/fuse_lowlevel.c:1615:
+^Iflock->l_start = fl->start;$

ERROR: code indent should never use tabs
#1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616:
+^Iif (fl->end == OFFSET_MAX)$

ERROR: braces {} are necessary for all arms of this statement
#1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616:
+       if (fl->end == OFFSET_MAX)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1639: FILE: tools/virtiofsd/fuse_lowlevel.c:1617:
+^I^Iflock->l_len = 0;$

ERROR: code indent should never use tabs
#1640: FILE: tools/virtiofsd/fuse_lowlevel.c:1618:
+^Ielse$

ERROR: code indent should never use tabs
#1641: FILE: tools/virtiofsd/fuse_lowlevel.c:1619:
+^I^Iflock->l_len = fl->end - fl->start + 1;$

ERROR: code indent should never use tabs
#1642: FILE: tools/virtiofsd/fuse_lowlevel.c:1620:
+^Iflock->l_pid = fl->pid;$

ERROR: code indent should never use tabs
#1647: FILE: tools/virtiofsd/fuse_lowlevel.c:1625:
+^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$

ERROR: code indent should never use tabs
#1648: FILE: tools/virtiofsd/fuse_lowlevel.c:1626:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1649: FILE: tools/virtiofsd/fuse_lowlevel.c:1627:
+^Istruct flock flock;$

ERROR: code indent should never use tabs
#1651: FILE: tools/virtiofsd/fuse_lowlevel.c:1629:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1652: FILE: tools/virtiofsd/fuse_lowlevel.c:1630:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1653: FILE: tools/virtiofsd/fuse_lowlevel.c:1631:
+^Ifi.lock_owner = arg->owner;$

ERROR: code indent should never use tabs
#1655: FILE: tools/virtiofsd/fuse_lowlevel.c:1633:
+^Iconvert_fuse_file_lock(&arg->lk, &flock);$

ERROR: code indent should never use tabs
#1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634:
+^Iif (req->se->op.getlk)$

ERROR: braces {} are necessary for all arms of this statement
#1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634:
+       if (req->se->op.getlk)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1657: FILE: tools/virtiofsd/fuse_lowlevel.c:1635:
+^I^Ireq->se->op.getlk(req, nodeid, &fi, &flock);$

ERROR: code indent should never use tabs
#1658: FILE: tools/virtiofsd/fuse_lowlevel.c:1636:
+^Ielse$

ERROR: code indent should never use tabs
#1659: FILE: tools/virtiofsd/fuse_lowlevel.c:1637:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1663: FILE: tools/virtiofsd/fuse_lowlevel.c:1641:
+^I^I^I    const void *inarg, int sleep)$

ERROR: code indent should never use tabs
#1665: FILE: tools/virtiofsd/fuse_lowlevel.c:1643:
+^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$

ERROR: code indent should never use tabs
#1666: FILE: tools/virtiofsd/fuse_lowlevel.c:1644:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1667: FILE: tools/virtiofsd/fuse_lowlevel.c:1645:
+^Istruct flock flock;$

ERROR: code indent should never use tabs
#1669: FILE: tools/virtiofsd/fuse_lowlevel.c:1647:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1670: FILE: tools/virtiofsd/fuse_lowlevel.c:1648:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1671: FILE: tools/virtiofsd/fuse_lowlevel.c:1649:
+^Ifi.lock_owner = arg->owner;$

ERROR: code indent should never use tabs
#1673: FILE: tools/virtiofsd/fuse_lowlevel.c:1651:
+^Iif (arg->lk_flags & FUSE_LK_FLOCK) {$

ERROR: code indent should never use tabs
#1674: FILE: tools/virtiofsd/fuse_lowlevel.c:1652:
+^I^Iint op = 0;$

ERROR: code indent should never use tabs
#1676: FILE: tools/virtiofsd/fuse_lowlevel.c:1654:
+^I^Iswitch (arg->lk.type) {$

ERROR: code indent should never use tabs
#1677: FILE: tools/virtiofsd/fuse_lowlevel.c:1655:
+^I^Icase F_RDLCK:$

ERROR: code indent should never use tabs
#1678: FILE: tools/virtiofsd/fuse_lowlevel.c:1656:
+^I^I^Iop = LOCK_SH;$

ERROR: code indent should never use tabs
#1679: FILE: tools/virtiofsd/fuse_lowlevel.c:1657:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1680: FILE: tools/virtiofsd/fuse_lowlevel.c:1658:
+^I^Icase F_WRLCK:$

ERROR: code indent should never use tabs
#1681: FILE: tools/virtiofsd/fuse_lowlevel.c:1659:
+^I^I^Iop = LOCK_EX;$

ERROR: code indent should never use tabs
#1682: FILE: tools/virtiofsd/fuse_lowlevel.c:1660:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1683: FILE: tools/virtiofsd/fuse_lowlevel.c:1661:
+^I^Icase F_UNLCK:$

ERROR: code indent should never use tabs
#1684: FILE: tools/virtiofsd/fuse_lowlevel.c:1662:
+^I^I^Iop = LOCK_UN;$

ERROR: code indent should never use tabs
#1685: FILE: tools/virtiofsd/fuse_lowlevel.c:1663:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1686: FILE: tools/virtiofsd/fuse_lowlevel.c:1664:
+^I^I}$

ERROR: code indent should never use tabs
#1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665:
+^I^Iif (!sleep)$

ERROR: braces {} are necessary for all arms of this statement
#1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665:
+               if (!sleep)
[...]

ERROR: code indent should never use tabs
#1688: FILE: tools/virtiofsd/fuse_lowlevel.c:1666:
+^I^I^Iop |= LOCK_NB;$

ERROR: code indent should never use tabs
#1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668:
+^I^Iif (req->se->op.flock)$

ERROR: braces {} are necessary for all arms of this statement
#1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668:
+               if (req->se->op.flock)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1691: FILE: tools/virtiofsd/fuse_lowlevel.c:1669:
+^I^I^Ireq->se->op.flock(req, nodeid, &fi, op);$

ERROR: code indent should never use tabs
#1692: FILE: tools/virtiofsd/fuse_lowlevel.c:1670:
+^I^Ielse$

ERROR: code indent should never use tabs
#1693: FILE: tools/virtiofsd/fuse_lowlevel.c:1671:
+^I^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1694: FILE: tools/virtiofsd/fuse_lowlevel.c:1672:
+^I} else {$

ERROR: code indent should never use tabs
#1695: FILE: tools/virtiofsd/fuse_lowlevel.c:1673:
+^I^Iconvert_fuse_file_lock(&arg->lk, &flock);$

ERROR: code indent should never use tabs
#1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674:
+^I^Iif (req->se->op.setlk)$

ERROR: braces {} are necessary for all arms of this statement
#1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674:
+               if (req->se->op.setlk)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#1697: FILE: tools/virtiofsd/fuse_lowlevel.c:1675:
+^I^I^Ireq->se->op.setlk(req, nodeid, &fi, &flock, sleep);$

ERROR: code indent should never use tabs
#1698: FILE: tools/virtiofsd/fuse_lowlevel.c:1676:
+^I^Ielse$

ERROR: code indent should never use tabs
#1699: FILE: tools/virtiofsd/fuse_lowlevel.c:1677:
+^I^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1700: FILE: tools/virtiofsd/fuse_lowlevel.c:1678:
+^I}$

ERROR: code indent should never use tabs
#1705: FILE: tools/virtiofsd/fuse_lowlevel.c:1683:
+^Ido_setlk_common(req, nodeid, inarg, 0);$

ERROR: code indent should never use tabs
#1710: FILE: tools/virtiofsd/fuse_lowlevel.c:1688:
+^Ido_setlk_common(req, nodeid, inarg, 1);$

ERROR: code indent should never use tabs
#1715: FILE: tools/virtiofsd/fuse_lowlevel.c:1693:
+^Istruct fuse_req *curr;$

ERROR: code indent should never use tabs
#1717: FILE: tools/virtiofsd/fuse_lowlevel.c:1695:
+^Ifor (curr = se->list.next; curr != &se->list; curr = curr->next) {$

ERROR: code indent should never use tabs
#1718: FILE: tools/virtiofsd/fuse_lowlevel.c:1696:
+^I^Iif (curr->unique == req->u.i.unique) {$

ERROR: code indent should never use tabs
#1719: FILE: tools/virtiofsd/fuse_lowlevel.c:1697:
+^I^I^Ifuse_interrupt_func_t func;$

ERROR: code indent should never use tabs
#1720: FILE: tools/virtiofsd/fuse_lowlevel.c:1698:
+^I^I^Ivoid *data;$

ERROR: code indent should never use tabs
#1722: FILE: tools/virtiofsd/fuse_lowlevel.c:1700:
+^I^I^Icurr->ctr++;$

ERROR: code indent should never use tabs
#1723: FILE: tools/virtiofsd/fuse_lowlevel.c:1701:
+^I^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1725: FILE: tools/virtiofsd/fuse_lowlevel.c:1703:
+^I^I^I/* Ugh, ugly locking */$

ERROR: code indent should never use tabs
#1726: FILE: tools/virtiofsd/fuse_lowlevel.c:1704:
+^I^I^Ipthread_mutex_lock(&curr->lock);$

ERROR: code indent should never use tabs
#1727: FILE: tools/virtiofsd/fuse_lowlevel.c:1705:
+^I^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1728: FILE: tools/virtiofsd/fuse_lowlevel.c:1706:
+^I^I^Icurr->interrupted = 1;$

ERROR: code indent should never use tabs
#1729: FILE: tools/virtiofsd/fuse_lowlevel.c:1707:
+^I^I^Ifunc = curr->u.ni.func;$

ERROR: code indent should never use tabs
#1730: FILE: tools/virtiofsd/fuse_lowlevel.c:1708:
+^I^I^Idata = curr->u.ni.data;$

ERROR: code indent should never use tabs
#1731: FILE: tools/virtiofsd/fuse_lowlevel.c:1709:
+^I^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710:
+^I^I^Iif (func)$

ERROR: braces {} are necessary for all arms of this statement
#1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710:
+                       if (func)
[...]

ERROR: code indent should never use tabs
#1733: FILE: tools/virtiofsd/fuse_lowlevel.c:1711:
+^I^I^I^Ifunc(curr, data);$

ERROR: code indent should never use tabs
#1734: FILE: tools/virtiofsd/fuse_lowlevel.c:1712:
+^I^I^Ipthread_mutex_unlock(&curr->lock);$

ERROR: code indent should never use tabs
#1736: FILE: tools/virtiofsd/fuse_lowlevel.c:1714:
+^I^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1737: FILE: tools/virtiofsd/fuse_lowlevel.c:1715:
+^I^I^Icurr->ctr--;$

ERROR: code indent should never use tabs
#1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716:
+^I^I^Iif (!curr->ctr)$

ERROR: braces {} are necessary for all arms of this statement
#1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716:
+                       if (!curr->ctr)
[...]

ERROR: code indent should never use tabs
#1739: FILE: tools/virtiofsd/fuse_lowlevel.c:1717:
+^I^I^I^Idestroy_req(curr);$

ERROR: code indent should never use tabs
#1741: FILE: tools/virtiofsd/fuse_lowlevel.c:1719:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1742: FILE: tools/virtiofsd/fuse_lowlevel.c:1720:
+^I^I}$

ERROR: code indent should never use tabs
#1743: FILE: tools/virtiofsd/fuse_lowlevel.c:1721:
+^I}$

ERROR: code indent should never use tabs
#1744: FILE: tools/virtiofsd/fuse_lowlevel.c:1722:
+^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$

ERROR: code indent should never use tabs
#1745: FILE: tools/virtiofsd/fuse_lowlevel.c:1723:
+^I     curr = curr->next) {$

ERROR: code indent should never use tabs
#1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724:
+^I^Iif (curr->u.i.unique == req->u.i.unique)$

ERROR: braces {} are necessary for all arms of this statement
#1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724:
+               if (curr->u.i.unique == req->u.i.unique)
[...]

ERROR: code indent should never use tabs
#1747: FILE: tools/virtiofsd/fuse_lowlevel.c:1725:
+^I^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1748: FILE: tools/virtiofsd/fuse_lowlevel.c:1726:
+^I}$

ERROR: code indent should never use tabs
#1749: FILE: tools/virtiofsd/fuse_lowlevel.c:1727:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#1754: FILE: tools/virtiofsd/fuse_lowlevel.c:1732:
+^Istruct fuse_interrupt_in *arg = (struct fuse_interrupt_in *) inarg;$

ERROR: code indent should never use tabs
#1755: FILE: tools/virtiofsd/fuse_lowlevel.c:1733:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1757: FILE: tools/virtiofsd/fuse_lowlevel.c:1735:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1758: FILE: tools/virtiofsd/fuse_lowlevel.c:1736:
+^Iif (se->debug)$

ERROR: code indent should never use tabs
#1759: FILE: tools/virtiofsd/fuse_lowlevel.c:1737:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "INTERRUPT: %llu\n",$

ERROR: code indent should never use tabs
#1760: FILE: tools/virtiofsd/fuse_lowlevel.c:1738:
+^I^I^I(unsigned long long) arg->unique);$

ERROR: code indent should never use tabs
#1762: FILE: tools/virtiofsd/fuse_lowlevel.c:1740:
+^Ireq->u.i.unique = arg->unique;$

ERROR: code indent should never use tabs
#1764: FILE: tools/virtiofsd/fuse_lowlevel.c:1742:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743:
+^Iif (find_interrupted(se, req))$

ERROR: braces {} are necessary for all arms of this statement
#1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743:
+       if (find_interrupted(se, req))
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1766: FILE: tools/virtiofsd/fuse_lowlevel.c:1744:
+^I^Idestroy_req(req);$

ERROR: code indent should never use tabs
#1767: FILE: tools/virtiofsd/fuse_lowlevel.c:1745:
+^Ielse$

ERROR: code indent should never use tabs
#1768: FILE: tools/virtiofsd/fuse_lowlevel.c:1746:
+^I^Ilist_add_req(req, &se->interrupts);$

ERROR: code indent should never use tabs
#1769: FILE: tools/virtiofsd/fuse_lowlevel.c:1747:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#1773: FILE: tools/virtiofsd/fuse_lowlevel.c:1751:
+^I^I^I^I^Istruct fuse_req *req)$

ERROR: code indent should never use tabs
#1775: FILE: tools/virtiofsd/fuse_lowlevel.c:1753:
+^Istruct fuse_req *curr;$

ERROR: code indent should never use tabs
#1777: FILE: tools/virtiofsd/fuse_lowlevel.c:1755:
+^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$

ERROR: code indent should never use tabs
#1778: FILE: tools/virtiofsd/fuse_lowlevel.c:1756:
+^I     curr = curr->next) {$

ERROR: code indent should never use tabs
#1779: FILE: tools/virtiofsd/fuse_lowlevel.c:1757:
+^I^Iif (curr->u.i.unique == req->unique) {$

ERROR: code indent should never use tabs
#1780: FILE: tools/virtiofsd/fuse_lowlevel.c:1758:
+^I^I^Ireq->interrupted = 1;$

ERROR: code indent should never use tabs
#1781: FILE: tools/virtiofsd/fuse_lowlevel.c:1759:
+^I^I^Ilist_del_req(curr);$

ERROR: code indent should never use tabs
#1782: FILE: tools/virtiofsd/fuse_lowlevel.c:1760:
+^I^I^Ifree(curr);$

ERROR: code indent should never use tabs
#1783: FILE: tools/virtiofsd/fuse_lowlevel.c:1761:
+^I^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1784: FILE: tools/virtiofsd/fuse_lowlevel.c:1762:
+^I^I}$

ERROR: code indent should never use tabs
#1785: FILE: tools/virtiofsd/fuse_lowlevel.c:1763:
+^I}$

ERROR: code indent should never use tabs
#1786: FILE: tools/virtiofsd/fuse_lowlevel.c:1764:
+^Icurr = se->interrupts.next;$

ERROR: code indent should never use tabs
#1787: FILE: tools/virtiofsd/fuse_lowlevel.c:1765:
+^Iif (curr != &se->interrupts) {$

ERROR: code indent should never use tabs
#1788: FILE: tools/virtiofsd/fuse_lowlevel.c:1766:
+^I^Ilist_del_req(curr);$

ERROR: code indent should never use tabs
#1789: FILE: tools/virtiofsd/fuse_lowlevel.c:1767:
+^I^Ilist_init_req(curr);$

ERROR: code indent should never use tabs
#1790: FILE: tools/virtiofsd/fuse_lowlevel.c:1768:
+^I^Ireturn curr;$

ERROR: code indent should never use tabs
#1791: FILE: tools/virtiofsd/fuse_lowlevel.c:1769:
+^I} else$

ERROR: code indent should never use tabs
#1792: FILE: tools/virtiofsd/fuse_lowlevel.c:1770:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#1797: FILE: tools/virtiofsd/fuse_lowlevel.c:1775:
+^Istruct fuse_bmap_in *arg = (struct fuse_bmap_in *) inarg;$

ERROR: code indent should never use tabs
#1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777:
+^Iif (req->se->op.bmap)$

ERROR: braces {} are necessary for all arms of this statement
#1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777:
+       if (req->se->op.bmap)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1800: FILE: tools/virtiofsd/fuse_lowlevel.c:1778:
+^I^Ireq->se->op.bmap(req, nodeid, arg->blocksize, arg->block);$

ERROR: code indent should never use tabs
#1801: FILE: tools/virtiofsd/fuse_lowlevel.c:1779:
+^Ielse$

ERROR: code indent should never use tabs
#1802: FILE: tools/virtiofsd/fuse_lowlevel.c:1780:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1807: FILE: tools/virtiofsd/fuse_lowlevel.c:1785:
+^Istruct fuse_ioctl_in *arg = (struct fuse_ioctl_in *) inarg;$

ERROR: code indent should never use tabs
#1808: FILE: tools/virtiofsd/fuse_lowlevel.c:1786:
+^Iunsigned int flags = arg->flags;$

ERROR: code indent should never use tabs
#1809: FILE: tools/virtiofsd/fuse_lowlevel.c:1787:
+^Ivoid *in_buf = arg->in_size ? PARAM(arg) : NULL;$

ERROR: code indent should never use tabs
#1810: FILE: tools/virtiofsd/fuse_lowlevel.c:1788:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1812: FILE: tools/virtiofsd/fuse_lowlevel.c:1790:
+^Iif (flags & FUSE_IOCTL_DIR &&$

ERROR: code indent should never use tabs
#1813: FILE: tools/virtiofsd/fuse_lowlevel.c:1791:
+^I    !(req->se->conn.want & FUSE_CAP_IOCTL_DIR)) {$

ERROR: code indent should never use tabs
#1814: FILE: tools/virtiofsd/fuse_lowlevel.c:1792:
+^I^Ifuse_reply_err(req, ENOTTY);$

ERROR: code indent should never use tabs
#1815: FILE: tools/virtiofsd/fuse_lowlevel.c:1793:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1816: FILE: tools/virtiofsd/fuse_lowlevel.c:1794:
+^I}$

ERROR: code indent should never use tabs
#1818: FILE: tools/virtiofsd/fuse_lowlevel.c:1796:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1819: FILE: tools/virtiofsd/fuse_lowlevel.c:1797:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1821: FILE: tools/virtiofsd/fuse_lowlevel.c:1799:
+^Iif (sizeof(void *) == 4 && req->se->conn.proto_minor >= 16 &&$

ERROR: code indent should never use tabs
#1822: FILE: tools/virtiofsd/fuse_lowlevel.c:1800:
+^I    !(flags & FUSE_IOCTL_32BIT)) {$

ERROR: code indent should never use tabs
#1823: FILE: tools/virtiofsd/fuse_lowlevel.c:1801:
+^I^Ireq->ioctl_64bit = 1;$

ERROR: code indent should never use tabs
#1824: FILE: tools/virtiofsd/fuse_lowlevel.c:1802:
+^I}$

ERROR: code indent should never use tabs
#1826: FILE: tools/virtiofsd/fuse_lowlevel.c:1804:
+^Iif (req->se->op.ioctl)$

ERROR: code indent should never use tabs
#1827: FILE: tools/virtiofsd/fuse_lowlevel.c:1805:
+^I^Ireq->se->op.ioctl(req, nodeid, arg->cmd,$

ERROR: code indent should never use tabs
#1828: FILE: tools/virtiofsd/fuse_lowlevel.c:1806:
+^I^I^I^I (void *)(uintptr_t)arg->arg, &fi, flags,$

ERROR: code indent should never use tabs
#1829: FILE: tools/virtiofsd/fuse_lowlevel.c:1807:
+^I^I^I^I in_buf, arg->in_size, arg->out_size);$

ERROR: code indent should never use tabs
#1830: FILE: tools/virtiofsd/fuse_lowlevel.c:1808:
+^Ielse$

ERROR: code indent should never use tabs
#1831: FILE: tools/virtiofsd/fuse_lowlevel.c:1809:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1836: FILE: tools/virtiofsd/fuse_lowlevel.c:1814:
+^Ifree(ph);$

ERROR: code indent should never use tabs
#1841: FILE: tools/virtiofsd/fuse_lowlevel.c:1819:
+^Istruct fuse_poll_in *arg = (struct fuse_poll_in *) inarg;$

ERROR: code indent should never use tabs
#1842: FILE: tools/virtiofsd/fuse_lowlevel.c:1820:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1844: FILE: tools/virtiofsd/fuse_lowlevel.c:1822:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1845: FILE: tools/virtiofsd/fuse_lowlevel.c:1823:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1846: FILE: tools/virtiofsd/fuse_lowlevel.c:1824:
+^Ifi.poll_events = arg->events;$

ERROR: code indent should never use tabs
#1848: FILE: tools/virtiofsd/fuse_lowlevel.c:1826:
+^Iif (req->se->op.poll) {$

ERROR: code indent should never use tabs
#1849: FILE: tools/virtiofsd/fuse_lowlevel.c:1827:
+^I^Istruct fuse_pollhandle *ph = NULL;$

ERROR: code indent should never use tabs
#1851: FILE: tools/virtiofsd/fuse_lowlevel.c:1829:
+^I^Iif (arg->flags & FUSE_POLL_SCHEDULE_NOTIFY) {$

ERROR: code indent should never use tabs
#1852: FILE: tools/virtiofsd/fuse_lowlevel.c:1830:
+^I^I^Iph = malloc(sizeof(struct fuse_pollhandle));$

ERROR: code indent should never use tabs
#1853: FILE: tools/virtiofsd/fuse_lowlevel.c:1831:
+^I^I^Iif (ph == NULL) {$

ERROR: code indent should never use tabs
#1854: FILE: tools/virtiofsd/fuse_lowlevel.c:1832:
+^I^I^I^Ifuse_reply_err(req, ENOMEM);$

ERROR: code indent should never use tabs
#1855: FILE: tools/virtiofsd/fuse_lowlevel.c:1833:
+^I^I^I^Ireturn;$

ERROR: code indent should never use tabs
#1856: FILE: tools/virtiofsd/fuse_lowlevel.c:1834:
+^I^I^I}$

ERROR: code indent should never use tabs
#1857: FILE: tools/virtiofsd/fuse_lowlevel.c:1835:
+^I^I^Iph->kh = arg->kh;$

ERROR: code indent should never use tabs
#1858: FILE: tools/virtiofsd/fuse_lowlevel.c:1836:
+^I^I^Iph->se = req->se;$

ERROR: code indent should never use tabs
#1859: FILE: tools/virtiofsd/fuse_lowlevel.c:1837:
+^I^I}$

ERROR: code indent should never use tabs
#1861: FILE: tools/virtiofsd/fuse_lowlevel.c:1839:
+^I^Ireq->se->op.poll(req, nodeid, &fi, ph);$

ERROR: code indent should never use tabs
#1862: FILE: tools/virtiofsd/fuse_lowlevel.c:1840:
+^I} else {$

ERROR: code indent should never use tabs
#1863: FILE: tools/virtiofsd/fuse_lowlevel.c:1841:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1864: FILE: tools/virtiofsd/fuse_lowlevel.c:1842:
+^I}$

ERROR: code indent should never use tabs
#1869: FILE: tools/virtiofsd/fuse_lowlevel.c:1847:
+^Istruct fuse_fallocate_in *arg = (struct fuse_fallocate_in *) inarg;$

ERROR: code indent should never use tabs
#1870: FILE: tools/virtiofsd/fuse_lowlevel.c:1848:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1872: FILE: tools/virtiofsd/fuse_lowlevel.c:1850:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1873: FILE: tools/virtiofsd/fuse_lowlevel.c:1851:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853:
+^Iif (req->se->op.fallocate)$

ERROR: braces {} are necessary for all arms of this statement
#1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853:
+       if (req->se->op.fallocate)
[...]
+       else
[...]

ERROR: line over 90 characters
#1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854:
+               req->se->op.fallocate(req, nodeid, arg->mode, arg->offset, arg->length, &fi);

ERROR: code indent should never use tabs
#1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854:
+^I^Ireq->se->op.fallocate(req, nodeid, arg->mode, arg->offset, arg->length, &fi);$

ERROR: code indent should never use tabs
#1877: FILE: tools/virtiofsd/fuse_lowlevel.c:1855:
+^Ielse$

ERROR: code indent should never use tabs
#1878: FILE: tools/virtiofsd/fuse_lowlevel.c:1856:
+^I^Ifuse_reply_err(req, ENOSYS);$

WARNING: line over 80 characters
#1881: FILE: tools/virtiofsd/fuse_lowlevel.c:1859:
+static void do_copy_file_range(fuse_req_t req, fuse_ino_t nodeid_in, const void *inarg)

WARNING: line over 80 characters
#1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861:
+       struct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in *) inarg;

ERROR: code indent should never use tabs
#1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861:
+^Istruct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in *) inarg;$

ERROR: code indent should never use tabs
#1884: FILE: tools/virtiofsd/fuse_lowlevel.c:1862:
+^Istruct fuse_file_info fi_in, fi_out;$

ERROR: code indent should never use tabs
#1886: FILE: tools/virtiofsd/fuse_lowlevel.c:1864:
+^Imemset(&fi_in, 0, sizeof(fi_in));$

ERROR: code indent should never use tabs
#1887: FILE: tools/virtiofsd/fuse_lowlevel.c:1865:
+^Ifi_in.fh = arg->fh_in;$

ERROR: code indent should never use tabs
#1889: FILE: tools/virtiofsd/fuse_lowlevel.c:1867:
+^Imemset(&fi_out, 0, sizeof(fi_out));$

ERROR: code indent should never use tabs
#1890: FILE: tools/virtiofsd/fuse_lowlevel.c:1868:
+^Ifi_out.fh = arg->fh_out;$

ERROR: code indent should never use tabs
#1893: FILE: tools/virtiofsd/fuse_lowlevel.c:1871:
+^Iif (req->se->op.copy_file_range)$

ERROR: code indent should never use tabs
#1894: FILE: tools/virtiofsd/fuse_lowlevel.c:1872:
+^I^Ireq->se->op.copy_file_range(req, nodeid_in, arg->off_in,$

ERROR: code indent should never use tabs
#1895: FILE: tools/virtiofsd/fuse_lowlevel.c:1873:
+^I^I^I^I^I    &fi_in, arg->nodeid_out,$

ERROR: code indent should never use tabs
#1896: FILE: tools/virtiofsd/fuse_lowlevel.c:1874:
+^I^I^I^I^I    arg->off_out, &fi_out, arg->len,$

ERROR: code indent should never use tabs
#1897: FILE: tools/virtiofsd/fuse_lowlevel.c:1875:
+^I^I^I^I^I    arg->flags);$

ERROR: code indent should never use tabs
#1898: FILE: tools/virtiofsd/fuse_lowlevel.c:1876:
+^Ielse$

ERROR: code indent should never use tabs
#1899: FILE: tools/virtiofsd/fuse_lowlevel.c:1877:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1904: FILE: tools/virtiofsd/fuse_lowlevel.c:1882:
+^Istruct fuse_lseek_in *arg = (struct fuse_lseek_in *) inarg;$

ERROR: code indent should never use tabs
#1905: FILE: tools/virtiofsd/fuse_lowlevel.c:1883:
+^Istruct fuse_file_info fi;$

ERROR: code indent should never use tabs
#1907: FILE: tools/virtiofsd/fuse_lowlevel.c:1885:
+^Imemset(&fi, 0, sizeof(fi));$

ERROR: code indent should never use tabs
#1908: FILE: tools/virtiofsd/fuse_lowlevel.c:1886:
+^Ifi.fh = arg->fh;$

ERROR: code indent should never use tabs
#1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888:
+^Iif (req->se->op.lseek)$

ERROR: braces {} are necessary for all arms of this statement
#1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888:
+       if (req->se->op.lseek)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1911: FILE: tools/virtiofsd/fuse_lowlevel.c:1889:
+^I^Ireq->se->op.lseek(req, nodeid, arg->offset, arg->whence, &fi);$

ERROR: code indent should never use tabs
#1912: FILE: tools/virtiofsd/fuse_lowlevel.c:1890:
+^Ielse$

ERROR: code indent should never use tabs
#1913: FILE: tools/virtiofsd/fuse_lowlevel.c:1891:
+^I^Ifuse_reply_err(req, ENOSYS);$

ERROR: code indent should never use tabs
#1918: FILE: tools/virtiofsd/fuse_lowlevel.c:1896:
+^Istruct fuse_init_in *arg = (struct fuse_init_in *) inarg;$

ERROR: code indent should never use tabs
#1919: FILE: tools/virtiofsd/fuse_lowlevel.c:1897:
+^Istruct fuse_init_out outarg;$

ERROR: code indent should never use tabs
#1920: FILE: tools/virtiofsd/fuse_lowlevel.c:1898:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#1921: FILE: tools/virtiofsd/fuse_lowlevel.c:1899:
+^Isize_t bufsize = se->bufsize;$

ERROR: code indent should never use tabs
#1922: FILE: tools/virtiofsd/fuse_lowlevel.c:1900:
+^Isize_t outargsize = sizeof(outarg);$

ERROR: code indent should never use tabs
#1924: FILE: tools/virtiofsd/fuse_lowlevel.c:1902:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#1925: FILE: tools/virtiofsd/fuse_lowlevel.c:1903:
+^Iif (se->debug) {$

WARNING: line over 80 characters
#1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904:
+               fuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, arg->minor);

ERROR: code indent should never use tabs
#1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, arg->minor);$

ERROR: code indent should never use tabs
#1927: FILE: tools/virtiofsd/fuse_lowlevel.c:1905:
+^I^Iif (arg->major == 7 && arg->minor >= 6) {$

ERROR: code indent should never use tabs
#1928: FILE: tools/virtiofsd/fuse_lowlevel.c:1906:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "flags=0x%08x\n", arg->flags);$

ERROR: code indent should never use tabs
#1929: FILE: tools/virtiofsd/fuse_lowlevel.c:1907:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "max_readahead=0x%08x\n",$

ERROR: code indent should never use tabs
#1930: FILE: tools/virtiofsd/fuse_lowlevel.c:1908:
+^I^I^I^Iarg->max_readahead);$

ERROR: code indent should never use tabs
#1931: FILE: tools/virtiofsd/fuse_lowlevel.c:1909:
+^I^I}$

ERROR: code indent should never use tabs
#1932: FILE: tools/virtiofsd/fuse_lowlevel.c:1910:
+^I}$

ERROR: code indent should never use tabs
#1933: FILE: tools/virtiofsd/fuse_lowlevel.c:1911:
+^Ise->conn.proto_major = arg->major;$

ERROR: code indent should never use tabs
#1934: FILE: tools/virtiofsd/fuse_lowlevel.c:1912:
+^Ise->conn.proto_minor = arg->minor;$

ERROR: code indent should never use tabs
#1935: FILE: tools/virtiofsd/fuse_lowlevel.c:1913:
+^Ise->conn.capable = 0;$

ERROR: code indent should never use tabs
#1936: FILE: tools/virtiofsd/fuse_lowlevel.c:1914:
+^Ise->conn.want = 0;$

ERROR: code indent should never use tabs
#1938: FILE: tools/virtiofsd/fuse_lowlevel.c:1916:
+^Imemset(&outarg, 0, sizeof(outarg));$

ERROR: code indent should never use tabs
#1939: FILE: tools/virtiofsd/fuse_lowlevel.c:1917:
+^Ioutarg.major = FUSE_KERNEL_VERSION;$

ERROR: code indent should never use tabs
#1940: FILE: tools/virtiofsd/fuse_lowlevel.c:1918:
+^Ioutarg.minor = FUSE_KERNEL_MINOR_VERSION;$

ERROR: code indent should never use tabs
#1942: FILE: tools/virtiofsd/fuse_lowlevel.c:1920:
+^Iif (arg->major < 7) {$

WARNING: line over 80 characters
#1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921:
+               fuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: %u.%u\n",

ERROR: code indent should never use tabs
#1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: %u.%u\n",$

ERROR: code indent should never use tabs
#1944: FILE: tools/virtiofsd/fuse_lowlevel.c:1922:
+^I^I^Iarg->major, arg->minor);$

ERROR: code indent should never use tabs
#1945: FILE: tools/virtiofsd/fuse_lowlevel.c:1923:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#1946: FILE: tools/virtiofsd/fuse_lowlevel.c:1924:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1947: FILE: tools/virtiofsd/fuse_lowlevel.c:1925:
+^I}$

ERROR: code indent should never use tabs
#1949: FILE: tools/virtiofsd/fuse_lowlevel.c:1927:
+^Iif (arg->major > 7) {$

ERROR: code indent should never use tabs
#1950: FILE: tools/virtiofsd/fuse_lowlevel.c:1928:
+^I^I/* Wait for a second INIT request with a 7.X version */$

ERROR: code indent should never use tabs
#1951: FILE: tools/virtiofsd/fuse_lowlevel.c:1929:
+^I^Isend_reply_ok(req, &outarg, sizeof(outarg));$

ERROR: code indent should never use tabs
#1952: FILE: tools/virtiofsd/fuse_lowlevel.c:1930:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#1953: FILE: tools/virtiofsd/fuse_lowlevel.c:1931:
+^I}$

ERROR: code indent should never use tabs
#1955: FILE: tools/virtiofsd/fuse_lowlevel.c:1933:
+^Iif (arg->minor >= 6) {$

ERROR: code indent should never use tabs
#1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934:
+^I^Iif (arg->max_readahead < se->conn.max_readahead)$

ERROR: braces {} are necessary for all arms of this statement
#1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934:
+               if (arg->max_readahead < se->conn.max_readahead)
[...]

ERROR: code indent should never use tabs
#1957: FILE: tools/virtiofsd/fuse_lowlevel.c:1935:
+^I^I^Ise->conn.max_readahead = arg->max_readahead;$

ERROR: code indent should never use tabs
#1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936:
+^I^Iif (arg->flags & FUSE_ASYNC_READ)$

ERROR: braces {} are necessary for all arms of this statement
#1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936:
+               if (arg->flags & FUSE_ASYNC_READ)
[...]

ERROR: code indent should never use tabs
#1959: FILE: tools/virtiofsd/fuse_lowlevel.c:1937:
+^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_READ;$

ERROR: code indent should never use tabs
#1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938:
+^I^Iif (arg->flags & FUSE_POSIX_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938:
+               if (arg->flags & FUSE_POSIX_LOCKS)
[...]

ERROR: code indent should never use tabs
#1961: FILE: tools/virtiofsd/fuse_lowlevel.c:1939:
+^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_LOCKS;$

ERROR: code indent should never use tabs
#1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940:
+^I^Iif (arg->flags & FUSE_ATOMIC_O_TRUNC)$

ERROR: braces {} are necessary for all arms of this statement
#1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940:
+               if (arg->flags & FUSE_ATOMIC_O_TRUNC)
[...]

ERROR: code indent should never use tabs
#1963: FILE: tools/virtiofsd/fuse_lowlevel.c:1941:
+^I^I^Ise->conn.capable |= FUSE_CAP_ATOMIC_O_TRUNC;$

ERROR: code indent should never use tabs
#1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942:
+^I^Iif (arg->flags & FUSE_EXPORT_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942:
+               if (arg->flags & FUSE_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1965: FILE: tools/virtiofsd/fuse_lowlevel.c:1943:
+^I^I^Ise->conn.capable |= FUSE_CAP_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944:
+^I^Iif (arg->flags & FUSE_DONT_MASK)$

ERROR: braces {} are necessary for all arms of this statement
#1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944:
+               if (arg->flags & FUSE_DONT_MASK)
[...]

ERROR: code indent should never use tabs
#1967: FILE: tools/virtiofsd/fuse_lowlevel.c:1945:
+^I^I^Ise->conn.capable |= FUSE_CAP_DONT_MASK;$

ERROR: code indent should never use tabs
#1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946:
+^I^Iif (arg->flags & FUSE_FLOCK_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946:
+               if (arg->flags & FUSE_FLOCK_LOCKS)
[...]

ERROR: code indent should never use tabs
#1969: FILE: tools/virtiofsd/fuse_lowlevel.c:1947:
+^I^I^Ise->conn.capable |= FUSE_CAP_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948:
+^I^Iif (arg->flags & FUSE_AUTO_INVAL_DATA)$

ERROR: braces {} are necessary for all arms of this statement
#1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948:
+               if (arg->flags & FUSE_AUTO_INVAL_DATA)
[...]

ERROR: code indent should never use tabs
#1971: FILE: tools/virtiofsd/fuse_lowlevel.c:1949:
+^I^I^Ise->conn.capable |= FUSE_CAP_AUTO_INVAL_DATA;$

ERROR: code indent should never use tabs
#1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950:
+^I^Iif (arg->flags & FUSE_DO_READDIRPLUS)$

ERROR: braces {} are necessary for all arms of this statement
#1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950:
+               if (arg->flags & FUSE_DO_READDIRPLUS)
[...]

ERROR: code indent should never use tabs
#1973: FILE: tools/virtiofsd/fuse_lowlevel.c:1951:
+^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS;$

ERROR: code indent should never use tabs
#1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952:
+^I^Iif (arg->flags & FUSE_READDIRPLUS_AUTO)$

ERROR: braces {} are necessary for all arms of this statement
#1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952:
+               if (arg->flags & FUSE_READDIRPLUS_AUTO)
[...]

ERROR: code indent should never use tabs
#1975: FILE: tools/virtiofsd/fuse_lowlevel.c:1953:
+^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS_AUTO;$

ERROR: code indent should never use tabs
#1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954:
+^I^Iif (arg->flags & FUSE_ASYNC_DIO)$

ERROR: braces {} are necessary for all arms of this statement
#1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954:
+               if (arg->flags & FUSE_ASYNC_DIO)
[...]

ERROR: code indent should never use tabs
#1977: FILE: tools/virtiofsd/fuse_lowlevel.c:1955:
+^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_DIO;$

ERROR: code indent should never use tabs
#1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956:
+^I^Iif (arg->flags & FUSE_WRITEBACK_CACHE)$

ERROR: braces {} are necessary for all arms of this statement
#1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956:
+               if (arg->flags & FUSE_WRITEBACK_CACHE)
[...]

ERROR: code indent should never use tabs
#1979: FILE: tools/virtiofsd/fuse_lowlevel.c:1957:
+^I^I^Ise->conn.capable |= FUSE_CAP_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958:
+^I^Iif (arg->flags & FUSE_NO_OPEN_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958:
+               if (arg->flags & FUSE_NO_OPEN_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1981: FILE: tools/virtiofsd/fuse_lowlevel.c:1959:
+^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPEN_SUPPORT;$

ERROR: code indent should never use tabs
#1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960:
+^I^Iif (arg->flags & FUSE_PARALLEL_DIROPS)$

ERROR: braces {} are necessary for all arms of this statement
#1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960:
+               if (arg->flags & FUSE_PARALLEL_DIROPS)
[...]

ERROR: code indent should never use tabs
#1983: FILE: tools/virtiofsd/fuse_lowlevel.c:1961:
+^I^I^Ise->conn.capable |= FUSE_CAP_PARALLEL_DIROPS;$

ERROR: code indent should never use tabs
#1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962:
+^I^Iif (arg->flags & FUSE_POSIX_ACL)$

ERROR: braces {} are necessary for all arms of this statement
#1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962:
+               if (arg->flags & FUSE_POSIX_ACL)
[...]

ERROR: code indent should never use tabs
#1985: FILE: tools/virtiofsd/fuse_lowlevel.c:1963:
+^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_ACL;$

ERROR: code indent should never use tabs
#1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964:
+^I^Iif (arg->flags & FUSE_HANDLE_KILLPRIV)$

ERROR: braces {} are necessary for all arms of this statement
#1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964:
+               if (arg->flags & FUSE_HANDLE_KILLPRIV)
[...]

ERROR: code indent should never use tabs
#1987: FILE: tools/virtiofsd/fuse_lowlevel.c:1965:
+^I^I^Ise->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;$

ERROR: code indent should never use tabs
#1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966:
+^I^Iif (arg->flags & FUSE_NO_OPENDIR_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966:
+               if (arg->flags & FUSE_NO_OPENDIR_SUPPORT)
[...]

ERROR: code indent should never use tabs
#1989: FILE: tools/virtiofsd/fuse_lowlevel.c:1967:
+^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPENDIR_SUPPORT;$

ERROR: code indent should never use tabs
#1990: FILE: tools/virtiofsd/fuse_lowlevel.c:1968:
+^I^Iif (!(arg->flags & FUSE_MAX_PAGES)) {$

ERROR: code indent should never use tabs
#1991: FILE: tools/virtiofsd/fuse_lowlevel.c:1969:
+^I^I^Isize_t max_bufsize =$

ERROR: code indent should never use tabs
#1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970:
+^I^I^I^IFUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970:
+                               FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()

ERROR: code indent should never use tabs
#1993: FILE: tools/virtiofsd/fuse_lowlevel.c:1971:
+^I^I^I^I+ FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#1994: FILE: tools/virtiofsd/fuse_lowlevel.c:1972:
+^I^I^Iif (bufsize > max_bufsize) {$

ERROR: code indent should never use tabs
#1995: FILE: tools/virtiofsd/fuse_lowlevel.c:1973:
+^I^I^I^Ibufsize = max_bufsize;$

ERROR: code indent should never use tabs
#1996: FILE: tools/virtiofsd/fuse_lowlevel.c:1974:
+^I^I^I}$

ERROR: code indent should never use tabs
#1997: FILE: tools/virtiofsd/fuse_lowlevel.c:1975:
+^I^I}$

ERROR: code indent should never use tabs
#1998: FILE: tools/virtiofsd/fuse_lowlevel.c:1976:
+^I} else {$

ERROR: code indent should never use tabs
#1999: FILE: tools/virtiofsd/fuse_lowlevel.c:1977:
+^I^Ise->conn.max_readahead = 0;$

ERROR: code indent should never use tabs
#2000: FILE: tools/virtiofsd/fuse_lowlevel.c:1978:
+^I}$

ERROR: code indent should never use tabs
#2002: FILE: tools/virtiofsd/fuse_lowlevel.c:1980:
+^Iif (se->conn.proto_minor >= 14) {$

WARNING: line over 80 characters
#2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983:
+               se->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE;

ERROR: code indent should never use tabs
#2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983:
+^I^Ise->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE;$

ERROR: code indent should never use tabs
#2007: FILE: tools/virtiofsd/fuse_lowlevel.c:1985:
+^I^Ise->conn.capable |= FUSE_CAP_SPLICE_READ;$

ERROR: code indent should never use tabs
#2009: FILE: tools/virtiofsd/fuse_lowlevel.c:1987:
+^I}$

ERROR: code indent should never use tabs
#2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988:
+^Iif (se->conn.proto_minor >= 18)$

ERROR: braces {} are necessary for all arms of this statement
#2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988:
+       if (se->conn.proto_minor >= 18)
[...]

ERROR: code indent should never use tabs
#2011: FILE: tools/virtiofsd/fuse_lowlevel.c:1989:
+^I^Ise->conn.capable |= FUSE_CAP_IOCTL_DIR;$

ERROR: code indent should never use tabs
#2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991:
+^I/* Default settings for modern filesystems.$

WARNING: Block comments use a leading /* on a separate line
#2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991:
+       /* Default settings for modern filesystems.

ERROR: code indent should never use tabs
#2014: FILE: tools/virtiofsd/fuse_lowlevel.c:1992:
+^I *$

ERROR: code indent should never use tabs
#2015: FILE: tools/virtiofsd/fuse_lowlevel.c:1993:
+^I * Most of these capabilities were disabled by default in$

ERROR: code indent should never use tabs
#2016: FILE: tools/virtiofsd/fuse_lowlevel.c:1994:
+^I * libfuse2 for backwards compatibility reasons. In libfuse3,$

ERROR: code indent should never use tabs
#2017: FILE: tools/virtiofsd/fuse_lowlevel.c:1995:
+^I * we can finally enable them by default (as long as they're$

ERROR: code indent should never use tabs
#2018: FILE: tools/virtiofsd/fuse_lowlevel.c:1996:
+^I * supported by the kernel).$

ERROR: code indent should never use tabs
#2019: FILE: tools/virtiofsd/fuse_lowlevel.c:1997:
+^I */$

ERROR: Macros with complex values should be enclosed in parenthesis
#2020: FILE: tools/virtiofsd/fuse_lowlevel.c:1998:
+#define LL_SET_DEFAULT(cond, cap) \
+       if ((cond) && (se->conn.capable & (cap))) \
+               se->conn.want |= (cap)

ERROR: code indent should never use tabs
#2021: FILE: tools/virtiofsd/fuse_lowlevel.c:1999:
+^Iif ((cond) && (se->conn.capable & (cap))) \$

ERROR: code indent should never use tabs
#2022: FILE: tools/virtiofsd/fuse_lowlevel.c:2000:
+^I^Ise->conn.want |= (cap)$

ERROR: code indent should never use tabs
#2023: FILE: tools/virtiofsd/fuse_lowlevel.c:2001:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_READ);$

ERROR: code indent should never use tabs
#2024: FILE: tools/virtiofsd/fuse_lowlevel.c:2002:
+^ILL_SET_DEFAULT(1, FUSE_CAP_PARALLEL_DIROPS);$

ERROR: code indent should never use tabs
#2025: FILE: tools/virtiofsd/fuse_lowlevel.c:2003:
+^ILL_SET_DEFAULT(1, FUSE_CAP_AUTO_INVAL_DATA);$

ERROR: code indent should never use tabs
#2026: FILE: tools/virtiofsd/fuse_lowlevel.c:2004:
+^ILL_SET_DEFAULT(1, FUSE_CAP_HANDLE_KILLPRIV);$

ERROR: code indent should never use tabs
#2027: FILE: tools/virtiofsd/fuse_lowlevel.c:2005:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_DIO);$

ERROR: code indent should never use tabs
#2028: FILE: tools/virtiofsd/fuse_lowlevel.c:2006:
+^ILL_SET_DEFAULT(1, FUSE_CAP_IOCTL_DIR);$

ERROR: code indent should never use tabs
#2029: FILE: tools/virtiofsd/fuse_lowlevel.c:2007:
+^ILL_SET_DEFAULT(1, FUSE_CAP_ATOMIC_O_TRUNC);$

ERROR: code indent should never use tabs
#2030: FILE: tools/virtiofsd/fuse_lowlevel.c:2008:
+^ILL_SET_DEFAULT(se->op.write_buf, FUSE_CAP_SPLICE_READ);$

ERROR: code indent should never use tabs
#2031: FILE: tools/virtiofsd/fuse_lowlevel.c:2009:
+^ILL_SET_DEFAULT(se->op.getlk && se->op.setlk,$

ERROR: code indent should never use tabs
#2032: FILE: tools/virtiofsd/fuse_lowlevel.c:2010:
+^I^I       FUSE_CAP_POSIX_LOCKS);$

ERROR: code indent should never use tabs
#2033: FILE: tools/virtiofsd/fuse_lowlevel.c:2011:
+^ILL_SET_DEFAULT(se->op.flock, FUSE_CAP_FLOCK_LOCKS);$

ERROR: code indent should never use tabs
#2034: FILE: tools/virtiofsd/fuse_lowlevel.c:2012:
+^ILL_SET_DEFAULT(se->op.readdirplus, FUSE_CAP_READDIRPLUS);$

ERROR: code indent should never use tabs
#2035: FILE: tools/virtiofsd/fuse_lowlevel.c:2013:
+^ILL_SET_DEFAULT(se->op.readdirplus && se->op.readdir,$

ERROR: code indent should never use tabs
#2036: FILE: tools/virtiofsd/fuse_lowlevel.c:2014:
+^I^I       FUSE_CAP_READDIRPLUS_AUTO);$

ERROR: code indent should never use tabs
#2037: FILE: tools/virtiofsd/fuse_lowlevel.c:2015:
+^Ise->conn.time_gran = 1;$

ERROR: trailing whitespace
#2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016:
+^I$

ERROR: code indent should never use tabs
#2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016:
+^I$

ERROR: code indent should never use tabs
#2039: FILE: tools/virtiofsd/fuse_lowlevel.c:2017:
+^Iif (bufsize < FUSE_MIN_READ_BUFFER) {$

WARNING: line over 80 characters
#2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: %zu\n",

ERROR: code indent should never use tabs
#2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: %zu\n",$

ERROR: code indent should never use tabs
#2041: FILE: tools/virtiofsd/fuse_lowlevel.c:2019:
+^I^I^Ibufsize);$

ERROR: code indent should never use tabs
#2042: FILE: tools/virtiofsd/fuse_lowlevel.c:2020:
+^I^Ibufsize = FUSE_MIN_READ_BUFFER;$

ERROR: code indent should never use tabs
#2043: FILE: tools/virtiofsd/fuse_lowlevel.c:2021:
+^I}$

ERROR: code indent should never use tabs
#2044: FILE: tools/virtiofsd/fuse_lowlevel.c:2022:
+^Ise->bufsize = bufsize;$

ERROR: code indent should never use tabs
#2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024:
+^Iif (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)$

ERROR: braces {} are necessary for all arms of this statement
#2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024:
+       if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)
[...]

ERROR: code indent should never use tabs
#2047: FILE: tools/virtiofsd/fuse_lowlevel.c:2025:
+^I^Ise->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2049: FILE: tools/virtiofsd/fuse_lowlevel.c:2027:
+^Ise->got_init = 1;$

ERROR: code indent should never use tabs
#2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028:
+^Iif (se->op.init)$

ERROR: braces {} are necessary for all arms of this statement
#2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028:
+       if (se->op.init)
[...]

ERROR: code indent should never use tabs
#2051: FILE: tools/virtiofsd/fuse_lowlevel.c:2029:
+^I^Ise->op.init(se->userdata, &se->conn);$

ERROR: code indent should never use tabs
#2053: FILE: tools/virtiofsd/fuse_lowlevel.c:2031:
+^Iif (se->conn.want & (~se->conn.capable)) {$

WARNING: line over 80 characters
#2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032:
+               fuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities "

ERROR: code indent should never use tabs
#2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities "$

ERROR: code indent should never use tabs
#2055: FILE: tools/virtiofsd/fuse_lowlevel.c:2033:
+^I^I^I"0x%x that are not supported by kernel, aborting.\n",$

ERROR: code indent should never use tabs
#2056: FILE: tools/virtiofsd/fuse_lowlevel.c:2034:
+^I^I^Ise->conn.want & (~se->conn.capable));$

ERROR: code indent should never use tabs
#2057: FILE: tools/virtiofsd/fuse_lowlevel.c:2035:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#2058: FILE: tools/virtiofsd/fuse_lowlevel.c:2036:
+^I^Ise->error = -EPROTO;$

ERROR: code indent should never use tabs
#2059: FILE: tools/virtiofsd/fuse_lowlevel.c:2037:
+^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2060: FILE: tools/virtiofsd/fuse_lowlevel.c:2038:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#2061: FILE: tools/virtiofsd/fuse_lowlevel.c:2039:
+^I}$

ERROR: code indent should never use tabs
#2063: FILE: tools/virtiofsd/fuse_lowlevel.c:2041:
+^Iunsigned max_read_mo = get_max_read(se->mo);$

ERROR: code indent should never use tabs
#2064: FILE: tools/virtiofsd/fuse_lowlevel.c:2042:
+^Iif (se->conn.max_read != max_read_mo) {$

WARNING: line over 80 characters
#2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043:
+               fuse_log(FUSE_LOG_ERR, "fuse: error: init() and fuse_session_new() "

ERROR: code indent should never use tabs
#2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: init() and fuse_session_new() "$

ERROR: code indent should never use tabs
#2066: FILE: tools/virtiofsd/fuse_lowlevel.c:2044:
+^I^I^I"requested different maximum read size (%u vs %u)\n",$

ERROR: code indent should never use tabs
#2067: FILE: tools/virtiofsd/fuse_lowlevel.c:2045:
+^I^I^Ise->conn.max_read, max_read_mo);$

ERROR: code indent should never use tabs
#2068: FILE: tools/virtiofsd/fuse_lowlevel.c:2046:
+^I^Ifuse_reply_err(req, EPROTO);$

ERROR: code indent should never use tabs
#2069: FILE: tools/virtiofsd/fuse_lowlevel.c:2047:
+^I^Ise->error = -EPROTO;$

ERROR: code indent should never use tabs
#2070: FILE: tools/virtiofsd/fuse_lowlevel.c:2048:
+^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2071: FILE: tools/virtiofsd/fuse_lowlevel.c:2049:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#2072: FILE: tools/virtiofsd/fuse_lowlevel.c:2050:
+^I}$

ERROR: code indent should never use tabs
#2074: FILE: tools/virtiofsd/fuse_lowlevel.c:2052:
+^Iif (se->conn.max_write < bufsize - FUSE_BUFFER_HEADER_SIZE) {$

ERROR: code indent should never use tabs
#2075: FILE: tools/virtiofsd/fuse_lowlevel.c:2053:
+^I^Ise->bufsize = se->conn.max_write + FUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2076: FILE: tools/virtiofsd/fuse_lowlevel.c:2054:
+^I}$

ERROR: code indent should never use tabs
#2077: FILE: tools/virtiofsd/fuse_lowlevel.c:2055:
+^Iif (arg->flags & FUSE_MAX_PAGES) {$

ERROR: code indent should never use tabs
#2078: FILE: tools/virtiofsd/fuse_lowlevel.c:2056:
+^I^Ioutarg.flags |= FUSE_MAX_PAGES;$

ERROR: code indent should never use tabs
#2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057:
+^I^Ioutarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057:
+               outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;

ERROR: code indent should never use tabs
#2080: FILE: tools/virtiofsd/fuse_lowlevel.c:2058:
+^I}$

ERROR: code indent should never use tabs
#2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060:
+^I/* Always enable big writes, this is superseded$

WARNING: Block comments use a leading /* on a separate line
#2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060:
+       /* Always enable big writes, this is superseded

ERROR: code indent should never use tabs
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+^I   by the max_write option */$

WARNING: Block comments use * on subsequent lines
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+       /* Always enable big writes, this is superseded
+          by the max_write option */

WARNING: Block comments use a trailing */ on a separate line
#2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061:
+          by the max_write option */

ERROR: code indent should never use tabs
#2084: FILE: tools/virtiofsd/fuse_lowlevel.c:2062:
+^Ioutarg.flags |= FUSE_BIG_WRITES;$

ERROR: code indent should never use tabs
#2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064:
+^Iif (se->conn.want & FUSE_CAP_ASYNC_READ)$

ERROR: braces {} are necessary for all arms of this statement
#2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064:
+       if (se->conn.want & FUSE_CAP_ASYNC_READ)
[...]

ERROR: code indent should never use tabs
#2087: FILE: tools/virtiofsd/fuse_lowlevel.c:2065:
+^I^Ioutarg.flags |= FUSE_ASYNC_READ;$

ERROR: code indent should never use tabs
#2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066:
+^Iif (se->conn.want & FUSE_CAP_POSIX_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066:
+       if (se->conn.want & FUSE_CAP_POSIX_LOCKS)
[...]

ERROR: code indent should never use tabs
#2089: FILE: tools/virtiofsd/fuse_lowlevel.c:2067:
+^I^Ioutarg.flags |= FUSE_POSIX_LOCKS;$

ERROR: code indent should never use tabs
#2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068:
+^Iif (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC)$

ERROR: braces {} are necessary for all arms of this statement
#2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068:
+       if (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC)
[...]

ERROR: code indent should never use tabs
#2091: FILE: tools/virtiofsd/fuse_lowlevel.c:2069:
+^I^Ioutarg.flags |= FUSE_ATOMIC_O_TRUNC;$

ERROR: code indent should never use tabs
#2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070:
+^Iif (se->conn.want & FUSE_CAP_EXPORT_SUPPORT)$

ERROR: braces {} are necessary for all arms of this statement
#2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070:
+       if (se->conn.want & FUSE_CAP_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#2093: FILE: tools/virtiofsd/fuse_lowlevel.c:2071:
+^I^Ioutarg.flags |= FUSE_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072:
+^Iif (se->conn.want & FUSE_CAP_DONT_MASK)$

ERROR: braces {} are necessary for all arms of this statement
#2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072:
+       if (se->conn.want & FUSE_CAP_DONT_MASK)
[...]

ERROR: code indent should never use tabs
#2095: FILE: tools/virtiofsd/fuse_lowlevel.c:2073:
+^I^Ioutarg.flags |= FUSE_DONT_MASK;$

ERROR: code indent should never use tabs
#2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074:
+^Iif (se->conn.want & FUSE_CAP_FLOCK_LOCKS)$

ERROR: braces {} are necessary for all arms of this statement
#2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074:
+       if (se->conn.want & FUSE_CAP_FLOCK_LOCKS)
[...]

ERROR: code indent should never use tabs
#2097: FILE: tools/virtiofsd/fuse_lowlevel.c:2075:
+^I^Ioutarg.flags |= FUSE_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076:
+^Iif (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA)$

ERROR: braces {} are necessary for all arms of this statement
#2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076:
+       if (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA)
[...]

ERROR: code indent should never use tabs
#2099: FILE: tools/virtiofsd/fuse_lowlevel.c:2077:
+^I^Ioutarg.flags |= FUSE_AUTO_INVAL_DATA;$

ERROR: code indent should never use tabs
#2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078:
+^Iif (se->conn.want & FUSE_CAP_READDIRPLUS)$

ERROR: braces {} are necessary for all arms of this statement
#2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078:
+       if (se->conn.want & FUSE_CAP_READDIRPLUS)
[...]

ERROR: code indent should never use tabs
#2101: FILE: tools/virtiofsd/fuse_lowlevel.c:2079:
+^I^Ioutarg.flags |= FUSE_DO_READDIRPLUS;$

ERROR: code indent should never use tabs
#2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080:
+^Iif (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO)$

ERROR: braces {} are necessary for all arms of this statement
#2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080:
+       if (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO)
[...]

ERROR: code indent should never use tabs
#2103: FILE: tools/virtiofsd/fuse_lowlevel.c:2081:
+^I^Ioutarg.flags |= FUSE_READDIRPLUS_AUTO;$

ERROR: code indent should never use tabs
#2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082:
+^Iif (se->conn.want & FUSE_CAP_ASYNC_DIO)$

ERROR: braces {} are necessary for all arms of this statement
#2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082:
+       if (se->conn.want & FUSE_CAP_ASYNC_DIO)
[...]

ERROR: code indent should never use tabs
#2105: FILE: tools/virtiofsd/fuse_lowlevel.c:2083:
+^I^Ioutarg.flags |= FUSE_ASYNC_DIO;$

ERROR: code indent should never use tabs
#2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084:
+^Iif (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)$

ERROR: braces {} are necessary for all arms of this statement
#2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084:
+       if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)
[...]

ERROR: code indent should never use tabs
#2107: FILE: tools/virtiofsd/fuse_lowlevel.c:2085:
+^I^Ioutarg.flags |= FUSE_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086:
+^Iif (se->conn.want & FUSE_CAP_POSIX_ACL)$

ERROR: braces {} are necessary for all arms of this statement
#2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086:
+       if (se->conn.want & FUSE_CAP_POSIX_ACL)
[...]

ERROR: code indent should never use tabs
#2109: FILE: tools/virtiofsd/fuse_lowlevel.c:2087:
+^I^Ioutarg.flags |= FUSE_POSIX_ACL;$

ERROR: code indent should never use tabs
#2110: FILE: tools/virtiofsd/fuse_lowlevel.c:2088:
+^Ioutarg.max_readahead = se->conn.max_readahead;$

ERROR: code indent should never use tabs
#2111: FILE: tools/virtiofsd/fuse_lowlevel.c:2089:
+^Ioutarg.max_write = se->conn.max_write;$

ERROR: code indent should never use tabs
#2112: FILE: tools/virtiofsd/fuse_lowlevel.c:2090:
+^Iif (se->conn.proto_minor >= 13) {$

ERROR: code indent should never use tabs
#2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091:
+^I^Iif (se->conn.max_background >= (1 << 16))$

ERROR: braces {} are necessary for all arms of this statement
#2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091:
+               if (se->conn.max_background >= (1 << 16))
[...]

ERROR: code indent should never use tabs
#2114: FILE: tools/virtiofsd/fuse_lowlevel.c:2092:
+^I^I^Ise->conn.max_background = (1 << 16) - 1;$

ERROR: code indent should never use tabs
#2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093:
+^I^Iif (se->conn.congestion_threshold > se->conn.max_background)$

ERROR: braces {} are necessary for all arms of this statement
#2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093:
+               if (se->conn.congestion_threshold > se->conn.max_background)
[...]

ERROR: code indent should never use tabs
#2116: FILE: tools/virtiofsd/fuse_lowlevel.c:2094:
+^I^I^Ise->conn.congestion_threshold = se->conn.max_background;$

ERROR: code indent should never use tabs
#2117: FILE: tools/virtiofsd/fuse_lowlevel.c:2095:
+^I^Iif (!se->conn.congestion_threshold) {$

ERROR: code indent should never use tabs
#2118: FILE: tools/virtiofsd/fuse_lowlevel.c:2096:
+^I^I^Ise->conn.congestion_threshold =$

ERROR: code indent should never use tabs
#2119: FILE: tools/virtiofsd/fuse_lowlevel.c:2097:
+^I^I^I^Ise->conn.max_background * 3 / 4;$

ERROR: code indent should never use tabs
#2120: FILE: tools/virtiofsd/fuse_lowlevel.c:2098:
+^I^I}$

ERROR: code indent should never use tabs
#2122: FILE: tools/virtiofsd/fuse_lowlevel.c:2100:
+^I^Ioutarg.max_background = se->conn.max_background;$

ERROR: code indent should never use tabs
#2123: FILE: tools/virtiofsd/fuse_lowlevel.c:2101:
+^I^Ioutarg.congestion_threshold = se->conn.congestion_threshold;$

ERROR: code indent should never use tabs
#2124: FILE: tools/virtiofsd/fuse_lowlevel.c:2102:
+^I}$

ERROR: code indent should never use tabs
#2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103:
+^Iif (se->conn.proto_minor >= 23)$

ERROR: braces {} are necessary for all arms of this statement
#2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103:
+       if (se->conn.proto_minor >= 23)
[...]

ERROR: code indent should never use tabs
#2126: FILE: tools/virtiofsd/fuse_lowlevel.c:2104:
+^I^Ioutarg.time_gran = se->conn.time_gran;$

ERROR: code indent should never use tabs
#2128: FILE: tools/virtiofsd/fuse_lowlevel.c:2106:
+^Iif (se->debug) {$

WARNING: line over 80 characters
#2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107:
+               fuse_log(FUSE_LOG_DEBUG, "   INIT: %u.%u\n", outarg.major, outarg.minor);

ERROR: code indent should never use tabs
#2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   INIT: %u.%u\n", outarg.major, outarg.minor);$

ERROR: code indent should never use tabs
#2130: FILE: tools/virtiofsd/fuse_lowlevel.c:2108:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   flags=0x%08x\n", outarg.flags);$

ERROR: code indent should never use tabs
#2131: FILE: tools/virtiofsd/fuse_lowlevel.c:2109:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_readahead=0x%08x\n",$

ERROR: code indent should never use tabs
#2132: FILE: tools/virtiofsd/fuse_lowlevel.c:2110:
+^I^I^Ioutarg.max_readahead);$

WARNING: line over 80 characters
#2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111:
+               fuse_log(FUSE_LOG_DEBUG, "   max_write=0x%08x\n", outarg.max_write);

ERROR: code indent should never use tabs
#2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_write=0x%08x\n", outarg.max_write);$

ERROR: code indent should never use tabs
#2134: FILE: tools/virtiofsd/fuse_lowlevel.c:2112:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   max_background=%i\n",$

ERROR: code indent should never use tabs
#2135: FILE: tools/virtiofsd/fuse_lowlevel.c:2113:
+^I^I^Ioutarg.max_background);$

ERROR: code indent should never use tabs
#2136: FILE: tools/virtiofsd/fuse_lowlevel.c:2114:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   congestion_threshold=%i\n",$

ERROR: code indent should never use tabs
#2137: FILE: tools/virtiofsd/fuse_lowlevel.c:2115:
+^I^I^Ioutarg.congestion_threshold);$

ERROR: code indent should never use tabs
#2138: FILE: tools/virtiofsd/fuse_lowlevel.c:2116:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "   time_gran=%u\n",$

ERROR: code indent should never use tabs
#2139: FILE: tools/virtiofsd/fuse_lowlevel.c:2117:
+^I^I^Ioutarg.time_gran);$

ERROR: code indent should never use tabs
#2140: FILE: tools/virtiofsd/fuse_lowlevel.c:2118:
+^I}$

ERROR: code indent should never use tabs
#2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119:
+^Iif (arg->minor < 5)$

ERROR: braces {} are necessary for all arms of this statement
#2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119:
+       if (arg->minor < 5)
[...]
+       else if (arg->minor < 23)
[...]

ERROR: code indent should never use tabs
#2142: FILE: tools/virtiofsd/fuse_lowlevel.c:2120:
+^I^Ioutargsize = FUSE_COMPAT_INIT_OUT_SIZE;$

ERROR: code indent should never use tabs
#2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121:
+^Ielse if (arg->minor < 23)$

ERROR: braces {} are necessary for all arms of this statement
#2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121:
+       else if (arg->minor < 23)
[...]

ERROR: code indent should never use tabs
#2144: FILE: tools/virtiofsd/fuse_lowlevel.c:2122:
+^I^Ioutargsize = FUSE_COMPAT_22_INIT_OUT_SIZE;$

ERROR: code indent should never use tabs
#2146: FILE: tools/virtiofsd/fuse_lowlevel.c:2124:
+^Isend_reply_ok(req, &outarg, outargsize);$

ERROR: code indent should never use tabs
#2151: FILE: tools/virtiofsd/fuse_lowlevel.c:2129:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2153: FILE: tools/virtiofsd/fuse_lowlevel.c:2131:
+^I(void) nodeid;$

ERROR: code indent should never use tabs
#2154: FILE: tools/virtiofsd/fuse_lowlevel.c:2132:
+^I(void) inarg;$

ERROR: code indent should never use tabs
#2156: FILE: tools/virtiofsd/fuse_lowlevel.c:2134:
+^Ise->got_destroy = 1;$

ERROR: code indent should never use tabs
#2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135:
+^Iif (se->op.destroy)$

ERROR: braces {} are necessary for all arms of this statement
#2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135:
+       if (se->op.destroy)
[...]

ERROR: code indent should never use tabs
#2158: FILE: tools/virtiofsd/fuse_lowlevel.c:2136:
+^I^Ise->op.destroy(se->userdata);$

ERROR: code indent should never use tabs
#2160: FILE: tools/virtiofsd/fuse_lowlevel.c:2138:
+^Isend_reply_ok(req, NULL, 0);$

ERROR: code indent should never use tabs
#2165: FILE: tools/virtiofsd/fuse_lowlevel.c:2143:
+^Istruct fuse_notify_req *prev = nreq->prev;$

ERROR: code indent should never use tabs
#2166: FILE: tools/virtiofsd/fuse_lowlevel.c:2144:
+^Istruct fuse_notify_req *next = nreq->next;$

ERROR: code indent should never use tabs
#2167: FILE: tools/virtiofsd/fuse_lowlevel.c:2145:
+^Iprev->next = next;$

ERROR: code indent should never use tabs
#2168: FILE: tools/virtiofsd/fuse_lowlevel.c:2146:
+^Inext->prev = prev;$

ERROR: code indent should never use tabs
#2172: FILE: tools/virtiofsd/fuse_lowlevel.c:2150:
+^I^I^I  struct fuse_notify_req *next)$

ERROR: code indent should never use tabs
#2174: FILE: tools/virtiofsd/fuse_lowlevel.c:2152:
+^Istruct fuse_notify_req *prev = next->prev;$

ERROR: code indent should never use tabs
#2175: FILE: tools/virtiofsd/fuse_lowlevel.c:2153:
+^Inreq->next = next;$

ERROR: code indent should never use tabs
#2176: FILE: tools/virtiofsd/fuse_lowlevel.c:2154:
+^Inreq->prev = prev;$

ERROR: code indent should never use tabs
#2177: FILE: tools/virtiofsd/fuse_lowlevel.c:2155:
+^Iprev->next = nreq;$

ERROR: code indent should never use tabs
#2178: FILE: tools/virtiofsd/fuse_lowlevel.c:2156:
+^Inext->prev = nreq;$

ERROR: code indent should never use tabs
#2183: FILE: tools/virtiofsd/fuse_lowlevel.c:2161:
+^Inreq->next = nreq;$

ERROR: code indent should never use tabs
#2184: FILE: tools/virtiofsd/fuse_lowlevel.c:2162:
+^Inreq->prev = nreq;$

ERROR: code indent should never use tabs
#2188: FILE: tools/virtiofsd/fuse_lowlevel.c:2166:
+^I^I^I    const void *inarg, const struct fuse_buf *buf)$

ERROR: code indent should never use tabs
#2190: FILE: tools/virtiofsd/fuse_lowlevel.c:2168:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2191: FILE: tools/virtiofsd/fuse_lowlevel.c:2169:
+^Istruct fuse_notify_req *nreq;$

ERROR: code indent should never use tabs
#2192: FILE: tools/virtiofsd/fuse_lowlevel.c:2170:
+^Istruct fuse_notify_req *head;$

ERROR: code indent should never use tabs
#2194: FILE: tools/virtiofsd/fuse_lowlevel.c:2172:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2195: FILE: tools/virtiofsd/fuse_lowlevel.c:2173:
+^Ihead = &se->notify_list;$

ERROR: code indent should never use tabs
#2196: FILE: tools/virtiofsd/fuse_lowlevel.c:2174:
+^Ifor (nreq = head->next; nreq != head; nreq = nreq->next) {$

ERROR: code indent should never use tabs
#2197: FILE: tools/virtiofsd/fuse_lowlevel.c:2175:
+^I^Iif (nreq->unique == req->unique) {$

ERROR: code indent should never use tabs
#2198: FILE: tools/virtiofsd/fuse_lowlevel.c:2176:
+^I^I^Ilist_del_nreq(nreq);$

ERROR: code indent should never use tabs
#2199: FILE: tools/virtiofsd/fuse_lowlevel.c:2177:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#2200: FILE: tools/virtiofsd/fuse_lowlevel.c:2178:
+^I^I}$

ERROR: code indent should never use tabs
#2201: FILE: tools/virtiofsd/fuse_lowlevel.c:2179:
+^I}$

ERROR: code indent should never use tabs
#2202: FILE: tools/virtiofsd/fuse_lowlevel.c:2180:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182:
+^Iif (nreq != head)$

ERROR: braces {} are necessary for all arms of this statement
#2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182:
+       if (nreq != head)
[...]

ERROR: code indent should never use tabs
#2205: FILE: tools/virtiofsd/fuse_lowlevel.c:2183:
+^I^Inreq->reply(nreq, req, nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2209: FILE: tools/virtiofsd/fuse_lowlevel.c:2187:
+^I^I^I   struct iovec *iov, int count)$

ERROR: code indent should never use tabs
#2211: FILE: tools/virtiofsd/fuse_lowlevel.c:2189:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191:
+^Iif (!se->got_init)$

ERROR: braces {} are necessary for all arms of this statement
#2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191:
+       if (!se->got_init)
[...]

ERROR: code indent should never use tabs
#2214: FILE: tools/virtiofsd/fuse_lowlevel.c:2192:
+^I^Ireturn -ENOTCONN;$

ERROR: code indent should never use tabs
#2216: FILE: tools/virtiofsd/fuse_lowlevel.c:2194:
+^Iout.unique = 0;$

ERROR: code indent should never use tabs
#2217: FILE: tools/virtiofsd/fuse_lowlevel.c:2195:
+^Iout.error = notify_code;$

ERROR: code indent should never use tabs
#2218: FILE: tools/virtiofsd/fuse_lowlevel.c:2196:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#2219: FILE: tools/virtiofsd/fuse_lowlevel.c:2197:
+^Iiov[0].iov_len = sizeof(struct fuse_out_header);$

ERROR: code indent should never use tabs
#2221: FILE: tools/virtiofsd/fuse_lowlevel.c:2199:
+^Ireturn fuse_send_msg(se, NULL, iov, count);$

ERROR: code indent should never use tabs
#2226: FILE: tools/virtiofsd/fuse_lowlevel.c:2204:
+^Iif (ph != NULL) {$

ERROR: code indent should never use tabs
#2227: FILE: tools/virtiofsd/fuse_lowlevel.c:2205:
+^I^Istruct fuse_notify_poll_wakeup_out outarg;$

ERROR: code indent should never use tabs
#2228: FILE: tools/virtiofsd/fuse_lowlevel.c:2206:
+^I^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2230: FILE: tools/virtiofsd/fuse_lowlevel.c:2208:
+^I^Ioutarg.kh = ph->kh;$

ERROR: code indent should never use tabs
#2232: FILE: tools/virtiofsd/fuse_lowlevel.c:2210:
+^I^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2233: FILE: tools/virtiofsd/fuse_lowlevel.c:2211:
+^I^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2235: FILE: tools/virtiofsd/fuse_lowlevel.c:2213:
+^I^Ireturn send_notify_iov(ph->se, FUSE_NOTIFY_POLL, iov, 2);$

ERROR: code indent should never use tabs
#2236: FILE: tools/virtiofsd/fuse_lowlevel.c:2214:
+^I} else {$

ERROR: code indent should never use tabs
#2237: FILE: tools/virtiofsd/fuse_lowlevel.c:2215:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2238: FILE: tools/virtiofsd/fuse_lowlevel.c:2216:
+^I}$

ERROR: code indent should never use tabs
#2242: FILE: tools/virtiofsd/fuse_lowlevel.c:2220:
+^I^I^I^I     off_t off, off_t len)$

ERROR: code indent should never use tabs
#2244: FILE: tools/virtiofsd/fuse_lowlevel.c:2222:
+^Istruct fuse_notify_inval_inode_out outarg;$

ERROR: code indent should never use tabs
#2245: FILE: tools/virtiofsd/fuse_lowlevel.c:2223:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2248: FILE: tools/virtiofsd/fuse_lowlevel.c:2226:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$

ERROR: braces {} are necessary for all arms of this statement
#2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 12)
[...]

ERROR: code indent should never use tabs
#2251: FILE: tools/virtiofsd/fuse_lowlevel.c:2229:
+^I^Ireturn -ENOSYS;$

ERROR: trailing whitespace
#2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230:
+^I$

ERROR: code indent should never use tabs
#2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230:
+^I$

ERROR: code indent should never use tabs
#2253: FILE: tools/virtiofsd/fuse_lowlevel.c:2231:
+^Ioutarg.ino = ino;$

ERROR: code indent should never use tabs
#2254: FILE: tools/virtiofsd/fuse_lowlevel.c:2232:
+^Ioutarg.off = off;$

ERROR: code indent should never use tabs
#2255: FILE: tools/virtiofsd/fuse_lowlevel.c:2233:
+^Ioutarg.len = len;$

ERROR: code indent should never use tabs
#2257: FILE: tools/virtiofsd/fuse_lowlevel.c:2235:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2258: FILE: tools/virtiofsd/fuse_lowlevel.c:2236:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2260: FILE: tools/virtiofsd/fuse_lowlevel.c:2238:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_INODE, iov, 2);$

ERROR: code indent should never use tabs
#2264: FILE: tools/virtiofsd/fuse_lowlevel.c:2242:
+^I^I^I^I     const char *name, size_t namelen)$

ERROR: code indent should never use tabs
#2266: FILE: tools/virtiofsd/fuse_lowlevel.c:2244:
+^Istruct fuse_notify_inval_entry_out outarg;$

ERROR: code indent should never use tabs
#2267: FILE: tools/virtiofsd/fuse_lowlevel.c:2245:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2270: FILE: tools/virtiofsd/fuse_lowlevel.c:2248:
+^I^Ireturn -EINVAL;$

ERROR: trailing whitespace
#2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249:
+^I$

ERROR: code indent should never use tabs
#2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249:
+^I$

ERROR: code indent should never use tabs
#2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$

ERROR: braces {} are necessary for all arms of this statement
#2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 12)
[...]

ERROR: code indent should never use tabs
#2273: FILE: tools/virtiofsd/fuse_lowlevel.c:2251:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2275: FILE: tools/virtiofsd/fuse_lowlevel.c:2253:
+^Ioutarg.parent = parent;$

ERROR: code indent should never use tabs
#2276: FILE: tools/virtiofsd/fuse_lowlevel.c:2254:
+^Ioutarg.namelen = namelen;$

ERROR: code indent should never use tabs
#2277: FILE: tools/virtiofsd/fuse_lowlevel.c:2255:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2279: FILE: tools/virtiofsd/fuse_lowlevel.c:2257:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2280: FILE: tools/virtiofsd/fuse_lowlevel.c:2258:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2281: FILE: tools/virtiofsd/fuse_lowlevel.c:2259:
+^Iiov[2].iov_base = (void *)name;$

ERROR: code indent should never use tabs
#2282: FILE: tools/virtiofsd/fuse_lowlevel.c:2260:
+^Iiov[2].iov_len = namelen + 1;$

ERROR: code indent should never use tabs
#2284: FILE: tools/virtiofsd/fuse_lowlevel.c:2262:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_ENTRY, iov, 3);$

ERROR: code indent should never use tabs
#2288: FILE: tools/virtiofsd/fuse_lowlevel.c:2266:
+^I^I^I^Ifuse_ino_t parent, fuse_ino_t child,$

ERROR: code indent should never use tabs
#2289: FILE: tools/virtiofsd/fuse_lowlevel.c:2267:
+^I^I^I^Iconst char *name, size_t namelen)$

ERROR: code indent should never use tabs
#2291: FILE: tools/virtiofsd/fuse_lowlevel.c:2269:
+^Istruct fuse_notify_delete_out outarg;$

ERROR: code indent should never use tabs
#2292: FILE: tools/virtiofsd/fuse_lowlevel.c:2270:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2295: FILE: tools/virtiofsd/fuse_lowlevel.c:2273:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 18)$

ERROR: braces {} are necessary for all arms of this statement
#2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 18)
[...]

ERROR: code indent should never use tabs
#2298: FILE: tools/virtiofsd/fuse_lowlevel.c:2276:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2300: FILE: tools/virtiofsd/fuse_lowlevel.c:2278:
+^Ioutarg.parent = parent;$

ERROR: code indent should never use tabs
#2301: FILE: tools/virtiofsd/fuse_lowlevel.c:2279:
+^Ioutarg.child = child;$

ERROR: code indent should never use tabs
#2302: FILE: tools/virtiofsd/fuse_lowlevel.c:2280:
+^Ioutarg.namelen = namelen;$

ERROR: code indent should never use tabs
#2303: FILE: tools/virtiofsd/fuse_lowlevel.c:2281:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2305: FILE: tools/virtiofsd/fuse_lowlevel.c:2283:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2306: FILE: tools/virtiofsd/fuse_lowlevel.c:2284:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2307: FILE: tools/virtiofsd/fuse_lowlevel.c:2285:
+^Iiov[2].iov_base = (void *)name;$

ERROR: code indent should never use tabs
#2308: FILE: tools/virtiofsd/fuse_lowlevel.c:2286:
+^Iiov[2].iov_len = namelen + 1;$

ERROR: code indent should never use tabs
#2310: FILE: tools/virtiofsd/fuse_lowlevel.c:2288:
+^Ireturn send_notify_iov(se, FUSE_NOTIFY_DELETE, iov, 3);$

ERROR: code indent should never use tabs
#2314: FILE: tools/virtiofsd/fuse_lowlevel.c:2292:
+^I^I^I       off_t offset, struct fuse_bufvec *bufv,$

ERROR: code indent should never use tabs
#2315: FILE: tools/virtiofsd/fuse_lowlevel.c:2293:
+^I^I^I       enum fuse_buf_copy_flags flags)$

ERROR: code indent should never use tabs
#2317: FILE: tools/virtiofsd/fuse_lowlevel.c:2295:
+^Istruct fuse_out_header out;$

ERROR: code indent should never use tabs
#2318: FILE: tools/virtiofsd/fuse_lowlevel.c:2296:
+^Istruct fuse_notify_store_out outarg;$

ERROR: code indent should never use tabs
#2319: FILE: tools/virtiofsd/fuse_lowlevel.c:2297:
+^Istruct iovec iov[3];$

ERROR: code indent should never use tabs
#2320: FILE: tools/virtiofsd/fuse_lowlevel.c:2298:
+^Isize_t size = fuse_buf_size(bufv);$

ERROR: code indent should never use tabs
#2321: FILE: tools/virtiofsd/fuse_lowlevel.c:2299:
+^Iint res;$

ERROR: code indent should never use tabs
#2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2324: FILE: tools/virtiofsd/fuse_lowlevel.c:2302:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$

ERROR: braces {} are necessary for all arms of this statement
#2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 15)
[...]

ERROR: code indent should never use tabs
#2327: FILE: tools/virtiofsd/fuse_lowlevel.c:2305:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2329: FILE: tools/virtiofsd/fuse_lowlevel.c:2307:
+^Iout.unique = 0;$

ERROR: code indent should never use tabs
#2330: FILE: tools/virtiofsd/fuse_lowlevel.c:2308:
+^Iout.error = FUSE_NOTIFY_STORE;$

ERROR: code indent should never use tabs
#2332: FILE: tools/virtiofsd/fuse_lowlevel.c:2310:
+^Ioutarg.nodeid = ino;$

ERROR: code indent should never use tabs
#2333: FILE: tools/virtiofsd/fuse_lowlevel.c:2311:
+^Ioutarg.offset = offset;$

ERROR: code indent should never use tabs
#2334: FILE: tools/virtiofsd/fuse_lowlevel.c:2312:
+^Ioutarg.size = size;$

ERROR: code indent should never use tabs
#2335: FILE: tools/virtiofsd/fuse_lowlevel.c:2313:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2337: FILE: tools/virtiofsd/fuse_lowlevel.c:2315:
+^Iiov[0].iov_base = &out;$

ERROR: code indent should never use tabs
#2338: FILE: tools/virtiofsd/fuse_lowlevel.c:2316:
+^Iiov[0].iov_len = sizeof(out);$

ERROR: code indent should never use tabs
#2339: FILE: tools/virtiofsd/fuse_lowlevel.c:2317:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2340: FILE: tools/virtiofsd/fuse_lowlevel.c:2318:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2342: FILE: tools/virtiofsd/fuse_lowlevel.c:2320:
+^Ires = fuse_send_data_iov(se, NULL, iov, 2, bufv, flags);$

ERROR: code indent should never use tabs
#2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321:
+^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321:
+       if (res > 0)
[...]

ERROR: code indent should never use tabs
#2344: FILE: tools/virtiofsd/fuse_lowlevel.c:2322:
+^I^Ires = -res;$

ERROR: code indent should never use tabs
#2346: FILE: tools/virtiofsd/fuse_lowlevel.c:2324:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2350: FILE: tools/virtiofsd/fuse_lowlevel.c:2328:
+^Istruct fuse_notify_req nreq;$

ERROR: code indent should never use tabs
#2351: FILE: tools/virtiofsd/fuse_lowlevel.c:2329:
+^Ivoid *cookie;$

ERROR: code indent should never use tabs
#2355: FILE: tools/virtiofsd/fuse_lowlevel.c:2333:
+^I^I^I^I   fuse_req_t req, fuse_ino_t ino,$

ERROR: code indent should never use tabs
#2356: FILE: tools/virtiofsd/fuse_lowlevel.c:2334:
+^I^I^I^I   const void *inarg,$

ERROR: code indent should never use tabs
#2357: FILE: tools/virtiofsd/fuse_lowlevel.c:2335:
+^I^I^I^I   const struct fuse_buf *ibuf)$

ERROR: code indent should never use tabs
#2359: FILE: tools/virtiofsd/fuse_lowlevel.c:2337:
+^Istruct fuse_session *se = req->se;$

ERROR: code indent should never use tabs
#2360: FILE: tools/virtiofsd/fuse_lowlevel.c:2338:
+^Istruct fuse_retrieve_req *rreq =$

ERROR: code indent should never use tabs
#2361: FILE: tools/virtiofsd/fuse_lowlevel.c:2339:
+^I^Icontainer_of(nreq, struct fuse_retrieve_req, nreq);$

ERROR: code indent should never use tabs
#2362: FILE: tools/virtiofsd/fuse_lowlevel.c:2340:
+^Iconst struct fuse_notify_retrieve_in *arg = inarg;$

ERROR: code indent should never use tabs
#2363: FILE: tools/virtiofsd/fuse_lowlevel.c:2341:
+^Istruct fuse_bufvec bufv = {$

ERROR: code indent should never use tabs
#2364: FILE: tools/virtiofsd/fuse_lowlevel.c:2342:
+^I^I.buf[0] = *ibuf,$

ERROR: code indent should never use tabs
#2365: FILE: tools/virtiofsd/fuse_lowlevel.c:2343:
+^I^I.count = 1,$

ERROR: code indent should never use tabs
#2366: FILE: tools/virtiofsd/fuse_lowlevel.c:2344:
+^I};$

ERROR: code indent should never use tabs
#2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346:
+^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$

ERROR: braces {} are necessary for all arms of this statement
#2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346:
+       if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))
[...]

ERROR: code indent should never use tabs
#2369: FILE: tools/virtiofsd/fuse_lowlevel.c:2347:
+^I^Ibufv.buf[0].mem = PARAM(arg);$

ERROR: code indent should never use tabs
#2371: FILE: tools/virtiofsd/fuse_lowlevel.c:2349:
+^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2372: FILE: tools/virtiofsd/fuse_lowlevel.c:2350:
+^I^Isizeof(struct fuse_notify_retrieve_in);$

ERROR: code indent should never use tabs
#2374: FILE: tools/virtiofsd/fuse_lowlevel.c:2352:
+^Iif (bufv.buf[0].size < arg->size) {$

WARNING: line over 80 characters
#2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353:
+               fuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too small\n");

ERROR: code indent should never use tabs
#2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too small\n");$

ERROR: code indent should never use tabs
#2376: FILE: tools/virtiofsd/fuse_lowlevel.c:2354:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#2377: FILE: tools/virtiofsd/fuse_lowlevel.c:2355:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#2378: FILE: tools/virtiofsd/fuse_lowlevel.c:2356:
+^I}$

ERROR: code indent should never use tabs
#2379: FILE: tools/virtiofsd/fuse_lowlevel.c:2357:
+^Ibufv.buf[0].size = arg->size;$

ERROR: code indent should never use tabs
#2381: FILE: tools/virtiofsd/fuse_lowlevel.c:2359:
+^Iif (se->op.retrieve_reply) {$

ERROR: code indent should never use tabs
#2382: FILE: tools/virtiofsd/fuse_lowlevel.c:2360:
+^I^Ise->op.retrieve_reply(req, rreq->cookie, ino,$

ERROR: code indent should never use tabs
#2383: FILE: tools/virtiofsd/fuse_lowlevel.c:2361:
+^I^I^I^I^I  arg->offset, &bufv);$

ERROR: code indent should never use tabs
#2384: FILE: tools/virtiofsd/fuse_lowlevel.c:2362:
+^I} else {$

ERROR: code indent should never use tabs
#2385: FILE: tools/virtiofsd/fuse_lowlevel.c:2363:
+^I^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#2386: FILE: tools/virtiofsd/fuse_lowlevel.c:2364:
+^I}$

ERROR: code indent should never use tabs
#2388: FILE: tools/virtiofsd/fuse_lowlevel.c:2366:
+^Ifree(rreq);$

ERROR: code indent should never use tabs
#2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367:
+^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$

ERROR: braces {} are necessary for all arms of this statement
#2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367:
+       if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)
[...]

ERROR: code indent should never use tabs
#2390: FILE: tools/virtiofsd/fuse_lowlevel.c:2368:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2394: FILE: tools/virtiofsd/fuse_lowlevel.c:2372:
+^I^I^I^I  size_t size, off_t offset, void *cookie)$

ERROR: code indent should never use tabs
#2396: FILE: tools/virtiofsd/fuse_lowlevel.c:2374:
+^Istruct fuse_notify_retrieve_out outarg;$

ERROR: code indent should never use tabs
#2397: FILE: tools/virtiofsd/fuse_lowlevel.c:2375:
+^Istruct iovec iov[2];$

ERROR: code indent should never use tabs
#2398: FILE: tools/virtiofsd/fuse_lowlevel.c:2376:
+^Istruct fuse_retrieve_req *rreq;$

ERROR: code indent should never use tabs
#2399: FILE: tools/virtiofsd/fuse_lowlevel.c:2377:
+^Iint err;$

ERROR: code indent should never use tabs
#2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379:
+^Iif (!se)$

ERROR: braces {} are necessary for all arms of this statement
#2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379:
+       if (!se)
[...]

ERROR: code indent should never use tabs
#2402: FILE: tools/virtiofsd/fuse_lowlevel.c:2380:
+^I^Ireturn -EINVAL;$

ERROR: code indent should never use tabs
#2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382:
+^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$

ERROR: braces {} are necessary for all arms of this statement
#2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382:
+       if (se->conn.proto_major < 6 || se->conn.proto_minor < 15)
[...]

ERROR: code indent should never use tabs
#2405: FILE: tools/virtiofsd/fuse_lowlevel.c:2383:
+^I^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#2407: FILE: tools/virtiofsd/fuse_lowlevel.c:2385:
+^Irreq = malloc(sizeof(*rreq));$

ERROR: code indent should never use tabs
#2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386:
+^Iif (rreq == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386:
+       if (rreq == NULL)
[...]

ERROR: code indent should never use tabs
#2409: FILE: tools/virtiofsd/fuse_lowlevel.c:2387:
+^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2411: FILE: tools/virtiofsd/fuse_lowlevel.c:2389:
+^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2412: FILE: tools/virtiofsd/fuse_lowlevel.c:2390:
+^Irreq->cookie = cookie;$

ERROR: code indent should never use tabs
#2413: FILE: tools/virtiofsd/fuse_lowlevel.c:2391:
+^Irreq->nreq.unique = se->notify_ctr++;$

ERROR: code indent should never use tabs
#2414: FILE: tools/virtiofsd/fuse_lowlevel.c:2392:
+^Irreq->nreq.reply = fuse_ll_retrieve_reply;$

ERROR: code indent should never use tabs
#2415: FILE: tools/virtiofsd/fuse_lowlevel.c:2393:
+^Ilist_add_nreq(&rreq->nreq, &se->notify_list);$

ERROR: code indent should never use tabs
#2416: FILE: tools/virtiofsd/fuse_lowlevel.c:2394:
+^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2418: FILE: tools/virtiofsd/fuse_lowlevel.c:2396:
+^Ioutarg.notify_unique = rreq->nreq.unique;$

ERROR: code indent should never use tabs
#2419: FILE: tools/virtiofsd/fuse_lowlevel.c:2397:
+^Ioutarg.nodeid = ino;$

ERROR: code indent should never use tabs
#2420: FILE: tools/virtiofsd/fuse_lowlevel.c:2398:
+^Ioutarg.offset = offset;$

ERROR: code indent should never use tabs
#2421: FILE: tools/virtiofsd/fuse_lowlevel.c:2399:
+^Ioutarg.size = size;$

ERROR: code indent should never use tabs
#2422: FILE: tools/virtiofsd/fuse_lowlevel.c:2400:
+^Ioutarg.padding = 0;$

ERROR: code indent should never use tabs
#2424: FILE: tools/virtiofsd/fuse_lowlevel.c:2402:
+^Iiov[1].iov_base = &outarg;$

ERROR: code indent should never use tabs
#2425: FILE: tools/virtiofsd/fuse_lowlevel.c:2403:
+^Iiov[1].iov_len = sizeof(outarg);$

ERROR: code indent should never use tabs
#2427: FILE: tools/virtiofsd/fuse_lowlevel.c:2405:
+^Ierr = send_notify_iov(se, FUSE_NOTIFY_RETRIEVE, iov, 2);$

ERROR: code indent should never use tabs
#2428: FILE: tools/virtiofsd/fuse_lowlevel.c:2406:
+^Iif (err) {$

ERROR: code indent should never use tabs
#2429: FILE: tools/virtiofsd/fuse_lowlevel.c:2407:
+^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2430: FILE: tools/virtiofsd/fuse_lowlevel.c:2408:
+^I^Ilist_del_nreq(&rreq->nreq);$

ERROR: code indent should never use tabs
#2431: FILE: tools/virtiofsd/fuse_lowlevel.c:2409:
+^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2432: FILE: tools/virtiofsd/fuse_lowlevel.c:2410:
+^I^Ifree(rreq);$

ERROR: code indent should never use tabs
#2433: FILE: tools/virtiofsd/fuse_lowlevel.c:2411:
+^I}$

ERROR: code indent should never use tabs
#2435: FILE: tools/virtiofsd/fuse_lowlevel.c:2413:
+^Ireturn err;$

ERROR: code indent should never use tabs
#2440: FILE: tools/virtiofsd/fuse_lowlevel.c:2418:
+^Ireturn req->se->userdata;$

ERROR: code indent should never use tabs
#2445: FILE: tools/virtiofsd/fuse_lowlevel.c:2423:
+^Ireturn &req->ctx;$

ERROR: code indent should never use tabs
#2449: FILE: tools/virtiofsd/fuse_lowlevel.c:2427:
+^I^I^I     void *data)$

ERROR: code indent should never use tabs
#2451: FILE: tools/virtiofsd/fuse_lowlevel.c:2429:
+^Ipthread_mutex_lock(&req->lock);$

ERROR: code indent should never use tabs
#2452: FILE: tools/virtiofsd/fuse_lowlevel.c:2430:
+^Ipthread_mutex_lock(&req->se->lock);$

ERROR: code indent should never use tabs
#2453: FILE: tools/virtiofsd/fuse_lowlevel.c:2431:
+^Ireq->u.ni.func = func;$

ERROR: code indent should never use tabs
#2454: FILE: tools/virtiofsd/fuse_lowlevel.c:2432:
+^Ireq->u.ni.data = data;$

ERROR: code indent should never use tabs
#2455: FILE: tools/virtiofsd/fuse_lowlevel.c:2433:
+^Ipthread_mutex_unlock(&req->se->lock);$

ERROR: code indent should never use tabs
#2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434:
+^Iif (req->interrupted && func)$

ERROR: braces {} are necessary for all arms of this statement
#2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434:
+       if (req->interrupted && func)
[...]

ERROR: code indent should never use tabs
#2457: FILE: tools/virtiofsd/fuse_lowlevel.c:2435:
+^I^Ifunc(req, data);$

ERROR: code indent should never use tabs
#2458: FILE: tools/virtiofsd/fuse_lowlevel.c:2436:
+^Ipthread_mutex_unlock(&req->lock);$

ERROR: code indent should never use tabs
#2463: FILE: tools/virtiofsd/fuse_lowlevel.c:2441:
+^Iint interrupted;$

ERROR: code indent should never use tabs
#2465: FILE: tools/virtiofsd/fuse_lowlevel.c:2443:
+^Ipthread_mutex_lock(&req->se->lock);$

ERROR: code indent should never use tabs
#2466: FILE: tools/virtiofsd/fuse_lowlevel.c:2444:
+^Iinterrupted = req->interrupted;$

ERROR: code indent should never use tabs
#2467: FILE: tools/virtiofsd/fuse_lowlevel.c:2445:
+^Ipthread_mutex_unlock(&req->se->lock);$

ERROR: code indent should never use tabs
#2469: FILE: tools/virtiofsd/fuse_lowlevel.c:2447:
+^Ireturn interrupted;$

ERROR: code indent should never use tabs
#2473: FILE: tools/virtiofsd/fuse_lowlevel.c:2451:
+^Ivoid (*func)(fuse_req_t, fuse_ino_t, const void *);$

ERROR: code indent should never use tabs
#2474: FILE: tools/virtiofsd/fuse_lowlevel.c:2452:
+^Iconst char *name;$

ERROR: code indent should never use tabs
#2476: FILE: tools/virtiofsd/fuse_lowlevel.c:2454:
+^I[FUSE_LOOKUP]^I   = { do_lookup,      "LOOKUP"^I     },$

ERROR: code indent should never use tabs
#2477: FILE: tools/virtiofsd/fuse_lowlevel.c:2455:
+^I[FUSE_FORGET]^I   = { do_forget,      "FORGET"^I     },$

ERROR: code indent should never use tabs
#2478: FILE: tools/virtiofsd/fuse_lowlevel.c:2456:
+^I[FUSE_GETATTR]^I   = { do_getattr,     "GETATTR"     },$

ERROR: code indent should never use tabs
#2479: FILE: tools/virtiofsd/fuse_lowlevel.c:2457:
+^I[FUSE_SETATTR]^I   = { do_setattr,     "SETATTR"     },$

ERROR: code indent should never use tabs
#2480: FILE: tools/virtiofsd/fuse_lowlevel.c:2458:
+^I[FUSE_READLINK]^I   = { do_readlink,    "READLINK"    },$

ERROR: code indent should never use tabs
#2481: FILE: tools/virtiofsd/fuse_lowlevel.c:2459:
+^I[FUSE_SYMLINK]^I   = { do_symlink,     "SYMLINK"     },$

ERROR: code indent should never use tabs
#2482: FILE: tools/virtiofsd/fuse_lowlevel.c:2460:
+^I[FUSE_MKNOD]^I   = { do_mknod,       "MKNOD"^I     },$

ERROR: code indent should never use tabs
#2483: FILE: tools/virtiofsd/fuse_lowlevel.c:2461:
+^I[FUSE_MKDIR]^I   = { do_mkdir,       "MKDIR"^I     },$

ERROR: code indent should never use tabs
#2484: FILE: tools/virtiofsd/fuse_lowlevel.c:2462:
+^I[FUSE_UNLINK]^I   = { do_unlink,      "UNLINK"^I     },$

ERROR: code indent should never use tabs
#2485: FILE: tools/virtiofsd/fuse_lowlevel.c:2463:
+^I[FUSE_RMDIR]^I   = { do_rmdir,       "RMDIR"^I     },$

ERROR: code indent should never use tabs
#2486: FILE: tools/virtiofsd/fuse_lowlevel.c:2464:
+^I[FUSE_RENAME]^I   = { do_rename,      "RENAME"^I     },$

ERROR: code indent should never use tabs
#2487: FILE: tools/virtiofsd/fuse_lowlevel.c:2465:
+^I[FUSE_LINK]^I   = { do_link,^I       "LINK"^I     },$

ERROR: code indent should never use tabs
#2488: FILE: tools/virtiofsd/fuse_lowlevel.c:2466:
+^I[FUSE_OPEN]^I   = { do_open,^I       "OPEN"^I     },$

ERROR: code indent should never use tabs
#2489: FILE: tools/virtiofsd/fuse_lowlevel.c:2467:
+^I[FUSE_READ]^I   = { do_read,^I       "READ"^I     },$

ERROR: code indent should never use tabs
#2490: FILE: tools/virtiofsd/fuse_lowlevel.c:2468:
+^I[FUSE_WRITE]^I   = { do_write,       "WRITE"^I     },$

ERROR: code indent should never use tabs
#2491: FILE: tools/virtiofsd/fuse_lowlevel.c:2469:
+^I[FUSE_STATFS]^I   = { do_statfs,      "STATFS"^I     },$

ERROR: code indent should never use tabs
#2492: FILE: tools/virtiofsd/fuse_lowlevel.c:2470:
+^I[FUSE_RELEASE]^I   = { do_release,     "RELEASE"     },$

ERROR: code indent should never use tabs
#2493: FILE: tools/virtiofsd/fuse_lowlevel.c:2471:
+^I[FUSE_FSYNC]^I   = { do_fsync,       "FSYNC"^I     },$

ERROR: code indent should never use tabs
#2494: FILE: tools/virtiofsd/fuse_lowlevel.c:2472:
+^I[FUSE_SETXATTR]^I   = { do_setxattr,    "SETXATTR"    },$

ERROR: code indent should never use tabs
#2495: FILE: tools/virtiofsd/fuse_lowlevel.c:2473:
+^I[FUSE_GETXATTR]^I   = { do_getxattr,    "GETXATTR"    },$

ERROR: code indent should never use tabs
#2496: FILE: tools/virtiofsd/fuse_lowlevel.c:2474:
+^I[FUSE_LISTXATTR]   = { do_listxattr,   "LISTXATTR"   },$

ERROR: code indent should never use tabs
#2497: FILE: tools/virtiofsd/fuse_lowlevel.c:2475:
+^I[FUSE_REMOVEXATTR] = { do_removexattr, "REMOVEXATTR" },$

ERROR: code indent should never use tabs
#2498: FILE: tools/virtiofsd/fuse_lowlevel.c:2476:
+^I[FUSE_FLUSH]^I   = { do_flush,       "FLUSH"^I     },$

ERROR: code indent should never use tabs
#2499: FILE: tools/virtiofsd/fuse_lowlevel.c:2477:
+^I[FUSE_INIT]^I   = { do_init,^I       "INIT"^I     },$

ERROR: code indent should never use tabs
#2500: FILE: tools/virtiofsd/fuse_lowlevel.c:2478:
+^I[FUSE_OPENDIR]^I   = { do_opendir,     "OPENDIR"     },$

ERROR: code indent should never use tabs
#2501: FILE: tools/virtiofsd/fuse_lowlevel.c:2479:
+^I[FUSE_READDIR]^I   = { do_readdir,     "READDIR"     },$

ERROR: code indent should never use tabs
#2502: FILE: tools/virtiofsd/fuse_lowlevel.c:2480:
+^I[FUSE_RELEASEDIR]  = { do_releasedir,  "RELEASEDIR"  },$

ERROR: code indent should never use tabs
#2503: FILE: tools/virtiofsd/fuse_lowlevel.c:2481:
+^I[FUSE_FSYNCDIR]^I   = { do_fsyncdir,    "FSYNCDIR"    },$

ERROR: code indent should never use tabs
#2504: FILE: tools/virtiofsd/fuse_lowlevel.c:2482:
+^I[FUSE_GETLK]^I   = { do_getlk,       "GETLK"^I     },$

ERROR: code indent should never use tabs
#2505: FILE: tools/virtiofsd/fuse_lowlevel.c:2483:
+^I[FUSE_SETLK]^I   = { do_setlk,       "SETLK"^I     },$

ERROR: code indent should never use tabs
#2506: FILE: tools/virtiofsd/fuse_lowlevel.c:2484:
+^I[FUSE_SETLKW]^I   = { do_setlkw,      "SETLKW"^I     },$

ERROR: code indent should never use tabs
#2507: FILE: tools/virtiofsd/fuse_lowlevel.c:2485:
+^I[FUSE_ACCESS]^I   = { do_access,      "ACCESS"^I     },$

ERROR: code indent should never use tabs
#2508: FILE: tools/virtiofsd/fuse_lowlevel.c:2486:
+^I[FUSE_CREATE]^I   = { do_create,      "CREATE"^I     },$

ERROR: code indent should never use tabs
#2509: FILE: tools/virtiofsd/fuse_lowlevel.c:2487:
+^I[FUSE_INTERRUPT]   = { do_interrupt,   "INTERRUPT"   },$

ERROR: code indent should never use tabs
#2510: FILE: tools/virtiofsd/fuse_lowlevel.c:2488:
+^I[FUSE_BMAP]^I   = { do_bmap,^I       "BMAP"^I     },$

ERROR: code indent should never use tabs
#2511: FILE: tools/virtiofsd/fuse_lowlevel.c:2489:
+^I[FUSE_IOCTL]^I   = { do_ioctl,       "IOCTL"^I     },$

ERROR: code indent should never use tabs
#2512: FILE: tools/virtiofsd/fuse_lowlevel.c:2490:
+^I[FUSE_POLL]^I   = { do_poll,        "POLL"^I     },$

ERROR: code indent should never use tabs
#2513: FILE: tools/virtiofsd/fuse_lowlevel.c:2491:
+^I[FUSE_FALLOCATE]   = { do_fallocate,   "FALLOCATE"   },$

ERROR: code indent should never use tabs
#2514: FILE: tools/virtiofsd/fuse_lowlevel.c:2492:
+^I[FUSE_DESTROY]^I   = { do_destroy,     "DESTROY"     },$

ERROR: code indent should never use tabs
#2515: FILE: tools/virtiofsd/fuse_lowlevel.c:2493:
+^I[FUSE_NOTIFY_REPLY] = { (void *) 1,    "NOTIFY_REPLY" },$

ERROR: code indent should never use tabs
#2516: FILE: tools/virtiofsd/fuse_lowlevel.c:2494:
+^I[FUSE_BATCH_FORGET] = { do_batch_forget, "BATCH_FORGET" },$

ERROR: code indent should never use tabs
#2517: FILE: tools/virtiofsd/fuse_lowlevel.c:2495:
+^I[FUSE_READDIRPLUS] = { do_readdirplus,^I"READDIRPLUS"},$

ERROR: code indent should never use tabs
#2518: FILE: tools/virtiofsd/fuse_lowlevel.c:2496:
+^I[FUSE_RENAME2]     = { do_rename2,      "RENAME2"    },$

ERROR: code indent should never use tabs
#2519: FILE: tools/virtiofsd/fuse_lowlevel.c:2497:
+^I[FUSE_COPY_FILE_RANGE] = { do_copy_file_range, "COPY_FILE_RANGE" },$

ERROR: code indent should never use tabs
#2520: FILE: tools/virtiofsd/fuse_lowlevel.c:2498:
+^I[FUSE_LSEEK]^I   = { do_lseek,       "LSEEK"^I     },$

ERROR: code indent should never use tabs
#2521: FILE: tools/virtiofsd/fuse_lowlevel.c:2499:
+^I[CUSE_INIT]^I   = { cuse_lowlevel_init, "CUSE_INIT"   },$

ERROR: code indent should never use tabs
#2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506:
+^Iif (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name)$

ERROR: braces {} are necessary for all arms of this statement
#2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506:
+       if (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2529: FILE: tools/virtiofsd/fuse_lowlevel.c:2507:
+^I^Ireturn "???";$

ERROR: code indent should never use tabs
#2530: FILE: tools/virtiofsd/fuse_lowlevel.c:2508:
+^Ielse$

ERROR: code indent should never use tabs
#2531: FILE: tools/virtiofsd/fuse_lowlevel.c:2509:
+^I^Ireturn fuse_ll_ops[opcode].name;$

ERROR: code indent should never use tabs
#2535: FILE: tools/virtiofsd/fuse_lowlevel.c:2513:
+^I^I^I^I  struct fuse_bufvec *src)$

ERROR: code indent should never use tabs
#2537: FILE: tools/virtiofsd/fuse_lowlevel.c:2515:
+^Issize_t res = fuse_buf_copy(dst, src, 0);$

ERROR: code indent should never use tabs
#2538: FILE: tools/virtiofsd/fuse_lowlevel.c:2516:
+^Iif (res < 0) {$

WARNING: line over 80 characters
#2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517:
+               fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res));

ERROR: code indent should never use tabs
#2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res));$

ERROR: code indent should never use tabs
#2540: FILE: tools/virtiofsd/fuse_lowlevel.c:2518:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#2541: FILE: tools/virtiofsd/fuse_lowlevel.c:2519:
+^I}$

ERROR: code indent should never use tabs
#2542: FILE: tools/virtiofsd/fuse_lowlevel.c:2520:
+^Iif ((size_t)res < fuse_buf_size(dst)) {$

ERROR: code indent should never use tabs
#2543: FILE: tools/virtiofsd/fuse_lowlevel.c:2521:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$

ERROR: code indent should never use tabs
#2544: FILE: tools/virtiofsd/fuse_lowlevel.c:2522:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#2545: FILE: tools/virtiofsd/fuse_lowlevel.c:2523:
+^I}$

ERROR: code indent should never use tabs
#2546: FILE: tools/virtiofsd/fuse_lowlevel.c:2524:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#2550: FILE: tools/virtiofsd/fuse_lowlevel.c:2528:
+^I^I^I      const struct fuse_buf *buf)$

ERROR: code indent should never use tabs
#2552: FILE: tools/virtiofsd/fuse_lowlevel.c:2530:
+^Ifuse_session_process_buf_int(se, buf, NULL);$

WARNING: line over 80 characters
#2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534:
+                                 const struct fuse_buf *buf, struct fuse_chan *ch)

ERROR: code indent should never use tabs
#2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534:
+^I^I^I^I  const struct fuse_buf *buf, struct fuse_chan *ch)$

ERROR: code indent should never use tabs
#2558: FILE: tools/virtiofsd/fuse_lowlevel.c:2536:
+^Iconst size_t write_header_size = sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2559: FILE: tools/virtiofsd/fuse_lowlevel.c:2537:
+^I^Isizeof(struct fuse_write_in);$

ERROR: code indent should never use tabs
#2560: FILE: tools/virtiofsd/fuse_lowlevel.c:2538:
+^Istruct fuse_bufvec bufv = { .buf[0] = *buf, .count = 1 };$

ERROR: code indent should never use tabs
#2561: FILE: tools/virtiofsd/fuse_lowlevel.c:2539:
+^Istruct fuse_bufvec tmpbuf = FUSE_BUFVEC_INIT(write_header_size);$

ERROR: code indent should never use tabs
#2562: FILE: tools/virtiofsd/fuse_lowlevel.c:2540:
+^Istruct fuse_in_header *in;$

ERROR: code indent should never use tabs
#2563: FILE: tools/virtiofsd/fuse_lowlevel.c:2541:
+^Iconst void *inarg;$

ERROR: code indent should never use tabs
#2564: FILE: tools/virtiofsd/fuse_lowlevel.c:2542:
+^Istruct fuse_req *req;$

ERROR: code indent should never use tabs
#2565: FILE: tools/virtiofsd/fuse_lowlevel.c:2543:
+^Ivoid *mbuf = NULL;$

ERROR: code indent should never use tabs
#2566: FILE: tools/virtiofsd/fuse_lowlevel.c:2544:
+^Iint err;$

ERROR: code indent should never use tabs
#2567: FILE: tools/virtiofsd/fuse_lowlevel.c:2545:
+^Iint res;$

ERROR: code indent should never use tabs
#2569: FILE: tools/virtiofsd/fuse_lowlevel.c:2547:
+^Iif (buf->flags & FUSE_BUF_IS_FD) {$

ERROR: code indent should never use tabs
#2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548:
+^I^Iif (buf->size < tmpbuf.buf[0].size)$

ERROR: braces {} are necessary for all arms of this statement
#2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548:
+               if (buf->size < tmpbuf.buf[0].size)
[...]

ERROR: code indent should never use tabs
#2571: FILE: tools/virtiofsd/fuse_lowlevel.c:2549:
+^I^I^Itmpbuf.buf[0].size = buf->size;$

ERROR: code indent should never use tabs
#2573: FILE: tools/virtiofsd/fuse_lowlevel.c:2551:
+^I^Imbuf = malloc(tmpbuf.buf[0].size);$

ERROR: code indent should never use tabs
#2574: FILE: tools/virtiofsd/fuse_lowlevel.c:2552:
+^I^Iif (mbuf == NULL) {$

WARNING: line over 80 characters
#2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553:
+                       fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate header\n");

ERROR: code indent should never use tabs
#2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate header\n");$

ERROR: code indent should never use tabs
#2576: FILE: tools/virtiofsd/fuse_lowlevel.c:2554:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2577: FILE: tools/virtiofsd/fuse_lowlevel.c:2555:
+^I^I}$

ERROR: code indent should never use tabs
#2578: FILE: tools/virtiofsd/fuse_lowlevel.c:2556:
+^I^Itmpbuf.buf[0].mem = mbuf;$

ERROR: code indent should never use tabs
#2580: FILE: tools/virtiofsd/fuse_lowlevel.c:2558:
+^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$

ERROR: code indent should never use tabs
#2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559:
+^I^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559:
+               if (res < 0)
[...]

ERROR: code indent should never use tabs
#2582: FILE: tools/virtiofsd/fuse_lowlevel.c:2560:
+^I^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2584: FILE: tools/virtiofsd/fuse_lowlevel.c:2562:
+^I^Iin = mbuf;$

ERROR: code indent should never use tabs
#2585: FILE: tools/virtiofsd/fuse_lowlevel.c:2563:
+^I} else {$

ERROR: code indent should never use tabs
#2586: FILE: tools/virtiofsd/fuse_lowlevel.c:2564:
+^I^Iin = buf->mem;$

ERROR: code indent should never use tabs
#2587: FILE: tools/virtiofsd/fuse_lowlevel.c:2565:
+^I}$

ERROR: code indent should never use tabs
#2589: FILE: tools/virtiofsd/fuse_lowlevel.c:2567:
+^Iif (se->debug) {$

ERROR: code indent should never use tabs
#2590: FILE: tools/virtiofsd/fuse_lowlevel.c:2568:
+^I^Ifuse_log(FUSE_LOG_DEBUG,$

ERROR: code indent should never use tabs
#2591: FILE: tools/virtiofsd/fuse_lowlevel.c:2569:
+^I^I^I"unique: %llu, opcode: %s (%i), nodeid: %llu, insize: %zu, pid: %u\n",$

ERROR: code indent should never use tabs
#2592: FILE: tools/virtiofsd/fuse_lowlevel.c:2570:
+^I^I^I(unsigned long long) in->unique,$

ERROR: code indent should never use tabs
#2593: FILE: tools/virtiofsd/fuse_lowlevel.c:2571:
+^I^I^Iopname((enum fuse_opcode) in->opcode), in->opcode,$

ERROR: code indent should never use tabs
#2594: FILE: tools/virtiofsd/fuse_lowlevel.c:2572:
+^I^I^I(unsigned long long) in->nodeid, buf->size, in->pid);$

ERROR: code indent should never use tabs
#2595: FILE: tools/virtiofsd/fuse_lowlevel.c:2573:
+^I}$

ERROR: code indent should never use tabs
#2597: FILE: tools/virtiofsd/fuse_lowlevel.c:2575:
+^Ireq = fuse_ll_alloc_req(se);$

ERROR: code indent should never use tabs
#2598: FILE: tools/virtiofsd/fuse_lowlevel.c:2576:
+^Iif (req == NULL) {$

ERROR: code indent should never use tabs
#2599: FILE: tools/virtiofsd/fuse_lowlevel.c:2577:
+^I^Istruct fuse_out_header out = {$

ERROR: code indent should never use tabs
#2600: FILE: tools/virtiofsd/fuse_lowlevel.c:2578:
+^I^I^I.unique = in->unique,$

ERROR: code indent should never use tabs
#2601: FILE: tools/virtiofsd/fuse_lowlevel.c:2579:
+^I^I^I.error = -ENOMEM,$

ERROR: code indent should never use tabs
#2602: FILE: tools/virtiofsd/fuse_lowlevel.c:2580:
+^I^I};$

ERROR: code indent should never use tabs
#2603: FILE: tools/virtiofsd/fuse_lowlevel.c:2581:
+^I^Istruct iovec iov = {$

ERROR: code indent should never use tabs
#2604: FILE: tools/virtiofsd/fuse_lowlevel.c:2582:
+^I^I^I.iov_base = &out,$

ERROR: code indent should never use tabs
#2605: FILE: tools/virtiofsd/fuse_lowlevel.c:2583:
+^I^I^I.iov_len = sizeof(struct fuse_out_header),$

ERROR: code indent should never use tabs
#2606: FILE: tools/virtiofsd/fuse_lowlevel.c:2584:
+^I^I};$

ERROR: code indent should never use tabs
#2608: FILE: tools/virtiofsd/fuse_lowlevel.c:2586:
+^I^Ifuse_send_msg(se, ch, &iov, 1);$

ERROR: code indent should never use tabs
#2609: FILE: tools/virtiofsd/fuse_lowlevel.c:2587:
+^I^Igoto clear_pipe;$

ERROR: code indent should never use tabs
#2610: FILE: tools/virtiofsd/fuse_lowlevel.c:2588:
+^I}$

ERROR: code indent should never use tabs
#2612: FILE: tools/virtiofsd/fuse_lowlevel.c:2590:
+^Ireq->unique = in->unique;$

ERROR: code indent should never use tabs
#2613: FILE: tools/virtiofsd/fuse_lowlevel.c:2591:
+^Ireq->ctx.uid = in->uid;$

ERROR: code indent should never use tabs
#2614: FILE: tools/virtiofsd/fuse_lowlevel.c:2592:
+^Ireq->ctx.gid = in->gid;$

ERROR: code indent should never use tabs
#2615: FILE: tools/virtiofsd/fuse_lowlevel.c:2593:
+^Ireq->ctx.pid = in->pid;$

ERROR: code indent should never use tabs
#2616: FILE: tools/virtiofsd/fuse_lowlevel.c:2594:
+^Ireq->ch = ch ? fuse_chan_get(ch) : NULL;$

ERROR: code indent should never use tabs
#2618: FILE: tools/virtiofsd/fuse_lowlevel.c:2596:
+^Ierr = EIO;$

ERROR: code indent should never use tabs
#2619: FILE: tools/virtiofsd/fuse_lowlevel.c:2597:
+^Iif (!se->got_init) {$

ERROR: code indent should never use tabs
#2620: FILE: tools/virtiofsd/fuse_lowlevel.c:2598:
+^I^Ienum fuse_opcode expected;$

ERROR: code indent should never use tabs
#2622: FILE: tools/virtiofsd/fuse_lowlevel.c:2600:
+^I^Iexpected = se->cuse_data ? CUSE_INIT : FUSE_INIT;$

ERROR: code indent should never use tabs
#2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601:
+^I^Iif (in->opcode != expected)$

ERROR: braces {} are necessary for all arms of this statement
#2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601:
+               if (in->opcode != expected)
[...]

ERROR: code indent should never use tabs
#2624: FILE: tools/virtiofsd/fuse_lowlevel.c:2602:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603:
+^I} else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT)$

ERROR: braces {} are necessary for all arms of this statement
#2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603:
+       } else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT)
[...]

ERROR: code indent should never use tabs
#2626: FILE: tools/virtiofsd/fuse_lowlevel.c:2604:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2628: FILE: tools/virtiofsd/fuse_lowlevel.c:2606:
+^Ierr = EACCES;$

ERROR: code indent should never use tabs
#2629: FILE: tools/virtiofsd/fuse_lowlevel.c:2607:
+^I/* Implement -o allow_root */$

ERROR: code indent should never use tabs
#2630: FILE: tools/virtiofsd/fuse_lowlevel.c:2608:
+^Iif (se->deny_others && in->uid != se->owner && in->uid != 0 &&$

ERROR: code indent should never use tabs
#2631: FILE: tools/virtiofsd/fuse_lowlevel.c:2609:
+^I^I in->opcode != FUSE_INIT && in->opcode != FUSE_READ &&$

ERROR: code indent should never use tabs
#2632: FILE: tools/virtiofsd/fuse_lowlevel.c:2610:
+^I^I in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC &&$

ERROR: code indent should never use tabs
#2633: FILE: tools/virtiofsd/fuse_lowlevel.c:2611:
+^I^I in->opcode != FUSE_RELEASE && in->opcode != FUSE_READDIR &&$

ERROR: code indent should never use tabs
#2634: FILE: tools/virtiofsd/fuse_lowlevel.c:2612:
+^I^I in->opcode != FUSE_FSYNCDIR && in->opcode != FUSE_RELEASEDIR &&$

ERROR: code indent should never use tabs
#2635: FILE: tools/virtiofsd/fuse_lowlevel.c:2613:
+^I^I in->opcode != FUSE_NOTIFY_REPLY &&$

ERROR: code indent should never use tabs
#2636: FILE: tools/virtiofsd/fuse_lowlevel.c:2614:
+^I^I in->opcode != FUSE_READDIRPLUS)$

ERROR: code indent should never use tabs
#2637: FILE: tools/virtiofsd/fuse_lowlevel.c:2615:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2639: FILE: tools/virtiofsd/fuse_lowlevel.c:2617:
+^Ierr = ENOSYS;$

ERROR: code indent should never use tabs
#2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618:
+^Iif (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)$

ERROR: braces {} are necessary for all arms of this statement
#2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618:
+       if (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)
[...]

ERROR: code indent should never use tabs
#2641: FILE: tools/virtiofsd/fuse_lowlevel.c:2619:
+^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2642: FILE: tools/virtiofsd/fuse_lowlevel.c:2620:
+^Iif (in->opcode != FUSE_INTERRUPT) {$

ERROR: code indent should never use tabs
#2643: FILE: tools/virtiofsd/fuse_lowlevel.c:2621:
+^I^Istruct fuse_req *intr;$

ERROR: code indent should never use tabs
#2644: FILE: tools/virtiofsd/fuse_lowlevel.c:2622:
+^I^Ipthread_mutex_lock(&se->lock);$

ERROR: code indent should never use tabs
#2645: FILE: tools/virtiofsd/fuse_lowlevel.c:2623:
+^I^Iintr = check_interrupt(se, req);$

ERROR: code indent should never use tabs
#2646: FILE: tools/virtiofsd/fuse_lowlevel.c:2624:
+^I^Ilist_add_req(req, &se->list);$

ERROR: code indent should never use tabs
#2647: FILE: tools/virtiofsd/fuse_lowlevel.c:2625:
+^I^Ipthread_mutex_unlock(&se->lock);$

ERROR: code indent should never use tabs
#2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626:
+^I^Iif (intr)$

ERROR: braces {} are necessary for all arms of this statement
#2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626:
+               if (intr)
[...]

ERROR: code indent should never use tabs
#2649: FILE: tools/virtiofsd/fuse_lowlevel.c:2627:
+^I^I^Ifuse_reply_err(intr, EAGAIN);$

ERROR: code indent should never use tabs
#2650: FILE: tools/virtiofsd/fuse_lowlevel.c:2628:
+^I}$

ERROR: code indent should never use tabs
#2652: FILE: tools/virtiofsd/fuse_lowlevel.c:2630:
+^Iif ((buf->flags & FUSE_BUF_IS_FD) && write_header_size < buf->size &&$

ERROR: code indent should never use tabs
#2653: FILE: tools/virtiofsd/fuse_lowlevel.c:2631:
+^I    (in->opcode != FUSE_WRITE || !se->op.write_buf) &&$

ERROR: code indent should never use tabs
#2654: FILE: tools/virtiofsd/fuse_lowlevel.c:2632:
+^I    in->opcode != FUSE_NOTIFY_REPLY) {$

ERROR: code indent should never use tabs
#2655: FILE: tools/virtiofsd/fuse_lowlevel.c:2633:
+^I^Ivoid *newmbuf;$

ERROR: code indent should never use tabs
#2657: FILE: tools/virtiofsd/fuse_lowlevel.c:2635:
+^I^Ierr = ENOMEM;$

ERROR: code indent should never use tabs
#2658: FILE: tools/virtiofsd/fuse_lowlevel.c:2636:
+^I^Inewmbuf = realloc(mbuf, buf->size);$

ERROR: code indent should never use tabs
#2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637:
+^I^Iif (newmbuf == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637:
+               if (newmbuf == NULL)
[...]

ERROR: code indent should never use tabs
#2660: FILE: tools/virtiofsd/fuse_lowlevel.c:2638:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2661: FILE: tools/virtiofsd/fuse_lowlevel.c:2639:
+^I^Imbuf = newmbuf;$

ERROR: code indent should never use tabs
#2663: FILE: tools/virtiofsd/fuse_lowlevel.c:2641:
+^I^Itmpbuf = FUSE_BUFVEC_INIT(buf->size - write_header_size);$

ERROR: code indent should never use tabs
#2664: FILE: tools/virtiofsd/fuse_lowlevel.c:2642:
+^I^Itmpbuf.buf[0].mem = (char *)mbuf + write_header_size;$

ERROR: code indent should never use tabs
#2666: FILE: tools/virtiofsd/fuse_lowlevel.c:2644:
+^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$

ERROR: code indent should never use tabs
#2667: FILE: tools/virtiofsd/fuse_lowlevel.c:2645:
+^I^Ierr = -res;$

ERROR: code indent should never use tabs
#2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646:
+^I^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646:
+               if (res < 0)
[...]

ERROR: code indent should never use tabs
#2669: FILE: tools/virtiofsd/fuse_lowlevel.c:2647:
+^I^I^Igoto reply_err;$

ERROR: code indent should never use tabs
#2671: FILE: tools/virtiofsd/fuse_lowlevel.c:2649:
+^I^Iin = mbuf;$

ERROR: code indent should never use tabs
#2672: FILE: tools/virtiofsd/fuse_lowlevel.c:2650:
+^I}$

ERROR: code indent should never use tabs
#2674: FILE: tools/virtiofsd/fuse_lowlevel.c:2652:
+^Iinarg = (void *) &in[1];$

ERROR: code indent should never use tabs
#2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653:
+^Iif (in->opcode == FUSE_WRITE && se->op.write_buf)$

ERROR: braces {} are necessary for all arms of this statement
#2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653:
+       if (in->opcode == FUSE_WRITE && se->op.write_buf)
[...]
+       else if (in->opcode == FUSE_NOTIFY_REPLY)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2676: FILE: tools/virtiofsd/fuse_lowlevel.c:2654:
+^I^Ido_write_buf(req, in->nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655:
+^Ielse if (in->opcode == FUSE_NOTIFY_REPLY)$

ERROR: braces {} are necessary for all arms of this statement
#2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655:
+       else if (in->opcode == FUSE_NOTIFY_REPLY)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#2678: FILE: tools/virtiofsd/fuse_lowlevel.c:2656:
+^I^Ido_notify_reply(req, in->nodeid, inarg, buf);$

ERROR: code indent should never use tabs
#2679: FILE: tools/virtiofsd/fuse_lowlevel.c:2657:
+^Ielse$

ERROR: code indent should never use tabs
#2680: FILE: tools/virtiofsd/fuse_lowlevel.c:2658:
+^I^Ifuse_ll_ops[in->opcode].func(req, in->nodeid, inarg);$

ERROR: code indent should never use tabs
#2683: FILE: tools/virtiofsd/fuse_lowlevel.c:2661:
+^Ifree(mbuf);$

ERROR: code indent should never use tabs
#2684: FILE: tools/virtiofsd/fuse_lowlevel.c:2662:
+^Ireturn;$

ERROR: code indent should never use tabs
#2687: FILE: tools/virtiofsd/fuse_lowlevel.c:2665:
+^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667:
+^Iif (buf->flags & FUSE_BUF_IS_FD)$

ERROR: braces {} are necessary for all arms of this statement
#2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667:
+       if (buf->flags & FUSE_BUF_IS_FD)
[...]

ERROR: code indent should never use tabs
#2690: FILE: tools/virtiofsd/fuse_lowlevel.c:2668:
+^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2691: FILE: tools/virtiofsd/fuse_lowlevel.c:2669:
+^Igoto out_free;$

ERROR: space required after that ',' (ctx:VxV)
#2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672:
+#define LL_OPTION(n,o,v) \
                    ^

ERROR: space required after that ',' (ctx:VxV)
#2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672:
+#define LL_OPTION(n,o,v) \
                      ^

ERROR: code indent should never use tabs
#2695: FILE: tools/virtiofsd/fuse_lowlevel.c:2673:
+^I{ n, offsetof(struct fuse_session, o), v }$

ERROR: code indent should never use tabs
#2698: FILE: tools/virtiofsd/fuse_lowlevel.c:2676:
+^ILL_OPTION("debug", debug, 1),$

ERROR: code indent should never use tabs
#2699: FILE: tools/virtiofsd/fuse_lowlevel.c:2677:
+^ILL_OPTION("-d", debug, 1),$

ERROR: code indent should never use tabs
#2700: FILE: tools/virtiofsd/fuse_lowlevel.c:2678:
+^ILL_OPTION("--debug", debug, 1),$

ERROR: code indent should never use tabs
#2701: FILE: tools/virtiofsd/fuse_lowlevel.c:2679:
+^ILL_OPTION("allow_root", deny_others, 1),$

ERROR: code indent should never use tabs
#2702: FILE: tools/virtiofsd/fuse_lowlevel.c:2680:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#2707: FILE: tools/virtiofsd/fuse_lowlevel.c:2685:
+^Iprintf("using FUSE kernel interface version %i.%i\n",$

ERROR: code indent should never use tabs
#2708: FILE: tools/virtiofsd/fuse_lowlevel.c:2686:
+^I       FUSE_KERNEL_VERSION, FUSE_KERNEL_MINOR_VERSION);$

ERROR: code indent should never use tabs
#2709: FILE: tools/virtiofsd/fuse_lowlevel.c:2687:
+^Ifuse_mount_version();$

ERROR: code indent should never use tabs
#2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692:
+^I/* These are not all options, but the ones that are$

WARNING: Block comments use a leading /* on a separate line
#2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692:
+       /* These are not all options, but the ones that are

ERROR: code indent should never use tabs
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+^I   potentially of interest to an end-user */$

WARNING: Block comments use * on subsequent lines
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+       /* These are not all options, but the ones that are
+          potentially of interest to an end-user */

WARNING: Block comments use a trailing */ on a separate line
#2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693:
+          potentially of interest to an end-user */

ERROR: code indent should never use tabs
#2716: FILE: tools/virtiofsd/fuse_lowlevel.c:2694:
+^Iprintf($

ERROR: code indent should never use tabs
#2724: FILE: tools/virtiofsd/fuse_lowlevel.c:2702:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#2726: FILE: tools/virtiofsd/fuse_lowlevel.c:2704:
+^Iif (se->got_init && !se->got_destroy) {$

ERROR: code indent should never use tabs
#2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705:
+^I^Iif (se->op.destroy)$

ERROR: braces {} are necessary for all arms of this statement
#2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705:
+               if (se->op.destroy)
[...]

ERROR: code indent should never use tabs
#2728: FILE: tools/virtiofsd/fuse_lowlevel.c:2706:
+^I^I^Ise->op.destroy(se->userdata);$

ERROR: code indent should never use tabs
#2729: FILE: tools/virtiofsd/fuse_lowlevel.c:2707:
+^I}$

ERROR: code indent should never use tabs
#2730: FILE: tools/virtiofsd/fuse_lowlevel.c:2708:
+^Illp = pthread_getspecific(se->pipe_key);$

ERROR: code indent should never use tabs
#2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709:
+^Iif (llp != NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709:
+       if (llp != NULL)
[...]

ERROR: code indent should never use tabs
#2732: FILE: tools/virtiofsd/fuse_lowlevel.c:2710:
+^I^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#2733: FILE: tools/virtiofsd/fuse_lowlevel.c:2711:
+^Ipthread_key_delete(se->pipe_key);$

ERROR: code indent should never use tabs
#2734: FILE: tools/virtiofsd/fuse_lowlevel.c:2712:
+^Ipthread_mutex_destroy(&se->lock);$

ERROR: code indent should never use tabs
#2735: FILE: tools/virtiofsd/fuse_lowlevel.c:2713:
+^Ifree(se->cuse_data);$

ERROR: code indent should never use tabs
#2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714:
+^Iif (se->fd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714:
+       if (se->fd != -1)
[...]

ERROR: code indent should never use tabs
#2737: FILE: tools/virtiofsd/fuse_lowlevel.c:2715:
+^I^Iclose(se->fd);$

ERROR: code indent should never use tabs
#2738: FILE: tools/virtiofsd/fuse_lowlevel.c:2716:
+^Idestroy_mount_opts(se->mo);$

ERROR: code indent should never use tabs
#2739: FILE: tools/virtiofsd/fuse_lowlevel.c:2717:
+^Ifree(se);$

ERROR: code indent should never use tabs
#2745: FILE: tools/virtiofsd/fuse_lowlevel.c:2723:
+^Istruct fuse_ll_pipe *llp = data;$

ERROR: code indent should never use tabs
#2746: FILE: tools/virtiofsd/fuse_lowlevel.c:2724:
+^Ifuse_ll_pipe_free(llp);$

ERROR: code indent should never use tabs
#2751: FILE: tools/virtiofsd/fuse_lowlevel.c:2729:
+^Ireturn fuse_session_receive_buf_int(se, buf, NULL);$

ERROR: code indent should never use tabs
#2755: FILE: tools/virtiofsd/fuse_lowlevel.c:2733:
+^I^I^I^I struct fuse_chan *ch)$

ERROR: code indent should never use tabs
#2757: FILE: tools/virtiofsd/fuse_lowlevel.c:2735:
+^Iint err;$

ERROR: code indent should never use tabs
#2758: FILE: tools/virtiofsd/fuse_lowlevel.c:2736:
+^Issize_t res;$

ERROR: code indent should never use tabs
#2760: FILE: tools/virtiofsd/fuse_lowlevel.c:2738:
+^Isize_t bufsize = se->bufsize;$

ERROR: code indent should never use tabs
#2761: FILE: tools/virtiofsd/fuse_lowlevel.c:2739:
+^Istruct fuse_ll_pipe *llp;$

ERROR: code indent should never use tabs
#2762: FILE: tools/virtiofsd/fuse_lowlevel.c:2740:
+^Istruct fuse_buf tmpbuf;$

WARNING: line over 80 characters
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+       if (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ))

ERROR: code indent should never use tabs
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+^Iif (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ))$

ERROR: braces {} are necessary for all arms of this statement
#2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742:
+       if (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ))
[...]

ERROR: code indent should never use tabs
#2765: FILE: tools/virtiofsd/fuse_lowlevel.c:2743:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2767: FILE: tools/virtiofsd/fuse_lowlevel.c:2745:
+^Illp = fuse_ll_get_pipe(se);$

ERROR: code indent should never use tabs
#2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746:
+^Iif (llp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746:
+       if (llp == NULL)
[...]

ERROR: code indent should never use tabs
#2769: FILE: tools/virtiofsd/fuse_lowlevel.c:2747:
+^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2771: FILE: tools/virtiofsd/fuse_lowlevel.c:2749:
+^Iif (llp->size < bufsize) {$

ERROR: code indent should never use tabs
#2772: FILE: tools/virtiofsd/fuse_lowlevel.c:2750:
+^I^Iif (llp->can_grow) {$

ERROR: code indent should never use tabs
#2773: FILE: tools/virtiofsd/fuse_lowlevel.c:2751:
+^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, bufsize);$

ERROR: code indent should never use tabs
#2774: FILE: tools/virtiofsd/fuse_lowlevel.c:2752:
+^I^I^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2775: FILE: tools/virtiofsd/fuse_lowlevel.c:2753:
+^I^I^I^Illp->can_grow = 0;$

ERROR: code indent should never use tabs
#2776: FILE: tools/virtiofsd/fuse_lowlevel.c:2754:
+^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$

ERROR: code indent should never use tabs
#2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755:
+^I^I^I^Iif (res > 0)$

ERROR: braces {} are necessary for all arms of this statement
#2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755:
+                               if (res > 0)
[...]

ERROR: code indent should never use tabs
#2778: FILE: tools/virtiofsd/fuse_lowlevel.c:2756:
+^I^I^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#2779: FILE: tools/virtiofsd/fuse_lowlevel.c:2757:
+^I^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2780: FILE: tools/virtiofsd/fuse_lowlevel.c:2758:
+^I^I^I}$

ERROR: code indent should never use tabs
#2781: FILE: tools/virtiofsd/fuse_lowlevel.c:2759:
+^I^I^Illp->size = res;$

ERROR: code indent should never use tabs
#2782: FILE: tools/virtiofsd/fuse_lowlevel.c:2760:
+^I^I}$

ERROR: code indent should never use tabs
#2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761:
+^I^Iif (llp->size < bufsize)$

ERROR: braces {} are necessary for all arms of this statement
#2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761:
+               if (llp->size < bufsize)
[...]

ERROR: code indent should never use tabs
#2784: FILE: tools/virtiofsd/fuse_lowlevel.c:2762:
+^I^I^Igoto fallback;$

ERROR: code indent should never use tabs
#2785: FILE: tools/virtiofsd/fuse_lowlevel.c:2763:
+^I}$

ERROR: code indent should never use tabs
#2787: FILE: tools/virtiofsd/fuse_lowlevel.c:2765:
+^Ires = splice(ch ? ch->fd : se->fd,$

ERROR: code indent should never use tabs
#2788: FILE: tools/virtiofsd/fuse_lowlevel.c:2766:
+^I^I     NULL, llp->pipe[1], NULL, bufsize, 0);$

ERROR: code indent should never use tabs
#2789: FILE: tools/virtiofsd/fuse_lowlevel.c:2767:
+^Ierr = errno;$

ERROR: code indent should never use tabs
#2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769:
+^Iif (fuse_session_exited(se))$

ERROR: braces {} are necessary for all arms of this statement
#2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769:
+       if (fuse_session_exited(se))
[...]

ERROR: code indent should never use tabs
#2792: FILE: tools/virtiofsd/fuse_lowlevel.c:2770:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2794: FILE: tools/virtiofsd/fuse_lowlevel.c:2772:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2795: FILE: tools/virtiofsd/fuse_lowlevel.c:2773:
+^I^Iif (err == ENODEV) {$

ERROR: code indent should never use tabs
#2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774:
+^I^I^I/* Filesystem was unmounted, or connection was aborted$

WARNING: Block comments use a leading /* on a separate line
#2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774:
+                       /* Filesystem was unmounted, or connection was aborted

ERROR: code indent should never use tabs
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+^I^I^I   via /sys/fs/fuse/connections */$

WARNING: Block comments use * on subsequent lines
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+                       /* Filesystem was unmounted, or connection was aborted
+                          via /sys/fs/fuse/connections */

WARNING: Block comments use a trailing */ on a separate line
#2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775:
+                          via /sys/fs/fuse/connections */

ERROR: code indent should never use tabs
#2798: FILE: tools/virtiofsd/fuse_lowlevel.c:2776:
+^I^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2799: FILE: tools/virtiofsd/fuse_lowlevel.c:2777:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2800: FILE: tools/virtiofsd/fuse_lowlevel.c:2778:
+^I^I}$

ERROR: code indent should never use tabs
#2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779:
+^I^Iif (err != EINTR && err != EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779:
+               if (err != EINTR && err != EAGAIN)
[...]

ERROR: code indent should never use tabs
#2802: FILE: tools/virtiofsd/fuse_lowlevel.c:2780:
+^I^I^Iperror("fuse: splice from device");$

ERROR: code indent should never use tabs
#2803: FILE: tools/virtiofsd/fuse_lowlevel.c:2781:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#2804: FILE: tools/virtiofsd/fuse_lowlevel.c:2782:
+^I}$

ERROR: code indent should never use tabs
#2806: FILE: tools/virtiofsd/fuse_lowlevel.c:2784:
+^Iif (res < sizeof(struct fuse_in_header)) {$

ERROR: code indent should never use tabs
#2807: FILE: tools/virtiofsd/fuse_lowlevel.c:2785:
+^I^Ifuse_log(FUSE_LOG_ERR, "short splice from fuse device\n");$

ERROR: code indent should never use tabs
#2808: FILE: tools/virtiofsd/fuse_lowlevel.c:2786:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2809: FILE: tools/virtiofsd/fuse_lowlevel.c:2787:
+^I}$

ERROR: code indent should never use tabs
#2811: FILE: tools/virtiofsd/fuse_lowlevel.c:2789:
+^Itmpbuf = (struct fuse_buf) {$

ERROR: code indent should never use tabs
#2812: FILE: tools/virtiofsd/fuse_lowlevel.c:2790:
+^I^I.size = res,$

ERROR: code indent should never use tabs
#2813: FILE: tools/virtiofsd/fuse_lowlevel.c:2791:
+^I^I.flags = FUSE_BUF_IS_FD,$

ERROR: code indent should never use tabs
#2814: FILE: tools/virtiofsd/fuse_lowlevel.c:2792:
+^I^I.fd = llp->pipe[0],$

ERROR: code indent should never use tabs
#2815: FILE: tools/virtiofsd/fuse_lowlevel.c:2793:
+^I};$

ERROR: code indent should never use tabs
#2817: FILE: tools/virtiofsd/fuse_lowlevel.c:2795:
+^I/*$

ERROR: code indent should never use tabs
#2818: FILE: tools/virtiofsd/fuse_lowlevel.c:2796:
+^I * Don't bother with zero copy for small requests.$

ERROR: code indent should never use tabs
#2819: FILE: tools/virtiofsd/fuse_lowlevel.c:2797:
+^I * fuse_loop_mt() needs to check for FORGET so this more than$

ERROR: code indent should never use tabs
#2820: FILE: tools/virtiofsd/fuse_lowlevel.c:2798:
+^I * just an optimization.$

ERROR: code indent should never use tabs
#2821: FILE: tools/virtiofsd/fuse_lowlevel.c:2799:
+^I */$

ERROR: code indent should never use tabs
#2822: FILE: tools/virtiofsd/fuse_lowlevel.c:2800:
+^Iif (res < sizeof(struct fuse_in_header) +$

ERROR: code indent should never use tabs
#2823: FILE: tools/virtiofsd/fuse_lowlevel.c:2801:
+^I    sizeof(struct fuse_write_in) + pagesize) {$

ERROR: code indent should never use tabs
#2824: FILE: tools/virtiofsd/fuse_lowlevel.c:2802:
+^I^Istruct fuse_bufvec src = { .buf[0] = tmpbuf, .count = 1 };$

ERROR: code indent should never use tabs
#2825: FILE: tools/virtiofsd/fuse_lowlevel.c:2803:
+^I^Istruct fuse_bufvec dst = { .count = 1 };$

ERROR: code indent should never use tabs
#2827: FILE: tools/virtiofsd/fuse_lowlevel.c:2805:
+^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2828: FILE: tools/virtiofsd/fuse_lowlevel.c:2806:
+^I^I^Ibuf->mem = malloc(se->bufsize);$

ERROR: code indent should never use tabs
#2829: FILE: tools/virtiofsd/fuse_lowlevel.c:2807:
+^I^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2830: FILE: tools/virtiofsd/fuse_lowlevel.c:2808:
+^I^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#2831: FILE: tools/virtiofsd/fuse_lowlevel.c:2809:
+^I^I^I^I^I"fuse: failed to allocate read buffer\n");$

ERROR: code indent should never use tabs
#2832: FILE: tools/virtiofsd/fuse_lowlevel.c:2810:
+^I^I^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2833: FILE: tools/virtiofsd/fuse_lowlevel.c:2811:
+^I^I^I}$

ERROR: code indent should never use tabs
#2834: FILE: tools/virtiofsd/fuse_lowlevel.c:2812:
+^I^I}$

ERROR: code indent should never use tabs
#2835: FILE: tools/virtiofsd/fuse_lowlevel.c:2813:
+^I^Ibuf->size = se->bufsize;$

ERROR: code indent should never use tabs
#2836: FILE: tools/virtiofsd/fuse_lowlevel.c:2814:
+^I^Ibuf->flags = 0;$

ERROR: code indent should never use tabs
#2837: FILE: tools/virtiofsd/fuse_lowlevel.c:2815:
+^I^Idst.buf[0] = *buf;$

ERROR: code indent should never use tabs
#2839: FILE: tools/virtiofsd/fuse_lowlevel.c:2817:
+^I^Ires = fuse_buf_copy(&dst, &src, 0);$

ERROR: code indent should never use tabs
#2840: FILE: tools/virtiofsd/fuse_lowlevel.c:2818:
+^I^Iif (res < 0) {$

ERROR: code indent should never use tabs
#2841: FILE: tools/virtiofsd/fuse_lowlevel.c:2819:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n",$

ERROR: code indent should never use tabs
#2842: FILE: tools/virtiofsd/fuse_lowlevel.c:2820:
+^I^I^I^Istrerror(-res));$

ERROR: code indent should never use tabs
#2843: FILE: tools/virtiofsd/fuse_lowlevel.c:2821:
+^I^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2844: FILE: tools/virtiofsd/fuse_lowlevel.c:2822:
+^I^I^Ireturn res;$

ERROR: code indent should never use tabs
#2845: FILE: tools/virtiofsd/fuse_lowlevel.c:2823:
+^I^I}$

ERROR: code indent should never use tabs
#2846: FILE: tools/virtiofsd/fuse_lowlevel.c:2824:
+^I^Iif (res < tmpbuf.size) {$

WARNING: line over 80 characters
#2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825:
+                       fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");

ERROR: code indent should never use tabs
#2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$

ERROR: code indent should never use tabs
#2848: FILE: tools/virtiofsd/fuse_lowlevel.c:2826:
+^I^I^Ifuse_ll_clear_pipe(se);$

ERROR: code indent should never use tabs
#2849: FILE: tools/virtiofsd/fuse_lowlevel.c:2827:
+^I^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2850: FILE: tools/virtiofsd/fuse_lowlevel.c:2828:
+^I^I}$

ERROR: code indent should never use tabs
#2851: FILE: tools/virtiofsd/fuse_lowlevel.c:2829:
+^I^Iassert(res == tmpbuf.size);$

ERROR: code indent should never use tabs
#2853: FILE: tools/virtiofsd/fuse_lowlevel.c:2831:
+^I} else {$

ERROR: code indent should never use tabs
#2854: FILE: tools/virtiofsd/fuse_lowlevel.c:2832:
+^I^I/* Don't overwrite buf->mem, as that would cause a leak */$

ERROR: code indent should never use tabs
#2855: FILE: tools/virtiofsd/fuse_lowlevel.c:2833:
+^I^Ibuf->fd = tmpbuf.fd;$

ERROR: code indent should never use tabs
#2856: FILE: tools/virtiofsd/fuse_lowlevel.c:2834:
+^I^Ibuf->flags = tmpbuf.flags;$

ERROR: code indent should never use tabs
#2857: FILE: tools/virtiofsd/fuse_lowlevel.c:2835:
+^I}$

ERROR: code indent should never use tabs
#2858: FILE: tools/virtiofsd/fuse_lowlevel.c:2836:
+^Ibuf->size = tmpbuf.size;$

ERROR: code indent should never use tabs
#2860: FILE: tools/virtiofsd/fuse_lowlevel.c:2838:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2864: FILE: tools/virtiofsd/fuse_lowlevel.c:2842:
+^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2865: FILE: tools/virtiofsd/fuse_lowlevel.c:2843:
+^I^Ibuf->mem = malloc(se->bufsize);$

ERROR: code indent should never use tabs
#2866: FILE: tools/virtiofsd/fuse_lowlevel.c:2844:
+^I^Iif (!buf->mem) {$

ERROR: code indent should never use tabs
#2867: FILE: tools/virtiofsd/fuse_lowlevel.c:2845:
+^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#2868: FILE: tools/virtiofsd/fuse_lowlevel.c:2846:
+^I^I^I^I"fuse: failed to allocate read buffer\n");$

ERROR: code indent should never use tabs
#2869: FILE: tools/virtiofsd/fuse_lowlevel.c:2847:
+^I^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#2870: FILE: tools/virtiofsd/fuse_lowlevel.c:2848:
+^I^I}$

ERROR: code indent should never use tabs
#2871: FILE: tools/virtiofsd/fuse_lowlevel.c:2849:
+^I}$

ERROR: code indent should never use tabs
#2874: FILE: tools/virtiofsd/fuse_lowlevel.c:2852:
+^Ires = read(ch ? ch->fd : se->fd, buf->mem, se->bufsize);$

ERROR: code indent should never use tabs
#2875: FILE: tools/virtiofsd/fuse_lowlevel.c:2853:
+^Ierr = errno;$

ERROR: code indent should never use tabs
#2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855:
+^Iif (fuse_session_exited(se))$

ERROR: braces {} are necessary for all arms of this statement
#2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855:
+       if (fuse_session_exited(se))
[...]

ERROR: code indent should never use tabs
#2878: FILE: tools/virtiofsd/fuse_lowlevel.c:2856:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2879: FILE: tools/virtiofsd/fuse_lowlevel.c:2857:
+^Iif (res == -1) {$

ERROR: code indent should never use tabs
#2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858:
+^I^I/* ENOENT means the operation was interrupted, it's safe$

WARNING: Block comments use a leading /* on a separate line
#2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858:
+               /* ENOENT means the operation was interrupted, it's safe

ERROR: code indent should never use tabs
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+^I^I   to restart */$

WARNING: Block comments use * on subsequent lines
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+               /* ENOENT means the operation was interrupted, it's safe
+                  to restart */

WARNING: Block comments use a trailing */ on a separate line
#2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859:
+                  to restart */

ERROR: code indent should never use tabs
#2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860:
+^I^Iif (err == ENOENT)$

ERROR: braces {} are necessary for all arms of this statement
#2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860:
+               if (err == ENOENT)
[...]

ERROR: code indent should never use tabs
#2883: FILE: tools/virtiofsd/fuse_lowlevel.c:2861:
+^I^I^Igoto restart;$

ERROR: code indent should never use tabs
#2885: FILE: tools/virtiofsd/fuse_lowlevel.c:2863:
+^I^Iif (err == ENODEV) {$

ERROR: code indent should never use tabs
#2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864:
+^I^I^I/* Filesystem was unmounted, or connection was aborted$

WARNING: Block comments use a leading /* on a separate line
#2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864:
+                       /* Filesystem was unmounted, or connection was aborted

ERROR: code indent should never use tabs
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+^I^I^I   via /sys/fs/fuse/connections */$

WARNING: Block comments use * on subsequent lines
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+                       /* Filesystem was unmounted, or connection was aborted
+                          via /sys/fs/fuse/connections */

WARNING: Block comments use a trailing */ on a separate line
#2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865:
+                          via /sys/fs/fuse/connections */

ERROR: code indent should never use tabs
#2888: FILE: tools/virtiofsd/fuse_lowlevel.c:2866:
+^I^I^Ifuse_session_exit(se);$

ERROR: code indent should never use tabs
#2889: FILE: tools/virtiofsd/fuse_lowlevel.c:2867:
+^I^I^Ireturn 0;$

ERROR: code indent should never use tabs
#2890: FILE: tools/virtiofsd/fuse_lowlevel.c:2868:
+^I^I}$

ERROR: code indent should never use tabs
#2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869:
+^I^I/* Errors occurring during normal operation: EINTR (read$

WARNING: Block comments use a leading /* on a separate line
#2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869:
+               /* Errors occurring during normal operation: EINTR (read

ERROR: code indent should never use tabs
#2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870:
+^I^I   interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem$

WARNING: Block comments use * on subsequent lines
#2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870:
+               /* Errors occurring during normal operation: EINTR (read
+                  interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem

ERROR: code indent should never use tabs
#2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871:
+^I^I   umounted) */$

WARNING: Block comments use a trailing */ on a separate line
#2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871:
+                  umounted) */

ERROR: code indent should never use tabs
#2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872:
+^I^Iif (err != EINTR && err != EAGAIN)$

ERROR: braces {} are necessary for all arms of this statement
#2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872:
+               if (err != EINTR && err != EAGAIN)
[...]

ERROR: code indent should never use tabs
#2895: FILE: tools/virtiofsd/fuse_lowlevel.c:2873:
+^I^I^Iperror("fuse: reading device");$

ERROR: code indent should never use tabs
#2896: FILE: tools/virtiofsd/fuse_lowlevel.c:2874:
+^I^Ireturn -err;$

ERROR: code indent should never use tabs
#2897: FILE: tools/virtiofsd/fuse_lowlevel.c:2875:
+^I}$

ERROR: code indent should never use tabs
#2898: FILE: tools/virtiofsd/fuse_lowlevel.c:2876:
+^Iif ((size_t) res < sizeof(struct fuse_in_header)) {$

ERROR: code indent should never use tabs
#2899: FILE: tools/virtiofsd/fuse_lowlevel.c:2877:
+^I^Ifuse_log(FUSE_LOG_ERR, "short read on fuse device\n");$

ERROR: code indent should never use tabs
#2900: FILE: tools/virtiofsd/fuse_lowlevel.c:2878:
+^I^Ireturn -EIO;$

ERROR: code indent should never use tabs
#2901: FILE: tools/virtiofsd/fuse_lowlevel.c:2879:
+^I}$

ERROR: code indent should never use tabs
#2903: FILE: tools/virtiofsd/fuse_lowlevel.c:2881:
+^Ibuf->size = res;$

ERROR: code indent should never use tabs
#2905: FILE: tools/virtiofsd/fuse_lowlevel.c:2883:
+^Ireturn res;$

ERROR: code indent should never use tabs
#2909: FILE: tools/virtiofsd/fuse_lowlevel.c:2887:
+^I^I^I^I      const struct fuse_lowlevel_ops *op,$

ERROR: code indent should never use tabs
#2910: FILE: tools/virtiofsd/fuse_lowlevel.c:2888:
+^I^I^I^I      size_t op_size, void *userdata)$

ERROR: code indent should never use tabs
#2912: FILE: tools/virtiofsd/fuse_lowlevel.c:2890:
+^Iint err;$

ERROR: code indent should never use tabs
#2913: FILE: tools/virtiofsd/fuse_lowlevel.c:2891:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#2914: FILE: tools/virtiofsd/fuse_lowlevel.c:2892:
+^Istruct mount_opts *mo;$

ERROR: code indent should never use tabs
#2916: FILE: tools/virtiofsd/fuse_lowlevel.c:2894:
+^Iif (sizeof(struct fuse_lowlevel_ops) < op_size) {$

ERROR: line over 90 characters
#2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some operations may not work\n");

ERROR: code indent should never use tabs
#2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some operations may not work\n");$

ERROR: code indent should never use tabs
#2918: FILE: tools/virtiofsd/fuse_lowlevel.c:2896:
+^I^Iop_size = sizeof(struct fuse_lowlevel_ops);$

ERROR: code indent should never use tabs
#2919: FILE: tools/virtiofsd/fuse_lowlevel.c:2897:
+^I}$

ERROR: code indent should never use tabs
#2921: FILE: tools/virtiofsd/fuse_lowlevel.c:2899:
+^Iif (args->argc == 0) {$

ERROR: line over 90 characters
#2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900:
+               fuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to fuse_session_new().\n");

ERROR: code indent should never use tabs
#2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to fuse_session_new().\n");$

ERROR: code indent should never use tabs
#2923: FILE: tools/virtiofsd/fuse_lowlevel.c:2901:
+^I^Ireturn NULL;$

ERROR: code indent should never use tabs
#2924: FILE: tools/virtiofsd/fuse_lowlevel.c:2902:
+^I}$

ERROR: code indent should never use tabs
#2926: FILE: tools/virtiofsd/fuse_lowlevel.c:2904:
+^Ise = (struct fuse_session *) calloc(1, sizeof(struct fuse_session));$

ERROR: code indent should never use tabs
#2927: FILE: tools/virtiofsd/fuse_lowlevel.c:2905:
+^Iif (se == NULL) {$

WARNING: line over 80 characters
#2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906:
+               fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n");

ERROR: code indent should never use tabs
#2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n");$

ERROR: code indent should never use tabs
#2929: FILE: tools/virtiofsd/fuse_lowlevel.c:2907:
+^I^Igoto out1;$

ERROR: code indent should never use tabs
#2930: FILE: tools/virtiofsd/fuse_lowlevel.c:2908:
+^I}$

ERROR: code indent should never use tabs
#2931: FILE: tools/virtiofsd/fuse_lowlevel.c:2909:
+^Ise->fd = -1;$

ERROR: code indent should never use tabs
#2932: FILE: tools/virtiofsd/fuse_lowlevel.c:2910:
+^Ise->conn.max_write = UINT_MAX;$

ERROR: code indent should never use tabs
#2933: FILE: tools/virtiofsd/fuse_lowlevel.c:2911:
+^Ise->conn.max_readahead = UINT_MAX;$

ERROR: code indent should never use tabs
#2935: FILE: tools/virtiofsd/fuse_lowlevel.c:2913:
+^I/* Parse options */$

ERROR: code indent should never use tabs
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+^Iif(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)$

ERROR: space required before the open parenthesis '('
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+       if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)

ERROR: braces {} are necessary for all arms of this statement
#2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914:
+       if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)
[...]

ERROR: code indent should never use tabs
#2937: FILE: tools/virtiofsd/fuse_lowlevel.c:2915:
+^I^Igoto out2;$

ERROR: code indent should never use tabs
#2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916:
+^Iif(se->deny_others) {$

ERROR: space required before the open parenthesis '('
#2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916:
+       if(se->deny_others) {

ERROR: code indent should never use tabs
#2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917:
+^I^I/* Allowing access only by root is done by instructing$

WARNING: Block comments use a leading /* on a separate line
#2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917:
+               /* Allowing access only by root is done by instructing

ERROR: code indent should never use tabs
#2940: FILE: tools/virtiofsd/fuse_lowlevel.c:2918:
+^I^I * kernel to allow access by everyone, and then restricting$

ERROR: code indent should never use tabs
#2941: FILE: tools/virtiofsd/fuse_lowlevel.c:2919:
+^I^I * access to root and mountpoint owner in libfuse.$

ERROR: code indent should never use tabs
#2942: FILE: tools/virtiofsd/fuse_lowlevel.c:2920:
+^I^I */$

ERROR: code indent should never use tabs
#2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921:
+^I^I// We may be adding the option a second time, but$

ERROR: do not use C99 // comments
#2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921:
+               // We may be adding the option a second time, but

ERROR: code indent should never use tabs
#2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922:
+^I^I// that doesn't hurt.$

ERROR: do not use C99 // comments
#2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922:
+               // that doesn't hurt.

ERROR: code indent should never use tabs
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+^I^Iif(fuse_opt_add_arg(args, "-oallow_other") == -1)$

ERROR: space required before the open parenthesis '('
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+               if(fuse_opt_add_arg(args, "-oallow_other") == -1)

ERROR: braces {} are necessary for all arms of this statement
#2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923:
+               if(fuse_opt_add_arg(args, "-oallow_other") == -1)
[...]

ERROR: code indent should never use tabs
#2946: FILE: tools/virtiofsd/fuse_lowlevel.c:2924:
+^I^I^Igoto out2;$

ERROR: code indent should never use tabs
#2947: FILE: tools/virtiofsd/fuse_lowlevel.c:2925:
+^I}$

ERROR: code indent should never use tabs
#2948: FILE: tools/virtiofsd/fuse_lowlevel.c:2926:
+^Imo = parse_mount_opts(args);$

ERROR: code indent should never use tabs
#2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927:
+^Iif (mo == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927:
+       if (mo == NULL)
[...]

ERROR: code indent should never use tabs
#2950: FILE: tools/virtiofsd/fuse_lowlevel.c:2928:
+^I^Igoto out3;$

ERROR: code indent should never use tabs
#2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930:
+^Iif(args->argc == 1 &&$

ERROR: space required before the open parenthesis '('
#2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930:
+       if(args->argc == 1 &&

ERROR: code indent should never use tabs
#2953: FILE: tools/virtiofsd/fuse_lowlevel.c:2931:
+^I   args->argv[0][0] == '-') {$

WARNING: line over 80 characters
#2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932:
+               fuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an option, but "

ERROR: code indent should never use tabs
#2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an option, but "$

ERROR: code indent should never use tabs
#2955: FILE: tools/virtiofsd/fuse_lowlevel.c:2933:
+^I^I^I"will be ignored\n");$

ERROR: code indent should never use tabs
#2956: FILE: tools/virtiofsd/fuse_lowlevel.c:2934:
+^I} else if (args->argc != 1) {$

ERROR: code indent should never use tabs
#2957: FILE: tools/virtiofsd/fuse_lowlevel.c:2935:
+^I^Iint i;$

ERROR: code indent should never use tabs
#2958: FILE: tools/virtiofsd/fuse_lowlevel.c:2936:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unknown option(s): `");$

ERROR: code indent should never use tabs
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+^I^Ifor(i = 1; i < args->argc-1; i++)$

ERROR: spaces required around that '-' (ctx:VxV)
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)
                                         ^

ERROR: space required before the open parenthesis '('
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)

ERROR: braces {} are necessary for all arms of this statement
#2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937:
+               for(i = 1; i < args->argc-1; i++)
[...]

ERROR: code indent should never use tabs
#2960: FILE: tools/virtiofsd/fuse_lowlevel.c:2938:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "%s ", args->argv[i]);$

ERROR: code indent should never use tabs
#2961: FILE: tools/virtiofsd/fuse_lowlevel.c:2939:
+^I^Ifuse_log(FUSE_LOG_ERR, "%s'\n", args->argv[i]);$

ERROR: code indent should never use tabs
#2962: FILE: tools/virtiofsd/fuse_lowlevel.c:2940:
+^I^Igoto out4;$

ERROR: code indent should never use tabs
#2963: FILE: tools/virtiofsd/fuse_lowlevel.c:2941:
+^I}$

ERROR: code indent should never use tabs
#2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943:
+^Iif (se->debug)$

ERROR: braces {} are necessary for all arms of this statement
#2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943:
+       if (se->debug)
[...]

WARNING: line over 80 characters
#2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944:
+               fuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", PACKAGE_VERSION);

ERROR: code indent should never use tabs
#2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", PACKAGE_VERSION);$

ERROR: code indent should never use tabs
#2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946:
+^Ise->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +$

ERROR: use qemu_real_host_page_size instead of getpagesize()
#2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946:
+       se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +

ERROR: code indent should never use tabs
#2969: FILE: tools/virtiofsd/fuse_lowlevel.c:2947:
+^I^IFUSE_BUFFER_HEADER_SIZE;$

ERROR: code indent should never use tabs
#2971: FILE: tools/virtiofsd/fuse_lowlevel.c:2949:
+^Ilist_init_req(&se->list);$

ERROR: code indent should never use tabs
#2972: FILE: tools/virtiofsd/fuse_lowlevel.c:2950:
+^Ilist_init_req(&se->interrupts);$

ERROR: code indent should never use tabs
#2973: FILE: tools/virtiofsd/fuse_lowlevel.c:2951:
+^Ilist_init_nreq(&se->notify_list);$

ERROR: code indent should never use tabs
#2974: FILE: tools/virtiofsd/fuse_lowlevel.c:2952:
+^Ise->notify_ctr = 1;$

ERROR: code indent should never use tabs
#2975: FILE: tools/virtiofsd/fuse_lowlevel.c:2953:
+^Ifuse_mutex_init(&se->lock);$

ERROR: code indent should never use tabs
#2977: FILE: tools/virtiofsd/fuse_lowlevel.c:2955:
+^Ierr = pthread_key_create(&se->pipe_key, fuse_ll_pipe_destructor);$

ERROR: code indent should never use tabs
#2978: FILE: tools/virtiofsd/fuse_lowlevel.c:2956:
+^Iif (err) {$

WARNING: line over 80 characters
#2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957:
+               fuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific key: %s\n",

ERROR: code indent should never use tabs
#2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957:
+^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific key: %s\n",$

ERROR: code indent should never use tabs
#2980: FILE: tools/virtiofsd/fuse_lowlevel.c:2958:
+^I^I^Istrerror(err));$

ERROR: code indent should never use tabs
#2981: FILE: tools/virtiofsd/fuse_lowlevel.c:2959:
+^I^Igoto out5;$

ERROR: code indent should never use tabs
#2982: FILE: tools/virtiofsd/fuse_lowlevel.c:2960:
+^I}$

ERROR: code indent should never use tabs
#2984: FILE: tools/virtiofsd/fuse_lowlevel.c:2962:
+^Imemcpy(&se->op, op, op_size);$

ERROR: code indent should never use tabs
#2985: FILE: tools/virtiofsd/fuse_lowlevel.c:2963:
+^Ise->owner = getuid();$

ERROR: code indent should never use tabs
#2986: FILE: tools/virtiofsd/fuse_lowlevel.c:2964:
+^Ise->userdata = userdata;$

ERROR: code indent should never use tabs
#2988: FILE: tools/virtiofsd/fuse_lowlevel.c:2966:
+^Ise->mo = mo;$

ERROR: code indent should never use tabs
#2989: FILE: tools/virtiofsd/fuse_lowlevel.c:2967:
+^Ireturn se;$

ERROR: code indent should never use tabs
#2992: FILE: tools/virtiofsd/fuse_lowlevel.c:2970:
+^Ipthread_mutex_destroy(&se->lock);$

ERROR: code indent should never use tabs
#2994: FILE: tools/virtiofsd/fuse_lowlevel.c:2972:
+^Ifuse_opt_free_args(args);$

ERROR: code indent should never use tabs
#2996: FILE: tools/virtiofsd/fuse_lowlevel.c:2974:
+^Ifree(mo);$

ERROR: code indent should never use tabs
#2998: FILE: tools/virtiofsd/fuse_lowlevel.c:2976:
+^Ifree(se);$

ERROR: code indent should never use tabs
#3000: FILE: tools/virtiofsd/fuse_lowlevel.c:2978:
+^Ireturn NULL;$

ERROR: code indent should never use tabs
#3005: FILE: tools/virtiofsd/fuse_lowlevel.c:2983:
+^Iint fd;$

ERROR: code indent should never use tabs
#3007: FILE: tools/virtiofsd/fuse_lowlevel.c:2985:
+^I/*$

ERROR: code indent should never use tabs
#3008: FILE: tools/virtiofsd/fuse_lowlevel.c:2986:
+^I * Make sure file descriptors 0, 1 and 2 are open, otherwise chaos$

ERROR: code indent should never use tabs
#3009: FILE: tools/virtiofsd/fuse_lowlevel.c:2987:
+^I * would ensue.$

ERROR: code indent should never use tabs
#3010: FILE: tools/virtiofsd/fuse_lowlevel.c:2988:
+^I */$

ERROR: code indent should never use tabs
#3011: FILE: tools/virtiofsd/fuse_lowlevel.c:2989:
+^Ido {$

ERROR: code indent should never use tabs
#3012: FILE: tools/virtiofsd/fuse_lowlevel.c:2990:
+^I^Ifd = open("/dev/null", O_RDWR);$

ERROR: code indent should never use tabs
#3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991:
+^I^Iif (fd > 2)$

ERROR: braces {} are necessary for all arms of this statement
#3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991:
+               if (fd > 2)
[...]

ERROR: code indent should never use tabs
#3014: FILE: tools/virtiofsd/fuse_lowlevel.c:2992:
+^I^I^Iclose(fd);$

ERROR: code indent should never use tabs
#3015: FILE: tools/virtiofsd/fuse_lowlevel.c:2993:
+^I} while (fd >= 0 && fd <= 2);$

ERROR: code indent should never use tabs
#3017: FILE: tools/virtiofsd/fuse_lowlevel.c:2995:
+^I/*$

ERROR: code indent should never use tabs
#3018: FILE: tools/virtiofsd/fuse_lowlevel.c:2996:
+^I * To allow FUSE daemons to run without privileges, the caller may open$

ERROR: code indent should never use tabs
#3019: FILE: tools/virtiofsd/fuse_lowlevel.c:2997:
+^I * /dev/fuse before launching the file system and pass on the file$

ERROR: code indent should never use tabs
#3020: FILE: tools/virtiofsd/fuse_lowlevel.c:2998:
+^I * descriptor by specifying /dev/fd/N as the mount point. Note that the$

ERROR: code indent should never use tabs
#3021: FILE: tools/virtiofsd/fuse_lowlevel.c:2999:
+^I * parent process takes care of performing the mount in this case.$

ERROR: code indent should never use tabs
#3022: FILE: tools/virtiofsd/fuse_lowlevel.c:3000:
+^I */$

ERROR: code indent should never use tabs
#3023: FILE: tools/virtiofsd/fuse_lowlevel.c:3001:
+^Ifd = fuse_mnt_parse_fuse_fd(mountpoint);$

ERROR: code indent should never use tabs
#3024: FILE: tools/virtiofsd/fuse_lowlevel.c:3002:
+^Iif (fd != -1) {$

ERROR: code indent should never use tabs
#3025: FILE: tools/virtiofsd/fuse_lowlevel.c:3003:
+^I^Iif (fcntl(fd, F_GETFD) == -1) {$

ERROR: code indent should never use tabs
#3026: FILE: tools/virtiofsd/fuse_lowlevel.c:3004:
+^I^I^Ifuse_log(FUSE_LOG_ERR,$

ERROR: code indent should never use tabs
#3027: FILE: tools/virtiofsd/fuse_lowlevel.c:3005:
+^I^I^I^I"fuse: Invalid file descriptor /dev/fd/%u\n",$

ERROR: code indent should never use tabs
#3028: FILE: tools/virtiofsd/fuse_lowlevel.c:3006:
+^I^I^I^Ifd);$

ERROR: code indent should never use tabs
#3029: FILE: tools/virtiofsd/fuse_lowlevel.c:3007:
+^I^I^Ireturn -1;$

ERROR: code indent should never use tabs
#3030: FILE: tools/virtiofsd/fuse_lowlevel.c:3008:
+^I^I}$

ERROR: code indent should never use tabs
#3031: FILE: tools/virtiofsd/fuse_lowlevel.c:3009:
+^I^Ise->fd = fd;$

ERROR: code indent should never use tabs
#3032: FILE: tools/virtiofsd/fuse_lowlevel.c:3010:
+^I^Ireturn 0;$

ERROR: code indent should never use tabs
#3033: FILE: tools/virtiofsd/fuse_lowlevel.c:3011:
+^I}$

ERROR: code indent should never use tabs
#3035: FILE: tools/virtiofsd/fuse_lowlevel.c:3013:
+^I/* Open channel */$

ERROR: code indent should never use tabs
#3036: FILE: tools/virtiofsd/fuse_lowlevel.c:3014:
+^Ifd = fuse_kern_mount(mountpoint, se->mo);$

ERROR: code indent should never use tabs
#3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#3038: FILE: tools/virtiofsd/fuse_lowlevel.c:3016:
+^I^Ireturn -1;$

ERROR: code indent should never use tabs
#3039: FILE: tools/virtiofsd/fuse_lowlevel.c:3017:
+^Ise->fd = fd;$

ERROR: code indent should never use tabs
#3041: FILE: tools/virtiofsd/fuse_lowlevel.c:3019:
+^I/* Save mountpoint */$

ERROR: code indent should never use tabs
#3042: FILE: tools/virtiofsd/fuse_lowlevel.c:3020:
+^Ise->mountpoint = strdup(mountpoint);$

ERROR: code indent should never use tabs
#3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021:
+^Iif (se->mountpoint == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021:
+       if (se->mountpoint == NULL)
[...]

ERROR: code indent should never use tabs
#3044: FILE: tools/virtiofsd/fuse_lowlevel.c:3022:
+^I^Igoto error_out;$

ERROR: code indent should never use tabs
#3046: FILE: tools/virtiofsd/fuse_lowlevel.c:3024:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#3049: FILE: tools/virtiofsd/fuse_lowlevel.c:3027:
+^Ifuse_kern_unmount(mountpoint, fd);$

ERROR: code indent should never use tabs
#3050: FILE: tools/virtiofsd/fuse_lowlevel.c:3028:
+^Ireturn -1;$

ERROR: code indent should never use tabs
#3055: FILE: tools/virtiofsd/fuse_lowlevel.c:3033:
+^Ireturn se->fd;$

ERROR: code indent should never use tabs
#3060: FILE: tools/virtiofsd/fuse_lowlevel.c:3038:
+^Iif (se->mountpoint != NULL) {$

ERROR: code indent should never use tabs
#3061: FILE: tools/virtiofsd/fuse_lowlevel.c:3039:
+^I^Ifuse_kern_unmount(se->mountpoint, se->fd);$

ERROR: code indent should never use tabs
#3062: FILE: tools/virtiofsd/fuse_lowlevel.c:3040:
+^I^Ifree(se->mountpoint);$

ERROR: code indent should never use tabs
#3063: FILE: tools/virtiofsd/fuse_lowlevel.c:3041:
+^I^Ise->mountpoint = NULL;$

ERROR: code indent should never use tabs
#3064: FILE: tools/virtiofsd/fuse_lowlevel.c:3042:
+^I}$

ERROR: code indent should never use tabs
#3070: FILE: tools/virtiofsd/fuse_lowlevel.c:3048:
+^Ichar *buf;$

ERROR: code indent should never use tabs
#3071: FILE: tools/virtiofsd/fuse_lowlevel.c:3049:
+^Isize_t bufsize = 1024;$

ERROR: code indent should never use tabs
#3072: FILE: tools/virtiofsd/fuse_lowlevel.c:3050:
+^Ichar path[128];$

ERROR: code indent should never use tabs
#3073: FILE: tools/virtiofsd/fuse_lowlevel.c:3051:
+^Iint ret;$

ERROR: code indent should never use tabs
#3074: FILE: tools/virtiofsd/fuse_lowlevel.c:3052:
+^Iint fd;$

ERROR: code indent should never use tabs
#3075: FILE: tools/virtiofsd/fuse_lowlevel.c:3053:
+^Iunsigned long pid = req->ctx.pid;$

ERROR: code indent should never use tabs
#3076: FILE: tools/virtiofsd/fuse_lowlevel.c:3054:
+^Ichar *s;$

ERROR: code indent should never use tabs
#3078: FILE: tools/virtiofsd/fuse_lowlevel.c:3056:
+^Isprintf(path, "/proc/%lu/task/%lu/status", pid, pid);$

ERROR: code indent should never use tabs
#3081: FILE: tools/virtiofsd/fuse_lowlevel.c:3059:
+^Ibuf = malloc(bufsize);$

ERROR: code indent should never use tabs
#3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060:
+^Iif (buf == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060:
+       if (buf == NULL)
[...]

ERROR: code indent should never use tabs
#3083: FILE: tools/virtiofsd/fuse_lowlevel.c:3061:
+^I^Ireturn -ENOMEM;$

ERROR: code indent should never use tabs
#3085: FILE: tools/virtiofsd/fuse_lowlevel.c:3063:
+^Iret = -EIO;$

ERROR: code indent should never use tabs
#3086: FILE: tools/virtiofsd/fuse_lowlevel.c:3064:
+^Ifd = open(path, O_RDONLY);$

ERROR: code indent should never use tabs
#3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#3088: FILE: tools/virtiofsd/fuse_lowlevel.c:3066:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3090: FILE: tools/virtiofsd/fuse_lowlevel.c:3068:
+^Iret = read(fd, buf, bufsize);$

ERROR: code indent should never use tabs
#3091: FILE: tools/virtiofsd/fuse_lowlevel.c:3069:
+^Iclose(fd);$

ERROR: code indent should never use tabs
#3092: FILE: tools/virtiofsd/fuse_lowlevel.c:3070:
+^Iif (ret < 0) {$

ERROR: code indent should never use tabs
#3093: FILE: tools/virtiofsd/fuse_lowlevel.c:3071:
+^I^Iret = -EIO;$

ERROR: code indent should never use tabs
#3094: FILE: tools/virtiofsd/fuse_lowlevel.c:3072:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3095: FILE: tools/virtiofsd/fuse_lowlevel.c:3073:
+^I}$

ERROR: code indent should never use tabs
#3097: FILE: tools/virtiofsd/fuse_lowlevel.c:3075:
+^Iif ((size_t)ret == bufsize) {$

ERROR: code indent should never use tabs
#3098: FILE: tools/virtiofsd/fuse_lowlevel.c:3076:
+^I^Ifree(buf);$

ERROR: code indent should never use tabs
#3099: FILE: tools/virtiofsd/fuse_lowlevel.c:3077:
+^I^Ibufsize *= 4;$

ERROR: code indent should never use tabs
#3100: FILE: tools/virtiofsd/fuse_lowlevel.c:3078:
+^I^Igoto retry;$

ERROR: code indent should never use tabs
#3101: FILE: tools/virtiofsd/fuse_lowlevel.c:3079:
+^I}$

ERROR: code indent should never use tabs
#3103: FILE: tools/virtiofsd/fuse_lowlevel.c:3081:
+^Iret = -EIO;$

ERROR: code indent should never use tabs
#3104: FILE: tools/virtiofsd/fuse_lowlevel.c:3082:
+^Is = strstr(buf, "\nGroups:");$

ERROR: code indent should never use tabs
#3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083:
+^Iif (s == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083:
+       if (s == NULL)
[...]

ERROR: code indent should never use tabs
#3106: FILE: tools/virtiofsd/fuse_lowlevel.c:3084:
+^I^Igoto out_free;$

ERROR: code indent should never use tabs
#3108: FILE: tools/virtiofsd/fuse_lowlevel.c:3086:
+^Is += 8;$

ERROR: code indent should never use tabs
#3109: FILE: tools/virtiofsd/fuse_lowlevel.c:3087:
+^Iret = 0;$

ERROR: code indent should never use tabs
#3110: FILE: tools/virtiofsd/fuse_lowlevel.c:3088:
+^Iwhile (1) {$

ERROR: code indent should never use tabs
#3111: FILE: tools/virtiofsd/fuse_lowlevel.c:3089:
+^I^Ichar *end;$

ERROR: code indent should never use tabs
#3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090:
+^I^Iunsigned long val = strtoul(s, &end, 0);$

ERROR: consider using qemu_strtoul in preference to strtoul
#3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090:
+               unsigned long val = strtoul(s, &end, 0);

ERROR: code indent should never use tabs
#3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091:
+^I^Iif (end == s)$

ERROR: braces {} are necessary for all arms of this statement
#3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091:
+               if (end == s)
[...]

ERROR: code indent should never use tabs
#3114: FILE: tools/virtiofsd/fuse_lowlevel.c:3092:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#3116: FILE: tools/virtiofsd/fuse_lowlevel.c:3094:
+^I^Is = end;$

ERROR: code indent should never use tabs
#3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095:
+^I^Iif (ret < size)$

ERROR: braces {} are necessary for all arms of this statement
#3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095:
+               if (ret < size)
[...]

ERROR: code indent should never use tabs
#3118: FILE: tools/virtiofsd/fuse_lowlevel.c:3096:
+^I^I^Ilist[ret] = val;$

ERROR: code indent should never use tabs
#3119: FILE: tools/virtiofsd/fuse_lowlevel.c:3097:
+^I^Iret++;$

ERROR: code indent should never use tabs
#3120: FILE: tools/virtiofsd/fuse_lowlevel.c:3098:
+^I}$

ERROR: code indent should never use tabs
#3123: FILE: tools/virtiofsd/fuse_lowlevel.c:3101:
+^Ifree(buf);$

ERROR: code indent should never use tabs
#3124: FILE: tools/virtiofsd/fuse_lowlevel.c:3102:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#3132: FILE: tools/virtiofsd/fuse_lowlevel.c:3110:
+^I(void) req; (void) size; (void) list;$

ERROR: code indent should never use tabs
#3133: FILE: tools/virtiofsd/fuse_lowlevel.c:3111:
+^Ireturn -ENOSYS;$

ERROR: code indent should never use tabs
#3139: FILE: tools/virtiofsd/fuse_lowlevel.c:3117:
+^Ise->exited = 1;$

ERROR: code indent should never use tabs
#3144: FILE: tools/virtiofsd/fuse_lowlevel.c:3122:
+^Ise->exited = 0;$

ERROR: code indent should never use tabs
#3145: FILE: tools/virtiofsd/fuse_lowlevel.c:3123:
+^Ise->error = 0;$

ERROR: code indent should never use tabs
#3150: FILE: tools/virtiofsd/fuse_lowlevel.c:3128:
+^Ireturn se->exited;$

total: 2338 errors, 57 warnings, 3129 lines checked

Patch 4/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/111 Checking commit 9078a94d5707 (virtiofsd: Add passthrough_ll)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

WARNING: Block comments use * on subsequent lines
#29: FILE: tools/virtiofsd/passthrough_ll.c:2:
+/*
+  FUSE: Filesystem in Userspace

WARNING: Block comments use a leading /* on a separate line
#36: FILE: tools/virtiofsd/passthrough_ll.c:9:
+/** @file

WARNING: line over 80 characters
#58: FILE: tools/virtiofsd/passthrough_ll.c:31:
+ *     gcc -Wall passthrough_ll.c `pkg-config fuse3 --cflags --libs` -o passthrough_ll

WARNING: Block comments use a leading /* on a separate line
#87: FILE: tools/virtiofsd/passthrough_ll.c:60:
+/* We are re-using pointers to our `struct lo_inode` and `struct

WARNING: Block comments use * on subsequent lines
#88: FILE: tools/virtiofsd/passthrough_ll.c:61:
+/* We are re-using pointers to our `struct lo_inode` and `struct
+   lo_dirp` elements as inodes. This means that we must be able to

WARNING: Block comments use a trailing */ on a separate line
#90: FILE: tools/virtiofsd/passthrough_ll.c:63:
+   incantation checks this condition at compile time. */

ERROR: line over 90 characters
#91: FILE: tools/virtiofsd/passthrough_ll.c:64:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus

WARNING: architecture specific defines should be avoided
#91: FILE: tools/virtiofsd/passthrough_ll.c:64:
+#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus

ERROR: code indent should never use tabs
#93: FILE: tools/virtiofsd/passthrough_ll.c:66:
+^I       "fuse_ino_t too small to hold uintptr_t values!");$

ERROR: code indent should never use tabs
#96: FILE: tools/virtiofsd/passthrough_ll.c:69:
+^I{ unsigned _uintptr_to_must_hold_fuse_ino_t:$

ERROR: code indent should never use tabs
#97: FILE: tools/virtiofsd/passthrough_ll.c:70:
+^I^I^I((sizeof(fuse_ino_t) >= sizeof(uintptr_t)) ? 1 : -1); };$

ERROR: code indent should never use tabs
#101: FILE: tools/virtiofsd/passthrough_ll.c:74:
+^Istruct lo_inode *next; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#102: FILE: tools/virtiofsd/passthrough_ll.c:75:
+^Istruct lo_inode *prev; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/passthrough_ll.c:76:
+^Iint fd;$

ERROR: code indent should never use tabs
#104: FILE: tools/virtiofsd/passthrough_ll.c:77:
+^Ibool is_symlink;$

ERROR: code indent should never use tabs
#105: FILE: tools/virtiofsd/passthrough_ll.c:78:
+^Iino_t ino;$

ERROR: code indent should never use tabs
#106: FILE: tools/virtiofsd/passthrough_ll.c:79:
+^Idev_t dev;$

ERROR: code indent should never use tabs
#107: FILE: tools/virtiofsd/passthrough_ll.c:80:
+^Iuint64_t refcount; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#111: FILE: tools/virtiofsd/passthrough_ll.c:84:
+^ICACHE_NEVER,$

ERROR: code indent should never use tabs
#112: FILE: tools/virtiofsd/passthrough_ll.c:85:
+^ICACHE_NORMAL,$

ERROR: code indent should never use tabs
#113: FILE: tools/virtiofsd/passthrough_ll.c:86:
+^ICACHE_ALWAYS,$

ERROR: code indent should never use tabs
#117: FILE: tools/virtiofsd/passthrough_ll.c:90:
+^Ipthread_mutex_t mutex;$

ERROR: code indent should never use tabs
#118: FILE: tools/virtiofsd/passthrough_ll.c:91:
+^Iint debug;$

ERROR: code indent should never use tabs
#119: FILE: tools/virtiofsd/passthrough_ll.c:92:
+^Iint writeback;$

ERROR: code indent should never use tabs
#120: FILE: tools/virtiofsd/passthrough_ll.c:93:
+^Iint flock;$

ERROR: code indent should never use tabs
#121: FILE: tools/virtiofsd/passthrough_ll.c:94:
+^Iint xattr;$

ERROR: code indent should never use tabs
#122: FILE: tools/virtiofsd/passthrough_ll.c:95:
+^Iconst char *source;$

ERROR: code indent should never use tabs
#123: FILE: tools/virtiofsd/passthrough_ll.c:96:
+^Idouble timeout;$

ERROR: code indent should never use tabs
#124: FILE: tools/virtiofsd/passthrough_ll.c:97:
+^Iint cache;$

ERROR: code indent should never use tabs
#125: FILE: tools/virtiofsd/passthrough_ll.c:98:
+^Iint timeout_set;$

ERROR: code indent should never use tabs
#126: FILE: tools/virtiofsd/passthrough_ll.c:99:
+^Istruct lo_inode root; /* protected by lo->mutex */$

ERROR: code indent should never use tabs
#130: FILE: tools/virtiofsd/passthrough_ll.c:103:
+^I{ "writeback",$

ERROR: code indent should never use tabs
#131: FILE: tools/virtiofsd/passthrough_ll.c:104:
+^I  offsetof(struct lo_data, writeback), 1 },$

ERROR: code indent should never use tabs
#132: FILE: tools/virtiofsd/passthrough_ll.c:105:
+^I{ "no_writeback",$

ERROR: code indent should never use tabs
#133: FILE: tools/virtiofsd/passthrough_ll.c:106:
+^I  offsetof(struct lo_data, writeback), 0 },$

ERROR: code indent should never use tabs
#134: FILE: tools/virtiofsd/passthrough_ll.c:107:
+^I{ "source=%s",$

ERROR: code indent should never use tabs
#135: FILE: tools/virtiofsd/passthrough_ll.c:108:
+^I  offsetof(struct lo_data, source), 0 },$

ERROR: code indent should never use tabs
#136: FILE: tools/virtiofsd/passthrough_ll.c:109:
+^I{ "flock",$

ERROR: code indent should never use tabs
#137: FILE: tools/virtiofsd/passthrough_ll.c:110:
+^I  offsetof(struct lo_data, flock), 1 },$

ERROR: code indent should never use tabs
#138: FILE: tools/virtiofsd/passthrough_ll.c:111:
+^I{ "no_flock",$

ERROR: code indent should never use tabs
#139: FILE: tools/virtiofsd/passthrough_ll.c:112:
+^I  offsetof(struct lo_data, flock), 0 },$

ERROR: code indent should never use tabs
#140: FILE: tools/virtiofsd/passthrough_ll.c:113:
+^I{ "xattr",$

ERROR: code indent should never use tabs
#141: FILE: tools/virtiofsd/passthrough_ll.c:114:
+^I  offsetof(struct lo_data, xattr), 1 },$

ERROR: code indent should never use tabs
#142: FILE: tools/virtiofsd/passthrough_ll.c:115:
+^I{ "no_xattr",$

ERROR: code indent should never use tabs
#143: FILE: tools/virtiofsd/passthrough_ll.c:116:
+^I  offsetof(struct lo_data, xattr), 0 },$

ERROR: code indent should never use tabs
#144: FILE: tools/virtiofsd/passthrough_ll.c:117:
+^I{ "timeout=%lf",$

ERROR: code indent should never use tabs
#145: FILE: tools/virtiofsd/passthrough_ll.c:118:
+^I  offsetof(struct lo_data, timeout), 0 },$

ERROR: code indent should never use tabs
#146: FILE: tools/virtiofsd/passthrough_ll.c:119:
+^I{ "timeout=",$

ERROR: code indent should never use tabs
#147: FILE: tools/virtiofsd/passthrough_ll.c:120:
+^I  offsetof(struct lo_data, timeout_set), 1 },$

ERROR: code indent should never use tabs
#148: FILE: tools/virtiofsd/passthrough_ll.c:121:
+^I{ "cache=never",$

ERROR: code indent should never use tabs
#149: FILE: tools/virtiofsd/passthrough_ll.c:122:
+^I  offsetof(struct lo_data, cache), CACHE_NEVER },$

ERROR: code indent should never use tabs
#150: FILE: tools/virtiofsd/passthrough_ll.c:123:
+^I{ "cache=auto",$

ERROR: code indent should never use tabs
#151: FILE: tools/virtiofsd/passthrough_ll.c:124:
+^I  offsetof(struct lo_data, cache), CACHE_NORMAL },$

ERROR: code indent should never use tabs
#152: FILE: tools/virtiofsd/passthrough_ll.c:125:
+^I{ "cache=always",$

ERROR: code indent should never use tabs
#153: FILE: tools/virtiofsd/passthrough_ll.c:126:
+^I  offsetof(struct lo_data, cache), CACHE_ALWAYS },$

ERROR: code indent should never use tabs
#155: FILE: tools/virtiofsd/passthrough_ll.c:128:
+^IFUSE_OPT_END$

ERROR: code indent should never use tabs
#160: FILE: tools/virtiofsd/passthrough_ll.c:133:
+^Ireturn (struct lo_data *) fuse_req_userdata(req);$

ERROR: code indent should never use tabs
#165: FILE: tools/virtiofsd/passthrough_ll.c:138:
+^Iif (ino == FUSE_ROOT_ID)$

ERROR: braces {} are necessary for all arms of this statement
#165: FILE: tools/virtiofsd/passthrough_ll.c:138:
+       if (ino == FUSE_ROOT_ID)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#166: FILE: tools/virtiofsd/passthrough_ll.c:139:
+^I^Ireturn &lo_data(req)->root;$

ERROR: code indent should never use tabs
#167: FILE: tools/virtiofsd/passthrough_ll.c:140:
+^Ielse$

ERROR: code indent should never use tabs
#168: FILE: tools/virtiofsd/passthrough_ll.c:141:
+^I^Ireturn (struct lo_inode *) (uintptr_t) ino;$

ERROR: code indent should never use tabs
#173: FILE: tools/virtiofsd/passthrough_ll.c:146:
+^Ireturn lo_inode(req, ino)->fd;$

ERROR: code indent should never use tabs
#178: FILE: tools/virtiofsd/passthrough_ll.c:151:
+^Ireturn lo_data(req)->debug != 0;$

ERROR: code indent should never use tabs
#182: FILE: tools/virtiofsd/passthrough_ll.c:155:
+^I^I    struct fuse_conn_info *conn)$

ERROR: code indent should never use tabs
#184: FILE: tools/virtiofsd/passthrough_ll.c:157:
+^Istruct lo_data *lo = (struct lo_data*) userdata;$

ERROR: "(foo*)" should be "(foo *)"
#184: FILE: tools/virtiofsd/passthrough_ll.c:157:
+       struct lo_data *lo = (struct lo_data*) userdata;

ERROR: code indent should never use tabs
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+^Iif(conn->capable & FUSE_CAP_EXPORT_SUPPORT)$

ERROR: space required before the open parenthesis '('
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+       if(conn->capable & FUSE_CAP_EXPORT_SUPPORT)

ERROR: braces {} are necessary for all arms of this statement
#186: FILE: tools/virtiofsd/passthrough_ll.c:159:
+       if(conn->capable & FUSE_CAP_EXPORT_SUPPORT)
[...]

ERROR: code indent should never use tabs
#187: FILE: tools/virtiofsd/passthrough_ll.c:160:
+^I^Iconn->want |= FUSE_CAP_EXPORT_SUPPORT;$

ERROR: code indent should never use tabs
#189: FILE: tools/virtiofsd/passthrough_ll.c:162:
+^Iif (lo->writeback &&$

ERROR: code indent should never use tabs
#190: FILE: tools/virtiofsd/passthrough_ll.c:163:
+^I    conn->capable & FUSE_CAP_WRITEBACK_CACHE) {$

ERROR: code indent should never use tabs
#191: FILE: tools/virtiofsd/passthrough_ll.c:164:
+^I^Iif (lo->debug)$

ERROR: braces {} are necessary for all arms of this statement
#191: FILE: tools/virtiofsd/passthrough_ll.c:164:
+               if (lo->debug)
[...]

WARNING: line over 80 characters
#192: FILE: tools/virtiofsd/passthrough_ll.c:165:
+                       fuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");

ERROR: code indent should never use tabs
#192: FILE: tools/virtiofsd/passthrough_ll.c:165:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");$

ERROR: code indent should never use tabs
#193: FILE: tools/virtiofsd/passthrough_ll.c:166:
+^I^Iconn->want |= FUSE_CAP_WRITEBACK_CACHE;$

ERROR: code indent should never use tabs
#194: FILE: tools/virtiofsd/passthrough_ll.c:167:
+^I}$

ERROR: code indent should never use tabs
#195: FILE: tools/virtiofsd/passthrough_ll.c:168:
+^Iif (lo->flock && conn->capable & FUSE_CAP_FLOCK_LOCKS) {$

ERROR: code indent should never use tabs
#196: FILE: tools/virtiofsd/passthrough_ll.c:169:
+^I^Iif (lo->debug)$

ERROR: braces {} are necessary for all arms of this statement
#196: FILE: tools/virtiofsd/passthrough_ll.c:169:
+               if (lo->debug)
[...]

WARNING: line over 80 characters
#197: FILE: tools/virtiofsd/passthrough_ll.c:170:
+                       fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");

ERROR: code indent should never use tabs
#197: FILE: tools/virtiofsd/passthrough_ll.c:170:
+^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");$

ERROR: code indent should never use tabs
#198: FILE: tools/virtiofsd/passthrough_ll.c:171:
+^I^Iconn->want |= FUSE_CAP_FLOCK_LOCKS;$

ERROR: code indent should never use tabs
#199: FILE: tools/virtiofsd/passthrough_ll.c:172:
+^I}$

ERROR: code indent should never use tabs
#203: FILE: tools/virtiofsd/passthrough_ll.c:176:
+^I^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#205: FILE: tools/virtiofsd/passthrough_ll.c:178:
+^Iint res;$

ERROR: code indent should never use tabs
#206: FILE: tools/virtiofsd/passthrough_ll.c:179:
+^Istruct stat buf;$

ERROR: code indent should never use tabs
#207: FILE: tools/virtiofsd/passthrough_ll.c:180:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#209: FILE: tools/virtiofsd/passthrough_ll.c:182:
+^I(void) fi;$

WARNING: line over 80 characters
#211: FILE: tools/virtiofsd/passthrough_ll.c:184:
+       res = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);

ERROR: code indent should never use tabs
#211: FILE: tools/virtiofsd/passthrough_ll.c:184:
+^Ires = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#212: FILE: tools/virtiofsd/passthrough_ll.c:185:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#212: FILE: tools/virtiofsd/passthrough_ll.c:185:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#213: FILE: tools/virtiofsd/passthrough_ll.c:186:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#215: FILE: tools/virtiofsd/passthrough_ll.c:188:
+^Ifuse_reply_attr(req, &buf, lo->timeout);$

ERROR: code indent should never use tabs
#219: FILE: tools/virtiofsd/passthrough_ll.c:192:
+^I^I^I^I    const struct timespec *tv)$

ERROR: code indent should never use tabs
#221: FILE: tools/virtiofsd/passthrough_ll.c:194:
+^Iint res;$

ERROR: code indent should never use tabs
#222: FILE: tools/virtiofsd/passthrough_ll.c:195:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#224: FILE: tools/virtiofsd/passthrough_ll.c:197:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#225: FILE: tools/virtiofsd/passthrough_ll.c:198:
+^I^Ires = utimensat(inode->fd, "", tv,$

ERROR: code indent should never use tabs
#226: FILE: tools/virtiofsd/passthrough_ll.c:199:
+^I^I^I^IAT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#227: FILE: tools/virtiofsd/passthrough_ll.c:200:
+^I^Iif (res == -1 && errno == EINVAL) {$

ERROR: code indent should never use tabs
#228: FILE: tools/virtiofsd/passthrough_ll.c:201:
+^I^I^I/* Sorry, no race free way to set times on symlink. */$

ERROR: code indent should never use tabs
#229: FILE: tools/virtiofsd/passthrough_ll.c:202:
+^I^I^Ierrno = EPERM;$

ERROR: code indent should never use tabs
#230: FILE: tools/virtiofsd/passthrough_ll.c:203:
+^I^I}$

ERROR: code indent should never use tabs
#231: FILE: tools/virtiofsd/passthrough_ll.c:204:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#232: FILE: tools/virtiofsd/passthrough_ll.c:205:
+^I}$

ERROR: code indent should never use tabs
#233: FILE: tools/virtiofsd/passthrough_ll.c:206:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#235: FILE: tools/virtiofsd/passthrough_ll.c:208:
+^Ireturn utimensat(AT_FDCWD, procname, tv, 0);$

ERROR: code indent should never use tabs
#239: FILE: tools/virtiofsd/passthrough_ll.c:212:
+^I^I       int valid, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#241: FILE: tools/virtiofsd/passthrough_ll.c:214:
+^Iint saverr;$

ERROR: code indent should never use tabs
#242: FILE: tools/virtiofsd/passthrough_ll.c:215:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#243: FILE: tools/virtiofsd/passthrough_ll.c:216:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#244: FILE: tools/virtiofsd/passthrough_ll.c:217:
+^Iint ifd = inode->fd;$

ERROR: code indent should never use tabs
#245: FILE: tools/virtiofsd/passthrough_ll.c:218:
+^Iint res;$

ERROR: code indent should never use tabs
#247: FILE: tools/virtiofsd/passthrough_ll.c:220:
+^Iif (valid & FUSE_SET_ATTR_MODE) {$

ERROR: code indent should never use tabs
#248: FILE: tools/virtiofsd/passthrough_ll.c:221:
+^I^Iif (fi) {$

ERROR: code indent should never use tabs
#249: FILE: tools/virtiofsd/passthrough_ll.c:222:
+^I^I^Ires = fchmod(fi->fh, attr->st_mode);$

ERROR: code indent should never use tabs
#250: FILE: tools/virtiofsd/passthrough_ll.c:223:
+^I^I} else {$

ERROR: code indent should never use tabs
#251: FILE: tools/virtiofsd/passthrough_ll.c:224:
+^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$

ERROR: code indent should never use tabs
#252: FILE: tools/virtiofsd/passthrough_ll.c:225:
+^I^I^Ires = chmod(procname, attr->st_mode);$

ERROR: code indent should never use tabs
#253: FILE: tools/virtiofsd/passthrough_ll.c:226:
+^I^I}$

ERROR: code indent should never use tabs
#254: FILE: tools/virtiofsd/passthrough_ll.c:227:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#254: FILE: tools/virtiofsd/passthrough_ll.c:227:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#255: FILE: tools/virtiofsd/passthrough_ll.c:228:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#256: FILE: tools/virtiofsd/passthrough_ll.c:229:
+^I}$

ERROR: code indent should never use tabs
#257: FILE: tools/virtiofsd/passthrough_ll.c:230:
+^Iif (valid & (FUSE_SET_ATTR_UID | FUSE_SET_ATTR_GID)) {$

ERROR: code indent should never use tabs
#258: FILE: tools/virtiofsd/passthrough_ll.c:231:
+^I^Iuid_t uid = (valid & FUSE_SET_ATTR_UID) ?$

ERROR: code indent should never use tabs
#259: FILE: tools/virtiofsd/passthrough_ll.c:232:
+^I^I^Iattr->st_uid : (uid_t) -1;$

ERROR: code indent should never use tabs
#260: FILE: tools/virtiofsd/passthrough_ll.c:233:
+^I^Igid_t gid = (valid & FUSE_SET_ATTR_GID) ?$

ERROR: code indent should never use tabs
#261: FILE: tools/virtiofsd/passthrough_ll.c:234:
+^I^I^Iattr->st_gid : (gid_t) -1;$

ERROR: code indent should never use tabs
#263: FILE: tools/virtiofsd/passthrough_ll.c:236:
+^I^Ires = fchownat(ifd, "", uid, gid,$

ERROR: code indent should never use tabs
#264: FILE: tools/virtiofsd/passthrough_ll.c:237:
+^I^I^I       AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#265: FILE: tools/virtiofsd/passthrough_ll.c:238:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#265: FILE: tools/virtiofsd/passthrough_ll.c:238:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#266: FILE: tools/virtiofsd/passthrough_ll.c:239:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#267: FILE: tools/virtiofsd/passthrough_ll.c:240:
+^I}$

ERROR: code indent should never use tabs
#268: FILE: tools/virtiofsd/passthrough_ll.c:241:
+^Iif (valid & FUSE_SET_ATTR_SIZE) {$

ERROR: code indent should never use tabs
#269: FILE: tools/virtiofsd/passthrough_ll.c:242:
+^I^Iif (fi) {$

ERROR: code indent should never use tabs
#270: FILE: tools/virtiofsd/passthrough_ll.c:243:
+^I^I^Ires = ftruncate(fi->fh, attr->st_size);$

ERROR: code indent should never use tabs
#271: FILE: tools/virtiofsd/passthrough_ll.c:244:
+^I^I} else {$

ERROR: code indent should never use tabs
#272: FILE: tools/virtiofsd/passthrough_ll.c:245:
+^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$

ERROR: code indent should never use tabs
#273: FILE: tools/virtiofsd/passthrough_ll.c:246:
+^I^I^Ires = truncate(procname, attr->st_size);$

ERROR: code indent should never use tabs
#274: FILE: tools/virtiofsd/passthrough_ll.c:247:
+^I^I}$

ERROR: code indent should never use tabs
#275: FILE: tools/virtiofsd/passthrough_ll.c:248:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#275: FILE: tools/virtiofsd/passthrough_ll.c:248:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#276: FILE: tools/virtiofsd/passthrough_ll.c:249:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#277: FILE: tools/virtiofsd/passthrough_ll.c:250:
+^I}$

ERROR: code indent should never use tabs
#278: FILE: tools/virtiofsd/passthrough_ll.c:251:
+^Iif (valid & (FUSE_SET_ATTR_ATIME | FUSE_SET_ATTR_MTIME)) {$

ERROR: code indent should never use tabs
#279: FILE: tools/virtiofsd/passthrough_ll.c:252:
+^I^Istruct timespec tv[2];$

ERROR: code indent should never use tabs
#281: FILE: tools/virtiofsd/passthrough_ll.c:254:
+^I^Itv[0].tv_sec = 0;$

ERROR: code indent should never use tabs
#282: FILE: tools/virtiofsd/passthrough_ll.c:255:
+^I^Itv[1].tv_sec = 0;$

ERROR: code indent should never use tabs
#283: FILE: tools/virtiofsd/passthrough_ll.c:256:
+^I^Itv[0].tv_nsec = UTIME_OMIT;$

ERROR: code indent should never use tabs
#284: FILE: tools/virtiofsd/passthrough_ll.c:257:
+^I^Itv[1].tv_nsec = UTIME_OMIT;$

ERROR: code indent should never use tabs
#286: FILE: tools/virtiofsd/passthrough_ll.c:259:
+^I^Iif (valid & FUSE_SET_ATTR_ATIME_NOW)$

ERROR: braces {} are necessary for all arms of this statement
#286: FILE: tools/virtiofsd/passthrough_ll.c:259:
+               if (valid & FUSE_SET_ATTR_ATIME_NOW)
[...]
+               else if (valid & FUSE_SET_ATTR_ATIME)
[...]

ERROR: code indent should never use tabs
#287: FILE: tools/virtiofsd/passthrough_ll.c:260:
+^I^I^Itv[0].tv_nsec = UTIME_NOW;$

ERROR: code indent should never use tabs
#288: FILE: tools/virtiofsd/passthrough_ll.c:261:
+^I^Ielse if (valid & FUSE_SET_ATTR_ATIME)$

ERROR: braces {} are necessary for all arms of this statement
#288: FILE: tools/virtiofsd/passthrough_ll.c:261:
+               else if (valid & FUSE_SET_ATTR_ATIME)
[...]

ERROR: code indent should never use tabs
#289: FILE: tools/virtiofsd/passthrough_ll.c:262:
+^I^I^Itv[0] = attr->st_atim;$

ERROR: code indent should never use tabs
#291: FILE: tools/virtiofsd/passthrough_ll.c:264:
+^I^Iif (valid & FUSE_SET_ATTR_MTIME_NOW)$

ERROR: braces {} are necessary for all arms of this statement
#291: FILE: tools/virtiofsd/passthrough_ll.c:264:
+               if (valid & FUSE_SET_ATTR_MTIME_NOW)
[...]
+               else if (valid & FUSE_SET_ATTR_MTIME)
[...]

ERROR: code indent should never use tabs
#292: FILE: tools/virtiofsd/passthrough_ll.c:265:
+^I^I^Itv[1].tv_nsec = UTIME_NOW;$

ERROR: code indent should never use tabs
#293: FILE: tools/virtiofsd/passthrough_ll.c:266:
+^I^Ielse if (valid & FUSE_SET_ATTR_MTIME)$

ERROR: braces {} are necessary for all arms of this statement
#293: FILE: tools/virtiofsd/passthrough_ll.c:266:
+               else if (valid & FUSE_SET_ATTR_MTIME)
[...]

ERROR: code indent should never use tabs
#294: FILE: tools/virtiofsd/passthrough_ll.c:267:
+^I^I^Itv[1] = attr->st_mtim;$

ERROR: code indent should never use tabs
#296: FILE: tools/virtiofsd/passthrough_ll.c:269:
+^I^Iif (fi)$

ERROR: braces {} are necessary for all arms of this statement
#296: FILE: tools/virtiofsd/passthrough_ll.c:269:
+               if (fi)
[...]
+               else
[...]

ERROR: code indent should never use tabs
#297: FILE: tools/virtiofsd/passthrough_ll.c:270:
+^I^I^Ires = futimens(fi->fh, tv);$

ERROR: code indent should never use tabs
#298: FILE: tools/virtiofsd/passthrough_ll.c:271:
+^I^Ielse$

ERROR: code indent should never use tabs
#299: FILE: tools/virtiofsd/passthrough_ll.c:272:
+^I^I^Ires = utimensat_empty_nofollow(inode, tv);$

ERROR: code indent should never use tabs
#300: FILE: tools/virtiofsd/passthrough_ll.c:273:
+^I^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#300: FILE: tools/virtiofsd/passthrough_ll.c:273:
+               if (res == -1)
[...]

ERROR: code indent should never use tabs
#301: FILE: tools/virtiofsd/passthrough_ll.c:274:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#302: FILE: tools/virtiofsd/passthrough_ll.c:275:
+^I}$

ERROR: code indent should never use tabs
#304: FILE: tools/virtiofsd/passthrough_ll.c:277:
+^Ireturn lo_getattr(req, ino, fi);$

ERROR: code indent should never use tabs
#307: FILE: tools/virtiofsd/passthrough_ll.c:280:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#308: FILE: tools/virtiofsd/passthrough_ll.c:281:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#313: FILE: tools/virtiofsd/passthrough_ll.c:286:
+^Istruct lo_inode *p;$

ERROR: code indent should never use tabs
#314: FILE: tools/virtiofsd/passthrough_ll.c:287:
+^Istruct lo_inode *ret = NULL;$

ERROR: code indent should never use tabs
#316: FILE: tools/virtiofsd/passthrough_ll.c:289:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#317: FILE: tools/virtiofsd/passthrough_ll.c:290:
+^Ifor (p = lo->root.next; p != &lo->root; p = p->next) {$

ERROR: code indent should never use tabs
#318: FILE: tools/virtiofsd/passthrough_ll.c:291:
+^I^Iif (p->ino == st->st_ino && p->dev == st->st_dev) {$

ERROR: code indent should never use tabs
#319: FILE: tools/virtiofsd/passthrough_ll.c:292:
+^I^I^Iassert(p->refcount > 0);$

ERROR: code indent should never use tabs
#320: FILE: tools/virtiofsd/passthrough_ll.c:293:
+^I^I^Iret = p;$

ERROR: code indent should never use tabs
#321: FILE: tools/virtiofsd/passthrough_ll.c:294:
+^I^I^Iret->refcount++;$

ERROR: code indent should never use tabs
#322: FILE: tools/virtiofsd/passthrough_ll.c:295:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#323: FILE: tools/virtiofsd/passthrough_ll.c:296:
+^I^I}$

ERROR: code indent should never use tabs
#324: FILE: tools/virtiofsd/passthrough_ll.c:297:
+^I}$

ERROR: code indent should never use tabs
#325: FILE: tools/virtiofsd/passthrough_ll.c:298:
+^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#326: FILE: tools/virtiofsd/passthrough_ll.c:299:
+^Ireturn ret;$

ERROR: code indent should never use tabs
#330: FILE: tools/virtiofsd/passthrough_ll.c:303:
+^I^I^I struct fuse_entry_param *e)$

ERROR: code indent should never use tabs
#332: FILE: tools/virtiofsd/passthrough_ll.c:305:
+^Iint newfd;$

ERROR: code indent should never use tabs
#333: FILE: tools/virtiofsd/passthrough_ll.c:306:
+^Iint res;$

ERROR: code indent should never use tabs
#334: FILE: tools/virtiofsd/passthrough_ll.c:307:
+^Iint saverr;$

ERROR: code indent should never use tabs
#335: FILE: tools/virtiofsd/passthrough_ll.c:308:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#336: FILE: tools/virtiofsd/passthrough_ll.c:309:
+^Istruct lo_inode *inode;$

ERROR: code indent should never use tabs
#338: FILE: tools/virtiofsd/passthrough_ll.c:311:
+^Imemset(e, 0, sizeof(*e));$

ERROR: code indent should never use tabs
#339: FILE: tools/virtiofsd/passthrough_ll.c:312:
+^Ie->attr_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#340: FILE: tools/virtiofsd/passthrough_ll.c:313:
+^Ie->entry_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#342: FILE: tools/virtiofsd/passthrough_ll.c:315:
+^Inewfd = openat(lo_fd(req, parent), name, O_PATH | O_NOFOLLOW);$

ERROR: code indent should never use tabs
#343: FILE: tools/virtiofsd/passthrough_ll.c:316:
+^Iif (newfd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#343: FILE: tools/virtiofsd/passthrough_ll.c:316:
+       if (newfd == -1)
[...]

ERROR: code indent should never use tabs
#344: FILE: tools/virtiofsd/passthrough_ll.c:317:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#346: FILE: tools/virtiofsd/passthrough_ll.c:319:
+^Ires = fstatat(newfd, "", &e->attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#347: FILE: tools/virtiofsd/passthrough_ll.c:320:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#347: FILE: tools/virtiofsd/passthrough_ll.c:320:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#348: FILE: tools/virtiofsd/passthrough_ll.c:321:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#350: FILE: tools/virtiofsd/passthrough_ll.c:323:
+^Iinode = lo_find(lo_data(req), &e->attr);$

ERROR: code indent should never use tabs
#351: FILE: tools/virtiofsd/passthrough_ll.c:324:
+^Iif (inode) {$

ERROR: code indent should never use tabs
#352: FILE: tools/virtiofsd/passthrough_ll.c:325:
+^I^Iclose(newfd);$

ERROR: code indent should never use tabs
#353: FILE: tools/virtiofsd/passthrough_ll.c:326:
+^I^Inewfd = -1;$

ERROR: code indent should never use tabs
#354: FILE: tools/virtiofsd/passthrough_ll.c:327:
+^I} else {$

ERROR: code indent should never use tabs
#355: FILE: tools/virtiofsd/passthrough_ll.c:328:
+^I^Istruct lo_inode *prev, *next;$

ERROR: code indent should never use tabs
#357: FILE: tools/virtiofsd/passthrough_ll.c:330:
+^I^Isaverr = ENOMEM;$

ERROR: code indent should never use tabs
#358: FILE: tools/virtiofsd/passthrough_ll.c:331:
+^I^Iinode = calloc(1, sizeof(struct lo_inode));$

ERROR: code indent should never use tabs
#359: FILE: tools/virtiofsd/passthrough_ll.c:332:
+^I^Iif (!inode)$

ERROR: braces {} are necessary for all arms of this statement
#359: FILE: tools/virtiofsd/passthrough_ll.c:332:
+               if (!inode)
[...]

ERROR: code indent should never use tabs
#360: FILE: tools/virtiofsd/passthrough_ll.c:333:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#362: FILE: tools/virtiofsd/passthrough_ll.c:335:
+^I^Iinode->is_symlink = S_ISLNK(e->attr.st_mode);$

ERROR: code indent should never use tabs
#363: FILE: tools/virtiofsd/passthrough_ll.c:336:
+^I^Iinode->refcount = 1;$

ERROR: code indent should never use tabs
#364: FILE: tools/virtiofsd/passthrough_ll.c:337:
+^I^Iinode->fd = newfd;$

ERROR: code indent should never use tabs
#365: FILE: tools/virtiofsd/passthrough_ll.c:338:
+^I^Iinode->ino = e->attr.st_ino;$

ERROR: code indent should never use tabs
#366: FILE: tools/virtiofsd/passthrough_ll.c:339:
+^I^Iinode->dev = e->attr.st_dev;$

ERROR: code indent should never use tabs
#368: FILE: tools/virtiofsd/passthrough_ll.c:341:
+^I^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#369: FILE: tools/virtiofsd/passthrough_ll.c:342:
+^I^Iprev = &lo->root;$

ERROR: code indent should never use tabs
#370: FILE: tools/virtiofsd/passthrough_ll.c:343:
+^I^Inext = prev->next;$

ERROR: code indent should never use tabs
#371: FILE: tools/virtiofsd/passthrough_ll.c:344:
+^I^Inext->prev = inode;$

ERROR: code indent should never use tabs
#372: FILE: tools/virtiofsd/passthrough_ll.c:345:
+^I^Iinode->next = next;$

ERROR: code indent should never use tabs
#373: FILE: tools/virtiofsd/passthrough_ll.c:346:
+^I^Iinode->prev = prev;$

ERROR: code indent should never use tabs
#374: FILE: tools/virtiofsd/passthrough_ll.c:347:
+^I^Iprev->next = inode;$

ERROR: code indent should never use tabs
#375: FILE: tools/virtiofsd/passthrough_ll.c:348:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#376: FILE: tools/virtiofsd/passthrough_ll.c:349:
+^I}$

ERROR: code indent should never use tabs
#377: FILE: tools/virtiofsd/passthrough_ll.c:350:
+^Ie->ino = (uintptr_t) inode;$

ERROR: code indent should never use tabs
#379: FILE: tools/virtiofsd/passthrough_ll.c:352:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#380: FILE: tools/virtiofsd/passthrough_ll.c:353:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

WARNING: line over 80 characters
#381: FILE: tools/virtiofsd/passthrough_ll.c:354:
+                       (unsigned long long) parent, name, (unsigned long long) e->ino);

ERROR: code indent should never use tabs
#381: FILE: tools/virtiofsd/passthrough_ll.c:354:
+^I^I^I(unsigned long long) parent, name, (unsigned long long) e->ino);$

ERROR: code indent should never use tabs
#383: FILE: tools/virtiofsd/passthrough_ll.c:356:
+^Ireturn 0;$

ERROR: code indent should never use tabs
#386: FILE: tools/virtiofsd/passthrough_ll.c:359:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#387: FILE: tools/virtiofsd/passthrough_ll.c:360:
+^Iif (newfd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#387: FILE: tools/virtiofsd/passthrough_ll.c:360:
+       if (newfd != -1)
[...]

ERROR: code indent should never use tabs
#388: FILE: tools/virtiofsd/passthrough_ll.c:361:
+^I^Iclose(newfd);$

ERROR: code indent should never use tabs
#389: FILE: tools/virtiofsd/passthrough_ll.c:362:
+^Ireturn saverr;$

ERROR: code indent should never use tabs
#394: FILE: tools/virtiofsd/passthrough_ll.c:367:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#395: FILE: tools/virtiofsd/passthrough_ll.c:368:
+^Iint err;$

ERROR: code indent should never use tabs
#397: FILE: tools/virtiofsd/passthrough_ll.c:370:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#398: FILE: tools/virtiofsd/passthrough_ll.c:371:
+               fuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", name=%s)\n",

ERROR: code indent should never use tabs
#398: FILE: tools/virtiofsd/passthrough_ll.c:371:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#399: FILE: tools/virtiofsd/passthrough_ll.c:372:
+^I^I^Iparent, name);$

ERROR: code indent should never use tabs
#401: FILE: tools/virtiofsd/passthrough_ll.c:374:
+^Ierr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#402: FILE: tools/virtiofsd/passthrough_ll.c:375:
+^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#402: FILE: tools/virtiofsd/passthrough_ll.c:375:
+       if (err)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#403: FILE: tools/virtiofsd/passthrough_ll.c:376:
+^I^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#404: FILE: tools/virtiofsd/passthrough_ll.c:377:
+^Ielse$

ERROR: code indent should never use tabs
#405: FILE: tools/virtiofsd/passthrough_ll.c:378:
+^I^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#409: FILE: tools/virtiofsd/passthrough_ll.c:382:
+^I^I^I     const char *name, mode_t mode, dev_t rdev,$

ERROR: code indent should never use tabs
#410: FILE: tools/virtiofsd/passthrough_ll.c:383:
+^I^I^I     const char *link)$

ERROR: code indent should never use tabs
#412: FILE: tools/virtiofsd/passthrough_ll.c:385:
+^Iint res;$

ERROR: code indent should never use tabs
#413: FILE: tools/virtiofsd/passthrough_ll.c:386:
+^Iint saverr;$

ERROR: code indent should never use tabs
#414: FILE: tools/virtiofsd/passthrough_ll.c:387:
+^Istruct lo_inode *dir = lo_inode(req, parent);$

ERROR: code indent should never use tabs
#415: FILE: tools/virtiofsd/passthrough_ll.c:388:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#417: FILE: tools/virtiofsd/passthrough_ll.c:390:
+^Isaverr = ENOMEM;$

ERROR: code indent should never use tabs
#419: FILE: tools/virtiofsd/passthrough_ll.c:392:
+^Ires = mknod_wrapper(dir->fd, name, link, mode, rdev);$

ERROR: code indent should never use tabs
#421: FILE: tools/virtiofsd/passthrough_ll.c:394:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#422: FILE: tools/virtiofsd/passthrough_ll.c:395:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#422: FILE: tools/virtiofsd/passthrough_ll.c:395:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#423: FILE: tools/virtiofsd/passthrough_ll.c:396:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#425: FILE: tools/virtiofsd/passthrough_ll.c:398:
+^Isaverr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#426: FILE: tools/virtiofsd/passthrough_ll.c:399:
+^Iif (saverr)$

ERROR: braces {} are necessary for all arms of this statement
#426: FILE: tools/virtiofsd/passthrough_ll.c:399:
+       if (saverr)
[...]

ERROR: code indent should never use tabs
#427: FILE: tools/virtiofsd/passthrough_ll.c:400:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#429: FILE: tools/virtiofsd/passthrough_ll.c:402:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#430: FILE: tools/virtiofsd/passthrough_ll.c:403:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

WARNING: line over 80 characters
#431: FILE: tools/virtiofsd/passthrough_ll.c:404:
+                       (unsigned long long) parent, name, (unsigned long long) e.ino);

ERROR: code indent should never use tabs
#431: FILE: tools/virtiofsd/passthrough_ll.c:404:
+^I^I^I(unsigned long long) parent, name, (unsigned long long) e.ino);$

ERROR: code indent should never use tabs
#433: FILE: tools/virtiofsd/passthrough_ll.c:406:
+^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#434: FILE: tools/virtiofsd/passthrough_ll.c:407:
+^Ireturn;$

ERROR: code indent should never use tabs
#437: FILE: tools/virtiofsd/passthrough_ll.c:410:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#441: FILE: tools/virtiofsd/passthrough_ll.c:414:
+^I^I     const char *name, mode_t mode, dev_t rdev)$

ERROR: code indent should never use tabs
#443: FILE: tools/virtiofsd/passthrough_ll.c:416:
+^Ilo_mknod_symlink(req, parent, name, mode, rdev, NULL);$

ERROR: code indent should never use tabs
#447: FILE: tools/virtiofsd/passthrough_ll.c:420:
+^I^I     mode_t mode)$

ERROR: code indent should never use tabs
#449: FILE: tools/virtiofsd/passthrough_ll.c:422:
+^Ilo_mknod_symlink(req, parent, name, S_IFDIR | mode, 0, NULL);$

ERROR: code indent should never use tabs
#453: FILE: tools/virtiofsd/passthrough_ll.c:426:
+^I^I       fuse_ino_t parent, const char *name)$

ERROR: code indent should never use tabs
#455: FILE: tools/virtiofsd/passthrough_ll.c:428:
+^Ilo_mknod_symlink(req, parent, name, S_IFLNK, 0, link);$

ERROR: code indent should never use tabs
#459: FILE: tools/virtiofsd/passthrough_ll.c:432:
+^I^I^I^I const char *name)$

ERROR: code indent should never use tabs
#461: FILE: tools/virtiofsd/passthrough_ll.c:434:
+^Iint res;$

ERROR: code indent should never use tabs
#462: FILE: tools/virtiofsd/passthrough_ll.c:435:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#464: FILE: tools/virtiofsd/passthrough_ll.c:437:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#465: FILE: tools/virtiofsd/passthrough_ll.c:438:
+^I^Ires = linkat(inode->fd, "", dfd, name, AT_EMPTY_PATH);$

ERROR: code indent should never use tabs
#466: FILE: tools/virtiofsd/passthrough_ll.c:439:
+^I^Iif (res == -1 && (errno == ENOENT || errno == EINVAL)) {$

ERROR: code indent should never use tabs
#467: FILE: tools/virtiofsd/passthrough_ll.c:440:
+^I^I^I/* Sorry, no race free way to hard-link a symlink. */$

ERROR: code indent should never use tabs
#468: FILE: tools/virtiofsd/passthrough_ll.c:441:
+^I^I^Ierrno = EPERM;$

ERROR: code indent should never use tabs
#469: FILE: tools/virtiofsd/passthrough_ll.c:442:
+^I^I}$

ERROR: code indent should never use tabs
#470: FILE: tools/virtiofsd/passthrough_ll.c:443:
+^I^Ireturn res;$

ERROR: code indent should never use tabs
#471: FILE: tools/virtiofsd/passthrough_ll.c:444:
+^I}$

ERROR: code indent should never use tabs
#473: FILE: tools/virtiofsd/passthrough_ll.c:446:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#475: FILE: tools/virtiofsd/passthrough_ll.c:448:
+^Ireturn linkat(AT_FDCWD, procname, dfd, name, AT_SYMLINK_FOLLOW);$

ERROR: code indent should never use tabs
#479: FILE: tools/virtiofsd/passthrough_ll.c:452:
+^I^I    const char *name)$

ERROR: code indent should never use tabs
#481: FILE: tools/virtiofsd/passthrough_ll.c:454:
+^Iint res;$

ERROR: code indent should never use tabs
#482: FILE: tools/virtiofsd/passthrough_ll.c:455:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#483: FILE: tools/virtiofsd/passthrough_ll.c:456:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#484: FILE: tools/virtiofsd/passthrough_ll.c:457:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#485: FILE: tools/virtiofsd/passthrough_ll.c:458:
+^Iint saverr;$

ERROR: code indent should never use tabs
#487: FILE: tools/virtiofsd/passthrough_ll.c:460:
+^Imemset(&e, 0, sizeof(struct fuse_entry_param));$

ERROR: code indent should never use tabs
#488: FILE: tools/virtiofsd/passthrough_ll.c:461:
+^Ie.attr_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#489: FILE: tools/virtiofsd/passthrough_ll.c:462:
+^Ie.entry_timeout = lo->timeout;$

ERROR: code indent should never use tabs
#491: FILE: tools/virtiofsd/passthrough_ll.c:464:
+^Ires = linkat_empty_nofollow(inode, lo_fd(req, parent), name);$

ERROR: code indent should never use tabs
#492: FILE: tools/virtiofsd/passthrough_ll.c:465:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#492: FILE: tools/virtiofsd/passthrough_ll.c:465:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#493: FILE: tools/virtiofsd/passthrough_ll.c:466:
+^I^Igoto out_err;$

WARNING: line over 80 characters
#495: FILE: tools/virtiofsd/passthrough_ll.c:468:
+       res = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);

ERROR: code indent should never use tabs
#495: FILE: tools/virtiofsd/passthrough_ll.c:468:
+^Ires = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$

ERROR: code indent should never use tabs
#496: FILE: tools/virtiofsd/passthrough_ll.c:469:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#496: FILE: tools/virtiofsd/passthrough_ll.c:469:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#497: FILE: tools/virtiofsd/passthrough_ll.c:470:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#499: FILE: tools/virtiofsd/passthrough_ll.c:472:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#500: FILE: tools/virtiofsd/passthrough_ll.c:473:
+^Iinode->refcount++;$

ERROR: code indent should never use tabs
#501: FILE: tools/virtiofsd/passthrough_ll.c:474:
+^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#502: FILE: tools/virtiofsd/passthrough_ll.c:475:
+^Ie.ino = (uintptr_t) inode;$

ERROR: code indent should never use tabs
#504: FILE: tools/virtiofsd/passthrough_ll.c:477:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#505: FILE: tools/virtiofsd/passthrough_ll.c:478:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  %lli/%s -> %lli\n",$

ERROR: code indent should never use tabs
#506: FILE: tools/virtiofsd/passthrough_ll.c:479:
+^I^I^I(unsigned long long) parent, name,$

ERROR: code indent should never use tabs
#507: FILE: tools/virtiofsd/passthrough_ll.c:480:
+^I^I^I(unsigned long long) e.ino);$

ERROR: code indent should never use tabs
#509: FILE: tools/virtiofsd/passthrough_ll.c:482:
+^Ifuse_reply_entry(req, &e);$

ERROR: code indent should never use tabs
#510: FILE: tools/virtiofsd/passthrough_ll.c:483:
+^Ireturn;$

ERROR: code indent should never use tabs
#513: FILE: tools/virtiofsd/passthrough_ll.c:486:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#514: FILE: tools/virtiofsd/passthrough_ll.c:487:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#519: FILE: tools/virtiofsd/passthrough_ll.c:492:
+^Iint res;$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/passthrough_ll.c:494:
+^Ires = unlinkat(lo_fd(req, parent), name, AT_REMOVEDIR);$

ERROR: code indent should never use tabs
#523: FILE: tools/virtiofsd/passthrough_ll.c:496:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#527: FILE: tools/virtiofsd/passthrough_ll.c:500:
+^I^I      fuse_ino_t newparent, const char *newname,$

ERROR: code indent should never use tabs
#528: FILE: tools/virtiofsd/passthrough_ll.c:501:
+^I^I      unsigned int flags)$

ERROR: code indent should never use tabs
#530: FILE: tools/virtiofsd/passthrough_ll.c:503:
+^Iint res;$

ERROR: code indent should never use tabs
#532: FILE: tools/virtiofsd/passthrough_ll.c:505:
+^Iif (flags) {$

ERROR: code indent should never use tabs
#533: FILE: tools/virtiofsd/passthrough_ll.c:506:
+^I^Ifuse_reply_err(req, EINVAL);$

ERROR: code indent should never use tabs
#534: FILE: tools/virtiofsd/passthrough_ll.c:507:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#535: FILE: tools/virtiofsd/passthrough_ll.c:508:
+^I}$

ERROR: code indent should never use tabs
#537: FILE: tools/virtiofsd/passthrough_ll.c:510:
+^Ires = renameat(lo_fd(req, parent), name,$

ERROR: code indent should never use tabs
#538: FILE: tools/virtiofsd/passthrough_ll.c:511:
+^I^I^Ilo_fd(req, newparent), newname);$

ERROR: code indent should never use tabs
#540: FILE: tools/virtiofsd/passthrough_ll.c:513:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#545: FILE: tools/virtiofsd/passthrough_ll.c:518:
+^Iint res;$

ERROR: code indent should never use tabs
#547: FILE: tools/virtiofsd/passthrough_ll.c:520:
+^Ires = unlinkat(lo_fd(req, parent), name, 0);$

ERROR: code indent should never use tabs
#549: FILE: tools/virtiofsd/passthrough_ll.c:522:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#554: FILE: tools/virtiofsd/passthrough_ll.c:527:
+^Iif (!inode)$

ERROR: braces {} are necessary for all arms of this statement
#554: FILE: tools/virtiofsd/passthrough_ll.c:527:
+       if (!inode)
[...]

ERROR: code indent should never use tabs
#555: FILE: tools/virtiofsd/passthrough_ll.c:528:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#557: FILE: tools/virtiofsd/passthrough_ll.c:530:
+^Ipthread_mutex_lock(&lo->mutex);$

ERROR: code indent should never use tabs
#558: FILE: tools/virtiofsd/passthrough_ll.c:531:
+^Iassert(inode->refcount >= n);$

ERROR: code indent should never use tabs
#559: FILE: tools/virtiofsd/passthrough_ll.c:532:
+^Iinode->refcount -= n;$

ERROR: code indent should never use tabs
#560: FILE: tools/virtiofsd/passthrough_ll.c:533:
+^Iif (!inode->refcount) {$

ERROR: code indent should never use tabs
#561: FILE: tools/virtiofsd/passthrough_ll.c:534:
+^I^Istruct lo_inode *prev, *next;$

ERROR: code indent should never use tabs
#563: FILE: tools/virtiofsd/passthrough_ll.c:536:
+^I^Iprev = inode->prev;$

ERROR: code indent should never use tabs
#564: FILE: tools/virtiofsd/passthrough_ll.c:537:
+^I^Inext = inode->next;$

ERROR: code indent should never use tabs
#565: FILE: tools/virtiofsd/passthrough_ll.c:538:
+^I^Inext->prev = prev;$

ERROR: code indent should never use tabs
#566: FILE: tools/virtiofsd/passthrough_ll.c:539:
+^I^Iprev->next = next;$

ERROR: code indent should never use tabs
#568: FILE: tools/virtiofsd/passthrough_ll.c:541:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#569: FILE: tools/virtiofsd/passthrough_ll.c:542:
+^I^Iclose(inode->fd);$

ERROR: code indent should never use tabs
#570: FILE: tools/virtiofsd/passthrough_ll.c:543:
+^I^Ifree(inode);$

ERROR: code indent should never use tabs
#572: FILE: tools/virtiofsd/passthrough_ll.c:545:
+^I} else {$

ERROR: code indent should never use tabs
#573: FILE: tools/virtiofsd/passthrough_ll.c:546:
+^I^Ipthread_mutex_unlock(&lo->mutex);$

ERROR: code indent should never use tabs
#574: FILE: tools/virtiofsd/passthrough_ll.c:547:
+^I}$

ERROR: code indent should never use tabs
#579: FILE: tools/virtiofsd/passthrough_ll.c:552:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#580: FILE: tools/virtiofsd/passthrough_ll.c:553:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#582: FILE: tools/virtiofsd/passthrough_ll.c:555:
+^Iif (lo_debug(req)) {$

ERROR: code indent should never use tabs
#583: FILE: tools/virtiofsd/passthrough_ll.c:556:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "  forget %lli %lli -%lli\n",$

ERROR: code indent should never use tabs
#584: FILE: tools/virtiofsd/passthrough_ll.c:557:
+^I^I^I(unsigned long long) ino,$

ERROR: code indent should never use tabs
#585: FILE: tools/virtiofsd/passthrough_ll.c:558:
+^I^I^I(unsigned long long) inode->refcount,$

ERROR: code indent should never use tabs
#586: FILE: tools/virtiofsd/passthrough_ll.c:559:
+^I^I^I(unsigned long long) nlookup);$

ERROR: code indent should never use tabs
#587: FILE: tools/virtiofsd/passthrough_ll.c:560:
+^I}$

ERROR: code indent should never use tabs
#589: FILE: tools/virtiofsd/passthrough_ll.c:562:
+^Iunref_inode(lo, inode, nlookup);$

ERROR: code indent should never use tabs
#594: FILE: tools/virtiofsd/passthrough_ll.c:567:
+^Ilo_forget_one(req, ino, nlookup);$

ERROR: code indent should never use tabs
#595: FILE: tools/virtiofsd/passthrough_ll.c:568:
+^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#599: FILE: tools/virtiofsd/passthrough_ll.c:572:
+^I^I^I^Istruct fuse_forget_data *forgets)$

ERROR: code indent should never use tabs
#601: FILE: tools/virtiofsd/passthrough_ll.c:574:
+^Iint i;$

ERROR: code indent should never use tabs
#603: FILE: tools/virtiofsd/passthrough_ll.c:576:
+^Ifor (i = 0; i < count; i++)$

ERROR: braces {} are necessary for all arms of this statement
#603: FILE: tools/virtiofsd/passthrough_ll.c:576:
+       for (i = 0; i < count; i++)
[...]

ERROR: code indent should never use tabs
#604: FILE: tools/virtiofsd/passthrough_ll.c:577:
+^I^Ilo_forget_one(req, forgets[i].ino, forgets[i].nlookup);$

ERROR: code indent should never use tabs
#605: FILE: tools/virtiofsd/passthrough_ll.c:578:
+^Ifuse_reply_none(req);$

ERROR: code indent should never use tabs
#610: FILE: tools/virtiofsd/passthrough_ll.c:583:
+^Ichar buf[PATH_MAX + 1];$

ERROR: code indent should never use tabs
#611: FILE: tools/virtiofsd/passthrough_ll.c:584:
+^Iint res;$

ERROR: code indent should never use tabs
#613: FILE: tools/virtiofsd/passthrough_ll.c:586:
+^Ires = readlinkat(lo_fd(req, ino), "", buf, sizeof(buf));$

ERROR: code indent should never use tabs
#614: FILE: tools/virtiofsd/passthrough_ll.c:587:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#614: FILE: tools/virtiofsd/passthrough_ll.c:587:
+       if (res == -1)
[...]

ERROR: code indent should never use tabs
#615: FILE: tools/virtiofsd/passthrough_ll.c:588:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#617: FILE: tools/virtiofsd/passthrough_ll.c:590:
+^Iif (res == sizeof(buf))$

ERROR: braces {} are necessary for all arms of this statement
#617: FILE: tools/virtiofsd/passthrough_ll.c:590:
+       if (res == sizeof(buf))
[...]

ERROR: code indent should never use tabs
#618: FILE: tools/virtiofsd/passthrough_ll.c:591:
+^I^Ireturn (void) fuse_reply_err(req, ENAMETOOLONG);$

ERROR: code indent should never use tabs
#620: FILE: tools/virtiofsd/passthrough_ll.c:593:
+^Ibuf[res] = '\0';$

ERROR: code indent should never use tabs
#622: FILE: tools/virtiofsd/passthrough_ll.c:595:
+^Ifuse_reply_readlink(req, buf);$

ERROR: code indent should never use tabs
#626: FILE: tools/virtiofsd/passthrough_ll.c:599:
+^IDIR *dp;$

ERROR: code indent should never use tabs
#627: FILE: tools/virtiofsd/passthrough_ll.c:600:
+^Istruct dirent *entry;$

ERROR: code indent should never use tabs
#628: FILE: tools/virtiofsd/passthrough_ll.c:601:
+^Ioff_t offset;$

ERROR: code indent should never use tabs
#633: FILE: tools/virtiofsd/passthrough_ll.c:606:
+^Ireturn (struct lo_dirp *) (uintptr_t) fi->fh;$

WARNING: line over 80 characters
#636: FILE: tools/virtiofsd/passthrough_ll.c:609:
+static void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)

ERROR: code indent should never use tabs
#638: FILE: tools/virtiofsd/passthrough_ll.c:611:
+^Iint error = ENOMEM;$

ERROR: code indent should never use tabs
#639: FILE: tools/virtiofsd/passthrough_ll.c:612:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#640: FILE: tools/virtiofsd/passthrough_ll.c:613:
+^Istruct lo_dirp *d;$

ERROR: code indent should never use tabs
#641: FILE: tools/virtiofsd/passthrough_ll.c:614:
+^Iint fd;$

ERROR: code indent should never use tabs
#643: FILE: tools/virtiofsd/passthrough_ll.c:616:
+^Id = calloc(1, sizeof(struct lo_dirp));$

ERROR: code indent should never use tabs
#644: FILE: tools/virtiofsd/passthrough_ll.c:617:
+^Iif (d == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#644: FILE: tools/virtiofsd/passthrough_ll.c:617:
+       if (d == NULL)
[...]

ERROR: code indent should never use tabs
#645: FILE: tools/virtiofsd/passthrough_ll.c:618:
+^I^Igoto out_err;$

ERROR: code indent should never use tabs
#647: FILE: tools/virtiofsd/passthrough_ll.c:620:
+^Ifd = openat(lo_fd(req, ino), ".", O_RDONLY);$

ERROR: code indent should never use tabs
#648: FILE: tools/virtiofsd/passthrough_ll.c:621:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#648: FILE: tools/virtiofsd/passthrough_ll.c:621:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#649: FILE: tools/virtiofsd/passthrough_ll.c:622:
+^I^Igoto out_errno;$

ERROR: code indent should never use tabs
#651: FILE: tools/virtiofsd/passthrough_ll.c:624:
+^Id->dp = fdopendir(fd);$

ERROR: code indent should never use tabs
#652: FILE: tools/virtiofsd/passthrough_ll.c:625:
+^Iif (d->dp == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#652: FILE: tools/virtiofsd/passthrough_ll.c:625:
+       if (d->dp == NULL)
[...]

ERROR: code indent should never use tabs
#653: FILE: tools/virtiofsd/passthrough_ll.c:626:
+^I^Igoto out_errno;$

ERROR: code indent should never use tabs
#655: FILE: tools/virtiofsd/passthrough_ll.c:628:
+^Id->offset = 0;$

ERROR: code indent should never use tabs
#656: FILE: tools/virtiofsd/passthrough_ll.c:629:
+^Id->entry = NULL;$

ERROR: code indent should never use tabs
#658: FILE: tools/virtiofsd/passthrough_ll.c:631:
+^Ifi->fh = (uintptr_t) d;$

ERROR: code indent should never use tabs
#659: FILE: tools/virtiofsd/passthrough_ll.c:632:
+^Iif (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#659: FILE: tools/virtiofsd/passthrough_ll.c:632:
+       if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#660: FILE: tools/virtiofsd/passthrough_ll.c:633:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#661: FILE: tools/virtiofsd/passthrough_ll.c:634:
+^Ifuse_reply_open(req, fi);$

ERROR: code indent should never use tabs
#662: FILE: tools/virtiofsd/passthrough_ll.c:635:
+^Ireturn;$

ERROR: code indent should never use tabs
#665: FILE: tools/virtiofsd/passthrough_ll.c:638:
+^Ierror = errno;$

ERROR: code indent should never use tabs
#667: FILE: tools/virtiofsd/passthrough_ll.c:640:
+^Iif (d) {$

ERROR: code indent should never use tabs
#668: FILE: tools/virtiofsd/passthrough_ll.c:641:
+^I^Iif (fd != -1)$

ERROR: braces {} are necessary for all arms of this statement
#668: FILE: tools/virtiofsd/passthrough_ll.c:641:
+               if (fd != -1)
[...]

ERROR: code indent should never use tabs
#669: FILE: tools/virtiofsd/passthrough_ll.c:642:
+^I^I^Iclose(fd);$

ERROR: code indent should never use tabs
#670: FILE: tools/virtiofsd/passthrough_ll.c:643:
+^I^Ifree(d);$

ERROR: code indent should never use tabs
#671: FILE: tools/virtiofsd/passthrough_ll.c:644:
+^I}$

ERROR: code indent should never use tabs
#672: FILE: tools/virtiofsd/passthrough_ll.c:645:
+^Ifuse_reply_err(req, error);$

ERROR: code indent should never use tabs
#677: FILE: tools/virtiofsd/passthrough_ll.c:650:
+^Ireturn name[0] == '.' && (name[1] == '\0' ||$

ERROR: code indent should never use tabs
#678: FILE: tools/virtiofsd/passthrough_ll.c:651:
+^I^I^I^I  (name[1] == '.' && name[2] == '\0'));$

ERROR: code indent should never use tabs
#682: FILE: tools/virtiofsd/passthrough_ll.c:655:
+^I^I^I  off_t offset, struct fuse_file_info *fi, int plus)$

ERROR: code indent should never use tabs
#684: FILE: tools/virtiofsd/passthrough_ll.c:657:
+^Istruct lo_dirp *d = lo_dirp(fi);$

ERROR: code indent should never use tabs
#685: FILE: tools/virtiofsd/passthrough_ll.c:658:
+^Ichar *buf;$

ERROR: code indent should never use tabs
#686: FILE: tools/virtiofsd/passthrough_ll.c:659:
+^Ichar *p;$

ERROR: code indent should never use tabs
#687: FILE: tools/virtiofsd/passthrough_ll.c:660:
+^Isize_t rem = size;$

ERROR: code indent should never use tabs
#688: FILE: tools/virtiofsd/passthrough_ll.c:661:
+^Iint err;$

ERROR: code indent should never use tabs
#690: FILE: tools/virtiofsd/passthrough_ll.c:663:
+^I(void) ino;$

ERROR: code indent should never use tabs
#692: FILE: tools/virtiofsd/passthrough_ll.c:665:
+^Ibuf = calloc(1, size);$

ERROR: code indent should never use tabs
#693: FILE: tools/virtiofsd/passthrough_ll.c:666:
+^Iif (!buf) {$

ERROR: code indent should never use tabs
#694: FILE: tools/virtiofsd/passthrough_ll.c:667:
+^I^Ierr = ENOMEM;$

ERROR: code indent should never use tabs
#695: FILE: tools/virtiofsd/passthrough_ll.c:668:
+^I^Igoto error;$

ERROR: code indent should never use tabs
#696: FILE: tools/virtiofsd/passthrough_ll.c:669:
+^I}$

ERROR: code indent should never use tabs
#697: FILE: tools/virtiofsd/passthrough_ll.c:670:
+^Ip = buf;$

ERROR: code indent should never use tabs
#699: FILE: tools/virtiofsd/passthrough_ll.c:672:
+^Iif (offset != d->offset) {$

ERROR: code indent should never use tabs
#700: FILE: tools/virtiofsd/passthrough_ll.c:673:
+^I^Iseekdir(d->dp, offset);$

ERROR: code indent should never use tabs
#701: FILE: tools/virtiofsd/passthrough_ll.c:674:
+^I^Id->entry = NULL;$

ERROR: code indent should never use tabs
#702: FILE: tools/virtiofsd/passthrough_ll.c:675:
+^I^Id->offset = offset;$

ERROR: code indent should never use tabs
#703: FILE: tools/virtiofsd/passthrough_ll.c:676:
+^I}$

ERROR: code indent should never use tabs
#704: FILE: tools/virtiofsd/passthrough_ll.c:677:
+^Iwhile (1) {$

ERROR: code indent should never use tabs
#705: FILE: tools/virtiofsd/passthrough_ll.c:678:
+^I^Isize_t entsize;$

ERROR: code indent should never use tabs
#706: FILE: tools/virtiofsd/passthrough_ll.c:679:
+^I^Ioff_t nextoff;$

ERROR: code indent should never use tabs
#707: FILE: tools/virtiofsd/passthrough_ll.c:680:
+^I^Iconst char *name;$

ERROR: code indent should never use tabs
#709: FILE: tools/virtiofsd/passthrough_ll.c:682:
+^I^Iif (!d->entry) {$

ERROR: code indent should never use tabs
#710: FILE: tools/virtiofsd/passthrough_ll.c:683:
+^I^I^Ierrno = 0;$

ERROR: code indent should never use tabs
#711: FILE: tools/virtiofsd/passthrough_ll.c:684:
+^I^I^Id->entry = readdir(d->dp);$

ERROR: code indent should never use tabs
#712: FILE: tools/virtiofsd/passthrough_ll.c:685:
+^I^I^Iif (!d->entry) {$

ERROR: code indent should never use tabs
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+^I^I^I^Iif (errno) {  // Error$

ERROR: do not use C99 // comments
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+                               if (errno) {  // Error

ERROR: trailing statements should be on next line
#713: FILE: tools/virtiofsd/passthrough_ll.c:686:
+                               if (errno) {  // Error

ERROR: code indent should never use tabs
#714: FILE: tools/virtiofsd/passthrough_ll.c:687:
+^I^I^I^I^Ierr = errno;$

ERROR: code indent should never use tabs
#715: FILE: tools/virtiofsd/passthrough_ll.c:688:
+^I^I^I^I^Igoto error;$

ERROR: code indent should never use tabs
#716: FILE: tools/virtiofsd/passthrough_ll.c:689:
+^I^I^I^I} else {  // End of stream$

ERROR: do not use C99 // comments
#716: FILE: tools/virtiofsd/passthrough_ll.c:689:
+                               } else {  // End of stream

ERROR: trailing whitespace
#717: FILE: tools/virtiofsd/passthrough_ll.c:690:
+^I^I^I^I^Ibreak; $

ERROR: code indent should never use tabs
#717: FILE: tools/virtiofsd/passthrough_ll.c:690:
+^I^I^I^I^Ibreak; $

ERROR: code indent should never use tabs
#718: FILE: tools/virtiofsd/passthrough_ll.c:691:
+^I^I^I^I}$

ERROR: code indent should never use tabs
#719: FILE: tools/virtiofsd/passthrough_ll.c:692:
+^I^I^I}$

ERROR: code indent should never use tabs
#720: FILE: tools/virtiofsd/passthrough_ll.c:693:
+^I^I}$

ERROR: code indent should never use tabs
#721: FILE: tools/virtiofsd/passthrough_ll.c:694:
+^I^Inextoff = d->entry->d_off;$

ERROR: code indent should never use tabs
#722: FILE: tools/virtiofsd/passthrough_ll.c:695:
+^I^Iname = d->entry->d_name;$

ERROR: code indent should never use tabs
#723: FILE: tools/virtiofsd/passthrough_ll.c:696:
+^I^Ifuse_ino_t entry_ino = 0;$

ERROR: code indent should never use tabs
#724: FILE: tools/virtiofsd/passthrough_ll.c:697:
+^I^Iif (plus) {$

ERROR: code indent should never use tabs
#725: FILE: tools/virtiofsd/passthrough_ll.c:698:
+^I^I^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#726: FILE: tools/virtiofsd/passthrough_ll.c:699:
+^I^I^Iif (is_dot_or_dotdot(name)) {$

ERROR: code indent should never use tabs
#727: FILE: tools/virtiofsd/passthrough_ll.c:700:
+^I^I^I^Ie = (struct fuse_entry_param) {$

ERROR: code indent should never use tabs
#728: FILE: tools/virtiofsd/passthrough_ll.c:701:
+^I^I^I^I^I.attr.st_ino = d->entry->d_ino,$

ERROR: code indent should never use tabs
#729: FILE: tools/virtiofsd/passthrough_ll.c:702:
+^I^I^I^I^I.attr.st_mode = d->entry->d_type << 12,$

ERROR: code indent should never use tabs
#730: FILE: tools/virtiofsd/passthrough_ll.c:703:
+^I^I^I^I};$

ERROR: code indent should never use tabs
#731: FILE: tools/virtiofsd/passthrough_ll.c:704:
+^I^I^I} else {$

ERROR: code indent should never use tabs
#732: FILE: tools/virtiofsd/passthrough_ll.c:705:
+^I^I^I^Ierr = lo_do_lookup(req, ino, name, &e);$

ERROR: code indent should never use tabs
#733: FILE: tools/virtiofsd/passthrough_ll.c:706:
+^I^I^I^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#733: FILE: tools/virtiofsd/passthrough_ll.c:706:
+                               if (err)
[...]

ERROR: code indent should never use tabs
#734: FILE: tools/virtiofsd/passthrough_ll.c:707:
+^I^I^I^I^Igoto error;$

ERROR: code indent should never use tabs
#735: FILE: tools/virtiofsd/passthrough_ll.c:708:
+^I^I^I^Ientry_ino = e.ino;$

ERROR: code indent should never use tabs
#736: FILE: tools/virtiofsd/passthrough_ll.c:709:
+^I^I^I}$

ERROR: code indent should never use tabs
#738: FILE: tools/virtiofsd/passthrough_ll.c:711:
+^I^I^Ientsize = fuse_add_direntry_plus(req, p, rem, name,$

ERROR: code indent should never use tabs
#739: FILE: tools/virtiofsd/passthrough_ll.c:712:
+^I^I^I^I^I^I^I &e, nextoff);$

ERROR: code indent should never use tabs
#740: FILE: tools/virtiofsd/passthrough_ll.c:713:
+^I^I} else {$

ERROR: code indent should never use tabs
#741: FILE: tools/virtiofsd/passthrough_ll.c:714:
+^I^I^Istruct stat st = {$

ERROR: code indent should never use tabs
#742: FILE: tools/virtiofsd/passthrough_ll.c:715:
+^I^I^I^I.st_ino = d->entry->d_ino,$

ERROR: code indent should never use tabs
#743: FILE: tools/virtiofsd/passthrough_ll.c:716:
+^I^I^I^I.st_mode = d->entry->d_type << 12,$

ERROR: code indent should never use tabs
#744: FILE: tools/virtiofsd/passthrough_ll.c:717:
+^I^I^I};$

ERROR: code indent should never use tabs
#745: FILE: tools/virtiofsd/passthrough_ll.c:718:
+^I^I^Ientsize = fuse_add_direntry(req, p, rem, name,$

ERROR: code indent should never use tabs
#746: FILE: tools/virtiofsd/passthrough_ll.c:719:
+^I^I^I^I^I^I    &st, nextoff);$

ERROR: code indent should never use tabs
#747: FILE: tools/virtiofsd/passthrough_ll.c:720:
+^I^I}$

ERROR: code indent should never use tabs
#748: FILE: tools/virtiofsd/passthrough_ll.c:721:
+^I^Iif (entsize > rem) {$

ERROR: trailing whitespace
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+^I^I^Iif (entry_ino != 0) $

ERROR: code indent should never use tabs
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+^I^I^Iif (entry_ino != 0) $

ERROR: braces {} are necessary for all arms of this statement
#749: FILE: tools/virtiofsd/passthrough_ll.c:722:
+                       if (entry_ino != 0) 
[...]

ERROR: code indent should never use tabs
#750: FILE: tools/virtiofsd/passthrough_ll.c:723:
+^I^I^I^Ilo_forget_one(req, entry_ino, 1);$

ERROR: code indent should never use tabs
#751: FILE: tools/virtiofsd/passthrough_ll.c:724:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#752: FILE: tools/virtiofsd/passthrough_ll.c:725:
+^I^I}$

ERROR: trailing whitespace
#753: FILE: tools/virtiofsd/passthrough_ll.c:726:
+^I^I$

ERROR: code indent should never use tabs
#753: FILE: tools/virtiofsd/passthrough_ll.c:726:
+^I^I$

ERROR: code indent should never use tabs
#754: FILE: tools/virtiofsd/passthrough_ll.c:727:
+^I^Ip += entsize;$

ERROR: code indent should never use tabs
#755: FILE: tools/virtiofsd/passthrough_ll.c:728:
+^I^Irem -= entsize;$

ERROR: code indent should never use tabs
#757: FILE: tools/virtiofsd/passthrough_ll.c:730:
+^I^Id->entry = NULL;$

ERROR: code indent should never use tabs
#758: FILE: tools/virtiofsd/passthrough_ll.c:731:
+^I^Id->offset = nextoff;$

ERROR: code indent should never use tabs
#759: FILE: tools/virtiofsd/passthrough_ll.c:732:
+^I}$

ERROR: do not use C99 // comments
#763: FILE: tools/virtiofsd/passthrough_ll.c:736:
+    // If there's an error, we can only signal it if we haven't stored

ERROR: do not use C99 // comments
#764: FILE: tools/virtiofsd/passthrough_ll.c:737:
+    // any entries yet - otherwise we'd end up with wrong lookup

ERROR: do not use C99 // comments
#765: FILE: tools/virtiofsd/passthrough_ll.c:738:
+    // counts for the entries that are already in the buffer. So we

ERROR: do not use C99 // comments
#766: FILE: tools/virtiofsd/passthrough_ll.c:739:
+    // return what we've collected until that point.

ERROR: braces {} are necessary for all arms of this statement
#767: FILE: tools/virtiofsd/passthrough_ll.c:740:
+    if (err && rem == size)
[...]
+    else
[...]

ERROR: code indent should never use tabs
#768: FILE: tools/virtiofsd/passthrough_ll.c:741:
+^I    fuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/passthrough_ll.c:743:
+^I    fuse_reply_buf(req, buf, size - rem);$

ERROR: code indent should never use tabs
#775: FILE: tools/virtiofsd/passthrough_ll.c:748:
+^I^I       off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#777: FILE: tools/virtiofsd/passthrough_ll.c:750:
+^Ilo_do_readdir(req, ino, size, offset, fi, 0);$

ERROR: code indent should never use tabs
#781: FILE: tools/virtiofsd/passthrough_ll.c:754:
+^I^I^I   off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#783: FILE: tools/virtiofsd/passthrough_ll.c:756:
+^Ilo_do_readdir(req, ino, size, offset, fi, 1);$

WARNING: line over 80 characters
#786: FILE: tools/virtiofsd/passthrough_ll.c:759:
+static void lo_releasedir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)

ERROR: code indent should never use tabs
#788: FILE: tools/virtiofsd/passthrough_ll.c:761:
+^Istruct lo_dirp *d = lo_dirp(fi);$

ERROR: code indent should never use tabs
#789: FILE: tools/virtiofsd/passthrough_ll.c:762:
+^I(void) ino;$

ERROR: code indent should never use tabs
#790: FILE: tools/virtiofsd/passthrough_ll.c:763:
+^Iclosedir(d->dp);$

ERROR: code indent should never use tabs
#791: FILE: tools/virtiofsd/passthrough_ll.c:764:
+^Ifree(d);$

ERROR: code indent should never use tabs
#792: FILE: tools/virtiofsd/passthrough_ll.c:765:
+^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#796: FILE: tools/virtiofsd/passthrough_ll.c:769:
+^I^I      mode_t mode, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#798: FILE: tools/virtiofsd/passthrough_ll.c:771:
+^Iint fd;$

ERROR: code indent should never use tabs
#799: FILE: tools/virtiofsd/passthrough_ll.c:772:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#800: FILE: tools/virtiofsd/passthrough_ll.c:773:
+^Istruct fuse_entry_param e;$

ERROR: code indent should never use tabs
#801: FILE: tools/virtiofsd/passthrough_ll.c:774:
+^Iint err;$

ERROR: code indent should never use tabs
#803: FILE: tools/virtiofsd/passthrough_ll.c:776:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#804: FILE: tools/virtiofsd/passthrough_ll.c:777:
+               fuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", name=%s)\n",

ERROR: code indent should never use tabs
#804: FILE: tools/virtiofsd/passthrough_ll.c:777:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#805: FILE: tools/virtiofsd/passthrough_ll.c:778:
+^I^I^Iparent, name);$

ERROR: code indent should never use tabs
#807: FILE: tools/virtiofsd/passthrough_ll.c:780:
+^Ifd = openat(lo_fd(req, parent), name,$

ERROR: code indent should never use tabs
#808: FILE: tools/virtiofsd/passthrough_ll.c:781:
+^I^I    (fi->flags | O_CREAT) & ~O_NOFOLLOW, mode);$

ERROR: code indent should never use tabs
#809: FILE: tools/virtiofsd/passthrough_ll.c:782:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#809: FILE: tools/virtiofsd/passthrough_ll.c:782:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#810: FILE: tools/virtiofsd/passthrough_ll.c:783:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#812: FILE: tools/virtiofsd/passthrough_ll.c:785:
+^Ifi->fh = fd;$

ERROR: code indent should never use tabs
#813: FILE: tools/virtiofsd/passthrough_ll.c:786:
+^Iif (lo->cache == CACHE_NEVER)$

ERROR: braces {} are necessary for all arms of this statement
#813: FILE: tools/virtiofsd/passthrough_ll.c:786:
+       if (lo->cache == CACHE_NEVER)
[...]
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#814: FILE: tools/virtiofsd/passthrough_ll.c:787:
+^I^Ifi->direct_io = 1;$

ERROR: code indent should never use tabs
#815: FILE: tools/virtiofsd/passthrough_ll.c:788:
+^Ielse if (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#815: FILE: tools/virtiofsd/passthrough_ll.c:788:
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#816: FILE: tools/virtiofsd/passthrough_ll.c:789:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#818: FILE: tools/virtiofsd/passthrough_ll.c:791:
+^Ierr = lo_do_lookup(req, parent, name, &e);$

ERROR: code indent should never use tabs
#819: FILE: tools/virtiofsd/passthrough_ll.c:792:
+^Iif (err)$

ERROR: braces {} are necessary for all arms of this statement
#819: FILE: tools/virtiofsd/passthrough_ll.c:792:
+       if (err)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#820: FILE: tools/virtiofsd/passthrough_ll.c:793:
+^I^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#821: FILE: tools/virtiofsd/passthrough_ll.c:794:
+^Ielse$

ERROR: code indent should never use tabs
#822: FILE: tools/virtiofsd/passthrough_ll.c:795:
+^I^Ifuse_reply_create(req, &e, fi);$

ERROR: code indent should never use tabs
#826: FILE: tools/virtiofsd/passthrough_ll.c:799:
+^I^I^Istruct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#828: FILE: tools/virtiofsd/passthrough_ll.c:801:
+^Iint res;$

ERROR: code indent should never use tabs
#829: FILE: tools/virtiofsd/passthrough_ll.c:802:
+^Iint fd = dirfd(lo_dirp(fi)->dp);$

ERROR: code indent should never use tabs
#830: FILE: tools/virtiofsd/passthrough_ll.c:803:
+^I(void) ino;$

ERROR: code indent should never use tabs
#831: FILE: tools/virtiofsd/passthrough_ll.c:804:
+^Iif (datasync)$

ERROR: braces {} are necessary for all arms of this statement
#831: FILE: tools/virtiofsd/passthrough_ll.c:804:
+       if (datasync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#832: FILE: tools/virtiofsd/passthrough_ll.c:805:
+^I^Ires = fdatasync(fd);$

ERROR: code indent should never use tabs
#833: FILE: tools/virtiofsd/passthrough_ll.c:806:
+^Ielse$

ERROR: code indent should never use tabs
#834: FILE: tools/virtiofsd/passthrough_ll.c:807:
+^I^Ires = fsync(fd);$

ERROR: code indent should never use tabs
#835: FILE: tools/virtiofsd/passthrough_ll.c:808:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#840: FILE: tools/virtiofsd/passthrough_ll.c:813:
+^Iint fd;$

ERROR: code indent should never use tabs
#841: FILE: tools/virtiofsd/passthrough_ll.c:814:
+^Ichar buf[64];$

ERROR: code indent should never use tabs
#842: FILE: tools/virtiofsd/passthrough_ll.c:815:
+^Istruct lo_data *lo = lo_data(req);$

ERROR: code indent should never use tabs
#844: FILE: tools/virtiofsd/passthrough_ll.c:817:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#845: FILE: tools/virtiofsd/passthrough_ll.c:818:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n",$

ERROR: code indent should never use tabs
#846: FILE: tools/virtiofsd/passthrough_ll.c:819:
+^I^I^Iino, fi->flags);$

ERROR: code indent should never use tabs
#848: FILE: tools/virtiofsd/passthrough_ll.c:821:
+^I/* With writeback cache, kernel may send read requests even$

WARNING: Block comments use a leading /* on a separate line
#848: FILE: tools/virtiofsd/passthrough_ll.c:821:
+       /* With writeback cache, kernel may send read requests even

ERROR: code indent should never use tabs
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+^I   when userspace opened write-only */$

WARNING: Block comments use * on subsequent lines
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+       /* With writeback cache, kernel may send read requests even
+          when userspace opened write-only */

WARNING: Block comments use a trailing */ on a separate line
#849: FILE: tools/virtiofsd/passthrough_ll.c:822:
+          when userspace opened write-only */

ERROR: code indent should never use tabs
#850: FILE: tools/virtiofsd/passthrough_ll.c:823:
+^Iif (lo->writeback && (fi->flags & O_ACCMODE) == O_WRONLY) {$

ERROR: code indent should never use tabs
#851: FILE: tools/virtiofsd/passthrough_ll.c:824:
+^I^Ifi->flags &= ~O_ACCMODE;$

ERROR: code indent should never use tabs
#852: FILE: tools/virtiofsd/passthrough_ll.c:825:
+^I^Ifi->flags |= O_RDWR;$

ERROR: code indent should never use tabs
#853: FILE: tools/virtiofsd/passthrough_ll.c:826:
+^I}$

ERROR: code indent should never use tabs
#855: FILE: tools/virtiofsd/passthrough_ll.c:828:
+^I/* With writeback cache, O_APPEND is handled by the kernel.$

WARNING: Block comments use a leading /* on a separate line
#855: FILE: tools/virtiofsd/passthrough_ll.c:828:
+       /* With writeback cache, O_APPEND is handled by the kernel.

ERROR: code indent should never use tabs
#856: FILE: tools/virtiofsd/passthrough_ll.c:829:
+^I   This breaks atomicity (since the file may change in the$

WARNING: Block comments use * on subsequent lines
#856: FILE: tools/virtiofsd/passthrough_ll.c:829:
+       /* With writeback cache, O_APPEND is handled by the kernel.
+          This breaks atomicity (since the file may change in the

ERROR: code indent should never use tabs
#857: FILE: tools/virtiofsd/passthrough_ll.c:830:
+^I   underlying filesystem, so that the kernel's idea of the$

ERROR: code indent should never use tabs
#858: FILE: tools/virtiofsd/passthrough_ll.c:831:
+^I   end of the file isn't accurate anymore). In this example,$

ERROR: code indent should never use tabs
#859: FILE: tools/virtiofsd/passthrough_ll.c:832:
+^I   we just accept that. A more rigorous filesystem may want$

ERROR: code indent should never use tabs
#860: FILE: tools/virtiofsd/passthrough_ll.c:833:
+^I   to return an error here */$

WARNING: Block comments use a trailing */ on a separate line
#860: FILE: tools/virtiofsd/passthrough_ll.c:833:
+          to return an error here */

ERROR: code indent should never use tabs
#861: FILE: tools/virtiofsd/passthrough_ll.c:834:
+^Iif (lo->writeback && (fi->flags & O_APPEND))$

ERROR: braces {} are necessary for all arms of this statement
#861: FILE: tools/virtiofsd/passthrough_ll.c:834:
+       if (lo->writeback && (fi->flags & O_APPEND))
[...]

ERROR: code indent should never use tabs
#862: FILE: tools/virtiofsd/passthrough_ll.c:835:
+^I^Ifi->flags &= ~O_APPEND;$

ERROR: code indent should never use tabs
#864: FILE: tools/virtiofsd/passthrough_ll.c:837:
+^Isprintf(buf, "/proc/self/fd/%i", lo_fd(req, ino));$

ERROR: code indent should never use tabs
#865: FILE: tools/virtiofsd/passthrough_ll.c:838:
+^Ifd = open(buf, fi->flags & ~O_NOFOLLOW);$

ERROR: code indent should never use tabs
#866: FILE: tools/virtiofsd/passthrough_ll.c:839:
+^Iif (fd == -1)$

ERROR: braces {} are necessary for all arms of this statement
#866: FILE: tools/virtiofsd/passthrough_ll.c:839:
+       if (fd == -1)
[...]

ERROR: code indent should never use tabs
#867: FILE: tools/virtiofsd/passthrough_ll.c:840:
+^I^Ireturn (void) fuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#869: FILE: tools/virtiofsd/passthrough_ll.c:842:
+^Ifi->fh = fd;$

ERROR: code indent should never use tabs
#870: FILE: tools/virtiofsd/passthrough_ll.c:843:
+^Iif (lo->cache == CACHE_NEVER)$

ERROR: braces {} are necessary for all arms of this statement
#870: FILE: tools/virtiofsd/passthrough_ll.c:843:
+       if (lo->cache == CACHE_NEVER)
[...]
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#871: FILE: tools/virtiofsd/passthrough_ll.c:844:
+^I^Ifi->direct_io = 1;$

ERROR: code indent should never use tabs
#872: FILE: tools/virtiofsd/passthrough_ll.c:845:
+^Ielse if (lo->cache == CACHE_ALWAYS)$

ERROR: braces {} are necessary for all arms of this statement
#872: FILE: tools/virtiofsd/passthrough_ll.c:845:
+       else if (lo->cache == CACHE_ALWAYS)
[...]

ERROR: code indent should never use tabs
#873: FILE: tools/virtiofsd/passthrough_ll.c:846:
+^I^Ifi->keep_cache = 1;$

ERROR: code indent should never use tabs
#874: FILE: tools/virtiofsd/passthrough_ll.c:847:
+^Ifuse_reply_open(req, fi);$

WARNING: line over 80 characters
#877: FILE: tools/virtiofsd/passthrough_ll.c:850:
+static void lo_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)

ERROR: code indent should never use tabs
#879: FILE: tools/virtiofsd/passthrough_ll.c:852:
+^I(void) ino;$

ERROR: code indent should never use tabs
#881: FILE: tools/virtiofsd/passthrough_ll.c:854:
+^Iclose(fi->fh);$

ERROR: code indent should never use tabs
#882: FILE: tools/virtiofsd/passthrough_ll.c:855:
+^Ifuse_reply_err(req, 0);$

ERROR: code indent should never use tabs
#887: FILE: tools/virtiofsd/passthrough_ll.c:860:
+^Iint res;$

ERROR: code indent should never use tabs
#888: FILE: tools/virtiofsd/passthrough_ll.c:861:
+^I(void) ino;$

ERROR: code indent should never use tabs
#889: FILE: tools/virtiofsd/passthrough_ll.c:862:
+^Ires = close(dup(fi->fh));$

ERROR: code indent should never use tabs
#890: FILE: tools/virtiofsd/passthrough_ll.c:863:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#894: FILE: tools/virtiofsd/passthrough_ll.c:867:
+^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#896: FILE: tools/virtiofsd/passthrough_ll.c:869:
+^Iint res;$

ERROR: code indent should never use tabs
#897: FILE: tools/virtiofsd/passthrough_ll.c:870:
+^I(void) ino;$

ERROR: code indent should never use tabs
#898: FILE: tools/virtiofsd/passthrough_ll.c:871:
+^Iif (datasync)$

ERROR: braces {} are necessary for all arms of this statement
#898: FILE: tools/virtiofsd/passthrough_ll.c:871:
+       if (datasync)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#899: FILE: tools/virtiofsd/passthrough_ll.c:872:
+^I^Ires = fdatasync(fi->fh);$

ERROR: code indent should never use tabs
#900: FILE: tools/virtiofsd/passthrough_ll.c:873:
+^Ielse$

ERROR: code indent should never use tabs
#901: FILE: tools/virtiofsd/passthrough_ll.c:874:
+^I^Ires = fsync(fi->fh);$

ERROR: code indent should never use tabs
#902: FILE: tools/virtiofsd/passthrough_ll.c:875:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#906: FILE: tools/virtiofsd/passthrough_ll.c:879:
+^I^I    off_t offset, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#908: FILE: tools/virtiofsd/passthrough_ll.c:881:
+^Istruct fuse_bufvec buf = FUSE_BUFVEC_INIT(size);$

ERROR: code indent should never use tabs
#910: FILE: tools/virtiofsd/passthrough_ll.c:883:
+^Iif (lo_debug(req))$

ERROR: code indent should never use tabs
#911: FILE: tools/virtiofsd/passthrough_ll.c:884:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_read(ino=%" PRIu64 ", size=%zd, "$

ERROR: code indent should never use tabs
#912: FILE: tools/virtiofsd/passthrough_ll.c:885:
+^I^I^I"off=%lu)\n", ino, size, (unsigned long) offset);$

ERROR: code indent should never use tabs
#914: FILE: tools/virtiofsd/passthrough_ll.c:887:
+^Ibuf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$

ERROR: code indent should never use tabs
#915: FILE: tools/virtiofsd/passthrough_ll.c:888:
+^Ibuf.buf[0].fd = fi->fh;$

ERROR: code indent should never use tabs
#916: FILE: tools/virtiofsd/passthrough_ll.c:889:
+^Ibuf.buf[0].pos = offset;$

ERROR: code indent should never use tabs
#918: FILE: tools/virtiofsd/passthrough_ll.c:891:
+^Ifuse_reply_data(req, &buf, FUSE_BUF_SPLICE_MOVE);$

ERROR: code indent should never use tabs
#922: FILE: tools/virtiofsd/passthrough_ll.c:895:
+^I^I^I struct fuse_bufvec *in_buf, off_t off,$

ERROR: code indent should never use tabs
#923: FILE: tools/virtiofsd/passthrough_ll.c:896:
+^I^I^I struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#925: FILE: tools/virtiofsd/passthrough_ll.c:898:
+^I(void) ino;$

ERROR: code indent should never use tabs
#926: FILE: tools/virtiofsd/passthrough_ll.c:899:
+^Issize_t res;$

ERROR: code indent should never use tabs
#927: FILE: tools/virtiofsd/passthrough_ll.c:900:
+^Istruct fuse_bufvec out_buf = FUSE_BUFVEC_INIT(fuse_buf_size(in_buf));$

ERROR: code indent should never use tabs
#929: FILE: tools/virtiofsd/passthrough_ll.c:902:
+^Iout_buf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$

ERROR: code indent should never use tabs
#930: FILE: tools/virtiofsd/passthrough_ll.c:903:
+^Iout_buf.buf[0].fd = fi->fh;$

ERROR: code indent should never use tabs
#931: FILE: tools/virtiofsd/passthrough_ll.c:904:
+^Iout_buf.buf[0].pos = off;$

ERROR: code indent should never use tabs
#933: FILE: tools/virtiofsd/passthrough_ll.c:906:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#934: FILE: tools/virtiofsd/passthrough_ll.c:907:
+               fuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, off=%lu)\n",

ERROR: code indent should never use tabs
#934: FILE: tools/virtiofsd/passthrough_ll.c:907:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, off=%lu)\n",$

ERROR: code indent should never use tabs
#935: FILE: tools/virtiofsd/passthrough_ll.c:908:
+^I^I^Iino, out_buf.buf[0].size, (unsigned long) off);$

ERROR: code indent should never use tabs
#937: FILE: tools/virtiofsd/passthrough_ll.c:910:
+^Ires = fuse_buf_copy(&out_buf, in_buf, 0);$

ERROR: code indent should never use tabs
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+^Iif(res < 0)$

ERROR: space required before the open parenthesis '('
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+       if(res < 0)

ERROR: braces {} are necessary for all arms of this statement
#938: FILE: tools/virtiofsd/passthrough_ll.c:911:
+       if(res < 0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#939: FILE: tools/virtiofsd/passthrough_ll.c:912:
+^I^Ifuse_reply_err(req, -res);$

ERROR: code indent should never use tabs
#940: FILE: tools/virtiofsd/passthrough_ll.c:913:
+^Ielse$

ERROR: code indent should never use tabs
#941: FILE: tools/virtiofsd/passthrough_ll.c:914:
+^I^Ifuse_reply_write(req, (size_t) res);$

ERROR: code indent should never use tabs
#946: FILE: tools/virtiofsd/passthrough_ll.c:919:
+^Iint res;$

ERROR: code indent should never use tabs
#947: FILE: tools/virtiofsd/passthrough_ll.c:920:
+^Istruct statvfs stbuf;$

ERROR: code indent should never use tabs
#949: FILE: tools/virtiofsd/passthrough_ll.c:922:
+^Ires = fstatvfs(lo_fd(req, ino), &stbuf);$

ERROR: code indent should never use tabs
#950: FILE: tools/virtiofsd/passthrough_ll.c:923:
+^Iif (res == -1)$

ERROR: braces {} are necessary for all arms of this statement
#950: FILE: tools/virtiofsd/passthrough_ll.c:923:
+       if (res == -1)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#951: FILE: tools/virtiofsd/passthrough_ll.c:924:
+^I^Ifuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#952: FILE: tools/virtiofsd/passthrough_ll.c:925:
+^Ielse$

ERROR: code indent should never use tabs
#953: FILE: tools/virtiofsd/passthrough_ll.c:926:
+^I^Ifuse_reply_statfs(req, &stbuf);$

ERROR: code indent should never use tabs
#957: FILE: tools/virtiofsd/passthrough_ll.c:930:
+^I^I^I off_t offset, off_t length, struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#959: FILE: tools/virtiofsd/passthrough_ll.c:932:
+^Iint err = EOPNOTSUPP;$

ERROR: code indent should never use tabs
#960: FILE: tools/virtiofsd/passthrough_ll.c:933:
+^I(void) ino;$

ERROR: code indent should never use tabs
#963: FILE: tools/virtiofsd/passthrough_ll.c:936:
+^Ierr = fallocate(fi->fh, mode, offset, length);$

ERROR: code indent should never use tabs
#964: FILE: tools/virtiofsd/passthrough_ll.c:937:
+^Iif (err < 0)$

ERROR: braces {} are necessary for all arms of this statement
#964: FILE: tools/virtiofsd/passthrough_ll.c:937:
+       if (err < 0)
[...]

ERROR: code indent should never use tabs
#965: FILE: tools/virtiofsd/passthrough_ll.c:938:
+^I^Ierr = errno;$

ERROR: code indent should never use tabs
#968: FILE: tools/virtiofsd/passthrough_ll.c:941:
+^Iif (mode) {$

ERROR: code indent should never use tabs
#969: FILE: tools/virtiofsd/passthrough_ll.c:942:
+^I^Ifuse_reply_err(req, EOPNOTSUPP);$

ERROR: code indent should never use tabs
#970: FILE: tools/virtiofsd/passthrough_ll.c:943:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#971: FILE: tools/virtiofsd/passthrough_ll.c:944:
+^I}$

ERROR: code indent should never use tabs
#973: FILE: tools/virtiofsd/passthrough_ll.c:946:
+^Ierr = posix_fallocate(fi->fh, offset, length);$

ERROR: code indent should never use tabs
#976: FILE: tools/virtiofsd/passthrough_ll.c:949:
+^Ifuse_reply_err(req, err);$

ERROR: code indent should never use tabs
#980: FILE: tools/virtiofsd/passthrough_ll.c:953:
+^I^I     int op)$

ERROR: code indent should never use tabs
#982: FILE: tools/virtiofsd/passthrough_ll.c:955:
+^Iint res;$

ERROR: code indent should never use tabs
#983: FILE: tools/virtiofsd/passthrough_ll.c:956:
+^I(void) ino;$

ERROR: code indent should never use tabs
#985: FILE: tools/virtiofsd/passthrough_ll.c:958:
+^Ires = flock(fi->fh, op);$

ERROR: code indent should never use tabs
#987: FILE: tools/virtiofsd/passthrough_ll.c:960:
+^Ifuse_reply_err(req, res == -1 ? errno : 0);$

ERROR: code indent should never use tabs
#991: FILE: tools/virtiofsd/passthrough_ll.c:964:
+^I^I^Isize_t size)$

ERROR: code indent should never use tabs
#993: FILE: tools/virtiofsd/passthrough_ll.c:966:
+^Ichar *value = NULL;$

ERROR: code indent should never use tabs
#994: FILE: tools/virtiofsd/passthrough_ll.c:967:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#995: FILE: tools/virtiofsd/passthrough_ll.c:968:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#996: FILE: tools/virtiofsd/passthrough_ll.c:969:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#997: FILE: tools/virtiofsd/passthrough_ll.c:970:
+^Iint saverr;$

ERROR: code indent should never use tabs
#999: FILE: tools/virtiofsd/passthrough_ll.c:972:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1000: FILE: tools/virtiofsd/passthrough_ll.c:973:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1000: FILE: tools/virtiofsd/passthrough_ll.c:973:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1001: FILE: tools/virtiofsd/passthrough_ll.c:974:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1003: FILE: tools/virtiofsd/passthrough_ll.c:976:
+^Iif (lo_debug(req)) {$

ERROR: line over 90 characters
#1004: FILE: tools/virtiofsd/passthrough_ll.c:977:
+               fuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s size=%zd)\n",

ERROR: code indent should never use tabs
#1004: FILE: tools/virtiofsd/passthrough_ll.c:977:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s size=%zd)\n",$

ERROR: code indent should never use tabs
#1005: FILE: tools/virtiofsd/passthrough_ll.c:978:
+^I^I^Iino, name, size);$

ERROR: code indent should never use tabs
#1006: FILE: tools/virtiofsd/passthrough_ll.c:979:
+^I}$

ERROR: code indent should never use tabs
#1008: FILE: tools/virtiofsd/passthrough_ll.c:981:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1009: FILE: tools/virtiofsd/passthrough_ll.c:982:
+^I^I/* Sorry, no race free way to getxattr on symlink. */$

ERROR: code indent should never use tabs
#1010: FILE: tools/virtiofsd/passthrough_ll.c:983:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1011: FILE: tools/virtiofsd/passthrough_ll.c:984:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1012: FILE: tools/virtiofsd/passthrough_ll.c:985:
+^I}$

ERROR: code indent should never use tabs
#1014: FILE: tools/virtiofsd/passthrough_ll.c:987:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1016: FILE: tools/virtiofsd/passthrough_ll.c:989:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1017: FILE: tools/virtiofsd/passthrough_ll.c:990:
+^I^Ivalue = malloc(size);$

ERROR: code indent should never use tabs
#1018: FILE: tools/virtiofsd/passthrough_ll.c:991:
+^I^Iif (!value)$

ERROR: braces {} are necessary for all arms of this statement
#1018: FILE: tools/virtiofsd/passthrough_ll.c:991:
+               if (!value)
[...]

ERROR: code indent should never use tabs
#1019: FILE: tools/virtiofsd/passthrough_ll.c:992:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1021: FILE: tools/virtiofsd/passthrough_ll.c:994:
+^I^Iret = getxattr(procname, name, value, size);$

ERROR: code indent should never use tabs
#1022: FILE: tools/virtiofsd/passthrough_ll.c:995:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1022: FILE: tools/virtiofsd/passthrough_ll.c:995:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1023: FILE: tools/virtiofsd/passthrough_ll.c:996:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1024: FILE: tools/virtiofsd/passthrough_ll.c:997:
+^I^Isaverr = 0;$

ERROR: code indent should never use tabs
#1025: FILE: tools/virtiofsd/passthrough_ll.c:998:
+^I^Iif (ret == 0)$

ERROR: braces {} are necessary for all arms of this statement
#1025: FILE: tools/virtiofsd/passthrough_ll.c:998:
+               if (ret == 0)
[...]

ERROR: code indent should never use tabs
#1026: FILE: tools/virtiofsd/passthrough_ll.c:999:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1028: FILE: tools/virtiofsd/passthrough_ll.c:1001:
+^I^Ifuse_reply_buf(req, value, ret);$

ERROR: code indent should never use tabs
#1029: FILE: tools/virtiofsd/passthrough_ll.c:1002:
+^I} else {$

ERROR: code indent should never use tabs
#1030: FILE: tools/virtiofsd/passthrough_ll.c:1003:
+^I^Iret = getxattr(procname, name, NULL, 0);$

ERROR: code indent should never use tabs
#1031: FILE: tools/virtiofsd/passthrough_ll.c:1004:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1031: FILE: tools/virtiofsd/passthrough_ll.c:1004:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1032: FILE: tools/virtiofsd/passthrough_ll.c:1005:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1034: FILE: tools/virtiofsd/passthrough_ll.c:1007:
+^I^Ifuse_reply_xattr(req, ret);$

ERROR: code indent should never use tabs
#1035: FILE: tools/virtiofsd/passthrough_ll.c:1008:
+^I}$

ERROR: code indent should never use tabs
#1037: FILE: tools/virtiofsd/passthrough_ll.c:1010:
+^Ifree(value);$

ERROR: code indent should never use tabs
#1038: FILE: tools/virtiofsd/passthrough_ll.c:1011:
+^Ireturn;$

ERROR: code indent should never use tabs
#1041: FILE: tools/virtiofsd/passthrough_ll.c:1014:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#1043: FILE: tools/virtiofsd/passthrough_ll.c:1016:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1044: FILE: tools/virtiofsd/passthrough_ll.c:1017:
+^Igoto out_free;$

ERROR: code indent should never use tabs
#1049: FILE: tools/virtiofsd/passthrough_ll.c:1022:
+^Ichar *value = NULL;$

ERROR: code indent should never use tabs
#1050: FILE: tools/virtiofsd/passthrough_ll.c:1023:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1051: FILE: tools/virtiofsd/passthrough_ll.c:1024:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1052: FILE: tools/virtiofsd/passthrough_ll.c:1025:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1053: FILE: tools/virtiofsd/passthrough_ll.c:1026:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1055: FILE: tools/virtiofsd/passthrough_ll.c:1028:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1056: FILE: tools/virtiofsd/passthrough_ll.c:1029:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1056: FILE: tools/virtiofsd/passthrough_ll.c:1029:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1057: FILE: tools/virtiofsd/passthrough_ll.c:1030:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1059: FILE: tools/virtiofsd/passthrough_ll.c:1032:
+^Iif (lo_debug(req)) {$

WARNING: line over 80 characters
#1060: FILE: tools/virtiofsd/passthrough_ll.c:1033:
+               fuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", size=%zd)\n",

ERROR: code indent should never use tabs
#1060: FILE: tools/virtiofsd/passthrough_ll.c:1033:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", size=%zd)\n",$

ERROR: code indent should never use tabs
#1061: FILE: tools/virtiofsd/passthrough_ll.c:1034:
+^I^I^Iino, size);$

ERROR: code indent should never use tabs
#1062: FILE: tools/virtiofsd/passthrough_ll.c:1035:
+^I}$

ERROR: code indent should never use tabs
#1064: FILE: tools/virtiofsd/passthrough_ll.c:1037:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1065: FILE: tools/virtiofsd/passthrough_ll.c:1038:
+^I^I/* Sorry, no race free way to listxattr on symlink. */$

ERROR: code indent should never use tabs
#1066: FILE: tools/virtiofsd/passthrough_ll.c:1039:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1067: FILE: tools/virtiofsd/passthrough_ll.c:1040:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1068: FILE: tools/virtiofsd/passthrough_ll.c:1041:
+^I}$

ERROR: code indent should never use tabs
#1070: FILE: tools/virtiofsd/passthrough_ll.c:1043:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1072: FILE: tools/virtiofsd/passthrough_ll.c:1045:
+^Iif (size) {$

ERROR: code indent should never use tabs
#1073: FILE: tools/virtiofsd/passthrough_ll.c:1046:
+^I^Ivalue = malloc(size);$

ERROR: code indent should never use tabs
#1074: FILE: tools/virtiofsd/passthrough_ll.c:1047:
+^I^Iif (!value)$

ERROR: braces {} are necessary for all arms of this statement
#1074: FILE: tools/virtiofsd/passthrough_ll.c:1047:
+               if (!value)
[...]

ERROR: code indent should never use tabs
#1075: FILE: tools/virtiofsd/passthrough_ll.c:1048:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1077: FILE: tools/virtiofsd/passthrough_ll.c:1050:
+^I^Iret = listxattr(procname, value, size);$

ERROR: code indent should never use tabs
#1078: FILE: tools/virtiofsd/passthrough_ll.c:1051:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1078: FILE: tools/virtiofsd/passthrough_ll.c:1051:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1079: FILE: tools/virtiofsd/passthrough_ll.c:1052:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1080: FILE: tools/virtiofsd/passthrough_ll.c:1053:
+^I^Isaverr = 0;$

ERROR: code indent should never use tabs
#1081: FILE: tools/virtiofsd/passthrough_ll.c:1054:
+^I^Iif (ret == 0)$

ERROR: braces {} are necessary for all arms of this statement
#1081: FILE: tools/virtiofsd/passthrough_ll.c:1054:
+               if (ret == 0)
[...]

ERROR: code indent should never use tabs
#1082: FILE: tools/virtiofsd/passthrough_ll.c:1055:
+^I^I^Igoto out;$

ERROR: code indent should never use tabs
#1084: FILE: tools/virtiofsd/passthrough_ll.c:1057:
+^I^Ifuse_reply_buf(req, value, ret);$

ERROR: code indent should never use tabs
#1085: FILE: tools/virtiofsd/passthrough_ll.c:1058:
+^I} else {$

ERROR: code indent should never use tabs
#1086: FILE: tools/virtiofsd/passthrough_ll.c:1059:
+^I^Iret = listxattr(procname, NULL, 0);$

ERROR: code indent should never use tabs
#1087: FILE: tools/virtiofsd/passthrough_ll.c:1060:
+^I^Iif (ret == -1)$

ERROR: braces {} are necessary for all arms of this statement
#1087: FILE: tools/virtiofsd/passthrough_ll.c:1060:
+               if (ret == -1)
[...]

ERROR: code indent should never use tabs
#1088: FILE: tools/virtiofsd/passthrough_ll.c:1061:
+^I^I^Igoto out_err;$

ERROR: code indent should never use tabs
#1090: FILE: tools/virtiofsd/passthrough_ll.c:1063:
+^I^Ifuse_reply_xattr(req, ret);$

ERROR: code indent should never use tabs
#1091: FILE: tools/virtiofsd/passthrough_ll.c:1064:
+^I}$

ERROR: code indent should never use tabs
#1093: FILE: tools/virtiofsd/passthrough_ll.c:1066:
+^Ifree(value);$

ERROR: code indent should never use tabs
#1094: FILE: tools/virtiofsd/passthrough_ll.c:1067:
+^Ireturn;$

ERROR: code indent should never use tabs
#1097: FILE: tools/virtiofsd/passthrough_ll.c:1070:
+^Isaverr = errno;$

ERROR: code indent should never use tabs
#1099: FILE: tools/virtiofsd/passthrough_ll.c:1072:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1100: FILE: tools/virtiofsd/passthrough_ll.c:1073:
+^Igoto out_free;$

ERROR: code indent should never use tabs
#1104: FILE: tools/virtiofsd/passthrough_ll.c:1077:
+^I^I^Iconst char *value, size_t size, int flags)$

ERROR: code indent should never use tabs
#1106: FILE: tools/virtiofsd/passthrough_ll.c:1079:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1107: FILE: tools/virtiofsd/passthrough_ll.c:1080:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1108: FILE: tools/virtiofsd/passthrough_ll.c:1081:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1109: FILE: tools/virtiofsd/passthrough_ll.c:1082:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1111: FILE: tools/virtiofsd/passthrough_ll.c:1084:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1112: FILE: tools/virtiofsd/passthrough_ll.c:1085:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1112: FILE: tools/virtiofsd/passthrough_ll.c:1085:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1113: FILE: tools/virtiofsd/passthrough_ll.c:1086:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1115: FILE: tools/virtiofsd/passthrough_ll.c:1088:
+^Iif (lo_debug(req)) {$

ERROR: line over 90 characters
#1116: FILE: tools/virtiofsd/passthrough_ll.c:1089:
+               fuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s value=%s size=%zd)\n",

ERROR: code indent should never use tabs
#1116: FILE: tools/virtiofsd/passthrough_ll.c:1089:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s value=%s size=%zd)\n",$

ERROR: code indent should never use tabs
#1117: FILE: tools/virtiofsd/passthrough_ll.c:1090:
+^I^I^Iino, name, value, size);$

ERROR: code indent should never use tabs
#1118: FILE: tools/virtiofsd/passthrough_ll.c:1091:
+^I}$

ERROR: code indent should never use tabs
#1120: FILE: tools/virtiofsd/passthrough_ll.c:1093:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1121: FILE: tools/virtiofsd/passthrough_ll.c:1094:
+^I^I/* Sorry, no race free way to setxattr on symlink. */$

ERROR: code indent should never use tabs
#1122: FILE: tools/virtiofsd/passthrough_ll.c:1095:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1123: FILE: tools/virtiofsd/passthrough_ll.c:1096:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1124: FILE: tools/virtiofsd/passthrough_ll.c:1097:
+^I}$

ERROR: code indent should never use tabs
#1126: FILE: tools/virtiofsd/passthrough_ll.c:1099:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1128: FILE: tools/virtiofsd/passthrough_ll.c:1101:
+^Iret = setxattr(procname, name, value, size, flags);$

ERROR: code indent should never use tabs
#1129: FILE: tools/virtiofsd/passthrough_ll.c:1102:
+^Isaverr = ret == -1 ? errno : 0;$

ERROR: code indent should never use tabs
#1132: FILE: tools/virtiofsd/passthrough_ll.c:1105:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1137: FILE: tools/virtiofsd/passthrough_ll.c:1110:
+^Ichar procname[64];$

ERROR: code indent should never use tabs
#1138: FILE: tools/virtiofsd/passthrough_ll.c:1111:
+^Istruct lo_inode *inode = lo_inode(req, ino);$

ERROR: code indent should never use tabs
#1139: FILE: tools/virtiofsd/passthrough_ll.c:1112:
+^Issize_t ret;$

ERROR: code indent should never use tabs
#1140: FILE: tools/virtiofsd/passthrough_ll.c:1113:
+^Iint saverr;$

ERROR: code indent should never use tabs
#1142: FILE: tools/virtiofsd/passthrough_ll.c:1115:
+^Isaverr = ENOSYS;$

ERROR: code indent should never use tabs
#1143: FILE: tools/virtiofsd/passthrough_ll.c:1116:
+^Iif (!lo_data(req)->xattr)$

ERROR: braces {} are necessary for all arms of this statement
#1143: FILE: tools/virtiofsd/passthrough_ll.c:1116:
+       if (!lo_data(req)->xattr)
[...]

ERROR: code indent should never use tabs
#1144: FILE: tools/virtiofsd/passthrough_ll.c:1117:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1146: FILE: tools/virtiofsd/passthrough_ll.c:1119:
+^Iif (lo_debug(req)) {$

WARNING: line over 80 characters
#1147: FILE: tools/virtiofsd/passthrough_ll.c:1120:
+               fuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", name=%s)\n",

ERROR: code indent should never use tabs
#1147: FILE: tools/virtiofsd/passthrough_ll.c:1120:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", name=%s)\n",$

ERROR: code indent should never use tabs
#1148: FILE: tools/virtiofsd/passthrough_ll.c:1121:
+^I^I^Iino, name);$

ERROR: code indent should never use tabs
#1149: FILE: tools/virtiofsd/passthrough_ll.c:1122:
+^I}$

ERROR: code indent should never use tabs
#1151: FILE: tools/virtiofsd/passthrough_ll.c:1124:
+^Iif (inode->is_symlink) {$

ERROR: code indent should never use tabs
#1152: FILE: tools/virtiofsd/passthrough_ll.c:1125:
+^I^I/* Sorry, no race free way to setxattr on symlink. */$

ERROR: code indent should never use tabs
#1153: FILE: tools/virtiofsd/passthrough_ll.c:1126:
+^I^Isaverr = EPERM;$

ERROR: code indent should never use tabs
#1154: FILE: tools/virtiofsd/passthrough_ll.c:1127:
+^I^Igoto out;$

ERROR: code indent should never use tabs
#1155: FILE: tools/virtiofsd/passthrough_ll.c:1128:
+^I}$

ERROR: code indent should never use tabs
#1157: FILE: tools/virtiofsd/passthrough_ll.c:1130:
+^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$

ERROR: code indent should never use tabs
#1159: FILE: tools/virtiofsd/passthrough_ll.c:1132:
+^Iret = removexattr(procname, name);$

ERROR: code indent should never use tabs
#1160: FILE: tools/virtiofsd/passthrough_ll.c:1133:
+^Isaverr = ret == -1 ? errno : 0;$

ERROR: code indent should never use tabs
#1163: FILE: tools/virtiofsd/passthrough_ll.c:1136:
+^Ifuse_reply_err(req, saverr);$

ERROR: code indent should never use tabs
#1168: FILE: tools/virtiofsd/passthrough_ll.c:1141:
+^I^I^I       struct fuse_file_info *fi_in,$

ERROR: code indent should never use tabs
#1169: FILE: tools/virtiofsd/passthrough_ll.c:1142:
+^I^I^I       fuse_ino_t ino_out, off_t off_out,$

ERROR: code indent should never use tabs
#1170: FILE: tools/virtiofsd/passthrough_ll.c:1143:
+^I^I^I       struct fuse_file_info *fi_out, size_t len,$

ERROR: code indent should never use tabs
#1171: FILE: tools/virtiofsd/passthrough_ll.c:1144:
+^I^I^I       int flags)$

ERROR: code indent should never use tabs
#1173: FILE: tools/virtiofsd/passthrough_ll.c:1146:
+^Issize_t res;$

ERROR: code indent should never use tabs
#1175: FILE: tools/virtiofsd/passthrough_ll.c:1148:
+^Iif (lo_debug(req))$

WARNING: line over 80 characters
#1176: FILE: tools/virtiofsd/passthrough_ll.c:1149:
+               fuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 "/fd=%lu, "

ERROR: code indent should never use tabs
#1176: FILE: tools/virtiofsd/passthrough_ll.c:1149:
+^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 "/fd=%lu, "$

ERROR: code indent should never use tabs
#1177: FILE: tools/virtiofsd/passthrough_ll.c:1150:
+^I^I^I^I"off=%lu, ino=%" PRIu64 "/fd=%lu, "$

ERROR: code indent should never use tabs
#1178: FILE: tools/virtiofsd/passthrough_ll.c:1151:
+^I^I^I^I"off=%lu, size=%zd, flags=0x%x)\n",$

ERROR: code indent should never use tabs
#1179: FILE: tools/virtiofsd/passthrough_ll.c:1152:
+^I^I^Iino_in, fi_in->fh, off_in, ino_out, fi_out->fh, off_out,$

ERROR: code indent should never use tabs
#1180: FILE: tools/virtiofsd/passthrough_ll.c:1153:
+^I^I^Ilen, flags);$

ERROR: code indent should never use tabs
#1182: FILE: tools/virtiofsd/passthrough_ll.c:1155:
+^Ires = copy_file_range(fi_in->fh, &off_in, fi_out->fh, &off_out, len,$

ERROR: code indent should never use tabs
#1183: FILE: tools/virtiofsd/passthrough_ll.c:1156:
+^I^I^I      flags);$

ERROR: code indent should never use tabs
#1184: FILE: tools/virtiofsd/passthrough_ll.c:1157:
+^Iif (res < 0)$

ERROR: braces {} are necessary for all arms of this statement
#1184: FILE: tools/virtiofsd/passthrough_ll.c:1157:
+       if (res < 0)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1185: FILE: tools/virtiofsd/passthrough_ll.c:1158:
+^I^Ifuse_reply_err(req, -errno);$

ERROR: code indent should never use tabs
#1186: FILE: tools/virtiofsd/passthrough_ll.c:1159:
+^Ielse$

ERROR: code indent should never use tabs
#1187: FILE: tools/virtiofsd/passthrough_ll.c:1160:
+^I^Ifuse_reply_write(req, res);$

ERROR: code indent should never use tabs
#1192: FILE: tools/virtiofsd/passthrough_ll.c:1165:
+^I^I     struct fuse_file_info *fi)$

ERROR: code indent should never use tabs
#1194: FILE: tools/virtiofsd/passthrough_ll.c:1167:
+^Ioff_t res;$

ERROR: code indent should never use tabs
#1196: FILE: tools/virtiofsd/passthrough_ll.c:1169:
+^I(void)ino;$

ERROR: code indent should never use tabs
#1197: FILE: tools/virtiofsd/passthrough_ll.c:1170:
+^Ires = lseek(fi->fh, off, whence);$

ERROR: code indent should never use tabs
#1198: FILE: tools/virtiofsd/passthrough_ll.c:1171:
+^Iif (res != -1)$

ERROR: braces {} are necessary for all arms of this statement
#1198: FILE: tools/virtiofsd/passthrough_ll.c:1171:
+       if (res != -1)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1199: FILE: tools/virtiofsd/passthrough_ll.c:1172:
+^I^Ifuse_reply_lseek(req, res);$

ERROR: code indent should never use tabs
#1200: FILE: tools/virtiofsd/passthrough_ll.c:1173:
+^Ielse$

ERROR: code indent should never use tabs
#1201: FILE: tools/virtiofsd/passthrough_ll.c:1174:
+^I^Ifuse_reply_err(req, errno);$

ERROR: code indent should never use tabs
#1205: FILE: tools/virtiofsd/passthrough_ll.c:1178:
+^I.init^I^I= lo_init,$

ERROR: code indent should never use tabs
#1206: FILE: tools/virtiofsd/passthrough_ll.c:1179:
+^I.lookup^I^I= lo_lookup,$

ERROR: code indent should never use tabs
#1207: FILE: tools/virtiofsd/passthrough_ll.c:1180:
+^I.mkdir^I^I= lo_mkdir,$

ERROR: code indent should never use tabs
#1208: FILE: tools/virtiofsd/passthrough_ll.c:1181:
+^I.mknod^I^I= lo_mknod,$

ERROR: code indent should never use tabs
#1209: FILE: tools/virtiofsd/passthrough_ll.c:1182:
+^I.symlink^I= lo_symlink,$

ERROR: code indent should never use tabs
#1210: FILE: tools/virtiofsd/passthrough_ll.c:1183:
+^I.link^I^I= lo_link,$

ERROR: code indent should never use tabs
#1211: FILE: tools/virtiofsd/passthrough_ll.c:1184:
+^I.unlink^I^I= lo_unlink,$

ERROR: code indent should never use tabs
#1212: FILE: tools/virtiofsd/passthrough_ll.c:1185:
+^I.rmdir^I^I= lo_rmdir,$

ERROR: code indent should never use tabs
#1213: FILE: tools/virtiofsd/passthrough_ll.c:1186:
+^I.rename^I^I= lo_rename,$

ERROR: code indent should never use tabs
#1214: FILE: tools/virtiofsd/passthrough_ll.c:1187:
+^I.forget^I^I= lo_forget,$

ERROR: code indent should never use tabs
#1215: FILE: tools/virtiofsd/passthrough_ll.c:1188:
+^I.forget_multi^I= lo_forget_multi,$

ERROR: code indent should never use tabs
#1216: FILE: tools/virtiofsd/passthrough_ll.c:1189:
+^I.getattr^I= lo_getattr,$

ERROR: code indent should never use tabs
#1217: FILE: tools/virtiofsd/passthrough_ll.c:1190:
+^I.setattr^I= lo_setattr,$

ERROR: code indent should never use tabs
#1218: FILE: tools/virtiofsd/passthrough_ll.c:1191:
+^I.readlink^I= lo_readlink,$

ERROR: code indent should never use tabs
#1219: FILE: tools/virtiofsd/passthrough_ll.c:1192:
+^I.opendir^I= lo_opendir,$

ERROR: code indent should never use tabs
#1220: FILE: tools/virtiofsd/passthrough_ll.c:1193:
+^I.readdir^I= lo_readdir,$

ERROR: code indent should never use tabs
#1221: FILE: tools/virtiofsd/passthrough_ll.c:1194:
+^I.readdirplus^I= lo_readdirplus,$

ERROR: code indent should never use tabs
#1222: FILE: tools/virtiofsd/passthrough_ll.c:1195:
+^I.releasedir^I= lo_releasedir,$

ERROR: code indent should never use tabs
#1223: FILE: tools/virtiofsd/passthrough_ll.c:1196:
+^I.fsyncdir^I= lo_fsyncdir,$

ERROR: code indent should never use tabs
#1224: FILE: tools/virtiofsd/passthrough_ll.c:1197:
+^I.create^I^I= lo_create,$

ERROR: code indent should never use tabs
#1225: FILE: tools/virtiofsd/passthrough_ll.c:1198:
+^I.open^I^I= lo_open,$

ERROR: code indent should never use tabs
#1226: FILE: tools/virtiofsd/passthrough_ll.c:1199:
+^I.release^I= lo_release,$

ERROR: code indent should never use tabs
#1227: FILE: tools/virtiofsd/passthrough_ll.c:1200:
+^I.flush^I^I= lo_flush,$

ERROR: code indent should never use tabs
#1228: FILE: tools/virtiofsd/passthrough_ll.c:1201:
+^I.fsync^I^I= lo_fsync,$

ERROR: code indent should never use tabs
#1229: FILE: tools/virtiofsd/passthrough_ll.c:1202:
+^I.read^I^I= lo_read,$

ERROR: code indent should never use tabs
#1230: FILE: tools/virtiofsd/passthrough_ll.c:1203:
+^I.write_buf      = lo_write_buf,$

ERROR: code indent should never use tabs
#1231: FILE: tools/virtiofsd/passthrough_ll.c:1204:
+^I.statfs^I^I= lo_statfs,$

ERROR: code indent should never use tabs
#1232: FILE: tools/virtiofsd/passthrough_ll.c:1205:
+^I.fallocate^I= lo_fallocate,$

ERROR: code indent should never use tabs
#1233: FILE: tools/virtiofsd/passthrough_ll.c:1206:
+^I.flock^I^I= lo_flock,$

ERROR: code indent should never use tabs
#1234: FILE: tools/virtiofsd/passthrough_ll.c:1207:
+^I.getxattr^I= lo_getxattr,$

ERROR: code indent should never use tabs
#1235: FILE: tools/virtiofsd/passthrough_ll.c:1208:
+^I.listxattr^I= lo_listxattr,$

ERROR: code indent should never use tabs
#1236: FILE: tools/virtiofsd/passthrough_ll.c:1209:
+^I.setxattr^I= lo_setxattr,$

ERROR: code indent should never use tabs
#1237: FILE: tools/virtiofsd/passthrough_ll.c:1210:
+^I.removexattr^I= lo_removexattr,$

ERROR: code indent should never use tabs
#1239: FILE: tools/virtiofsd/passthrough_ll.c:1212:
+^I.copy_file_range = lo_copy_file_range,$

ERROR: code indent should never use tabs
#1241: FILE: tools/virtiofsd/passthrough_ll.c:1214:
+^I.lseek^I^I= lo_lseek,$

ERROR: code indent should never use tabs
#1246: FILE: tools/virtiofsd/passthrough_ll.c:1219:
+^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$

ERROR: code indent should never use tabs
#1247: FILE: tools/virtiofsd/passthrough_ll.c:1220:
+^Istruct fuse_session *se;$

ERROR: code indent should never use tabs
#1248: FILE: tools/virtiofsd/passthrough_ll.c:1221:
+^Istruct fuse_cmdline_opts opts;$

ERROR: code indent should never use tabs
#1249: FILE: tools/virtiofsd/passthrough_ll.c:1222:
+^Istruct lo_data lo = { .debug = 0,$

ERROR: code indent should never use tabs
#1250: FILE: tools/virtiofsd/passthrough_ll.c:1223:
+^I                      .writeback = 0 };$

ERROR: code indent should never use tabs
#1251: FILE: tools/virtiofsd/passthrough_ll.c:1224:
+^Iint ret = -1;$

ERROR: code indent should never use tabs
#1253: FILE: tools/virtiofsd/passthrough_ll.c:1226:
+^I/* Don't mask creation mode, kernel already did that */$

ERROR: code indent should never use tabs
#1254: FILE: tools/virtiofsd/passthrough_ll.c:1227:
+^Iumask(0);$

ERROR: code indent should never use tabs
#1256: FILE: tools/virtiofsd/passthrough_ll.c:1229:
+^Ipthread_mutex_init(&lo.mutex, NULL);$

ERROR: code indent should never use tabs
#1257: FILE: tools/virtiofsd/passthrough_ll.c:1230:
+^Ilo.root.next = lo.root.prev = &lo.root;$

ERROR: code indent should never use tabs
#1258: FILE: tools/virtiofsd/passthrough_ll.c:1231:
+^Ilo.root.fd = -1;$

ERROR: code indent should never use tabs
#1259: FILE: tools/virtiofsd/passthrough_ll.c:1232:
+^Ilo.cache = CACHE_NORMAL;$

ERROR: code indent should never use tabs
#1261: FILE: tools/virtiofsd/passthrough_ll.c:1234:
+^Iif (fuse_parse_cmdline(&args, &opts) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1261: FILE: tools/virtiofsd/passthrough_ll.c:1234:
+       if (fuse_parse_cmdline(&args, &opts) != 0)
[...]

ERROR: code indent should never use tabs
#1262: FILE: tools/virtiofsd/passthrough_ll.c:1235:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1263: FILE: tools/virtiofsd/passthrough_ll.c:1236:
+^Iif (opts.show_help) {$

ERROR: code indent should never use tabs
#1264: FILE: tools/virtiofsd/passthrough_ll.c:1237:
+^I^Iprintf("usage: %s [options] <mountpoint>\n\n", argv[0]);$

ERROR: code indent should never use tabs
#1265: FILE: tools/virtiofsd/passthrough_ll.c:1238:
+^I^Ifuse_cmdline_help();$

ERROR: code indent should never use tabs
#1266: FILE: tools/virtiofsd/passthrough_ll.c:1239:
+^I^Ifuse_lowlevel_help();$

ERROR: code indent should never use tabs
#1267: FILE: tools/virtiofsd/passthrough_ll.c:1240:
+^I^Iret = 0;$

ERROR: code indent should never use tabs
#1268: FILE: tools/virtiofsd/passthrough_ll.c:1241:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1269: FILE: tools/virtiofsd/passthrough_ll.c:1242:
+^I} else if (opts.show_version) {$

ERROR: code indent should never use tabs
#1270: FILE: tools/virtiofsd/passthrough_ll.c:1243:
+^I^Iprintf("FUSE library version %s\n", fuse_pkgversion());$

ERROR: code indent should never use tabs
#1271: FILE: tools/virtiofsd/passthrough_ll.c:1244:
+^I^Ifuse_lowlevel_version();$

ERROR: code indent should never use tabs
#1272: FILE: tools/virtiofsd/passthrough_ll.c:1245:
+^I^Iret = 0;$

ERROR: code indent should never use tabs
#1273: FILE: tools/virtiofsd/passthrough_ll.c:1246:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1274: FILE: tools/virtiofsd/passthrough_ll.c:1247:
+^I}$

ERROR: code indent should never use tabs
#1276: FILE: tools/virtiofsd/passthrough_ll.c:1249:
+^Iif(opts.mountpoint == NULL) {$

ERROR: space required before the open parenthesis '('
#1276: FILE: tools/virtiofsd/passthrough_ll.c:1249:
+       if(opts.mountpoint == NULL) {

ERROR: code indent should never use tabs
#1277: FILE: tools/virtiofsd/passthrough_ll.c:1250:
+^I^Iprintf("usage: %s [options] <mountpoint>\n", argv[0]);$

ERROR: code indent should never use tabs
#1278: FILE: tools/virtiofsd/passthrough_ll.c:1251:
+^I^Iprintf("       %s --help\n", argv[0]);$

ERROR: code indent should never use tabs
#1279: FILE: tools/virtiofsd/passthrough_ll.c:1252:
+^I^Iret = 1;$

ERROR: code indent should never use tabs
#1280: FILE: tools/virtiofsd/passthrough_ll.c:1253:
+^I^Igoto err_out1;$

ERROR: code indent should never use tabs
#1281: FILE: tools/virtiofsd/passthrough_ll.c:1254:
+^I}$

ERROR: code indent should never use tabs
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+^Iif (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)$

ERROR: spaces required around that '==' (ctx:VxW)
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+       if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)
                                                     ^

ERROR: braces {} are necessary for all arms of this statement
#1283: FILE: tools/virtiofsd/passthrough_ll.c:1256:
+       if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)
[...]

ERROR: code indent should never use tabs
#1284: FILE: tools/virtiofsd/passthrough_ll.c:1257:
+^I^Ireturn 1;$

ERROR: code indent should never use tabs
#1286: FILE: tools/virtiofsd/passthrough_ll.c:1259:
+^Ilo.debug = opts.debug;$

ERROR: code indent should never use tabs
#1287: FILE: tools/virtiofsd/passthrough_ll.c:1260:
+^Ilo.root.refcount = 2;$

ERROR: code indent should never use tabs
#1288: FILE: tools/virtiofsd/passthrough_ll.c:1261:
+^Iif (lo.source) {$

ERROR: code indent should never use tabs
#1289: FILE: tools/virtiofsd/passthrough_ll.c:1262:
+^I^Istruct stat stat;$

ERROR: code indent should never use tabs
#1290: FILE: tools/virtiofsd/passthrough_ll.c:1263:
+^I^Iint res;$

ERROR: code indent should never use tabs
#1292: FILE: tools/virtiofsd/passthrough_ll.c:1265:
+^I^Ires = lstat(lo.source, &stat);$

ERROR: code indent should never use tabs
#1293: FILE: tools/virtiofsd/passthrough_ll.c:1266:
+^I^Iif (res == -1) {$

WARNING: line over 80 characters
#1294: FILE: tools/virtiofsd/passthrough_ll.c:1267:
+                       fuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): %m\n",

ERROR: code indent should never use tabs
#1294: FILE: tools/virtiofsd/passthrough_ll.c:1267:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): %m\n",$

ERROR: code indent should never use tabs
#1295: FILE: tools/virtiofsd/passthrough_ll.c:1268:
+^I^I^I^I lo.source);$

ERROR: code indent should never use tabs
#1296: FILE: tools/virtiofsd/passthrough_ll.c:1269:
+^I^I^Iexit(1);$

ERROR: code indent should never use tabs
#1297: FILE: tools/virtiofsd/passthrough_ll.c:1270:
+^I^I}$

ERROR: code indent should never use tabs
#1298: FILE: tools/virtiofsd/passthrough_ll.c:1271:
+^I^Iif (!S_ISDIR(stat.st_mode)) {$

ERROR: code indent should never use tabs
#1299: FILE: tools/virtiofsd/passthrough_ll.c:1272:
+^I^I^Ifuse_log(FUSE_LOG_ERR, "source is not a directory\n");$

ERROR: code indent should never use tabs
#1300: FILE: tools/virtiofsd/passthrough_ll.c:1273:
+^I^I^Iexit(1);$

ERROR: code indent should never use tabs
#1301: FILE: tools/virtiofsd/passthrough_ll.c:1274:
+^I^I}$

ERROR: code indent should never use tabs
#1303: FILE: tools/virtiofsd/passthrough_ll.c:1276:
+^I} else {$

ERROR: code indent should never use tabs
#1304: FILE: tools/virtiofsd/passthrough_ll.c:1277:
+^I^Ilo.source = "/";$

ERROR: code indent should never use tabs
#1305: FILE: tools/virtiofsd/passthrough_ll.c:1278:
+^I}$

ERROR: code indent should never use tabs
#1306: FILE: tools/virtiofsd/passthrough_ll.c:1279:
+^Ilo.root.is_symlink = false;$

ERROR: code indent should never use tabs
#1307: FILE: tools/virtiofsd/passthrough_ll.c:1280:
+^Iif (!lo.timeout_set) {$

ERROR: code indent should never use tabs
#1308: FILE: tools/virtiofsd/passthrough_ll.c:1281:
+^I^Iswitch (lo.cache) {$

ERROR: code indent should never use tabs
#1309: FILE: tools/virtiofsd/passthrough_ll.c:1282:
+^I^Icase CACHE_NEVER:$

ERROR: code indent should never use tabs
#1310: FILE: tools/virtiofsd/passthrough_ll.c:1283:
+^I^I^Ilo.timeout = 0.0;$

ERROR: code indent should never use tabs
#1311: FILE: tools/virtiofsd/passthrough_ll.c:1284:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1313: FILE: tools/virtiofsd/passthrough_ll.c:1286:
+^I^Icase CACHE_NORMAL:$

ERROR: code indent should never use tabs
#1314: FILE: tools/virtiofsd/passthrough_ll.c:1287:
+^I^I^Ilo.timeout = 1.0;$

ERROR: code indent should never use tabs
#1315: FILE: tools/virtiofsd/passthrough_ll.c:1288:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1317: FILE: tools/virtiofsd/passthrough_ll.c:1290:
+^I^Icase CACHE_ALWAYS:$

ERROR: code indent should never use tabs
#1318: FILE: tools/virtiofsd/passthrough_ll.c:1291:
+^I^I^Ilo.timeout = 86400.0;$

ERROR: code indent should never use tabs
#1319: FILE: tools/virtiofsd/passthrough_ll.c:1292:
+^I^I^Ibreak;$

ERROR: code indent should never use tabs
#1320: FILE: tools/virtiofsd/passthrough_ll.c:1293:
+^I^I}$

ERROR: code indent should never use tabs
#1321: FILE: tools/virtiofsd/passthrough_ll.c:1294:
+^I} else if (lo.timeout < 0) {$

ERROR: code indent should never use tabs
#1322: FILE: tools/virtiofsd/passthrough_ll.c:1295:
+^I^Ifuse_log(FUSE_LOG_ERR, "timeout is negative (%lf)\n",$

ERROR: code indent should never use tabs
#1323: FILE: tools/virtiofsd/passthrough_ll.c:1296:
+^I^I^I lo.timeout);$

ERROR: code indent should never use tabs
#1324: FILE: tools/virtiofsd/passthrough_ll.c:1297:
+^I^Iexit(1);$

ERROR: code indent should never use tabs
#1325: FILE: tools/virtiofsd/passthrough_ll.c:1298:
+^I}$

ERROR: code indent should never use tabs
#1327: FILE: tools/virtiofsd/passthrough_ll.c:1300:
+^Ilo.root.fd = open(lo.source, O_PATH);$

ERROR: code indent should never use tabs
#1328: FILE: tools/virtiofsd/passthrough_ll.c:1301:
+^Iif (lo.root.fd == -1) {$

ERROR: code indent should never use tabs
#1329: FILE: tools/virtiofsd/passthrough_ll.c:1302:
+^I^Ifuse_log(FUSE_LOG_ERR, "open(\"%s\", O_PATH): %m\n",$

ERROR: code indent should never use tabs
#1330: FILE: tools/virtiofsd/passthrough_ll.c:1303:
+^I^I^I lo.source);$

ERROR: code indent should never use tabs
#1331: FILE: tools/virtiofsd/passthrough_ll.c:1304:
+^I^Iexit(1);$

ERROR: code indent should never use tabs
#1332: FILE: tools/virtiofsd/passthrough_ll.c:1305:
+^I}$

ERROR: code indent should never use tabs
#1334: FILE: tools/virtiofsd/passthrough_ll.c:1307:
+^Ise = fuse_session_new(&args, &lo_oper, sizeof(lo_oper), &lo);$

ERROR: code indent should never use tabs
#1335: FILE: tools/virtiofsd/passthrough_ll.c:1308:
+^Iif (se == NULL)$

ERROR: braces {} are necessary for all arms of this statement
#1335: FILE: tools/virtiofsd/passthrough_ll.c:1308:
+       if (se == NULL)
[...]

ERROR: code indent should never use tabs
#1336: FILE: tools/virtiofsd/passthrough_ll.c:1309:
+^I    goto err_out1;$

ERROR: code indent should never use tabs
#1338: FILE: tools/virtiofsd/passthrough_ll.c:1311:
+^Iif (fuse_set_signal_handlers(se) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1338: FILE: tools/virtiofsd/passthrough_ll.c:1311:
+       if (fuse_set_signal_handlers(se) != 0)
[...]

ERROR: code indent should never use tabs
#1339: FILE: tools/virtiofsd/passthrough_ll.c:1312:
+^I    goto err_out2;$

ERROR: code indent should never use tabs
#1341: FILE: tools/virtiofsd/passthrough_ll.c:1314:
+^Iif (fuse_session_mount(se, opts.mountpoint) != 0)$

ERROR: braces {} are necessary for all arms of this statement
#1341: FILE: tools/virtiofsd/passthrough_ll.c:1314:
+       if (fuse_session_mount(se, opts.mountpoint) != 0)
[...]

ERROR: code indent should never use tabs
#1342: FILE: tools/virtiofsd/passthrough_ll.c:1315:
+^I    goto err_out3;$

ERROR: code indent should never use tabs
#1344: FILE: tools/virtiofsd/passthrough_ll.c:1317:
+^Ifuse_daemonize(opts.foreground);$

ERROR: code indent should never use tabs
#1346: FILE: tools/virtiofsd/passthrough_ll.c:1319:
+^I/* Block until ctrl+c or fusermount -u */$

ERROR: code indent should never use tabs
#1347: FILE: tools/virtiofsd/passthrough_ll.c:1320:
+^Iif (opts.singlethread)$

ERROR: braces {} are necessary for all arms of this statement
#1347: FILE: tools/virtiofsd/passthrough_ll.c:1320:
+       if (opts.singlethread)
[...]
+       else
[...]

ERROR: code indent should never use tabs
#1348: FILE: tools/virtiofsd/passthrough_ll.c:1321:
+^I^Iret = fuse_session_loop(se);$

ERROR: code indent should never use tabs
#1349: FILE: tools/virtiofsd/passthrough_ll.c:1322:
+^Ielse$

ERROR: code indent should never use tabs
#1350: FILE: tools/virtiofsd/passthrough_ll.c:1323:
+^I^Iret = fuse_session_loop_mt(se, opts.clone_fd);$

ERROR: code indent should never use tabs
#1352: FILE: tools/virtiofsd/passthrough_ll.c:1325:
+^Ifuse_session_unmount(se);$

ERROR: code indent should never use tabs
#1354: FILE: tools/virtiofsd/passthrough_ll.c:1327:
+^Ifuse_remove_signal_handlers(se);$

ERROR: code indent should never use tabs
#1356: FILE: tools/virtiofsd/passthrough_ll.c:1329:
+^Ifuse_session_destroy(se);$

ERROR: code indent should never use tabs
#1358: FILE: tools/virtiofsd/passthrough_ll.c:1331:
+^Ifree(opts.mountpoint);$

ERROR: code indent should never use tabs
#1359: FILE: tools/virtiofsd/passthrough_ll.c:1332:
+^Ifuse_opt_free_args(&args);$

ERROR: code indent should never use tabs
#1361: FILE: tools/virtiofsd/passthrough_ll.c:1334:
+^Iif (lo.root.fd >= 0)$

ERROR: braces {} are necessary for all arms of this statement
#1361: FILE: tools/virtiofsd/passthrough_ll.c:1334:
+       if (lo.root.fd >= 0)
[...]

ERROR: code indent should never use tabs
#1362: FILE: tools/virtiofsd/passthrough_ll.c:1335:
+^I^Iclose(lo.root.fd);$

ERROR: code indent should never use tabs
#1364: FILE: tools/virtiofsd/passthrough_ll.c:1337:
+^Ireturn ret ? 1 : 0;$

total: 954 errors, 30 warnings, 1338 lines checked

Patch 5/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/111 Checking commit fb4748c6a5f2 (virtiofsd: Trim down imported files)
ERROR: code indent should never use tabs
#103: FILE: tools/virtiofsd/buffer.c:184:
+^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$

ERROR: code indent should never use tabs
#390: FILE: tools/virtiofsd/fuse_lowlevel.c:179:
+^Iabort(); /* virtio should have taken it before here */$

ERROR: code indent should never use tabs
#521: FILE: tools/virtiofsd/fuse_lowlevel.c:475:
+^Iabort(); /* Will have taken vhost path */$

ERROR: code indent should never use tabs
#770: FILE: tools/virtiofsd/fuse_lowlevel.c:1046:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#874: FILE: tools/virtiofsd/fuse_lowlevel.c:2142:
+^Iin = buf->mem;$

ERROR: code indent should never use tabs
#883: FILE: tools/virtiofsd/fuse_lowlevel.c:2164:
+^I^Ireturn;$

ERROR: code indent should never use tabs
#891: FILE: tools/virtiofsd/fuse_lowlevel.c:2171:
+^Ireq->ch = ch;$

total: 7 errors, 0 warnings, 1422 lines checked

Patch 6/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

7/111 Checking commit 0bee017ccff5 (virtiofsd: Format imported files to qemu style)
WARNING: Block comments use a leading /* on a separate line
#3151: FILE: tools/virtiofsd/fuse_common.h:720:
+    ((struct fuse_bufvec){ /* .count= */ 1,                           \

WARNING: Block comments use a leading /* on a separate line
#3152: FILE: tools/virtiofsd/fuse_common.h:721:
+                           /* .idx =  */ 0,                           \

WARNING: Block comments use a leading /* on a separate line
#3153: FILE: tools/virtiofsd/fuse_common.h:722:
+                           /* .off =  */ 0, /* .buf =  */             \

WARNING: Block comments use a leading /* on a separate line
#3154: FILE: tools/virtiofsd/fuse_common.h:723:
+                           { /* [0] = */ {                            \

WARNING: Block comments use a leading /* on a separate line
#3155: FILE: tools/virtiofsd/fuse_common.h:724:
+                               /* .size =  */ (size__),               \

WARNING: Block comments use a leading /* on a separate line
#3156: FILE: tools/virtiofsd/fuse_common.h:725:
+                               /* .flags = */ (enum fuse_buf_flags)0, \

WARNING: Block comments use a leading /* on a separate line
#3157: FILE: tools/virtiofsd/fuse_common.h:726:
+                               /* .mem =   */ NULL,                   \

WARNING: Block comments use a leading /* on a separate line
#3158: FILE: tools/virtiofsd/fuse_common.h:727:
+                               /* .fd =    */ -1,                     \

WARNING: Block comments use a leading /* on a separate line
#3159: FILE: tools/virtiofsd/fuse_common.h:728:
+                               /* .pos =   */ 0,                      \

WARNING: architecture specific defines should be avoided
#3208: FILE: tools/virtiofsd/fuse_common.h:799:
+#if defined(__GNUC__) &&                                      \

ERROR: Use of volatile is usually wrong, please add a comment
#3319: FILE: tools/virtiofsd/fuse_i.h:44:
+    volatile int exited;

ERROR: spaces required around that '*' (ctx:WxV)
#3556: FILE: tools/virtiofsd/fuse_lowlevel.c:36:
+        const typeof(((type *)0)->member) *__mptr = (ptr); \
                                           ^

ERROR: use qemu_real_host_page_size instead of getpagesize()
#3572: FILE: tools/virtiofsd/fuse_lowlevel.c:49:
+    pagesize = getpagesize();

ERROR: use qemu_real_host_page_size instead of getpagesize()
#6228: FILE: tools/virtiofsd/fuse_lowlevel.c:1683:
+                FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() +

ERROR: Macros with complex values should be enclosed in parenthesis
#6296: FILE: tools/virtiofsd/fuse_lowlevel.c:1713:
+#define LL_SET_DEFAULT(cond, cap)             \
+    if ((cond) && (se->conn.capable & (cap))) \
+        se->conn.want |= (cap)

ERROR: use qemu_real_host_page_size instead of getpagesize()
#6370: FILE: tools/virtiofsd/fuse_lowlevel.c:1763:
+        outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;

ERROR: use qemu_real_host_page_size instead of getpagesize()
#7489: FILE: tools/virtiofsd/fuse_lowlevel.c:2436:
+    se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() + FUSE_BUFFER_HEADER_SIZE;

ERROR: consider using qemu_strtoul in preference to strtoul
#7707: FILE: tools/virtiofsd/fuse_lowlevel.c:2567:
+        unsigned long val = strtoul(s, &end, 0);

ERROR: Macros with complex values should be enclosed in parenthesis
#11887: FILE: tools/virtiofsd/helper.c:260:
+#define LL_ENABLE(cond, cap) \
+    if (cond)                \
+        conn->want |= (cap)

ERROR: Macros with complex values should be enclosed in parenthesis
#11890: FILE: tools/virtiofsd/helper.c:263:
+#define LL_DISABLE(cond, cap) \
+    if (cond)                 \
+        conn->want &= ~(cap)

WARNING: architecture specific defines should be avoided
#12088: FILE: tools/virtiofsd/passthrough_ll.c:67:
+#if defined(__GNUC__) &&                                      \

total: 10 errors, 11 warnings, 14038 lines checked

Patch 7/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/111 Checking commit 12da0829f0a1 (virtiofsd: remove mountpoint dummy argument)
9/111 Checking commit 609c48ca3464 (virtiofsd: remove unused notify reply support)
10/111 Checking commit 272f0aef76b5 (virtiofsd: Remove unused enum fuse_buf_copy_flags)
11/111 Checking commit ff9eccd086eb (virtiofsd: Fix fuse_daemonize ignored return values)
12/111 Checking commit ec05a51bf51d (virtiofsd: Fix common header and define for QEMU builds)
13/111 Checking commit 3d3baa60a110 (virtiofsd: Trim out compatibility code)
ERROR: use qemu_real_host_page_size instead of getpagesize()
#412: FILE: tools/virtiofsd/fuse_lowlevel.c:1614:
+        size_t max_bufsize = FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() +

total: 1 errors, 0 warnings, 486 lines checked

Patch 13/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

14/111 Checking commit 59f2c089ac89 (vitriofsd/passthrough_ll: fix fallocate() ifdefs)
15/111 Checking commit 727077a2ca9f (virtiofsd: Make fsync work even if only inode is passed in)
16/111 Checking commit 8dd452e31237 (virtiofsd: Add options for virtio)
17/111 Checking commit 34bb498970e4 (virtiofsd: add -o source=PATH to help output)
18/111 Checking commit b4b44c097f34 (virtiofsd: Open vhost connection instead of mounting)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#120: 
new file mode 100644

total: 0 errors, 1 warnings, 192 lines checked

Patch 18/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/111 Checking commit 0554213986dd (virtiofsd: Start wiring up vhost-user)
20/111 Checking commit 9379460f1e3a (virtiofsd: Add main virtio loop)
21/111 Checking commit 5e092733ec98 (virtiofsd: get/set features callbacks)
22/111 Checking commit 43a0f04e30b3 (virtiofsd: Start queue threads)
23/111 Checking commit ac43cd859e67 (virtiofsd: Poll kick_fd for queue)
24/111 Checking commit 67b2916e60be (virtiofsd: Start reading commands from queue)
25/111 Checking commit 2aad39d8c85c (virtiofsd: Send replies to messages)
26/111 Checking commit 946ef8269416 (virtiofsd: Keep track of replies)
27/111 Checking commit 0d4e62b4dd51 (virtiofsd: Add Makefile wiring for virtiofsd contrib)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#70: 
new file mode 100644

total: 0 errors, 1 warnings, 44 lines checked

Patch 27/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
28/111 Checking commit f827cc9b6caa (virtiofsd: Fast path for virtio read)
29/111 Checking commit bad1151dd6d6 (virtiofsd: add --fd=FDNUM fd passing option)
30/111 Checking commit abb1db4299f2 (virtiofsd: make -f (foreground) the default)
31/111 Checking commit b891ef85830e (virtiofsd: add vhost-user.json file)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#41: 
new file mode 100644

total: 0 errors, 1 warnings, 19 lines checked

Patch 31/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
32/111 Checking commit 52fd5cdeda71 (virtiofsd: add --print-capabilities option)
33/111 Checking commit 3e1c2941c81f (virtiofs: Add maintainers entry)
34/111 Checking commit 6237c27af71f (virtiofsd: passthrough_ll: create new files in caller's context)
35/111 Checking commit c45ea07f5933 (virtiofsd: passthrough_ll: add lo_map for ino/fh indirection)
ERROR: storage class should be at the beginning of the declaration
#50: FILE: tools/virtiofsd/passthrough_ll.c:148:
+__attribute__((unused)) static void lo_map_init(struct lo_map *map)

ERROR: storage class should be at the beginning of the declaration
#57: FILE: tools/virtiofsd/passthrough_ll.c:155:
+__attribute__((unused)) static void lo_map_destroy(struct lo_map *map)

ERROR: storage class should be at the beginning of the declaration
#88: FILE: tools/virtiofsd/passthrough_ll.c:186:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#105: FILE: tools/virtiofsd/passthrough_ll.c:203:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#127: FILE: tools/virtiofsd/passthrough_ll.c:225:
+__attribute__((unused)) static struct lo_map_elem *

ERROR: storage class should be at the beginning of the declaration
#139: FILE: tools/virtiofsd/passthrough_ll.c:237:
+__attribute__((unused)) static void lo_map_remove(struct lo_map *map,

total: 6 errors, 0 warnings, 136 lines checked

Patch 35/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

36/111 Checking commit 38933cd232cd (virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers)
37/111 Checking commit c5494b4b2ca9 (virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers)
38/111 Checking commit bc455a783dfe (virtiofsd: passthrough_ll: add fd_map to hide file descriptors)
39/111 Checking commit f023992efab4 (virtiofsd: passthrough_ll: add fallback for racy ops)
40/111 Checking commit 2b648251d2e7 (virtiofsd: validate path components)
41/111 Checking commit 5fb21b6bf446 (virtiofsd: Plumb fuse_bufvec through to do_write_buf)
42/111 Checking commit fba801a2e144 (virtiofsd: Pass write iov's all the way through)
43/111 Checking commit 6297f77f3db3 (virtiofsd: add fuse_mbuf_iter API)
44/111 Checking commit 1b03e0838202 (virtiofsd: validate input buffer sizes in do_write_buf())
45/111 Checking commit 91b0823ad7c6 (virtiofsd: check input buffer size in fuse_lowlevel.c ops)
46/111 Checking commit a75c596815f2 (virtiofsd: prevent ".." escape in lo_do_lookup())
47/111 Checking commit 38e6a9f57f5b (virtiofsd: prevent ".." escape in lo_do_readdir())
48/111 Checking commit af0815d98cc3 (virtiofsd: use /proc/self/fd/ O_PATH file descriptor)
49/111 Checking commit bbe5febc372e (virtiofsd: sandbox mount namespace)
50/111 Checking commit 1a1933b7b929 (virtiofsd: move to an empty network namespace)
51/111 Checking commit 0a6181318e2d (virtiofsd: move to a new pid namespace)
52/111 Checking commit 40894f59a792 (virtiofsd: add seccomp whitelist)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#83: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#106: FILE: tools/virtiofsd/seccomp.c:19:
+#if !defined(__SNR_ppoll) && defined(__SNR_brk)

WARNING: architecture specific defines should be avoided
#107: FILE: tools/virtiofsd/seccomp.c:20:
+#ifdef __NR_ppoll

WARNING: architecture specific defines should be avoided
#121: FILE: tools/virtiofsd/seccomp.c:34:
+#ifdef __NR_clone3

WARNING: architecture specific defines should be avoided
#181: FILE: tools/virtiofsd/seccomp.c:94:
+#ifdef __NR_setresgid32

WARNING: architecture specific defines should be avoided
#184: FILE: tools/virtiofsd/seccomp.c:97:
+#ifdef __NR_setresuid32

total: 0 errors, 6 warnings, 205 lines checked

Patch 52/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
53/111 Checking commit 67881a551d77 (virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV)
54/111 Checking commit 74c06be51da5 (virtiofsd: cap-ng helpers)
ERROR: do not initialise statics to 0 or NULL
#59: FILE: tools/virtiofsd/passthrough_ll.c:148:
+static __thread bool cap_loaded = 0;

total: 1 errors, 0 warnings, 124 lines checked

Patch 54/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

55/111 Checking commit 1548483add8c (virtiofsd: Drop CAP_FSETID if client asked for it)
56/111 Checking commit b34ef4778aca (virtiofsd: set maximum RLIMIT_NOFILE limit)
57/111 Checking commit 28097ad1df79 (virtiofsd: fix libfuse information leaks)
58/111 Checking commit 9dfd80373f20 (docs: Add docs/tools)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#60: 
new file mode 100644

total: 0 errors, 1 warnings, 60 lines checked

Patch 58/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
59/111 Checking commit b2cbdebdfa70 (virtiofsd: add security guide document)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#26: 
new file mode 100644

total: 0 errors, 1 warnings, 123 lines checked

Patch 59/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
60/111 Checking commit ed8c489ffcc6 (virtiofsd: add --syslog command-line option)
ERROR: do not initialise statics to 0 or NULL
#66: FILE: tools/virtiofsd/passthrough_ll.c:142:
+static bool use_syslog = false;

total: 1 errors, 0 warnings, 165 lines checked

Patch 60/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

61/111 Checking commit aec21e375906 (virtiofsd: print log only when priority is high enough)
62/111 Checking commit e57649279563 (virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level)
63/111 Checking commit e240e7d2cd25 (virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level)
64/111 Checking commit 3fb6ed295314 (virtiofsd: Handle reinit)
65/111 Checking commit c1bbe998e8c7 (virtiofsd: Handle hard reboot)
66/111 Checking commit 99bc00021169 (virtiofsd: Kill threads when queues are stopped)
67/111 Checking commit fe82538ea364 (vhost-user: Print unexpected slave message types)
68/111 Checking commit 446814859783 (contrib/libvhost-user: Protect slave fd with mutex)
69/111 Checking commit 3c0f02feaecc (virtiofsd: passthrough_ll: add renameat2 support)
70/111 Checking commit 5bcb4118d33e (virtiofsd: passthrough_ll: disable readdirplus on cache=never)
71/111 Checking commit fdafd0b45174 (virtiofsd: passthrough_ll: control readdirplus)
72/111 Checking commit 47137cec9d4f (virtiofsd: rename unref_inode() to unref_inode_lolocked())
73/111 Checking commit a1f7cd1cce56 (virtiofsd: fail when parent inode isn't known in lo_do_lookup())
ERROR: return of an errno should typically be -ve (return -ENOENT)
#33: FILE: tools/virtiofsd/passthrough_ll.c:786:
+        return ENOENT;

total: 1 errors, 0 warnings, 38 lines checked

Patch 73/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

74/111 Checking commit b50d3795d2ec (virtiofsd: extract root inode init into setup_root())
75/111 Checking commit e55c0a27ee5c (virtiofsd: passthrough_ll: clean up cache related options)
76/111 Checking commit 0187ecb5bb0b (virtiofsd: passthrough_ll: use hashtable)
77/111 Checking commit 9e8b02e29b7b (virtiofsd: Clean up inodes on destroy)
78/111 Checking commit d07081b4c1ce (virtiofsd: support nanosecond resolution for file timestamp)
79/111 Checking commit 97b7ba6c16fb (virtiofsd: fix error handling in main())
80/111 Checking commit 4e23b88637d3 (virtiofsd: cleanup allocated resource in se)
81/111 Checking commit 34937ad22fbb (virtiofsd: fix memory leak on lo.source)
82/111 Checking commit b96a63cb7102 (virtiofsd: add helper for lo_data cleanup)
83/111 Checking commit ed19172b8268 (virtiofsd: Prevent multiply running with same vhost_user_socket)
84/111 Checking commit 45b84fed0705 (virtiofsd: enable PARALLEL_DIROPS during INIT)
85/111 Checking commit b034067772e6 (virtiofsd: fix incorrect error handling in lo_do_lookup)
86/111 Checking commit 97b37e40d63c (Virtiofsd: fix memory leak on fuse queueinfo)
87/111 Checking commit b27bd89b9f02 (virtiofsd: Support remote posix locks)
88/111 Checking commit f187715feb05 (virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy())
89/111 Checking commit 148e0b8ab812 (virtiofsd: prevent fv_queue_thread() vs virtio_loop() races)
90/111 Checking commit 7ad63cec863d (virtiofsd: make lo_release() atomic)
91/111 Checking commit 40339634f2a6 (virtiofsd: prevent races with lo_dirp_put())
92/111 Checking commit 135fd20f8a90 (virtiofsd: rename inode->refcount to inode->nlookup)
93/111 Checking commit 7ad9f9216367 (libvhost-user: Fix some memtable remap cases)
94/111 Checking commit 6a52a9c9413e (virtiofsd: add man page)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#51: 
new file mode 100644

total: 0 errors, 1 warnings, 129 lines checked

Patch 94/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
95/111 Checking commit b30da17f8cab (virtiofsd: passthrough_ll: fix refcounting on remove/rename)
96/111 Checking commit 91b20954c1e4 (virtiofsd: introduce inode refcount to prevent use-after-free)
97/111 Checking commit 54af8fae2e6d (virtiofsd: do not always set FUSE_FLOCK_LOCKS)
98/111 Checking commit 22ff3861c463 (virtiofsd: convert more fprintf and perror to use fuse log infra)
99/111 Checking commit 7d962ffbb6c8 (virtiofsd: Reset O_DIRECT flag during file open)
100/111 Checking commit 7c74ca3bd996 (virtiofsd: Fix data corruption with O_APPEND write in writeback mode)
101/111 Checking commit 90e41c708674 (virtiofsd: passthrough_ll: Use cache_readdir for directory open)
102/111 Checking commit 5e0bc6503cc9 (virtiofsd: add definition of fuse_buf_writev())
103/111 Checking commit 5d532a42dbe5 (virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance)
104/111 Checking commit e50a5017ab42 (virtiofsd: process requests in a thread pool)
WARNING: Block comments use a leading /* on a separate line
#333: FILE: tools/virtiofsd/fuse_virtio.c:577:
+    pool = g_thread_pool_new(fv_queue_worker, qi, 1 /* TODO max_threads */,

total: 0 errors, 1 warnings, 466 lines checked

Patch 104/111 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
105/111 Checking commit d6d15b34a05d (virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races)
106/111 Checking commit 36d22965f434 (virtiofsd: fix lo_destroy() resource leaks)
107/111 Checking commit 1f3e36c48804 (virtiofsd: add --thread-pool-size=NUM option)
108/111 Checking commit 1d37492cc0d4 (virtiofsd: Convert lo_destroy to take the lo->mutex lock itself)
109/111 Checking commit dc2cd3d1a75f (virtiofsd/passthrough_ll: Pass errno to fuse_reply_err())
110/111 Checking commit 571166aed358 (virtiofsd: stop all queue threads on exit in virtio_loop())
111/111 Checking commit 01f242fef1e8 (virtiofsd: add some options to the help message)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200123115841.138849-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
Peter Maydell Jan. 23, 2020, 3:20 p.m. UTC | #2
On Thu, 23 Jan 2020 at 12:54, Dr. David Alan Gilbert (git)
<dgilbert@redhat.com> wrote:
>
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The following changes since commit 3e08b2b9cb64bff2b73fa9128c0e49bfcde0dd40:
>
>   Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200121' into staging (2020-01-21 15:29:25 +0000)
>
> are available in the Git repository at:
>
>   git@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123
>
> for you to fetch changes up to 87509325f70c78a28683f9460699915ea3300091:
>
>   virtiofsd: add some options to the help message (2020-01-23 10:54:49 +0000)
>
> ----------------------------------------------------------------
> virtiofsd first pull
>
> Import our virtiofsd.
> This pulls in the daemon to drive a file system connected to the
> existing qemu virtiofsd device.
> It's derived from upstream libfuse with lots of changes (and a lot
> trimmed out).
> The daemon lives in the newly created qemu/tools/virtiofsd
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


>  docs/tools/conf.py                        |   16 +
>  docs/tools/index.rst                      |   14 +
>  docs/tools/virtiofsd-security.rst         |  118 ++

Do we really want a new top-level manual? This isn't
in the plan: https://wiki.qemu.org/Features/Documentation

What defines what goes in docs/tools rather than
docs/interop (like qemu-nbd and qemu-img do) ?

thanks
-- PMM
Dr. David Alan Gilbert Jan. 23, 2020, 3:30 p.m. UTC | #3
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On Thu, 23 Jan 2020 at 12:54, Dr. David Alan Gilbert (git)
> <dgilbert@redhat.com> wrote:
> >
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> >
> > The following changes since commit 3e08b2b9cb64bff2b73fa9128c0e49bfcde0dd40:
> >
> >   Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200121' into staging (2020-01-21 15:29:25 +0000)
> >
> > are available in the Git repository at:
> >
> >   git@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123
> >
> > for you to fetch changes up to 87509325f70c78a28683f9460699915ea3300091:
> >
> >   virtiofsd: add some options to the help message (2020-01-23 10:54:49 +0000)
> >
> > ----------------------------------------------------------------
> > virtiofsd first pull
> >
> > Import our virtiofsd.
> > This pulls in the daemon to drive a file system connected to the
> > existing qemu virtiofsd device.
> > It's derived from upstream libfuse with lots of changes (and a lot
> > trimmed out).
> > The daemon lives in the newly created qemu/tools/virtiofsd
> >
> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> 
> 
> >  docs/tools/conf.py                        |   16 +
> >  docs/tools/index.rst                      |   14 +
> >  docs/tools/virtiofsd-security.rst         |  118 ++
> 
> Do we really want a new top-level manual? This isn't
> in the plan: https://wiki.qemu.org/Features/Documentation
> 
> What defines what goes in docs/tools rather than
> docs/interop (like qemu-nbd and qemu-img do) ?

In my v1 patchset this lived in tools/virtiofsd and I hadn't
wired up the top level index, however discussion with Daniel
we came up with docs/tools/virtiofsd. See:

https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg00793.html

My suggestion is that more should move into tools and docs/tools
since they're not really 'interop' - but I don't have a strong feeling
as long as we can quickly come to an agreement.

Dave

> thanks
> -- PMM
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Peter Maydell Jan. 23, 2020, 3:44 p.m. UTC | #4
On Thu, 23 Jan 2020 at 15:31, Dr. David Alan Gilbert
<dgilbert@redhat.com> wrote:
>
> * Peter Maydell (peter.maydell@linaro.org) wrote:
> > On Thu, 23 Jan 2020 at 12:54, Dr. David Alan Gilbert (git)
> > <dgilbert@redhat.com> wrote:
> > >  docs/tools/conf.py                        |   16 +
> > >  docs/tools/index.rst                      |   14 +
> > >  docs/tools/virtiofsd-security.rst         |  118 ++
> >
> > Do we really want a new top-level manual? This isn't
> > in the plan: https://wiki.qemu.org/Features/Documentation
> >
> > What defines what goes in docs/tools rather than
> > docs/interop (like qemu-nbd and qemu-img do) ?
>
> In my v1 patchset this lived in tools/virtiofsd and I hadn't
> wired up the top level index, however discussion with Daniel
> we came up with docs/tools/virtiofsd. See:
>
> https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg00793.html
>
> My suggestion is that more should move into tools and docs/tools
> since they're not really 'interop' - but I don't have a strong feeling
> as long as we can quickly come to an agreement.

I guess that's probably not unreasonable. It's going to clash
with the various docs patchsets already on list, though.
And it's a bit odd that the only doc file in docs/tools
doesn't seem to be documenting a tool (it's a more general
'security guide'; I think the case would be better if the
doc you were adding was the virtiofsd manpage, which doesn't
seem to exist yet). Our other "stuff between guest and host"
docs (including other vhost-user topics and the qemu-ga guest
agent docs) are all in interop/.

PS: you forgot to add the new docs/tools entry to
docs/index.html.in.

thanks
-- PMM
Dr. David Alan Gilbert Jan. 23, 2020, 4:02 p.m. UTC | #5
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On Thu, 23 Jan 2020 at 15:31, Dr. David Alan Gilbert
> <dgilbert@redhat.com> wrote:
> >
> > * Peter Maydell (peter.maydell@linaro.org) wrote:
> > > On Thu, 23 Jan 2020 at 12:54, Dr. David Alan Gilbert (git)
> > > <dgilbert@redhat.com> wrote:
> > > >  docs/tools/conf.py                        |   16 +
> > > >  docs/tools/index.rst                      |   14 +
> > > >  docs/tools/virtiofsd-security.rst         |  118 ++
> > >
> > > Do we really want a new top-level manual? This isn't
> > > in the plan: https://wiki.qemu.org/Features/Documentation
> > >
> > > What defines what goes in docs/tools rather than
> > > docs/interop (like qemu-nbd and qemu-img do) ?
> >
> > In my v1 patchset this lived in tools/virtiofsd and I hadn't
> > wired up the top level index, however discussion with Daniel
> > we came up with docs/tools/virtiofsd. See:
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg00793.html
> >
> > My suggestion is that more should move into tools and docs/tools
> > since they're not really 'interop' - but I don't have a strong feeling
> > as long as we can quickly come to an agreement.
> 
> I guess that's probably not unreasonable. It's going to clash
> with the various docs patchsets already on list, though.

Which ones exactly?
Do you want me to rebuild this set on top of those, or drop the docs for
now until after they're in (I'm happy for you to drop the docs patches
and merge the rest of this series, which would seem the quickest way).

> And it's a bit odd that the only doc file in docs/tools
> doesn't seem to be documenting a tool (it's a more general
> 'security guide';

I think it is actually specific to this virtiofsd implementation.

> I think the case would be better if the
> doc you were adding was the virtiofsd manpage, which doesn't
> seem to exist yet).

Yes it does, see 'virtiofsd: add man page' (patch 0094),
tools/virtiofsd/virtiofsd.texi

> Our other "stuff between guest and host"
> docs (including other vhost-user topics and the qemu-ga guest
> agent docs) are all in interop/.

Note that doc I've added here doesn't define protocol or anything like
that between qemu and the guest; it's purely a doc talking about what
someone using that daemon sees.

> PS: you forgot to add the new docs/tools entry to
> docs/index.html.in.

Ah, happy to fix that.

Dave

> thanks
> -- PMM
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Peter Maydell Jan. 23, 2020, 4:06 p.m. UTC | #6
On Thu, 23 Jan 2020 at 16:02, Dr. David Alan Gilbert
<dgilbert@redhat.com> wrote:
>
> * Peter Maydell (peter.maydell@linaro.org) wrote:
> > I think the case would be better if the
> > doc you were adding was the virtiofsd manpage, which doesn't
> > seem to exist yet).
>
> Yes it does, see 'virtiofsd: add man page' (patch 0094),
> tools/virtiofsd/virtiofsd.texi

I would really like to enforce "no new texi documentation".
Otherwise it ends up on my todo list to have to do the
conversion to rST later, and there's already enough
texi that needs converting :-(

thanks
-- PMM
Dr. David Alan Gilbert Jan. 23, 2020, 4:10 p.m. UTC | #7
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On Thu, 23 Jan 2020 at 16:02, Dr. David Alan Gilbert
> <dgilbert@redhat.com> wrote:
> >
> > * Peter Maydell (peter.maydell@linaro.org) wrote:
> > > I think the case would be better if the
> > > doc you were adding was the virtiofsd manpage, which doesn't
> > > seem to exist yet).
> >
> > Yes it does, see 'virtiofsd: add man page' (patch 0094),
> > tools/virtiofsd/virtiofsd.texi
> 
> I would really like to enforce "no new texi documentation".
> Otherwise it ends up on my todo list to have to do the
> conversion to rST later, and there's already enough
> texi that needs converting :-(

OK, then drop the man page for now and we'll do the rst conversion.

Dave

> thanks
> -- PMM
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK