Message ID | 20200123164630.91498-1-dgilbert@redhat.com |
---|---|
Headers | show |
Series | virtiofs queue | expand |
* Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > The following changes since commit b7c359c748a2e3ccb97a184b9739feb2cd48de2f: > > Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging (2020-01-23 14:38:43 +0000) > > are available in the Git repository at: > > git@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123b Note the public URI is: https://gitlab.com/dagrh/qemu.git Dave > for you to fetch changes up to 1d59b1b210d7c3b0bdf4b10ebe0bb1fccfcb8b95: > > virtiofsd: add some options to the help message (2020-01-23 16:41:37 +0000) > > ---------------------------------------------------------------- > virtiofsd first pull v2 > > 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> > > v2 > drop the docs while we discuss where they should live > and we need to redo the manpage in anything but texi > > ---------------------------------------------------------------- > Dr. David Alan Gilbert (34): > 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 > 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 (35): > 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 --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: 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 | 12 + > Makefile.objs | 1 + > configure | 16 + > contrib/libvhost-user/libvhost-user.c | 57 +- > contrib/libvhost-user/libvhost-user.h | 6 + > docs/interop/vhost-user.json | 4 +- > 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 + > 32 files changed, 13886 insertions(+), 14 deletions(-) > 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 > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Patchew URL: https://patchew.org/QEMU/20200123164630.91498-1-dgilbert@redhat.com/ Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20200123164630.91498-1-dgilbert@redhat.com Subject: [PULL 000/108] virtiofs queue === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu - [tag update] patchew/20200123170544.30117-1-kwolf@redhat.com -> patchew/20200123170544.30117-1-kwolf@redhat.com Switched to a new branch 'test' 02e4c6d virtiofsd: add some options to the help message 91b9210 virtiofsd: stop all queue threads on exit in virtio_loop() 9325310 virtiofsd/passthrough_ll: Pass errno to fuse_reply_err() 698292e virtiofsd: Convert lo_destroy to take the lo->mutex lock itself 72ece8f virtiofsd: add --thread-pool-size=NUM option 87504eb virtiofsd: fix lo_destroy() resource leaks b573bdd virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races 322bbdc virtiofsd: process requests in a thread pool 0e583a1 virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance 4fda6a6 virtiofsd: add definition of fuse_buf_writev() 1f67fb7 virtiofsd: passthrough_ll: Use cache_readdir for directory open 9e739a1 virtiofsd: Fix data corruption with O_APPEND write in writeback mode e5ee594 virtiofsd: Reset O_DIRECT flag during file open 269002e virtiofsd: convert more fprintf and perror to use fuse log infra 649aa49 virtiofsd: do not always set FUSE_FLOCK_LOCKS a769832 virtiofsd: introduce inode refcount to prevent use-after-free c70b7ee virtiofsd: passthrough_ll: fix refcounting on remove/rename 604298d libvhost-user: Fix some memtable remap cases 2ad1f55 virtiofsd: rename inode->refcount to inode->nlookup f00cb4e virtiofsd: prevent races with lo_dirp_put() b6ff58c virtiofsd: make lo_release() atomic c1c535a virtiofsd: prevent fv_queue_thread() vs virtio_loop() races aead534 virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy() b76abf5 virtiofsd: Support remote posix locks 6902eb8 Virtiofsd: fix memory leak on fuse queueinfo be5097a virtiofsd: fix incorrect error handling in lo_do_lookup 9006657 virtiofsd: enable PARALLEL_DIROPS during INIT 4706f46 virtiofsd: Prevent multiply running with same vhost_user_socket f211a36 virtiofsd: add helper for lo_data cleanup 38200c6 virtiofsd: fix memory leak on lo.source 7f99afc virtiofsd: cleanup allocated resource in se a1522ea virtiofsd: fix error handling in main() f0e3fbc virtiofsd: support nanosecond resolution for file timestamp 0220aed virtiofsd: Clean up inodes on destroy 7a380f3 virtiofsd: passthrough_ll: use hashtable 1e21a9c virtiofsd: passthrough_ll: clean up cache related options 1b05316 virtiofsd: extract root inode init into setup_root() 1c063c8 virtiofsd: fail when parent inode isn't known in lo_do_lookup() 7ddb8e2 virtiofsd: rename unref_inode() to unref_inode_lolocked() 4dd6c3a virtiofsd: passthrough_ll: control readdirplus b9097c9 virtiofsd: passthrough_ll: disable readdirplus on cache=never c0279a6 virtiofsd: passthrough_ll: add renameat2 support 824a1db contrib/libvhost-user: Protect slave fd with mutex 851e8ec vhost-user: Print unexpected slave message types 818e2fc virtiofsd: Kill threads when queues are stopped f04fe35 virtiofsd: Handle hard reboot 4002eb6 virtiofsd: Handle reinit c257992 virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level fb926ee virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level 776503c virtiofsd: print log only when priority is high enough d19e062 virtiofsd: add --syslog command-line option 788d319 virtiofsd: fix libfuse information leaks 8b61e80 virtiofsd: set maximum RLIMIT_NOFILE limit e137992 virtiofsd: Drop CAP_FSETID if client asked for it 9cc34cc virtiofsd: cap-ng helpers 7a02936 virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV 95d60ee virtiofsd: add seccomp whitelist eb214a7 virtiofsd: move to a new pid namespace 3228cd4 virtiofsd: move to an empty network namespace f20606a virtiofsd: sandbox mount namespace b8b6552 virtiofsd: use /proc/self/fd/ O_PATH file descriptor c3f5b07 virtiofsd: prevent ".." escape in lo_do_readdir() 3cb4463 virtiofsd: prevent ".." escape in lo_do_lookup() 3d11f12 virtiofsd: check input buffer size in fuse_lowlevel.c ops 38b34ea virtiofsd: validate input buffer sizes in do_write_buf() 9c34b09 virtiofsd: add fuse_mbuf_iter API 6b7914f virtiofsd: Pass write iov's all the way through 78d7979 virtiofsd: Plumb fuse_bufvec through to do_write_buf 408f8a1 virtiofsd: validate path components bca92ad virtiofsd: passthrough_ll: add fallback for racy ops 3ed5357 virtiofsd: passthrough_ll: add fd_map to hide file descriptors fad5ec7 virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers db71a83 virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers 5a8812e virtiofsd: passthrough_ll: add lo_map for ino/fh indirection d66da85 virtiofsd: passthrough_ll: create new files in caller's context cffa2ea virtiofs: Add maintainers entry c317252 virtiofsd: add --print-capabilities option f437f8d virtiofsd: add vhost-user.json file bd6c9f4 virtiofsd: make -f (foreground) the default 312e7d4 virtiofsd: add --fd=FDNUM fd passing option 52a2eec virtiofsd: Fast path for virtio read ca3b0f6 virtiofsd: Add Makefile wiring for virtiofsd contrib 9e7093d virtiofsd: Keep track of replies 5bece7b virtiofsd: Send replies to messages 1372ebd virtiofsd: Start reading commands from queue 36e6c52 virtiofsd: Poll kick_fd for queue 440938d virtiofsd: Start queue threads ad8b170 virtiofsd: get/set features callbacks 287b48c virtiofsd: Add main virtio loop fef307e virtiofsd: Start wiring up vhost-user 0839049 virtiofsd: Open vhost connection instead of mounting 87cb3ca virtiofsd: add -o source=PATH to help output a6f8a68 virtiofsd: Add options for virtio 01b4a15 virtiofsd: Make fsync work even if only inode is passed in 674d18b vitriofsd/passthrough_ll: fix fallocate() ifdefs afdaf8e virtiofsd: Trim out compatibility code 85d350a virtiofsd: Fix common header and define for QEMU builds 470bf03 virtiofsd: Fix fuse_daemonize ignored return values 988582c virtiofsd: Remove unused enum fuse_buf_copy_flags e0ade3b virtiofsd: remove unused notify reply support 40408f0 virtiofsd: remove mountpoint dummy argument c695a07 virtiofsd: Format imported files to qemu style 4de66b5 virtiofsd: Trim down imported files b0e9634 virtiofsd: Add passthrough_ll dcd7ad1 virtiofsd: Add fuse_lowlevel.c 40b6782 virtiofsd: Add auxiliary .c's 63a5daf virtiofsd: Pull in kernel's fuse.h ed88b1c virtiofsd: Pull in upstream headers === OUTPUT BEGIN === 1/108 Checking commit ed88b1c5bf93 (virtiofsd: Pull in upstream headers) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #16: new file mode 100644 WARNING: Block comments use * on subsequent lines #22: FILE: tools/virtiofsd/fuse.h:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use a leading /* on a separate line #32: FILE: tools/virtiofsd/fuse.h:12: +/** @file WARNING: architecture specific defines should be avoided #48: FILE: tools/virtiofsd/fuse.h:28: +#ifdef __cplusplus WARNING: Block comments use a leading /* on a separate line #52: FILE: tools/virtiofsd/fuse.h:32: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #53: FILE: tools/virtiofsd/fuse.h:33: + * Basic FUSE API^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #54: FILE: tools/virtiofsd/fuse.h:34: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #63: FILE: tools/virtiofsd/fuse.h:43: +^I/**$ ERROR: code indent should never use tabs #64: FILE: tools/virtiofsd/fuse.h:44: +^I * "Plus" mode.$ ERROR: code indent should never use tabs #65: FILE: tools/virtiofsd/fuse.h:45: +^I *$ ERROR: code indent should never use tabs #66: FILE: tools/virtiofsd/fuse.h:46: +^I * The kernel wants to prefill the inode cache during readdir. The$ ERROR: code indent should never use tabs #67: FILE: tools/virtiofsd/fuse.h:47: +^I * filesystem may honour this by filling in the attributes and setting$ ERROR: code indent should never use tabs #68: FILE: tools/virtiofsd/fuse.h:48: +^I * FUSE_FILL_DIR_FLAGS for the filler function. The filesystem may also$ ERROR: code indent should never use tabs #69: FILE: tools/virtiofsd/fuse.h:49: +^I * just ignore this flag completely.$ ERROR: code indent should never use tabs #70: FILE: tools/virtiofsd/fuse.h:50: +^I */$ ERROR: code indent should never use tabs #71: FILE: tools/virtiofsd/fuse.h:51: +^IFUSE_READDIR_PLUS = (1 << 0),$ ERROR: code indent should never use tabs #75: FILE: tools/virtiofsd/fuse.h:55: +^I/**$ ERROR: code indent should never use tabs #76: FILE: tools/virtiofsd/fuse.h:56: +^I * "Plus" mode: all file attributes are valid$ ERROR: code indent should never use tabs #77: FILE: tools/virtiofsd/fuse.h:57: +^I *$ ERROR: code indent should never use tabs #78: FILE: tools/virtiofsd/fuse.h:58: +^I * The attributes are used by the kernel to prefill the inode cache$ ERROR: code indent should never use tabs #79: FILE: tools/virtiofsd/fuse.h:59: +^I * during a readdir.$ ERROR: code indent should never use tabs #80: FILE: tools/virtiofsd/fuse.h:60: +^I *$ ERROR: code indent should never use tabs #81: FILE: tools/virtiofsd/fuse.h:61: +^I * It is okay to set FUSE_FILL_DIR_PLUS if FUSE_READDIR_PLUS is not set$ ERROR: code indent should never use tabs #82: FILE: tools/virtiofsd/fuse.h:62: +^I * and vice versa.$ ERROR: code indent should never use tabs #83: FILE: tools/virtiofsd/fuse.h:63: +^I */$ ERROR: code indent should never use tabs #84: FILE: tools/virtiofsd/fuse.h:64: +^IFUSE_FILL_DIR_PLUS = (1 << 1),$ WARNING: Block comments use a leading /* on a separate line #87: FILE: tools/virtiofsd/fuse.h:67: +/** Function to add an entry in a readdir() operation ERROR: trailing whitespace #94: FILE: tools/virtiofsd/fuse.h:74: + * $ ERROR: code indent should never use tabs #103: FILE: tools/virtiofsd/fuse.h:83: +^I^I^I^Iconst struct stat *stbuf, off_t off,$ ERROR: code indent should never use tabs #104: FILE: tools/virtiofsd/fuse.h:84: +^I^I^I^Ienum fuse_fill_dir_flags flags);$ ERROR: code indent should never use tabs #114: FILE: tools/virtiofsd/fuse.h:94: +^I/**$ ERROR: code indent should never use tabs #115: FILE: tools/virtiofsd/fuse.h:95: +^I * If `set_gid` is non-zero, the st_gid attribute of each file$ ERROR: code indent should never use tabs #116: FILE: tools/virtiofsd/fuse.h:96: +^I * is overwritten with the value of `gid`.$ ERROR: code indent should never use tabs #117: FILE: tools/virtiofsd/fuse.h:97: +^I */$ ERROR: code indent should never use tabs #118: FILE: tools/virtiofsd/fuse.h:98: +^Iint set_gid;$ ERROR: code indent should never use tabs #119: FILE: tools/virtiofsd/fuse.h:99: +^Iunsigned int gid;$ ERROR: code indent should never use tabs #121: FILE: tools/virtiofsd/fuse.h:101: +^I/**$ ERROR: code indent should never use tabs #122: FILE: tools/virtiofsd/fuse.h:102: +^I * If `set_uid` is non-zero, the st_uid attribute of each file$ ERROR: code indent should never use tabs #123: FILE: tools/virtiofsd/fuse.h:103: +^I * is overwritten with the value of `uid`.$ ERROR: code indent should never use tabs #124: FILE: tools/virtiofsd/fuse.h:104: +^I */$ ERROR: code indent should never use tabs #125: FILE: tools/virtiofsd/fuse.h:105: +^Iint set_uid;$ ERROR: code indent should never use tabs #126: FILE: tools/virtiofsd/fuse.h:106: +^Iunsigned int uid;$ ERROR: code indent should never use tabs #128: FILE: tools/virtiofsd/fuse.h:108: +^I/**$ ERROR: code indent should never use tabs #129: FILE: tools/virtiofsd/fuse.h:109: +^I * If `set_mode` is non-zero, the any permissions bits set in$ ERROR: code indent should never use tabs #130: FILE: tools/virtiofsd/fuse.h:110: +^I * `umask` are unset in the st_mode attribute of each file.$ ERROR: code indent should never use tabs #131: FILE: tools/virtiofsd/fuse.h:111: +^I */$ ERROR: code indent should never use tabs #132: FILE: tools/virtiofsd/fuse.h:112: +^Iint set_mode;$ ERROR: code indent should never use tabs #133: FILE: tools/virtiofsd/fuse.h:113: +^Iunsigned int umask;$ ERROR: code indent should never use tabs #135: FILE: tools/virtiofsd/fuse.h:115: +^I/**$ ERROR: code indent should never use tabs #136: FILE: tools/virtiofsd/fuse.h:116: +^I * The timeout in seconds for which name lookups will be$ ERROR: code indent should never use tabs #137: FILE: tools/virtiofsd/fuse.h:117: +^I * cached.$ ERROR: code indent should never use tabs #138: FILE: tools/virtiofsd/fuse.h:118: +^I */$ ERROR: code indent should never use tabs #139: FILE: tools/virtiofsd/fuse.h:119: +^Idouble entry_timeout;$ ERROR: code indent should never use tabs #141: FILE: tools/virtiofsd/fuse.h:121: +^I/**$ ERROR: code indent should never use tabs #142: FILE: tools/virtiofsd/fuse.h:122: +^I * The timeout in seconds for which a negative lookup will be$ ERROR: code indent should never use tabs #143: FILE: tools/virtiofsd/fuse.h:123: +^I * cached. This means, that if file did not exist (lookup$ ERROR: code indent should never use tabs #144: FILE: tools/virtiofsd/fuse.h:124: +^I * retuned ENOENT), the lookup will only be redone after the$ ERROR: code indent should never use tabs #145: FILE: tools/virtiofsd/fuse.h:125: +^I * timeout, and the file/directory will be assumed to not$ ERROR: code indent should never use tabs #146: FILE: tools/virtiofsd/fuse.h:126: +^I * exist until then. A value of zero means that negative$ ERROR: code indent should never use tabs #147: FILE: tools/virtiofsd/fuse.h:127: +^I * lookups are not cached.$ ERROR: code indent should never use tabs #148: FILE: tools/virtiofsd/fuse.h:128: +^I */$ ERROR: code indent should never use tabs #149: FILE: tools/virtiofsd/fuse.h:129: +^Idouble negative_timeout;$ ERROR: code indent should never use tabs #151: FILE: tools/virtiofsd/fuse.h:131: +^I/**$ ERROR: code indent should never use tabs #152: FILE: tools/virtiofsd/fuse.h:132: +^I * The timeout in seconds for which file/directory attributes$ ERROR: code indent should never use tabs #153: FILE: tools/virtiofsd/fuse.h:133: +^I * (as returned by e.g. the `getattr` handler) are cached.$ ERROR: code indent should never use tabs #154: FILE: tools/virtiofsd/fuse.h:134: +^I */$ ERROR: code indent should never use tabs #155: FILE: tools/virtiofsd/fuse.h:135: +^Idouble attr_timeout;$ ERROR: code indent should never use tabs #157: FILE: tools/virtiofsd/fuse.h:137: +^I/**$ ERROR: code indent should never use tabs #158: FILE: tools/virtiofsd/fuse.h:138: +^I * Allow requests to be interrupted$ ERROR: code indent should never use tabs #159: FILE: tools/virtiofsd/fuse.h:139: +^I */$ ERROR: code indent should never use tabs #160: FILE: tools/virtiofsd/fuse.h:140: +^Iint intr;$ ERROR: code indent should never use tabs #162: FILE: tools/virtiofsd/fuse.h:142: +^I/**$ ERROR: code indent should never use tabs #163: FILE: tools/virtiofsd/fuse.h:143: +^I * Specify which signal number to send to the filesystem when$ ERROR: code indent should never use tabs #164: FILE: tools/virtiofsd/fuse.h:144: +^I * a request is interrupted. The default is hardcoded to$ ERROR: code indent should never use tabs #165: FILE: tools/virtiofsd/fuse.h:145: +^I * USR1.$ ERROR: code indent should never use tabs #166: FILE: tools/virtiofsd/fuse.h:146: +^I */$ ERROR: code indent should never use tabs #167: FILE: tools/virtiofsd/fuse.h:147: +^Iint intr_signal;$ ERROR: code indent should never use tabs #169: FILE: tools/virtiofsd/fuse.h:149: +^I/**$ ERROR: code indent should never use tabs #170: FILE: tools/virtiofsd/fuse.h:150: +^I * Normally, FUSE assigns inodes to paths only for as long as$ ERROR: code indent should never use tabs #171: FILE: tools/virtiofsd/fuse.h:151: +^I * the kernel is aware of them. With this option inodes are$ ERROR: code indent should never use tabs #172: FILE: tools/virtiofsd/fuse.h:152: +^I * instead remembered for at least this many seconds. This$ ERROR: code indent should never use tabs #173: FILE: tools/virtiofsd/fuse.h:153: +^I * will require more memory, but may be necessary when using$ ERROR: code indent should never use tabs #174: FILE: tools/virtiofsd/fuse.h:154: +^I * applications that make use of inode numbers.$ ERROR: code indent should never use tabs #175: FILE: tools/virtiofsd/fuse.h:155: +^I *$ ERROR: code indent should never use tabs #176: FILE: tools/virtiofsd/fuse.h:156: +^I * A number of -1 means that inodes will be remembered for the$ ERROR: code indent should never use tabs #177: FILE: tools/virtiofsd/fuse.h:157: +^I * entire life-time of the file-system process.$ ERROR: code indent should never use tabs #178: FILE: tools/virtiofsd/fuse.h:158: +^I */$ ERROR: code indent should never use tabs #179: FILE: tools/virtiofsd/fuse.h:159: +^Iint remember;$ ERROR: code indent should never use tabs #181: FILE: tools/virtiofsd/fuse.h:161: +^I/**$ ERROR: code indent should never use tabs #182: FILE: tools/virtiofsd/fuse.h:162: +^I * The default behavior is that if an open file is deleted,$ ERROR: code indent should never use tabs #183: FILE: tools/virtiofsd/fuse.h:163: +^I * the file is renamed to a hidden file (.fuse_hiddenXXX), and$ ERROR: code indent should never use tabs #184: FILE: tools/virtiofsd/fuse.h:164: +^I * only removed when the file is finally released. This$ ERROR: code indent should never use tabs #185: FILE: tools/virtiofsd/fuse.h:165: +^I * relieves the filesystem implementation of having to deal$ ERROR: code indent should never use tabs #186: FILE: tools/virtiofsd/fuse.h:166: +^I * with this problem. This option disables the hiding$ ERROR: code indent should never use tabs #187: FILE: tools/virtiofsd/fuse.h:167: +^I * behavior, and files are removed immediately in an unlink$ ERROR: code indent should never use tabs #188: FILE: tools/virtiofsd/fuse.h:168: +^I * operation (or in a rename operation which overwrites an$ ERROR: code indent should never use tabs #189: FILE: tools/virtiofsd/fuse.h:169: +^I * existing file).$ ERROR: code indent should never use tabs #190: FILE: tools/virtiofsd/fuse.h:170: +^I *$ ERROR: code indent should never use tabs #191: FILE: tools/virtiofsd/fuse.h:171: +^I * It is recommended that you not use the hard_remove$ ERROR: code indent should never use tabs #192: FILE: tools/virtiofsd/fuse.h:172: +^I * option. When hard_remove is set, the following libc$ ERROR: code indent should never use tabs #193: FILE: tools/virtiofsd/fuse.h:173: +^I * functions fail on unlinked files (returning errno of$ ERROR: code indent should never use tabs #194: FILE: tools/virtiofsd/fuse.h:174: +^I * ENOENT): read(2), write(2), fsync(2), close(2), f*xattr(2),$ ERROR: code indent should never use tabs #195: FILE: tools/virtiofsd/fuse.h:175: +^I * ftruncate(2), fstat(2), fchmod(2), fchown(2)$ ERROR: code indent should never use tabs #196: FILE: tools/virtiofsd/fuse.h:176: +^I */$ ERROR: code indent should never use tabs #197: FILE: tools/virtiofsd/fuse.h:177: +^Iint hard_remove;$ ERROR: code indent should never use tabs #199: FILE: tools/virtiofsd/fuse.h:179: +^I/**$ ERROR: code indent should never use tabs #200: FILE: tools/virtiofsd/fuse.h:180: +^I * Honor the st_ino field in the functions getattr() and$ ERROR: code indent should never use tabs #201: FILE: tools/virtiofsd/fuse.h:181: +^I * fill_dir(). This value is used to fill in the st_ino field$ ERROR: code indent should never use tabs #202: FILE: tools/virtiofsd/fuse.h:182: +^I * in the stat(2), lstat(2), fstat(2) functions and the d_ino$ ERROR: code indent should never use tabs #203: FILE: tools/virtiofsd/fuse.h:183: +^I * field in the readdir(2) function. The filesystem does not$ ERROR: code indent should never use tabs #204: FILE: tools/virtiofsd/fuse.h:184: +^I * have to guarantee uniqueness, however some applications$ ERROR: code indent should never use tabs #205: FILE: tools/virtiofsd/fuse.h:185: +^I * rely on this value being unique for the whole filesystem.$ ERROR: code indent should never use tabs #206: FILE: tools/virtiofsd/fuse.h:186: +^I *$ ERROR: trailing whitespace #207: FILE: tools/virtiofsd/fuse.h:187: +^I * Note that this does *not* affect the inode that libfuse $ ERROR: code indent should never use tabs #207: FILE: tools/virtiofsd/fuse.h:187: +^I * Note that this does *not* affect the inode that libfuse $ ERROR: code indent should never use tabs #208: FILE: tools/virtiofsd/fuse.h:188: +^I * and the kernel use internally (also called the "nodeid").$ ERROR: code indent should never use tabs #209: FILE: tools/virtiofsd/fuse.h:189: +^I */$ ERROR: code indent should never use tabs #210: FILE: tools/virtiofsd/fuse.h:190: +^Iint use_ino;$ ERROR: code indent should never use tabs #212: FILE: tools/virtiofsd/fuse.h:192: +^I/**$ ERROR: code indent should never use tabs #213: FILE: tools/virtiofsd/fuse.h:193: +^I * If use_ino option is not given, still try to fill in the$ ERROR: code indent should never use tabs #214: FILE: tools/virtiofsd/fuse.h:194: +^I * d_ino field in readdir(2). If the name was previously$ ERROR: code indent should never use tabs #215: FILE: tools/virtiofsd/fuse.h:195: +^I * looked up, and is still in the cache, the inode number$ ERROR: code indent should never use tabs #216: FILE: tools/virtiofsd/fuse.h:196: +^I * found there will be used. Otherwise it will be set to -1.$ ERROR: code indent should never use tabs #217: FILE: tools/virtiofsd/fuse.h:197: +^I * If use_ino option is given, this option is ignored.$ ERROR: code indent should never use tabs #218: FILE: tools/virtiofsd/fuse.h:198: +^I */$ ERROR: code indent should never use tabs #219: FILE: tools/virtiofsd/fuse.h:199: +^Iint readdir_ino;$ ERROR: code indent should never use tabs #221: FILE: tools/virtiofsd/fuse.h:201: +^I/**$ ERROR: code indent should never use tabs #222: FILE: tools/virtiofsd/fuse.h:202: +^I * This option disables the use of page cache (file content cache)$ ERROR: code indent should never use tabs #223: FILE: tools/virtiofsd/fuse.h:203: +^I * in the kernel for this filesystem. This has several affects:$ ERROR: code indent should never use tabs #224: FILE: tools/virtiofsd/fuse.h:204: +^I *$ ERROR: code indent should never use tabs #225: FILE: tools/virtiofsd/fuse.h:205: +^I * 1. Each read(2) or write(2) system call will initiate one$ ERROR: code indent should never use tabs #226: FILE: tools/virtiofsd/fuse.h:206: +^I * or more read or write operations, data will not be$ ERROR: code indent should never use tabs #227: FILE: tools/virtiofsd/fuse.h:207: +^I * cached in the kernel.$ ERROR: code indent should never use tabs #228: FILE: tools/virtiofsd/fuse.h:208: +^I *$ ERROR: code indent should never use tabs #229: FILE: tools/virtiofsd/fuse.h:209: +^I * 2. The return value of the read() and write() system calls$ ERROR: code indent should never use tabs #230: FILE: tools/virtiofsd/fuse.h:210: +^I * will correspond to the return values of the read and$ ERROR: code indent should never use tabs #231: FILE: tools/virtiofsd/fuse.h:211: +^I * write operations. This is useful for example if the$ ERROR: code indent should never use tabs #232: FILE: tools/virtiofsd/fuse.h:212: +^I * file size is not known in advance (before reading it).$ ERROR: code indent should never use tabs #233: FILE: tools/virtiofsd/fuse.h:213: +^I *$ ERROR: code indent should never use tabs #234: FILE: tools/virtiofsd/fuse.h:214: +^I * Internally, enabling this option causes fuse to set the$ ERROR: code indent should never use tabs #235: FILE: tools/virtiofsd/fuse.h:215: +^I * `direct_io` field of `struct fuse_file_info` - overwriting$ ERROR: code indent should never use tabs #236: FILE: tools/virtiofsd/fuse.h:216: +^I * any value that was put there by the file system.$ ERROR: code indent should never use tabs #237: FILE: tools/virtiofsd/fuse.h:217: +^I */$ ERROR: code indent should never use tabs #238: FILE: tools/virtiofsd/fuse.h:218: +^Iint direct_io;$ ERROR: code indent should never use tabs #240: FILE: tools/virtiofsd/fuse.h:220: +^I/**$ ERROR: code indent should never use tabs #241: FILE: tools/virtiofsd/fuse.h:221: +^I * This option disables flushing the cache of the file$ ERROR: code indent should never use tabs #242: FILE: tools/virtiofsd/fuse.h:222: +^I * contents on every open(2). This should only be enabled on$ ERROR: code indent should never use tabs #243: FILE: tools/virtiofsd/fuse.h:223: +^I * filesystems where the file data is never changed$ ERROR: code indent should never use tabs #244: FILE: tools/virtiofsd/fuse.h:224: +^I * externally (not through the mounted FUSE filesystem). Thus$ ERROR: code indent should never use tabs #245: FILE: tools/virtiofsd/fuse.h:225: +^I * it is not suitable for network filesystems and other$ ERROR: code indent should never use tabs #246: FILE: tools/virtiofsd/fuse.h:226: +^I * intermediate filesystems.$ ERROR: code indent should never use tabs #247: FILE: tools/virtiofsd/fuse.h:227: +^I *$ ERROR: code indent should never use tabs #248: FILE: tools/virtiofsd/fuse.h:228: +^I * NOTE: if this option is not specified (and neither$ ERROR: code indent should never use tabs #249: FILE: tools/virtiofsd/fuse.h:229: +^I * direct_io) data is still cached after the open(2), so a$ ERROR: code indent should never use tabs #250: FILE: tools/virtiofsd/fuse.h:230: +^I * read(2) system call will not always initiate a read$ ERROR: code indent should never use tabs #251: FILE: tools/virtiofsd/fuse.h:231: +^I * operation.$ ERROR: code indent should never use tabs #252: FILE: tools/virtiofsd/fuse.h:232: +^I *$ ERROR: code indent should never use tabs #253: FILE: tools/virtiofsd/fuse.h:233: +^I * Internally, enabling this option causes fuse to set the$ ERROR: code indent should never use tabs #254: FILE: tools/virtiofsd/fuse.h:234: +^I * `keep_cache` field of `struct fuse_file_info` - overwriting$ ERROR: code indent should never use tabs #255: FILE: tools/virtiofsd/fuse.h:235: +^I * any value that was put there by the file system.$ ERROR: code indent should never use tabs #256: FILE: tools/virtiofsd/fuse.h:236: +^I */$ ERROR: code indent should never use tabs #257: FILE: tools/virtiofsd/fuse.h:237: +^Iint kernel_cache;$ ERROR: code indent should never use tabs #259: FILE: tools/virtiofsd/fuse.h:239: +^I/**$ ERROR: code indent should never use tabs #260: FILE: tools/virtiofsd/fuse.h:240: +^I * This option is an alternative to `kernel_cache`. Instead of$ ERROR: code indent should never use tabs #261: FILE: tools/virtiofsd/fuse.h:241: +^I * unconditionally keeping cached data, the cached data is$ ERROR: code indent should never use tabs #262: FILE: tools/virtiofsd/fuse.h:242: +^I * invalidated on open(2) if if the modification time or the$ ERROR: code indent should never use tabs #263: FILE: tools/virtiofsd/fuse.h:243: +^I * size of the file has changed since it was last opened.$ ERROR: code indent should never use tabs #264: FILE: tools/virtiofsd/fuse.h:244: +^I */$ ERROR: code indent should never use tabs #265: FILE: tools/virtiofsd/fuse.h:245: +^Iint auto_cache;$ ERROR: code indent should never use tabs #267: FILE: tools/virtiofsd/fuse.h:247: +^I/**$ ERROR: code indent should never use tabs #268: FILE: tools/virtiofsd/fuse.h:248: +^I * The timeout in seconds for which file attributes are cached$ ERROR: code indent should never use tabs #269: FILE: tools/virtiofsd/fuse.h:249: +^I * for the purpose of checking if auto_cache should flush the$ ERROR: code indent should never use tabs #270: FILE: tools/virtiofsd/fuse.h:250: +^I * file data on open.$ ERROR: code indent should never use tabs #271: FILE: tools/virtiofsd/fuse.h:251: +^I */$ ERROR: code indent should never use tabs #272: FILE: tools/virtiofsd/fuse.h:252: +^Iint ac_attr_timeout_set;$ ERROR: code indent should never use tabs #273: FILE: tools/virtiofsd/fuse.h:253: +^Idouble ac_attr_timeout;$ ERROR: code indent should never use tabs #275: FILE: tools/virtiofsd/fuse.h:255: +^I/**$ ERROR: code indent should never use tabs #276: FILE: tools/virtiofsd/fuse.h:256: +^I * If this option is given the file-system handlers for the$ ERROR: code indent should never use tabs #277: FILE: tools/virtiofsd/fuse.h:257: +^I * following operations will not receive path information:$ ERROR: code indent should never use tabs #278: FILE: tools/virtiofsd/fuse.h:258: +^I * read, write, flush, release, fsync, readdir, releasedir,$ ERROR: code indent should never use tabs #279: FILE: tools/virtiofsd/fuse.h:259: +^I * fsyncdir, lock, ioctl and poll.$ ERROR: code indent should never use tabs #280: FILE: tools/virtiofsd/fuse.h:260: +^I *$ ERROR: code indent should never use tabs #281: FILE: tools/virtiofsd/fuse.h:261: +^I * For the truncate, getattr, chmod, chown and utimens$ ERROR: code indent should never use tabs #282: FILE: tools/virtiofsd/fuse.h:262: +^I * operations the path will be provided only if the struct$ ERROR: code indent should never use tabs #283: FILE: tools/virtiofsd/fuse.h:263: +^I * fuse_file_info argument is NULL.$ ERROR: code indent should never use tabs #284: FILE: tools/virtiofsd/fuse.h:264: +^I */$ ERROR: code indent should never use tabs #285: FILE: tools/virtiofsd/fuse.h:265: +^Iint nullpath_ok;$ ERROR: code indent should never use tabs #287: FILE: tools/virtiofsd/fuse.h:267: +^I/**$ ERROR: code indent should never use tabs #288: FILE: tools/virtiofsd/fuse.h:268: +^I * The remaining options are used by libfuse internally and$ ERROR: code indent should never use tabs #289: FILE: tools/virtiofsd/fuse.h:269: +^I * should not be touched.$ ERROR: code indent should never use tabs #290: FILE: tools/virtiofsd/fuse.h:270: +^I */$ ERROR: code indent should never use tabs #291: FILE: tools/virtiofsd/fuse.h:271: +^Iint show_help;$ ERROR: code indent should never use tabs #292: FILE: tools/virtiofsd/fuse.h:272: +^Ichar *modules;$ ERROR: code indent should never use tabs #293: FILE: tools/virtiofsd/fuse.h:273: +^Iint debug;$ ERROR: code indent should never use tabs #320: FILE: tools/virtiofsd/fuse.h:300: +^I/** Get file attributes.$ WARNING: Block comments use a leading /* on a separate line #320: FILE: tools/virtiofsd/fuse.h:300: + /** Get file attributes. ERROR: code indent should never use tabs #321: FILE: tools/virtiofsd/fuse.h:301: +^I *$ ERROR: code indent should never use tabs #322: FILE: tools/virtiofsd/fuse.h:302: +^I * Similar to stat(). The 'st_dev' and 'st_blksize' fields are$ ERROR: code indent should never use tabs #323: FILE: tools/virtiofsd/fuse.h:303: +^I * ignored. The 'st_ino' field is ignored except if the 'use_ino'$ ERROR: code indent should never use tabs #324: FILE: tools/virtiofsd/fuse.h:304: +^I * mount option is given. In that case it is passed to userspace,$ ERROR: code indent should never use tabs #325: FILE: tools/virtiofsd/fuse.h:305: +^I * but libfuse and the kernel will still assign a different$ ERROR: code indent should never use tabs #326: FILE: tools/virtiofsd/fuse.h:306: +^I * inode for internal use (called the "nodeid").$ ERROR: code indent should never use tabs #327: FILE: tools/virtiofsd/fuse.h:307: +^I *$ ERROR: code indent should never use tabs #328: FILE: tools/virtiofsd/fuse.h:308: +^I * `fi` will always be NULL if the file is not currently open, but$ ERROR: code indent should never use tabs #329: FILE: tools/virtiofsd/fuse.h:309: +^I * may also be NULL if the file is open.$ ERROR: code indent should never use tabs #330: FILE: tools/virtiofsd/fuse.h:310: +^I */$ ERROR: code indent should never use tabs #331: FILE: tools/virtiofsd/fuse.h:311: +^Iint (*getattr) (const char *, struct stat *, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #333: FILE: tools/virtiofsd/fuse.h:313: +^I/** Read the target of a symbolic link$ WARNING: Block comments use a leading /* on a separate line #333: FILE: tools/virtiofsd/fuse.h:313: + /** Read the target of a symbolic link ERROR: code indent should never use tabs #334: FILE: tools/virtiofsd/fuse.h:314: +^I *$ ERROR: code indent should never use tabs #335: FILE: tools/virtiofsd/fuse.h:315: +^I * The buffer should be filled with a null terminated string. The$ ERROR: code indent should never use tabs #336: FILE: tools/virtiofsd/fuse.h:316: +^I * buffer size argument includes the space for the terminating$ ERROR: code indent should never use tabs #337: FILE: tools/virtiofsd/fuse.h:317: +^I * null character.^IIf the linkname is too long to fit in the$ ERROR: code indent should never use tabs #338: FILE: tools/virtiofsd/fuse.h:318: +^I * buffer, it should be truncated.^IThe return value should be 0$ ERROR: code indent should never use tabs #339: FILE: tools/virtiofsd/fuse.h:319: +^I * for success.$ ERROR: code indent should never use tabs #340: FILE: tools/virtiofsd/fuse.h:320: +^I */$ ERROR: code indent should never use tabs #341: FILE: tools/virtiofsd/fuse.h:321: +^Iint (*readlink) (const char *, char *, size_t);$ ERROR: code indent should never use tabs #343: FILE: tools/virtiofsd/fuse.h:323: +^I/** Create a file node$ WARNING: Block comments use a leading /* on a separate line #343: FILE: tools/virtiofsd/fuse.h:323: + /** Create a file node ERROR: code indent should never use tabs #344: FILE: tools/virtiofsd/fuse.h:324: +^I *$ ERROR: code indent should never use tabs #345: FILE: tools/virtiofsd/fuse.h:325: +^I * This is called for creation of all non-directory, non-symlink$ ERROR: code indent should never use tabs #346: FILE: tools/virtiofsd/fuse.h:326: +^I * nodes. If the filesystem defines a create() method, then for$ ERROR: code indent should never use tabs #347: FILE: tools/virtiofsd/fuse.h:327: +^I * regular files that will be called instead.$ ERROR: code indent should never use tabs #348: FILE: tools/virtiofsd/fuse.h:328: +^I */$ ERROR: code indent should never use tabs #349: FILE: tools/virtiofsd/fuse.h:329: +^Iint (*mknod) (const char *, mode_t, dev_t);$ ERROR: code indent should never use tabs #351: FILE: tools/virtiofsd/fuse.h:331: +^I/** Create a directory$ WARNING: Block comments use a leading /* on a separate line #351: FILE: tools/virtiofsd/fuse.h:331: + /** Create a directory ERROR: code indent should never use tabs #352: FILE: tools/virtiofsd/fuse.h:332: +^I *$ ERROR: code indent should never use tabs #353: FILE: tools/virtiofsd/fuse.h:333: +^I * Note that the mode argument may not have the type specification$ ERROR: code indent should never use tabs #354: FILE: tools/virtiofsd/fuse.h:334: +^I * bits set, i.e. S_ISDIR(mode) can be false. To obtain the$ ERROR: code indent should never use tabs #355: FILE: tools/virtiofsd/fuse.h:335: +^I * correct directory type bits use mode|S_IFDIR$ ERROR: code indent should never use tabs #356: FILE: tools/virtiofsd/fuse.h:336: +^I * */$ WARNING: Block comments use a trailing */ on a separate line #356: FILE: tools/virtiofsd/fuse.h:336: + * */ ERROR: code indent should never use tabs #357: FILE: tools/virtiofsd/fuse.h:337: +^Iint (*mkdir) (const char *, mode_t);$ ERROR: code indent should never use tabs #359: FILE: tools/virtiofsd/fuse.h:339: +^I/** Remove a file */$ ERROR: code indent should never use tabs #360: FILE: tools/virtiofsd/fuse.h:340: +^Iint (*unlink) (const char *);$ ERROR: code indent should never use tabs #362: FILE: tools/virtiofsd/fuse.h:342: +^I/** Remove a directory */$ ERROR: code indent should never use tabs #363: FILE: tools/virtiofsd/fuse.h:343: +^Iint (*rmdir) (const char *);$ ERROR: code indent should never use tabs #365: FILE: tools/virtiofsd/fuse.h:345: +^I/** Create a symbolic link */$ ERROR: code indent should never use tabs #366: FILE: tools/virtiofsd/fuse.h:346: +^Iint (*symlink) (const char *, const char *);$ ERROR: code indent should never use tabs #368: FILE: tools/virtiofsd/fuse.h:348: +^I/** Rename a file$ WARNING: Block comments use a leading /* on a separate line #368: FILE: tools/virtiofsd/fuse.h:348: + /** Rename a file ERROR: code indent should never use tabs #369: FILE: tools/virtiofsd/fuse.h:349: +^I *$ ERROR: code indent should never use tabs #370: FILE: tools/virtiofsd/fuse.h:350: +^I * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If$ ERROR: code indent should never use tabs #371: FILE: tools/virtiofsd/fuse.h:351: +^I * RENAME_NOREPLACE is specified, the filesystem must not$ ERROR: code indent should never use tabs #372: FILE: tools/virtiofsd/fuse.h:352: +^I * overwrite *newname* if it exists and return an error$ ERROR: code indent should never use tabs #373: FILE: tools/virtiofsd/fuse.h:353: +^I * instead. If `RENAME_EXCHANGE` is specified, the filesystem$ ERROR: code indent should never use tabs #374: FILE: tools/virtiofsd/fuse.h:354: +^I * must atomically exchange the two files, i.e. both must$ ERROR: code indent should never use tabs #375: FILE: tools/virtiofsd/fuse.h:355: +^I * exist and neither may be deleted.$ ERROR: code indent should never use tabs #376: FILE: tools/virtiofsd/fuse.h:356: +^I */$ ERROR: code indent should never use tabs #377: FILE: tools/virtiofsd/fuse.h:357: +^Iint (*rename) (const char *, const char *, unsigned int flags);$ ERROR: code indent should never use tabs #379: FILE: tools/virtiofsd/fuse.h:359: +^I/** Create a hard link to a file */$ ERROR: code indent should never use tabs #380: FILE: tools/virtiofsd/fuse.h:360: +^Iint (*link) (const char *, const char *);$ ERROR: code indent should never use tabs #382: FILE: tools/virtiofsd/fuse.h:362: +^I/** Change the permission bits of a file$ WARNING: Block comments use a leading /* on a separate line #382: FILE: tools/virtiofsd/fuse.h:362: + /** Change the permission bits of a file ERROR: code indent should never use tabs #383: FILE: tools/virtiofsd/fuse.h:363: +^I *$ ERROR: code indent should never use tabs #384: FILE: tools/virtiofsd/fuse.h:364: +^I * `fi` will always be NULL if the file is not currenlty open, but$ ERROR: code indent should never use tabs #385: FILE: tools/virtiofsd/fuse.h:365: +^I * may also be NULL if the file is open.$ ERROR: code indent should never use tabs #386: FILE: tools/virtiofsd/fuse.h:366: +^I */$ ERROR: code indent should never use tabs #387: FILE: tools/virtiofsd/fuse.h:367: +^Iint (*chmod) (const char *, mode_t, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #389: FILE: tools/virtiofsd/fuse.h:369: +^I/** Change the owner and group of a file$ WARNING: Block comments use a leading /* on a separate line #389: FILE: tools/virtiofsd/fuse.h:369: + /** Change the owner and group of a file ERROR: code indent should never use tabs #390: FILE: tools/virtiofsd/fuse.h:370: +^I *$ ERROR: code indent should never use tabs #391: FILE: tools/virtiofsd/fuse.h:371: +^I * `fi` will always be NULL if the file is not currenlty open, but$ ERROR: code indent should never use tabs #392: FILE: tools/virtiofsd/fuse.h:372: +^I * may also be NULL if the file is open.$ ERROR: code indent should never use tabs #393: FILE: tools/virtiofsd/fuse.h:373: +^I *$ ERROR: code indent should never use tabs #394: FILE: tools/virtiofsd/fuse.h:374: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #395: FILE: tools/virtiofsd/fuse.h:375: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #396: FILE: tools/virtiofsd/fuse.h:376: +^I */$ ERROR: code indent should never use tabs #397: FILE: tools/virtiofsd/fuse.h:377: +^Iint (*chown) (const char *, uid_t, gid_t, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #399: FILE: tools/virtiofsd/fuse.h:379: +^I/** Change the size of a file$ WARNING: Block comments use a leading /* on a separate line #399: FILE: tools/virtiofsd/fuse.h:379: + /** Change the size of a file ERROR: code indent should never use tabs #400: FILE: tools/virtiofsd/fuse.h:380: +^I *$ ERROR: code indent should never use tabs #401: FILE: tools/virtiofsd/fuse.h:381: +^I * `fi` will always be NULL if the file is not currenlty open, but$ ERROR: code indent should never use tabs #402: FILE: tools/virtiofsd/fuse.h:382: +^I * may also be NULL if the file is open.$ ERROR: code indent should never use tabs #403: FILE: tools/virtiofsd/fuse.h:383: +^I *$ ERROR: code indent should never use tabs #404: FILE: tools/virtiofsd/fuse.h:384: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #405: FILE: tools/virtiofsd/fuse.h:385: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #406: FILE: tools/virtiofsd/fuse.h:386: +^I */$ ERROR: code indent should never use tabs #407: FILE: tools/virtiofsd/fuse.h:387: +^Iint (*truncate) (const char *, off_t, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #409: FILE: tools/virtiofsd/fuse.h:389: +^I/** Open a file$ WARNING: Block comments use a leading /* on a separate line #409: FILE: tools/virtiofsd/fuse.h:389: + /** Open a file ERROR: code indent should never use tabs #410: FILE: tools/virtiofsd/fuse.h:390: +^I *$ ERROR: code indent should never use tabs #411: FILE: tools/virtiofsd/fuse.h:391: +^I * Open flags are available in fi->flags. The following rules$ ERROR: code indent should never use tabs #412: FILE: tools/virtiofsd/fuse.h:392: +^I * apply.$ ERROR: code indent should never use tabs #413: FILE: tools/virtiofsd/fuse.h:393: +^I *$ ERROR: code indent should never use tabs #414: FILE: tools/virtiofsd/fuse.h:394: +^I * - Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be$ ERROR: code indent should never use tabs #415: FILE: tools/virtiofsd/fuse.h:395: +^I * filtered out / handled by the kernel.$ ERROR: code indent should never use tabs #416: FILE: tools/virtiofsd/fuse.h:396: +^I *$ ERROR: code indent should never use tabs #417: FILE: tools/virtiofsd/fuse.h:397: +^I * - Access modes (O_RDONLY, O_WRONLY, O_RDWR, O_EXEC, O_SEARCH)$ ERROR: code indent should never use tabs #418: FILE: tools/virtiofsd/fuse.h:398: +^I * should be used by the filesystem to check if the operation is$ ERROR: code indent should never use tabs #419: FILE: tools/virtiofsd/fuse.h:399: +^I * permitted. If the ``-o default_permissions`` mount option is$ ERROR: code indent should never use tabs #420: FILE: tools/virtiofsd/fuse.h:400: +^I * given, this check is already done by the kernel before calling$ ERROR: code indent should never use tabs #421: FILE: tools/virtiofsd/fuse.h:401: +^I * open() and may thus be omitted by the filesystem.$ ERROR: code indent should never use tabs #422: FILE: tools/virtiofsd/fuse.h:402: +^I *$ ERROR: code indent should never use tabs #423: FILE: tools/virtiofsd/fuse.h:403: +^I * - When writeback caching is enabled, the kernel may send$ ERROR: code indent should never use tabs #424: FILE: tools/virtiofsd/fuse.h:404: +^I * read requests even for files opened with O_WRONLY. The$ ERROR: code indent should never use tabs #425: FILE: tools/virtiofsd/fuse.h:405: +^I * filesystem should be prepared to handle this.$ ERROR: code indent should never use tabs #426: FILE: tools/virtiofsd/fuse.h:406: +^I *$ ERROR: code indent should never use tabs #427: FILE: tools/virtiofsd/fuse.h:407: +^I * - When writeback caching is disabled, the filesystem is$ ERROR: code indent should never use tabs #428: FILE: tools/virtiofsd/fuse.h:408: +^I * expected to properly handle the O_APPEND flag and ensure$ ERROR: code indent should never use tabs #429: FILE: tools/virtiofsd/fuse.h:409: +^I * that each write is appending to the end of the file.$ ERROR: trailing whitespace #430: FILE: tools/virtiofsd/fuse.h:410: +^I * $ ERROR: code indent should never use tabs #430: FILE: tools/virtiofsd/fuse.h:410: +^I * $ ERROR: code indent should never use tabs #432: FILE: tools/virtiofsd/fuse.h:412: +^I * handle O_APPEND. However, unless all changes to the file$ ERROR: code indent should never use tabs #433: FILE: tools/virtiofsd/fuse.h:413: +^I * come through the kernel this will not work reliably. The$ ERROR: code indent should never use tabs #434: FILE: tools/virtiofsd/fuse.h:414: +^I * filesystem should thus either ignore the O_APPEND flag$ ERROR: code indent should never use tabs #435: FILE: tools/virtiofsd/fuse.h:415: +^I * (and let the kernel handle it), or return an error$ ERROR: code indent should never use tabs #436: FILE: tools/virtiofsd/fuse.h:416: +^I * (indicating that reliably O_APPEND is not available).$ ERROR: code indent should never use tabs #437: FILE: tools/virtiofsd/fuse.h:417: +^I *$ ERROR: code indent should never use tabs #438: FILE: tools/virtiofsd/fuse.h:418: +^I * Filesystem may store an arbitrary file handle (pointer,$ ERROR: code indent should never use tabs #439: FILE: tools/virtiofsd/fuse.h:419: +^I * index, etc) in fi->fh, and use this in other all other file$ ERROR: code indent should never use tabs #440: FILE: tools/virtiofsd/fuse.h:420: +^I * operations (read, write, flush, release, fsync).$ ERROR: code indent should never use tabs #441: FILE: tools/virtiofsd/fuse.h:421: +^I *$ ERROR: code indent should never use tabs #442: FILE: tools/virtiofsd/fuse.h:422: +^I * Filesystem may also implement stateless file I/O and not store$ ERROR: code indent should never use tabs #443: FILE: tools/virtiofsd/fuse.h:423: +^I * anything in fi->fh.$ ERROR: code indent should never use tabs #444: FILE: tools/virtiofsd/fuse.h:424: +^I *$ ERROR: code indent should never use tabs #445: FILE: tools/virtiofsd/fuse.h:425: +^I * There are also some flags (direct_io, keep_cache) which the$ ERROR: code indent should never use tabs #446: FILE: tools/virtiofsd/fuse.h:426: +^I * filesystem may set in fi, to change the way the file is opened.$ ERROR: code indent should never use tabs #447: FILE: tools/virtiofsd/fuse.h:427: +^I * See fuse_file_info structure in <fuse_common.h> for more details.$ ERROR: code indent should never use tabs #448: FILE: tools/virtiofsd/fuse.h:428: +^I *$ ERROR: code indent should never use tabs #449: FILE: tools/virtiofsd/fuse.h:429: +^I * If this request is answered with an error code of ENOSYS$ ERROR: code indent should never use tabs #450: FILE: tools/virtiofsd/fuse.h:430: +^I * and FUSE_CAP_NO_OPEN_SUPPORT is set in$ ERROR: code indent should never use tabs #451: FILE: tools/virtiofsd/fuse.h:431: +^I * `fuse_conn_info.capable`, this is treated as success and$ ERROR: code indent should never use tabs #452: FILE: tools/virtiofsd/fuse.h:432: +^I * future calls to open will also succeed without being send$ ERROR: code indent should never use tabs #453: FILE: tools/virtiofsd/fuse.h:433: +^I * to the filesystem process.$ ERROR: code indent should never use tabs #454: FILE: tools/virtiofsd/fuse.h:434: +^I *$ ERROR: code indent should never use tabs #455: FILE: tools/virtiofsd/fuse.h:435: +^I */$ ERROR: code indent should never use tabs #456: FILE: tools/virtiofsd/fuse.h:436: +^Iint (*open) (const char *, struct fuse_file_info *);$ ERROR: code indent should never use tabs #458: FILE: tools/virtiofsd/fuse.h:438: +^I/** Read data from an open file$ WARNING: Block comments use a leading /* on a separate line #458: FILE: tools/virtiofsd/fuse.h:438: + /** Read data from an open file ERROR: code indent should never use tabs #459: FILE: tools/virtiofsd/fuse.h:439: +^I *$ ERROR: code indent should never use tabs #460: FILE: tools/virtiofsd/fuse.h:440: +^I * Read should return exactly the number of bytes requested except$ ERROR: code indent should never use tabs #461: FILE: tools/virtiofsd/fuse.h:441: +^I * on EOF or error, otherwise the rest of the data will be$ ERROR: code indent should never use tabs #462: FILE: tools/virtiofsd/fuse.h:442: +^I * substituted with zeroes.^I An exception to this is when the$ ERROR: code indent should never use tabs #463: FILE: tools/virtiofsd/fuse.h:443: +^I * 'direct_io' mount option is specified, in which case the return$ ERROR: code indent should never use tabs #464: FILE: tools/virtiofsd/fuse.h:444: +^I * value of the read system call will reflect the return value of$ ERROR: code indent should never use tabs #465: FILE: tools/virtiofsd/fuse.h:445: +^I * this operation.$ ERROR: code indent should never use tabs #466: FILE: tools/virtiofsd/fuse.h:446: +^I */$ ERROR: code indent should never use tabs #467: FILE: tools/virtiofsd/fuse.h:447: +^Iint (*read) (const char *, char *, size_t, off_t,$ ERROR: code indent should never use tabs #468: FILE: tools/virtiofsd/fuse.h:448: +^I^I struct fuse_file_info *);$ ERROR: code indent should never use tabs #470: FILE: tools/virtiofsd/fuse.h:450: +^I/** Write data to an open file$ WARNING: Block comments use a leading /* on a separate line #470: FILE: tools/virtiofsd/fuse.h:450: + /** Write data to an open file ERROR: code indent should never use tabs #471: FILE: tools/virtiofsd/fuse.h:451: +^I *$ ERROR: code indent should never use tabs #472: FILE: tools/virtiofsd/fuse.h:452: +^I * Write should return exactly the number of bytes requested$ ERROR: code indent should never use tabs #473: FILE: tools/virtiofsd/fuse.h:453: +^I * except on error.^I An exception to this is when the 'direct_io'$ ERROR: code indent should never use tabs #474: FILE: tools/virtiofsd/fuse.h:454: +^I * mount option is specified (see read operation).$ ERROR: code indent should never use tabs #475: FILE: tools/virtiofsd/fuse.h:455: +^I *$ ERROR: code indent should never use tabs #476: FILE: tools/virtiofsd/fuse.h:456: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #477: FILE: tools/virtiofsd/fuse.h:457: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #478: FILE: tools/virtiofsd/fuse.h:458: +^I */$ ERROR: code indent should never use tabs #479: FILE: tools/virtiofsd/fuse.h:459: +^Iint (*write) (const char *, const char *, size_t, off_t,$ ERROR: code indent should never use tabs #480: FILE: tools/virtiofsd/fuse.h:460: +^I^I struct fuse_file_info *);$ ERROR: code indent should never use tabs #482: FILE: tools/virtiofsd/fuse.h:462: +^I/** Get file system statistics$ WARNING: Block comments use a leading /* on a separate line #482: FILE: tools/virtiofsd/fuse.h:462: + /** Get file system statistics ERROR: code indent should never use tabs #483: FILE: tools/virtiofsd/fuse.h:463: +^I *$ ERROR: code indent should never use tabs #484: FILE: tools/virtiofsd/fuse.h:464: +^I * The 'f_favail', 'f_fsid' and 'f_flag' fields are ignored$ ERROR: code indent should never use tabs #485: FILE: tools/virtiofsd/fuse.h:465: +^I */$ ERROR: code indent should never use tabs #486: FILE: tools/virtiofsd/fuse.h:466: +^Iint (*statfs) (const char *, struct statvfs *);$ ERROR: code indent should never use tabs #488: FILE: tools/virtiofsd/fuse.h:468: +^I/** Possibly flush cached data$ WARNING: Block comments use a leading /* on a separate line #488: FILE: tools/virtiofsd/fuse.h:468: + /** Possibly flush cached data ERROR: code indent should never use tabs #489: FILE: tools/virtiofsd/fuse.h:469: +^I *$ ERROR: code indent should never use tabs #490: FILE: tools/virtiofsd/fuse.h:470: +^I * BIG NOTE: This is not equivalent to fsync(). It's not a$ ERROR: code indent should never use tabs #491: FILE: tools/virtiofsd/fuse.h:471: +^I * request to sync dirty data.$ ERROR: code indent should never use tabs #492: FILE: tools/virtiofsd/fuse.h:472: +^I *$ ERROR: code indent should never use tabs #493: FILE: tools/virtiofsd/fuse.h:473: +^I * Flush is called on each close() of a file descriptor, as opposed to$ ERROR: code indent should never use tabs #494: FILE: tools/virtiofsd/fuse.h:474: +^I * release which is called on the close of the last file descriptor for$ ERROR: trailing whitespace #495: FILE: tools/virtiofsd/fuse.h:475: +^I * a file. Under Linux, errors returned by flush() will be passed to $ ERROR: code indent should never use tabs #495: FILE: tools/virtiofsd/fuse.h:475: +^I * a file. Under Linux, errors returned by flush() will be passed to $ ERROR: code indent should never use tabs #496: FILE: tools/virtiofsd/fuse.h:476: +^I * userspace as errors from close(), so flush() is a good place to write$ ERROR: trailing whitespace #497: FILE: tools/virtiofsd/fuse.h:477: +^I * back any cached dirty data. However, many applications ignore errors $ ERROR: code indent should never use tabs #497: FILE: tools/virtiofsd/fuse.h:477: +^I * back any cached dirty data. However, many applications ignore errors $ WARNING: line over 80 characters #498: FILE: tools/virtiofsd/fuse.h:478: + * on close(), and on non-Linux systems, close() may succeed even if flush() ERROR: code indent should never use tabs #498: FILE: tools/virtiofsd/fuse.h:478: +^I * on close(), and on non-Linux systems, close() may succeed even if flush()$ ERROR: code indent should never use tabs #499: FILE: tools/virtiofsd/fuse.h:479: +^I * returns an error. For these reasons, filesystems should not assume$ ERROR: code indent should never use tabs #500: FILE: tools/virtiofsd/fuse.h:480: +^I * that errors returned by flush will ever be noticed or even$ ERROR: code indent should never use tabs #501: FILE: tools/virtiofsd/fuse.h:481: +^I * delivered.$ ERROR: code indent should never use tabs #502: FILE: tools/virtiofsd/fuse.h:482: +^I *$ ERROR: code indent should never use tabs #503: FILE: tools/virtiofsd/fuse.h:483: +^I * NOTE: The flush() method may be called more than once for each$ ERROR: code indent should never use tabs #504: FILE: tools/virtiofsd/fuse.h:484: +^I * open(). This happens if more than one file descriptor refers to an$ ERROR: code indent should never use tabs #505: FILE: tools/virtiofsd/fuse.h:485: +^I * open file handle, e.g. due to dup(), dup2() or fork() calls. It is$ ERROR: code indent should never use tabs #506: FILE: tools/virtiofsd/fuse.h:486: +^I * not possible to determine if a flush is final, so each flush should$ ERROR: code indent should never use tabs #507: FILE: tools/virtiofsd/fuse.h:487: +^I * be treated equally. Multiple write-flush sequences are relatively$ ERROR: code indent should never use tabs #508: FILE: tools/virtiofsd/fuse.h:488: +^I * rare, so this shouldn't be a problem.$ ERROR: code indent should never use tabs #509: FILE: tools/virtiofsd/fuse.h:489: +^I *$ ERROR: code indent should never use tabs #510: FILE: tools/virtiofsd/fuse.h:490: +^I * Filesystems shouldn't assume that flush will be called at any$ ERROR: code indent should never use tabs #511: FILE: tools/virtiofsd/fuse.h:491: +^I * particular point. It may be called more times than expected, or not$ ERROR: code indent should never use tabs #512: FILE: tools/virtiofsd/fuse.h:492: +^I * at all.$ ERROR: code indent should never use tabs #513: FILE: tools/virtiofsd/fuse.h:493: +^I *$ WARNING: line over 80 characters #514: FILE: tools/virtiofsd/fuse.h:494: + * [close]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html ERROR: code indent should never use tabs #514: FILE: tools/virtiofsd/fuse.h:494: +^I * [close]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html$ ERROR: code indent should never use tabs #515: FILE: tools/virtiofsd/fuse.h:495: +^I */$ ERROR: code indent should never use tabs #516: FILE: tools/virtiofsd/fuse.h:496: +^Iint (*flush) (const char *, struct fuse_file_info *);$ ERROR: code indent should never use tabs #518: FILE: tools/virtiofsd/fuse.h:498: +^I/** Release an open file$ WARNING: Block comments use a leading /* on a separate line #518: FILE: tools/virtiofsd/fuse.h:498: + /** Release an open file ERROR: code indent should never use tabs #519: FILE: tools/virtiofsd/fuse.h:499: +^I *$ ERROR: code indent should never use tabs #520: FILE: tools/virtiofsd/fuse.h:500: +^I * Release is called when there are no more references to an open$ ERROR: code indent should never use tabs #521: FILE: tools/virtiofsd/fuse.h:501: +^I * file: all file descriptors are closed and all memory mappings$ ERROR: code indent should never use tabs #522: FILE: tools/virtiofsd/fuse.h:502: +^I * are unmapped.$ ERROR: code indent should never use tabs #523: FILE: tools/virtiofsd/fuse.h:503: +^I *$ ERROR: code indent should never use tabs #524: FILE: tools/virtiofsd/fuse.h:504: +^I * For every open() call there will be exactly one release() call$ ERROR: code indent should never use tabs #525: FILE: tools/virtiofsd/fuse.h:505: +^I * with the same flags and file handle. It is possible to$ ERROR: code indent should never use tabs #526: FILE: tools/virtiofsd/fuse.h:506: +^I * have a file opened more than once, in which case only the last$ ERROR: code indent should never use tabs #527: FILE: tools/virtiofsd/fuse.h:507: +^I * release will mean, that no more reads/writes will happen on the$ ERROR: code indent should never use tabs #528: FILE: tools/virtiofsd/fuse.h:508: +^I * file. The return value of release is ignored.$ ERROR: code indent should never use tabs #529: FILE: tools/virtiofsd/fuse.h:509: +^I */$ ERROR: code indent should never use tabs #530: FILE: tools/virtiofsd/fuse.h:510: +^Iint (*release) (const char *, struct fuse_file_info *);$ ERROR: code indent should never use tabs #532: FILE: tools/virtiofsd/fuse.h:512: +^I/** Synchronize file contents$ WARNING: Block comments use a leading /* on a separate line #532: FILE: tools/virtiofsd/fuse.h:512: + /** Synchronize file contents ERROR: code indent should never use tabs #533: FILE: tools/virtiofsd/fuse.h:513: +^I *$ ERROR: code indent should never use tabs #534: FILE: tools/virtiofsd/fuse.h:514: +^I * If the datasync parameter is non-zero, then only the user data$ ERROR: code indent should never use tabs #535: FILE: tools/virtiofsd/fuse.h:515: +^I * should be flushed, not the meta data.$ ERROR: code indent should never use tabs #536: FILE: tools/virtiofsd/fuse.h:516: +^I */$ ERROR: code indent should never use tabs #537: FILE: tools/virtiofsd/fuse.h:517: +^Iint (*fsync) (const char *, int, struct fuse_file_info *);$ ERROR: code indent should never use tabs #539: FILE: tools/virtiofsd/fuse.h:519: +^I/** Set extended attributes */$ ERROR: code indent should never use tabs #540: FILE: tools/virtiofsd/fuse.h:520: +^Iint (*setxattr) (const char *, const char *, const char *, size_t, int);$ ERROR: code indent should never use tabs #542: FILE: tools/virtiofsd/fuse.h:522: +^I/** Get extended attributes */$ ERROR: code indent should never use tabs #543: FILE: tools/virtiofsd/fuse.h:523: +^Iint (*getxattr) (const char *, const char *, char *, size_t);$ ERROR: code indent should never use tabs #545: FILE: tools/virtiofsd/fuse.h:525: +^I/** List extended attributes */$ ERROR: code indent should never use tabs #546: FILE: tools/virtiofsd/fuse.h:526: +^Iint (*listxattr) (const char *, char *, size_t);$ ERROR: code indent should never use tabs #548: FILE: tools/virtiofsd/fuse.h:528: +^I/** Remove extended attributes */$ ERROR: code indent should never use tabs #549: FILE: tools/virtiofsd/fuse.h:529: +^Iint (*removexattr) (const char *, const char *);$ ERROR: code indent should never use tabs #551: FILE: tools/virtiofsd/fuse.h:531: +^I/** Open directory$ WARNING: Block comments use a leading /* on a separate line #551: FILE: tools/virtiofsd/fuse.h:531: + /** Open directory ERROR: code indent should never use tabs #552: FILE: tools/virtiofsd/fuse.h:532: +^I *$ ERROR: code indent should never use tabs #553: FILE: tools/virtiofsd/fuse.h:533: +^I * Unless the 'default_permissions' mount option is given,$ ERROR: code indent should never use tabs #554: FILE: tools/virtiofsd/fuse.h:534: +^I * this method should check if opendir is permitted for this$ ERROR: code indent should never use tabs #555: FILE: tools/virtiofsd/fuse.h:535: +^I * directory. Optionally opendir may also return an arbitrary$ ERROR: code indent should never use tabs #556: FILE: tools/virtiofsd/fuse.h:536: +^I * filehandle in the fuse_file_info structure, which will be$ ERROR: code indent should never use tabs #557: FILE: tools/virtiofsd/fuse.h:537: +^I * passed to readdir, releasedir and fsyncdir.$ ERROR: code indent should never use tabs #558: FILE: tools/virtiofsd/fuse.h:538: +^I */$ ERROR: code indent should never use tabs #559: FILE: tools/virtiofsd/fuse.h:539: +^Iint (*opendir) (const char *, struct fuse_file_info *);$ ERROR: code indent should never use tabs #561: FILE: tools/virtiofsd/fuse.h:541: +^I/** Read directory$ WARNING: Block comments use a leading /* on a separate line #561: FILE: tools/virtiofsd/fuse.h:541: + /** Read directory ERROR: code indent should never use tabs #562: FILE: tools/virtiofsd/fuse.h:542: +^I *$ ERROR: code indent should never use tabs #563: FILE: tools/virtiofsd/fuse.h:543: +^I * The filesystem may choose between two modes of operation:$ ERROR: code indent should never use tabs #564: FILE: tools/virtiofsd/fuse.h:544: +^I *$ ERROR: code indent should never use tabs #565: FILE: tools/virtiofsd/fuse.h:545: +^I * 1) The readdir implementation ignores the offset parameter, and$ ERROR: code indent should never use tabs #566: FILE: tools/virtiofsd/fuse.h:546: +^I * passes zero to the filler function's offset. The filler$ ERROR: code indent should never use tabs #567: FILE: tools/virtiofsd/fuse.h:547: +^I * function will not return '1' (unless an error happens), so the$ ERROR: code indent should never use tabs #568: FILE: tools/virtiofsd/fuse.h:548: +^I * whole directory is read in a single readdir operation.$ ERROR: code indent should never use tabs #569: FILE: tools/virtiofsd/fuse.h:549: +^I *$ ERROR: code indent should never use tabs #570: FILE: tools/virtiofsd/fuse.h:550: +^I * 2) The readdir implementation keeps track of the offsets of the$ ERROR: code indent should never use tabs #571: FILE: tools/virtiofsd/fuse.h:551: +^I * directory entries. It uses the offset parameter and always$ ERROR: code indent should never use tabs #572: FILE: tools/virtiofsd/fuse.h:552: +^I * passes non-zero offset to the filler function. When the buffer$ ERROR: code indent should never use tabs #573: FILE: tools/virtiofsd/fuse.h:553: +^I * is full (or an error happens) the filler function will return$ ERROR: code indent should never use tabs #574: FILE: tools/virtiofsd/fuse.h:554: +^I * '1'.$ ERROR: code indent should never use tabs #575: FILE: tools/virtiofsd/fuse.h:555: +^I */$ ERROR: code indent should never use tabs #576: FILE: tools/virtiofsd/fuse.h:556: +^Iint (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,$ ERROR: code indent should never use tabs #577: FILE: tools/virtiofsd/fuse.h:557: +^I^I^Istruct fuse_file_info *, enum fuse_readdir_flags);$ ERROR: code indent should never use tabs #579: FILE: tools/virtiofsd/fuse.h:559: +^I/** Release directory$ WARNING: Block comments use a leading /* on a separate line #579: FILE: tools/virtiofsd/fuse.h:559: + /** Release directory ERROR: code indent should never use tabs #580: FILE: tools/virtiofsd/fuse.h:560: +^I */$ ERROR: code indent should never use tabs #581: FILE: tools/virtiofsd/fuse.h:561: +^Iint (*releasedir) (const char *, struct fuse_file_info *);$ ERROR: code indent should never use tabs #583: FILE: tools/virtiofsd/fuse.h:563: +^I/** Synchronize directory contents$ WARNING: Block comments use a leading /* on a separate line #583: FILE: tools/virtiofsd/fuse.h:563: + /** Synchronize directory contents ERROR: code indent should never use tabs #584: FILE: tools/virtiofsd/fuse.h:564: +^I *$ ERROR: code indent should never use tabs #585: FILE: tools/virtiofsd/fuse.h:565: +^I * If the datasync parameter is non-zero, then only the user data$ ERROR: code indent should never use tabs #586: FILE: tools/virtiofsd/fuse.h:566: +^I * should be flushed, not the meta data$ ERROR: code indent should never use tabs #587: FILE: tools/virtiofsd/fuse.h:567: +^I */$ ERROR: code indent should never use tabs #588: FILE: tools/virtiofsd/fuse.h:568: +^Iint (*fsyncdir) (const char *, int, struct fuse_file_info *);$ ERROR: code indent should never use tabs #590: FILE: tools/virtiofsd/fuse.h:570: +^I/**$ ERROR: code indent should never use tabs #591: FILE: tools/virtiofsd/fuse.h:571: +^I * Initialize filesystem$ ERROR: code indent should never use tabs #592: FILE: tools/virtiofsd/fuse.h:572: +^I *$ ERROR: code indent should never use tabs #593: FILE: tools/virtiofsd/fuse.h:573: +^I * The return value will passed in the `private_data` field of$ ERROR: code indent should never use tabs #594: FILE: tools/virtiofsd/fuse.h:574: +^I * `struct fuse_context` to all file operations, and as a$ ERROR: code indent should never use tabs #595: FILE: tools/virtiofsd/fuse.h:575: +^I * parameter to the destroy() method. It overrides the initial$ ERROR: code indent should never use tabs #596: FILE: tools/virtiofsd/fuse.h:576: +^I * value provided to fuse_main() / fuse_new().$ ERROR: code indent should never use tabs #597: FILE: tools/virtiofsd/fuse.h:577: +^I */$ ERROR: code indent should never use tabs #598: FILE: tools/virtiofsd/fuse.h:578: +^Ivoid *(*init) (struct fuse_conn_info *conn,$ ERROR: code indent should never use tabs #599: FILE: tools/virtiofsd/fuse.h:579: +^I^I struct fuse_config *cfg);$ ERROR: code indent should never use tabs #601: FILE: tools/virtiofsd/fuse.h:581: +^I/**$ ERROR: code indent should never use tabs #602: FILE: tools/virtiofsd/fuse.h:582: +^I * Clean up filesystem$ ERROR: code indent should never use tabs #603: FILE: tools/virtiofsd/fuse.h:583: +^I *$ ERROR: code indent should never use tabs #604: FILE: tools/virtiofsd/fuse.h:584: +^I * Called on filesystem exit.$ ERROR: code indent should never use tabs #605: FILE: tools/virtiofsd/fuse.h:585: +^I */$ ERROR: code indent should never use tabs #606: FILE: tools/virtiofsd/fuse.h:586: +^Ivoid (*destroy) (void *private_data);$ ERROR: code indent should never use tabs #608: FILE: tools/virtiofsd/fuse.h:588: +^I/**$ ERROR: code indent should never use tabs #609: FILE: tools/virtiofsd/fuse.h:589: +^I * Check file access permissions$ ERROR: code indent should never use tabs #610: FILE: tools/virtiofsd/fuse.h:590: +^I *$ ERROR: code indent should never use tabs #611: FILE: tools/virtiofsd/fuse.h:591: +^I * This will be called for the access() system call. If the$ ERROR: code indent should never use tabs #612: FILE: tools/virtiofsd/fuse.h:592: +^I * 'default_permissions' mount option is given, this method is not$ ERROR: code indent should never use tabs #613: FILE: tools/virtiofsd/fuse.h:593: +^I * called.$ ERROR: code indent should never use tabs #614: FILE: tools/virtiofsd/fuse.h:594: +^I *$ ERROR: code indent should never use tabs #615: FILE: tools/virtiofsd/fuse.h:595: +^I * This method is not called under Linux kernel versions 2.4.x$ ERROR: code indent should never use tabs #616: FILE: tools/virtiofsd/fuse.h:596: +^I */$ ERROR: code indent should never use tabs #617: FILE: tools/virtiofsd/fuse.h:597: +^Iint (*access) (const char *, int);$ ERROR: code indent should never use tabs #619: FILE: tools/virtiofsd/fuse.h:599: +^I/**$ ERROR: code indent should never use tabs #620: FILE: tools/virtiofsd/fuse.h:600: +^I * Create and open a file$ ERROR: code indent should never use tabs #621: FILE: tools/virtiofsd/fuse.h:601: +^I *$ ERROR: code indent should never use tabs #622: FILE: tools/virtiofsd/fuse.h:602: +^I * If the file does not exist, first create it with the specified$ ERROR: code indent should never use tabs #623: FILE: tools/virtiofsd/fuse.h:603: +^I * mode, and then open it.$ ERROR: code indent should never use tabs #624: FILE: tools/virtiofsd/fuse.h:604: +^I *$ ERROR: code indent should never use tabs #625: FILE: tools/virtiofsd/fuse.h:605: +^I * If this method is not implemented or under Linux kernel$ ERROR: code indent should never use tabs #626: FILE: tools/virtiofsd/fuse.h:606: +^I * versions earlier than 2.6.15, the mknod() and open() methods$ ERROR: code indent should never use tabs #627: FILE: tools/virtiofsd/fuse.h:607: +^I * will be called instead.$ ERROR: code indent should never use tabs #628: FILE: tools/virtiofsd/fuse.h:608: +^I */$ ERROR: code indent should never use tabs #629: FILE: tools/virtiofsd/fuse.h:609: +^Iint (*create) (const char *, mode_t, struct fuse_file_info *);$ ERROR: code indent should never use tabs #631: FILE: tools/virtiofsd/fuse.h:611: +^I/**$ ERROR: code indent should never use tabs #632: FILE: tools/virtiofsd/fuse.h:612: +^I * Perform POSIX file locking operation$ ERROR: code indent should never use tabs #633: FILE: tools/virtiofsd/fuse.h:613: +^I *$ ERROR: code indent should never use tabs #634: FILE: tools/virtiofsd/fuse.h:614: +^I * The cmd argument will be either F_GETLK, F_SETLK or F_SETLKW.$ ERROR: code indent should never use tabs #635: FILE: tools/virtiofsd/fuse.h:615: +^I *$ ERROR: code indent should never use tabs #636: FILE: tools/virtiofsd/fuse.h:616: +^I * For the meaning of fields in 'struct flock' see the man page$ ERROR: code indent should never use tabs #637: FILE: tools/virtiofsd/fuse.h:617: +^I * for fcntl(2). The l_whence field will always be set to$ ERROR: code indent should never use tabs #638: FILE: tools/virtiofsd/fuse.h:618: +^I * SEEK_SET.$ ERROR: code indent should never use tabs #639: FILE: tools/virtiofsd/fuse.h:619: +^I *$ ERROR: code indent should never use tabs #640: FILE: tools/virtiofsd/fuse.h:620: +^I * For checking lock ownership, the 'fuse_file_info->owner'$ ERROR: code indent should never use tabs #641: FILE: tools/virtiofsd/fuse.h:621: +^I * argument must be used.$ ERROR: code indent should never use tabs #642: FILE: tools/virtiofsd/fuse.h:622: +^I *$ ERROR: code indent should never use tabs #643: FILE: tools/virtiofsd/fuse.h:623: +^I * For F_GETLK operation, the library will first check currently$ ERROR: code indent should never use tabs #644: FILE: tools/virtiofsd/fuse.h:624: +^I * held locks, and if a conflicting lock is found it will return$ ERROR: code indent should never use tabs #645: FILE: tools/virtiofsd/fuse.h:625: +^I * information without calling this method.^I This ensures, that$ ERROR: code indent should never use tabs #646: FILE: tools/virtiofsd/fuse.h:626: +^I * for local locks the l_pid field is correctly filled in.^IThe$ ERROR: code indent should never use tabs #647: FILE: tools/virtiofsd/fuse.h:627: +^I * results may not be accurate in case of race conditions and in$ ERROR: code indent should never use tabs #648: FILE: tools/virtiofsd/fuse.h:628: +^I * the presence of hard links, but it's unlikely that an$ ERROR: code indent should never use tabs #649: FILE: tools/virtiofsd/fuse.h:629: +^I * application would rely on accurate GETLK results in these$ ERROR: code indent should never use tabs #650: FILE: tools/virtiofsd/fuse.h:630: +^I * cases. If a conflicting lock is not found, this method will be$ ERROR: code indent should never use tabs #651: FILE: tools/virtiofsd/fuse.h:631: +^I * called, and the filesystem may fill out l_pid by a meaningful$ ERROR: code indent should never use tabs #652: FILE: tools/virtiofsd/fuse.h:632: +^I * value, or it may leave this field zero.$ ERROR: code indent should never use tabs #653: FILE: tools/virtiofsd/fuse.h:633: +^I *$ ERROR: code indent should never use tabs #654: FILE: tools/virtiofsd/fuse.h:634: +^I * For F_SETLK and F_SETLKW the l_pid field will be set to the pid$ ERROR: code indent should never use tabs #655: FILE: tools/virtiofsd/fuse.h:635: +^I * of the process performing the locking operation.$ ERROR: code indent should never use tabs #656: FILE: tools/virtiofsd/fuse.h:636: +^I *$ ERROR: code indent should never use tabs #657: FILE: tools/virtiofsd/fuse.h:637: +^I * Note: if this method is not implemented, the kernel will still$ ERROR: code indent should never use tabs #658: FILE: tools/virtiofsd/fuse.h:638: +^I * allow file locking to work locally. Hence it is only$ ERROR: code indent should never use tabs #659: FILE: tools/virtiofsd/fuse.h:639: +^I * interesting for network filesystems and similar.$ ERROR: code indent should never use tabs #660: FILE: tools/virtiofsd/fuse.h:640: +^I */$ ERROR: code indent should never use tabs #661: FILE: tools/virtiofsd/fuse.h:641: +^Iint (*lock) (const char *, struct fuse_file_info *, int cmd,$ ERROR: code indent should never use tabs #662: FILE: tools/virtiofsd/fuse.h:642: +^I^I struct flock *);$ ERROR: code indent should never use tabs #664: FILE: tools/virtiofsd/fuse.h:644: +^I/**$ ERROR: code indent should never use tabs #665: FILE: tools/virtiofsd/fuse.h:645: +^I * Change the access and modification times of a file with$ ERROR: code indent should never use tabs #666: FILE: tools/virtiofsd/fuse.h:646: +^I * nanosecond resolution$ ERROR: code indent should never use tabs #667: FILE: tools/virtiofsd/fuse.h:647: +^I *$ ERROR: code indent should never use tabs #668: FILE: tools/virtiofsd/fuse.h:648: +^I * This supersedes the old utime() interface. New applications$ ERROR: code indent should never use tabs #669: FILE: tools/virtiofsd/fuse.h:649: +^I * should use this.$ ERROR: code indent should never use tabs #670: FILE: tools/virtiofsd/fuse.h:650: +^I *$ ERROR: code indent should never use tabs #671: FILE: tools/virtiofsd/fuse.h:651: +^I * `fi` will always be NULL if the file is not currenlty open, but$ ERROR: code indent should never use tabs #672: FILE: tools/virtiofsd/fuse.h:652: +^I * may also be NULL if the file is open.$ ERROR: code indent should never use tabs #673: FILE: tools/virtiofsd/fuse.h:653: +^I *$ ERROR: code indent should never use tabs #674: FILE: tools/virtiofsd/fuse.h:654: +^I * See the utimensat(2) man page for details.$ ERROR: code indent should never use tabs #675: FILE: tools/virtiofsd/fuse.h:655: +^I */$ ERROR: code indent should never use tabs #676: FILE: tools/virtiofsd/fuse.h:656: +^I int (*utimens) (const char *, const struct timespec tv[2],$ ERROR: code indent should never use tabs #677: FILE: tools/virtiofsd/fuse.h:657: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #679: FILE: tools/virtiofsd/fuse.h:659: +^I/**$ ERROR: code indent should never use tabs #680: FILE: tools/virtiofsd/fuse.h:660: +^I * Map block index within file to block index within device$ ERROR: code indent should never use tabs #681: FILE: tools/virtiofsd/fuse.h:661: +^I *$ ERROR: code indent should never use tabs #682: FILE: tools/virtiofsd/fuse.h:662: +^I * Note: This makes sense only for block device backed filesystems$ ERROR: code indent should never use tabs #683: FILE: tools/virtiofsd/fuse.h:663: +^I * mounted with the 'blkdev' option$ ERROR: code indent should never use tabs #684: FILE: tools/virtiofsd/fuse.h:664: +^I */$ ERROR: code indent should never use tabs #685: FILE: tools/virtiofsd/fuse.h:665: +^Iint (*bmap) (const char *, size_t blocksize, uint64_t *idx);$ ERROR: code indent should never use tabs #687: FILE: tools/virtiofsd/fuse.h:667: +^I/**$ ERROR: code indent should never use tabs #688: FILE: tools/virtiofsd/fuse.h:668: +^I * Ioctl$ ERROR: code indent should never use tabs #689: FILE: tools/virtiofsd/fuse.h:669: +^I *$ ERROR: code indent should never use tabs #690: FILE: tools/virtiofsd/fuse.h:670: +^I * flags will have FUSE_IOCTL_COMPAT set for 32bit ioctls in$ ERROR: code indent should never use tabs #691: FILE: tools/virtiofsd/fuse.h:671: +^I * 64bit environment. The size and direction of data is$ ERROR: code indent should never use tabs #692: FILE: tools/virtiofsd/fuse.h:672: +^I * determined by _IOC_*() decoding of cmd. For _IOC_NONE,$ ERROR: code indent should never use tabs #693: FILE: tools/virtiofsd/fuse.h:673: +^I * data will be NULL, for _IOC_WRITE data is out area, for$ ERROR: code indent should never use tabs #694: FILE: tools/virtiofsd/fuse.h:674: +^I * _IOC_READ in area and if both are set in/out area. In all$ ERROR: code indent should never use tabs #695: FILE: tools/virtiofsd/fuse.h:675: +^I * non-NULL cases, the area is of _IOC_SIZE(cmd) bytes.$ ERROR: code indent should never use tabs #696: FILE: tools/virtiofsd/fuse.h:676: +^I *$ ERROR: code indent should never use tabs #697: FILE: tools/virtiofsd/fuse.h:677: +^I * If flags has FUSE_IOCTL_DIR then the fuse_file_info refers to a$ ERROR: code indent should never use tabs #698: FILE: tools/virtiofsd/fuse.h:678: +^I * directory file handle.$ ERROR: code indent should never use tabs #699: FILE: tools/virtiofsd/fuse.h:679: +^I *$ ERROR: code indent should never use tabs #700: FILE: tools/virtiofsd/fuse.h:680: +^I * Note : the unsigned long request submitted by the application$ ERROR: code indent should never use tabs #701: FILE: tools/virtiofsd/fuse.h:681: +^I * is truncated to 32 bits.$ ERROR: code indent should never use tabs #702: FILE: tools/virtiofsd/fuse.h:682: +^I */$ ERROR: code indent should never use tabs #703: FILE: tools/virtiofsd/fuse.h:683: +^Iint (*ioctl) (const char *, unsigned int cmd, void *arg,$ ERROR: code indent should never use tabs #704: FILE: tools/virtiofsd/fuse.h:684: +^I^I struct fuse_file_info *, unsigned int flags, void *data);$ ERROR: code indent should never use tabs #706: FILE: tools/virtiofsd/fuse.h:686: +^I/**$ ERROR: code indent should never use tabs #707: FILE: tools/virtiofsd/fuse.h:687: +^I * Poll for IO readiness events$ ERROR: code indent should never use tabs #708: FILE: tools/virtiofsd/fuse.h:688: +^I *$ ERROR: code indent should never use tabs #709: FILE: tools/virtiofsd/fuse.h:689: +^I * Note: If ph is non-NULL, the client should notify$ ERROR: code indent should never use tabs #710: FILE: tools/virtiofsd/fuse.h:690: +^I * when IO readiness events occur by calling$ ERROR: code indent should never use tabs #711: FILE: tools/virtiofsd/fuse.h:691: +^I * fuse_notify_poll() with the specified ph.$ ERROR: code indent should never use tabs #712: FILE: tools/virtiofsd/fuse.h:692: +^I *$ ERROR: code indent should never use tabs #713: FILE: tools/virtiofsd/fuse.h:693: +^I * Regardless of the number of times poll with a non-NULL ph$ ERROR: code indent should never use tabs #714: FILE: tools/virtiofsd/fuse.h:694: +^I * is received, single notification is enough to clear all.$ ERROR: code indent should never use tabs #715: FILE: tools/virtiofsd/fuse.h:695: +^I * Notifying more times incurs overhead but doesn't harm$ ERROR: code indent should never use tabs #716: FILE: tools/virtiofsd/fuse.h:696: +^I * correctness.$ ERROR: code indent should never use tabs #717: FILE: tools/virtiofsd/fuse.h:697: +^I *$ ERROR: code indent should never use tabs #718: FILE: tools/virtiofsd/fuse.h:698: +^I * The callee is responsible for destroying ph with$ ERROR: code indent should never use tabs #719: FILE: tools/virtiofsd/fuse.h:699: +^I * fuse_pollhandle_destroy() when no longer in use.$ ERROR: code indent should never use tabs #720: FILE: tools/virtiofsd/fuse.h:700: +^I */$ ERROR: code indent should never use tabs #721: FILE: tools/virtiofsd/fuse.h:701: +^Iint (*poll) (const char *, struct fuse_file_info *,$ ERROR: code indent should never use tabs #722: FILE: tools/virtiofsd/fuse.h:702: +^I^I struct fuse_pollhandle *ph, unsigned *reventsp);$ ERROR: code indent should never use tabs #724: FILE: tools/virtiofsd/fuse.h:704: +^I/** Write contents of buffer to an open file$ WARNING: Block comments use a leading /* on a separate line #724: FILE: tools/virtiofsd/fuse.h:704: + /** Write contents of buffer to an open file ERROR: code indent should never use tabs #725: FILE: tools/virtiofsd/fuse.h:705: +^I *$ ERROR: code indent should never use tabs #726: FILE: tools/virtiofsd/fuse.h:706: +^I * Similar to the write() method, but data is supplied in a$ ERROR: code indent should never use tabs #727: FILE: tools/virtiofsd/fuse.h:707: +^I * generic buffer. Use fuse_buf_copy() to transfer data to$ ERROR: code indent should never use tabs #728: FILE: tools/virtiofsd/fuse.h:708: +^I * the destination.$ ERROR: code indent should never use tabs #729: FILE: tools/virtiofsd/fuse.h:709: +^I *$ ERROR: code indent should never use tabs #730: FILE: tools/virtiofsd/fuse.h:710: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #731: FILE: tools/virtiofsd/fuse.h:711: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #732: FILE: tools/virtiofsd/fuse.h:712: +^I */$ ERROR: code indent should never use tabs #733: FILE: tools/virtiofsd/fuse.h:713: +^Iint (*write_buf) (const char *, struct fuse_bufvec *buf, off_t off,$ ERROR: code indent should never use tabs #734: FILE: tools/virtiofsd/fuse.h:714: +^I^I^I struct fuse_file_info *);$ ERROR: code indent should never use tabs #736: FILE: tools/virtiofsd/fuse.h:716: +^I/** Store data from an open file in a buffer$ WARNING: Block comments use a leading /* on a separate line #736: FILE: tools/virtiofsd/fuse.h:716: + /** Store data from an open file in a buffer ERROR: code indent should never use tabs #737: FILE: tools/virtiofsd/fuse.h:717: +^I *$ ERROR: code indent should never use tabs #738: FILE: tools/virtiofsd/fuse.h:718: +^I * Similar to the read() method, but data is stored and$ ERROR: code indent should never use tabs #739: FILE: tools/virtiofsd/fuse.h:719: +^I * returned in a generic buffer.$ ERROR: code indent should never use tabs #740: FILE: tools/virtiofsd/fuse.h:720: +^I *$ ERROR: code indent should never use tabs #741: FILE: tools/virtiofsd/fuse.h:721: +^I * No actual copying of data has to take place, the source$ ERROR: code indent should never use tabs #742: FILE: tools/virtiofsd/fuse.h:722: +^I * file descriptor may simply be stored in the buffer for$ ERROR: code indent should never use tabs #743: FILE: tools/virtiofsd/fuse.h:723: +^I * later data transfer.$ ERROR: code indent should never use tabs #744: FILE: tools/virtiofsd/fuse.h:724: +^I *$ ERROR: code indent should never use tabs #745: FILE: tools/virtiofsd/fuse.h:725: +^I * The buffer must be allocated dynamically and stored at the$ ERROR: code indent should never use tabs #746: FILE: tools/virtiofsd/fuse.h:726: +^I * location pointed to by bufp. If the buffer contains memory$ ERROR: code indent should never use tabs #747: FILE: tools/virtiofsd/fuse.h:727: +^I * regions, they too must be allocated using malloc(). The$ ERROR: code indent should never use tabs #748: FILE: tools/virtiofsd/fuse.h:728: +^I * allocated memory will be freed by the caller.$ ERROR: code indent should never use tabs #749: FILE: tools/virtiofsd/fuse.h:729: +^I */$ ERROR: code indent should never use tabs #750: FILE: tools/virtiofsd/fuse.h:730: +^Iint (*read_buf) (const char *, struct fuse_bufvec **bufp,$ ERROR: code indent should never use tabs #751: FILE: tools/virtiofsd/fuse.h:731: +^I^I^I size_t size, off_t off, struct fuse_file_info *);$ ERROR: code indent should never use tabs #752: FILE: tools/virtiofsd/fuse.h:732: +^I/**$ ERROR: code indent should never use tabs #753: FILE: tools/virtiofsd/fuse.h:733: +^I * Perform BSD file locking operation$ ERROR: code indent should never use tabs #754: FILE: tools/virtiofsd/fuse.h:734: +^I *$ ERROR: code indent should never use tabs #755: FILE: tools/virtiofsd/fuse.h:735: +^I * The op argument will be either LOCK_SH, LOCK_EX or LOCK_UN$ ERROR: code indent should never use tabs #756: FILE: tools/virtiofsd/fuse.h:736: +^I *$ ERROR: code indent should never use tabs #757: FILE: tools/virtiofsd/fuse.h:737: +^I * Nonblocking requests will be indicated by ORing LOCK_NB to$ ERROR: code indent should never use tabs #758: FILE: tools/virtiofsd/fuse.h:738: +^I * the above operations$ ERROR: code indent should never use tabs #759: FILE: tools/virtiofsd/fuse.h:739: +^I *$ ERROR: code indent should never use tabs #760: FILE: tools/virtiofsd/fuse.h:740: +^I * For more information see the flock(2) manual page.$ ERROR: code indent should never use tabs #761: FILE: tools/virtiofsd/fuse.h:741: +^I *$ ERROR: code indent should never use tabs #762: FILE: tools/virtiofsd/fuse.h:742: +^I * Additionally fi->owner will be set to a value unique to$ ERROR: code indent should never use tabs #763: FILE: tools/virtiofsd/fuse.h:743: +^I * this open file. This same value will be supplied to$ ERROR: code indent should never use tabs #764: FILE: tools/virtiofsd/fuse.h:744: +^I * ->release() when the file is released.$ ERROR: code indent should never use tabs #765: FILE: tools/virtiofsd/fuse.h:745: +^I *$ ERROR: code indent should never use tabs #766: FILE: tools/virtiofsd/fuse.h:746: +^I * Note: if this method is not implemented, the kernel will still$ ERROR: code indent should never use tabs #767: FILE: tools/virtiofsd/fuse.h:747: +^I * allow file locking to work locally. Hence it is only$ ERROR: code indent should never use tabs #768: FILE: tools/virtiofsd/fuse.h:748: +^I * interesting for network filesystems and similar.$ ERROR: code indent should never use tabs #769: FILE: tools/virtiofsd/fuse.h:749: +^I */$ ERROR: code indent should never use tabs #770: FILE: tools/virtiofsd/fuse.h:750: +^Iint (*flock) (const char *, struct fuse_file_info *, int op);$ ERROR: code indent should never use tabs #772: FILE: tools/virtiofsd/fuse.h:752: +^I/**$ ERROR: code indent should never use tabs #773: FILE: tools/virtiofsd/fuse.h:753: +^I * Allocates space for an open file$ ERROR: code indent should never use tabs #774: FILE: tools/virtiofsd/fuse.h:754: +^I *$ ERROR: code indent should never use tabs #775: FILE: tools/virtiofsd/fuse.h:755: +^I * This function ensures that required space is allocated for specified$ ERROR: code indent should never use tabs #776: FILE: tools/virtiofsd/fuse.h:756: +^I * file. If this function returns success then any subsequent write$ ERROR: code indent should never use tabs #777: FILE: tools/virtiofsd/fuse.h:757: +^I * request to specified range is guaranteed not to fail because of lack$ ERROR: code indent should never use tabs #778: FILE: tools/virtiofsd/fuse.h:758: +^I * of space on the file system media.$ ERROR: code indent should never use tabs #779: FILE: tools/virtiofsd/fuse.h:759: +^I */$ ERROR: code indent should never use tabs #780: FILE: tools/virtiofsd/fuse.h:760: +^Iint (*fallocate) (const char *, int, off_t, off_t,$ ERROR: code indent should never use tabs #781: FILE: tools/virtiofsd/fuse.h:761: +^I^I^I struct fuse_file_info *);$ ERROR: code indent should never use tabs #783: FILE: tools/virtiofsd/fuse.h:763: +^I/**$ ERROR: code indent should never use tabs #784: FILE: tools/virtiofsd/fuse.h:764: +^I * Copy a range of data from one file to another$ ERROR: code indent should never use tabs #785: FILE: tools/virtiofsd/fuse.h:765: +^I *$ ERROR: code indent should never use tabs #786: FILE: tools/virtiofsd/fuse.h:766: +^I * Performs an optimized copy between two file descriptors without the$ ERROR: code indent should never use tabs #787: FILE: tools/virtiofsd/fuse.h:767: +^I * additional cost of transferring data through the FUSE kernel module$ ERROR: code indent should never use tabs #788: FILE: tools/virtiofsd/fuse.h:768: +^I * to user space (glibc) and then back into the FUSE filesystem again.$ ERROR: code indent should never use tabs #789: FILE: tools/virtiofsd/fuse.h:769: +^I *$ ERROR: code indent should never use tabs #790: FILE: tools/virtiofsd/fuse.h:770: +^I * In case this method is not implemented, glibc falls back to reading$ ERROR: code indent should never use tabs #791: FILE: tools/virtiofsd/fuse.h:771: +^I * data from the source and writing to the destination. Effectively$ ERROR: code indent should never use tabs #792: FILE: tools/virtiofsd/fuse.h:772: +^I * doing an inefficient copy of the data.$ ERROR: code indent should never use tabs #793: FILE: tools/virtiofsd/fuse.h:773: +^I */$ ERROR: code indent should never use tabs #794: FILE: tools/virtiofsd/fuse.h:774: +^Issize_t (*copy_file_range) (const char *path_in,$ ERROR: code indent should never use tabs #795: FILE: tools/virtiofsd/fuse.h:775: +^I^I^I^I struct fuse_file_info *fi_in,$ ERROR: code indent should never use tabs #796: FILE: tools/virtiofsd/fuse.h:776: +^I^I^I^I off_t offset_in, const char *path_out,$ ERROR: code indent should never use tabs #797: FILE: tools/virtiofsd/fuse.h:777: +^I^I^I^I struct fuse_file_info *fi_out,$ ERROR: code indent should never use tabs #798: FILE: tools/virtiofsd/fuse.h:778: +^I^I^I^I off_t offset_out, size_t size, int flags);$ ERROR: code indent should never use tabs #800: FILE: tools/virtiofsd/fuse.h:780: +^I/**$ ERROR: code indent should never use tabs #801: FILE: tools/virtiofsd/fuse.h:781: +^I * Find next data or hole after the specified offset$ ERROR: code indent should never use tabs #802: FILE: tools/virtiofsd/fuse.h:782: +^I */$ WARNING: line over 80 characters #803: FILE: tools/virtiofsd/fuse.h:783: + off_t (*lseek) (const char *, off_t off, int whence, struct fuse_file_info *); ERROR: code indent should never use tabs #803: FILE: tools/virtiofsd/fuse.h:783: +^Ioff_t (*lseek) (const char *, off_t off, int whence, struct fuse_file_info *);$ WARNING: Block comments use a leading /* on a separate line #806: FILE: tools/virtiofsd/fuse.h:786: +/** Extra context that may be needed by some filesystems ERROR: code indent should never use tabs #812: FILE: tools/virtiofsd/fuse.h:792: +^I/** Pointer to the fuse object */$ ERROR: code indent should never use tabs #813: FILE: tools/virtiofsd/fuse.h:793: +^Istruct fuse *fuse;$ ERROR: code indent should never use tabs #815: FILE: tools/virtiofsd/fuse.h:795: +^I/** User ID of the calling process */$ ERROR: code indent should never use tabs #816: FILE: tools/virtiofsd/fuse.h:796: +^Iuid_t uid;$ ERROR: code indent should never use tabs #818: FILE: tools/virtiofsd/fuse.h:798: +^I/** Group ID of the calling process */$ ERROR: code indent should never use tabs #819: FILE: tools/virtiofsd/fuse.h:799: +^Igid_t gid;$ ERROR: code indent should never use tabs #821: FILE: tools/virtiofsd/fuse.h:801: +^I/** Process ID of the calling thread */$ ERROR: code indent should never use tabs #822: FILE: tools/virtiofsd/fuse.h:802: +^Ipid_t pid;$ ERROR: code indent should never use tabs #824: FILE: tools/virtiofsd/fuse.h:804: +^I/** Private filesystem data */$ ERROR: code indent should never use tabs #825: FILE: tools/virtiofsd/fuse.h:805: +^Ivoid *private_data;$ ERROR: code indent should never use tabs #827: FILE: tools/virtiofsd/fuse.h:807: +^I/** Umask of the calling process */$ ERROR: code indent should never use tabs #828: FILE: tools/virtiofsd/fuse.h:808: +^Imode_t umask;$ WARNING: Block comments use * on subsequent lines #886: FILE: tools/virtiofsd/fuse.h:866: +/* + int fuse_main(int argc, char *argv[], const struct fuse_operations *op, ERROR: code indent should never use tabs #889: FILE: tools/virtiofsd/fuse.h:869: +#define fuse_main(argc, argv, op, private_data)^I^I^I^I\$ ERROR: code indent should never use tabs #890: FILE: tools/virtiofsd/fuse.h:870: +^Ifuse_main_real(argc, argv, op, sizeof(*(op)), private_data)$ WARNING: Block comments use a leading /* on a separate line #892: FILE: tools/virtiofsd/fuse.h:872: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #893: FILE: tools/virtiofsd/fuse.h:873: + * More detailed API^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #894: FILE: tools/virtiofsd/fuse.h:874: + * ----------------------------------------------------------- */ WARNING: line over 80 characters #937: FILE: tools/virtiofsd/fuse.h:917: +struct fuse *fuse_new_30(struct fuse_args *args, const struct fuse_operations *op, ERROR: code indent should never use tabs #938: FILE: tools/virtiofsd/fuse.h:918: +^I^I^I size_t op_size, void *private_data);$ ERROR: code indent should never use tabs #942: FILE: tools/virtiofsd/fuse.h:922: +^I^I size_t op_size, void *private_data);$ ERROR: code indent should never use tabs #967: FILE: tools/virtiofsd/fuse.h:947: + * NOTE: This function does not unmount the filesystem.^I If this is$ ERROR: code indent should never use tabs #1095: FILE: tools/virtiofsd/fuse.h:1075: +^I^I size_t op_size, void *private_data);$ ERROR: code indent should never use tabs #1146: FILE: tools/virtiofsd/fuse.h:1126: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1148: FILE: tools/virtiofsd/fuse.h:1128: +^I^I const char *newpath, unsigned int flags);$ ERROR: code indent should never use tabs #1152: FILE: tools/virtiofsd/fuse.h:1132: +^I^I const char *path);$ ERROR: code indent should never use tabs #1154: FILE: tools/virtiofsd/fuse.h:1134: +int fuse_fs_release(struct fuse_fs *fs,^I const char *path,$ ERROR: code indent should never use tabs #1155: FILE: tools/virtiofsd/fuse.h:1135: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1157: FILE: tools/virtiofsd/fuse.h:1137: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1159: FILE: tools/virtiofsd/fuse.h:1139: +^I^I off_t off, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1161: FILE: tools/virtiofsd/fuse.h:1141: +^I^I struct fuse_bufvec **bufp, size_t size, off_t off,$ ERROR: code indent should never use tabs #1162: FILE: tools/virtiofsd/fuse.h:1142: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1164: FILE: tools/virtiofsd/fuse.h:1144: +^I^I size_t size, off_t off, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1166: FILE: tools/virtiofsd/fuse.h:1146: +^I^I struct fuse_bufvec *buf, off_t off,$ ERROR: code indent should never use tabs #1167: FILE: tools/virtiofsd/fuse.h:1147: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1169: FILE: tools/virtiofsd/fuse.h:1149: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1171: FILE: tools/virtiofsd/fuse.h:1151: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1174: FILE: tools/virtiofsd/fuse.h:1154: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1176: FILE: tools/virtiofsd/fuse.h:1156: +^I^I fuse_fill_dir_t filler, off_t off,$ ERROR: code indent should never use tabs #1177: FILE: tools/virtiofsd/fuse.h:1157: +^I^I struct fuse_file_info *fi, enum fuse_readdir_flags flags);$ ERROR: code indent should never use tabs #1179: FILE: tools/virtiofsd/fuse.h:1159: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1181: FILE: tools/virtiofsd/fuse.h:1161: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1183: FILE: tools/virtiofsd/fuse.h:1163: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1185: FILE: tools/virtiofsd/fuse.h:1165: +^I^I struct fuse_file_info *fi, int cmd, struct flock *lock);$ ERROR: code indent should never use tabs #1187: FILE: tools/virtiofsd/fuse.h:1167: +^I^I struct fuse_file_info *fi, int op);$ ERROR: code indent should never use tabs #1189: FILE: tools/virtiofsd/fuse.h:1169: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1191: FILE: tools/virtiofsd/fuse.h:1171: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1193: FILE: tools/virtiofsd/fuse.h:1173: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1195: FILE: tools/virtiofsd/fuse.h:1175: +^I^I const struct timespec tv[2], struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1198: FILE: tools/virtiofsd/fuse.h:1178: +^I^I size_t len);$ ERROR: code indent should never use tabs #1200: FILE: tools/virtiofsd/fuse.h:1180: +^I^I dev_t rdev);$ ERROR: code indent should never use tabs #1203: FILE: tools/virtiofsd/fuse.h:1183: +^I^I const char *value, size_t size, int flags);$ ERROR: code indent should never use tabs #1205: FILE: tools/virtiofsd/fuse.h:1185: +^I^I char *value, size_t size);$ ERROR: code indent should never use tabs #1207: FILE: tools/virtiofsd/fuse.h:1187: +^I^I size_t size);$ ERROR: code indent should never use tabs #1209: FILE: tools/virtiofsd/fuse.h:1189: +^I^I^Iconst char *name);$ ERROR: code indent should never use tabs #1211: FILE: tools/virtiofsd/fuse.h:1191: +^I^I uint64_t *idx);$ ERROR: code indent should never use tabs #1213: FILE: tools/virtiofsd/fuse.h:1193: +^I^I void *arg, struct fuse_file_info *fi, unsigned int flags,$ ERROR: code indent should never use tabs #1214: FILE: tools/virtiofsd/fuse.h:1194: +^I^I void *data);$ ERROR: code indent should never use tabs #1216: FILE: tools/virtiofsd/fuse.h:1196: +^I^I struct fuse_file_info *fi, struct fuse_pollhandle *ph,$ ERROR: code indent should never use tabs #1217: FILE: tools/virtiofsd/fuse.h:1197: +^I^I unsigned *reventsp);$ ERROR: code indent should never use tabs #1219: FILE: tools/virtiofsd/fuse.h:1199: +^I^I off_t offset, off_t length, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1221: FILE: tools/virtiofsd/fuse.h:1201: +^I^I^I^Istruct fuse_file_info *fi_in, off_t off_in,$ ERROR: code indent should never use tabs #1222: FILE: tools/virtiofsd/fuse.h:1202: +^I^I^I^Iconst char *path_out,$ ERROR: code indent should never use tabs #1223: FILE: tools/virtiofsd/fuse.h:1203: +^I^I^I^Istruct fuse_file_info *fi_out, off_t off_out,$ ERROR: code indent should never use tabs #1224: FILE: tools/virtiofsd/fuse.h:1204: +^I^I^I^Isize_t len, int flags);$ ERROR: code indent should never use tabs #1226: FILE: tools/virtiofsd/fuse.h:1206: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #1228: FILE: tools/virtiofsd/fuse.h:1208: +^I^Istruct fuse_config *cfg);$ ERROR: code indent should never use tabs #1247: FILE: tools/virtiofsd/fuse.h:1227: +^I^I^I void *private_data);$ ERROR: code indent should never use tabs #1264: FILE: tools/virtiofsd/fuse.h:1244: +^I^I^I^I^I^I struct fuse_fs *fs[]);$ ERROR: code indent should never use tabs #1276: FILE: tools/virtiofsd/fuse.h:1256: +^Ifuse_module_factory_t fuse_module_ ## name_ ## _factory = factory_$ WARNING: architecture specific defines should be avoided #1291: FILE: tools/virtiofsd/fuse.h:1271: +#ifdef __cplusplus WARNING: Block comments use a leading /* on a separate line #1302: FILE: tools/virtiofsd/fuse_common.h:1: +/* FUSE: Filesystem in Userspace WARNING: Block comments use * on subsequent lines #1303: FILE: tools/virtiofsd/fuse_common.h:2: +/* FUSE: Filesystem in Userspace + Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu> ERROR: line over 90 characters #1312: FILE: tools/virtiofsd/fuse_common.h:11: +#error "Never include <fuse_common.h> directly; use <fuse.h> or <fuse_lowlevel.h> instead." WARNING: architecture specific defines should be avoided #1332: FILE: tools/virtiofsd/fuse_common.h:31: +#ifdef __cplusplus ERROR: code indent should never use tabs #1346: FILE: tools/virtiofsd/fuse_common.h:45: +^I/** Open flags.^I Available in open() and release() */$ ERROR: code indent should never use tabs #1347: FILE: tools/virtiofsd/fuse_common.h:46: +^Iint flags;$ ERROR: code indent should never use tabs #1349: FILE: tools/virtiofsd/fuse_common.h:48: +^I/** In case of a write operation indicates if this was caused$ WARNING: Block comments use a leading /* on a separate line #1349: FILE: tools/virtiofsd/fuse_common.h:48: + /** In case of a write operation indicates if this was caused ERROR: code indent should never use tabs #1350: FILE: tools/virtiofsd/fuse_common.h:49: +^I by a delayed write from the page cache. If so, then the$ WARNING: Block comments use * on subsequent lines #1350: FILE: tools/virtiofsd/fuse_common.h:49: + /** In case of a write operation indicates if this was caused + by a delayed write from the page cache. If so, then the ERROR: code indent should never use tabs #1351: FILE: tools/virtiofsd/fuse_common.h:50: +^I context's pid, uid, and gid fields will not be valid, and$ ERROR: code indent should never use tabs #1352: FILE: tools/virtiofsd/fuse_common.h:51: +^I the *fh* value may not match the *fh* value that would$ ERROR: code indent should never use tabs #1353: FILE: tools/virtiofsd/fuse_common.h:52: +^I have been sent with the corresponding individual write$ ERROR: code indent should never use tabs #1354: FILE: tools/virtiofsd/fuse_common.h:53: +^I requests if write caching had been disabled. */$ WARNING: Block comments use a trailing */ on a separate line #1354: FILE: tools/virtiofsd/fuse_common.h:53: + requests if write caching had been disabled. */ ERROR: code indent should never use tabs #1355: FILE: tools/virtiofsd/fuse_common.h:54: +^Iunsigned int writepage : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1355: FILE: tools/virtiofsd/fuse_common.h:54: + unsigned int writepage : 1; ^ ERROR: code indent should never use tabs #1357: FILE: tools/virtiofsd/fuse_common.h:56: +^I/** Can be filled in by open, to use direct I/O on this file. */$ ERROR: code indent should never use tabs #1358: FILE: tools/virtiofsd/fuse_common.h:57: +^Iunsigned int direct_io : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1358: FILE: tools/virtiofsd/fuse_common.h:57: + unsigned int direct_io : 1; ^ ERROR: code indent should never use tabs #1360: FILE: tools/virtiofsd/fuse_common.h:59: +^I/** Can be filled in by open. It signals the kernel that any$ WARNING: Block comments use a leading /* on a separate line #1360: FILE: tools/virtiofsd/fuse_common.h:59: + /** Can be filled in by open. It signals the kernel that any ERROR: code indent should never use tabs #1361: FILE: tools/virtiofsd/fuse_common.h:60: +^I currently cached file data (ie., data that the filesystem$ WARNING: Block comments use * on subsequent lines #1361: FILE: tools/virtiofsd/fuse_common.h:60: + /** Can be filled in by open. It signals the kernel that any + currently cached file data (ie., data that the filesystem ERROR: code indent should never use tabs #1362: FILE: tools/virtiofsd/fuse_common.h:61: +^I provided the last time the file was open) need not be$ ERROR: code indent should never use tabs #1363: FILE: tools/virtiofsd/fuse_common.h:62: +^I invalidated. Has no effect when set in other contexts (in$ ERROR: code indent should never use tabs #1364: FILE: tools/virtiofsd/fuse_common.h:63: +^I particular it does nothing when set by opendir()). */$ WARNING: Block comments use a trailing */ on a separate line #1364: FILE: tools/virtiofsd/fuse_common.h:63: + particular it does nothing when set by opendir()). */ ERROR: code indent should never use tabs #1365: FILE: tools/virtiofsd/fuse_common.h:64: +^Iunsigned int keep_cache : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1365: FILE: tools/virtiofsd/fuse_common.h:64: + unsigned int keep_cache : 1; ^ ERROR: code indent should never use tabs #1367: FILE: tools/virtiofsd/fuse_common.h:66: +^I/** Indicates a flush operation. Set in flush operation, also$ WARNING: Block comments use a leading /* on a separate line #1367: FILE: tools/virtiofsd/fuse_common.h:66: + /** Indicates a flush operation. Set in flush operation, also ERROR: code indent should never use tabs #1368: FILE: tools/virtiofsd/fuse_common.h:67: +^I maybe set in highlevel lock operation and lowlevel release$ WARNING: Block comments use * on subsequent lines #1368: FILE: tools/virtiofsd/fuse_common.h:67: + /** Indicates a flush operation. Set in flush operation, also + maybe set in highlevel lock operation and lowlevel release ERROR: code indent should never use tabs #1369: FILE: tools/virtiofsd/fuse_common.h:68: +^I operation. */$ WARNING: Block comments use a trailing */ on a separate line #1369: FILE: tools/virtiofsd/fuse_common.h:68: + operation. */ ERROR: code indent should never use tabs #1370: FILE: tools/virtiofsd/fuse_common.h:69: +^Iunsigned int flush : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1370: FILE: tools/virtiofsd/fuse_common.h:69: + unsigned int flush : 1; ^ ERROR: code indent should never use tabs #1372: FILE: tools/virtiofsd/fuse_common.h:71: +^I/** Can be filled in by open, to indicate that the file is not$ WARNING: Block comments use a leading /* on a separate line #1372: FILE: tools/virtiofsd/fuse_common.h:71: + /** Can be filled in by open, to indicate that the file is not ERROR: code indent should never use tabs #1373: FILE: tools/virtiofsd/fuse_common.h:72: +^I seekable. */$ WARNING: Block comments use * on subsequent lines #1373: FILE: tools/virtiofsd/fuse_common.h:72: + /** Can be filled in by open, to indicate that the file is not + seekable. */ WARNING: Block comments use a trailing */ on a separate line #1373: FILE: tools/virtiofsd/fuse_common.h:72: + seekable. */ ERROR: code indent should never use tabs #1374: FILE: tools/virtiofsd/fuse_common.h:73: +^Iunsigned int nonseekable : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1374: FILE: tools/virtiofsd/fuse_common.h:73: + unsigned int nonseekable : 1; ^ ERROR: code indent should never use tabs #1376: FILE: tools/virtiofsd/fuse_common.h:75: +^I/* Indicates that flock locks for this file should be$ WARNING: Block comments use a leading /* on a separate line #1376: FILE: tools/virtiofsd/fuse_common.h:75: + /* Indicates that flock locks for this file should be ERROR: code indent should never use tabs #1377: FILE: tools/virtiofsd/fuse_common.h:76: +^I released. If set, lock_owner shall contain a valid value.$ WARNING: Block comments use * on subsequent lines #1377: FILE: tools/virtiofsd/fuse_common.h:76: + /* Indicates that flock locks for this file should be + released. If set, lock_owner shall contain a valid value. ERROR: code indent should never use tabs #1378: FILE: tools/virtiofsd/fuse_common.h:77: +^I May only be set in ->release(). */$ WARNING: Block comments use a trailing */ on a separate line #1378: FILE: tools/virtiofsd/fuse_common.h:77: + May only be set in ->release(). */ ERROR: code indent should never use tabs #1379: FILE: tools/virtiofsd/fuse_common.h:78: +^Iunsigned int flock_release : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1379: FILE: tools/virtiofsd/fuse_common.h:78: + unsigned int flock_release : 1; ^ ERROR: code indent should never use tabs #1381: FILE: tools/virtiofsd/fuse_common.h:80: +^I/** Can be filled in by opendir. It signals the kernel to$ WARNING: Block comments use a leading /* on a separate line #1381: FILE: tools/virtiofsd/fuse_common.h:80: + /** Can be filled in by opendir. It signals the kernel to ERROR: code indent should never use tabs #1382: FILE: tools/virtiofsd/fuse_common.h:81: +^I enable caching of entries returned by readdir(). Has no$ WARNING: Block comments use * on subsequent lines #1382: FILE: tools/virtiofsd/fuse_common.h:81: + /** Can be filled in by opendir. It signals the kernel to + enable caching of entries returned by readdir(). Has no ERROR: code indent should never use tabs #1383: FILE: tools/virtiofsd/fuse_common.h:82: +^I effect when set in other contexts (in particular it does$ ERROR: code indent should never use tabs #1384: FILE: tools/virtiofsd/fuse_common.h:83: +^I nothing when set by open()). */$ WARNING: Block comments use a trailing */ on a separate line #1384: FILE: tools/virtiofsd/fuse_common.h:83: + nothing when set by open()). */ ERROR: code indent should never use tabs #1385: FILE: tools/virtiofsd/fuse_common.h:84: +^Iunsigned int cache_readdir : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1385: FILE: tools/virtiofsd/fuse_common.h:84: + unsigned int cache_readdir : 1; ^ ERROR: code indent should never use tabs #1387: FILE: tools/virtiofsd/fuse_common.h:86: +^I/** Padding. Reserved for future use*/$ ERROR: code indent should never use tabs #1388: FILE: tools/virtiofsd/fuse_common.h:87: +^Iunsigned int padding : 25;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1388: FILE: tools/virtiofsd/fuse_common.h:87: + unsigned int padding : 25; ^ ERROR: code indent should never use tabs #1389: FILE: tools/virtiofsd/fuse_common.h:88: +^Iunsigned int padding2 : 32;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #1389: FILE: tools/virtiofsd/fuse_common.h:88: + unsigned int padding2 : 32; ^ ERROR: code indent should never use tabs #1391: FILE: tools/virtiofsd/fuse_common.h:90: +^I/** File handle id. May be filled in by filesystem in create,$ WARNING: Block comments use a leading /* on a separate line #1391: FILE: tools/virtiofsd/fuse_common.h:90: + /** File handle id. May be filled in by filesystem in create, ERROR: code indent should never use tabs #1392: FILE: tools/virtiofsd/fuse_common.h:91: +^I * open, and opendir(). Available in most other file operations on the$ ERROR: code indent should never use tabs #1393: FILE: tools/virtiofsd/fuse_common.h:92: +^I * same file handle. */$ WARNING: Block comments use a trailing */ on a separate line #1393: FILE: tools/virtiofsd/fuse_common.h:92: + * same file handle. */ ERROR: code indent should never use tabs #1394: FILE: tools/virtiofsd/fuse_common.h:93: +^Iuint64_t fh;$ ERROR: code indent should never use tabs #1396: FILE: tools/virtiofsd/fuse_common.h:95: +^I/** Lock owner id. Available in locking operations and flush */$ ERROR: code indent should never use tabs #1397: FILE: tools/virtiofsd/fuse_common.h:96: +^Iuint64_t lock_owner;$ ERROR: code indent should never use tabs #1399: FILE: tools/virtiofsd/fuse_common.h:98: +^I/** Requested poll events. Available in ->poll. Only set on kernels$ WARNING: Block comments use a leading /* on a separate line #1399: FILE: tools/virtiofsd/fuse_common.h:98: + /** Requested poll events. Available in ->poll. Only set on kernels ERROR: code indent should never use tabs #1400: FILE: tools/virtiofsd/fuse_common.h:99: +^I which support it. If unsupported, this field is set to zero. */$ WARNING: Block comments use * on subsequent lines #1400: FILE: tools/virtiofsd/fuse_common.h:99: + /** Requested poll events. Available in ->poll. Only set on kernels + which support it. If unsupported, this field is set to zero. */ WARNING: Block comments use a trailing */ on a separate line #1400: FILE: tools/virtiofsd/fuse_common.h:99: + which support it. If unsupported, this field is set to zero. */ ERROR: code indent should never use tabs #1401: FILE: tools/virtiofsd/fuse_common.h:100: +^Iuint32_t poll_events;$ ERROR: code indent should never use tabs #1409: FILE: tools/virtiofsd/fuse_common.h:108: +^I/**$ ERROR: code indent should never use tabs #1410: FILE: tools/virtiofsd/fuse_common.h:109: +^I * whether to use separate device fds for each thread$ ERROR: code indent should never use tabs #1411: FILE: tools/virtiofsd/fuse_common.h:110: +^I * (may increase performance)$ ERROR: code indent should never use tabs #1412: FILE: tools/virtiofsd/fuse_common.h:111: +^I */$ ERROR: code indent should never use tabs #1413: FILE: tools/virtiofsd/fuse_common.h:112: +^Iint clone_fd;$ ERROR: code indent should never use tabs #1415: FILE: tools/virtiofsd/fuse_common.h:114: +^I/**$ ERROR: code indent should never use tabs #1416: FILE: tools/virtiofsd/fuse_common.h:115: +^I * The maximum number of available worker threads before they$ ERROR: code indent should never use tabs #1417: FILE: tools/virtiofsd/fuse_common.h:116: +^I * start to get deleted when they become idle. If not$ ERROR: code indent should never use tabs #1418: FILE: tools/virtiofsd/fuse_common.h:117: +^I * specified, the default is 10.$ ERROR: code indent should never use tabs #1419: FILE: tools/virtiofsd/fuse_common.h:118: +^I *$ ERROR: code indent should never use tabs #1420: FILE: tools/virtiofsd/fuse_common.h:119: +^I * Adjusting this has performance implications; a very small number$ ERROR: code indent should never use tabs #1421: FILE: tools/virtiofsd/fuse_common.h:120: +^I * of threads in the pool will cause a lot of thread creation and$ ERROR: code indent should never use tabs #1422: FILE: tools/virtiofsd/fuse_common.h:121: +^I * deletion overhead and performance may suffer. When set to 0, a new$ ERROR: code indent should never use tabs #1423: FILE: tools/virtiofsd/fuse_common.h:122: +^I * thread will be created to service every operation.$ ERROR: code indent should never use tabs #1424: FILE: tools/virtiofsd/fuse_common.h:123: +^I */$ ERROR: code indent should never use tabs #1425: FILE: tools/virtiofsd/fuse_common.h:124: +^Iunsigned int max_idle_threads;$ WARNING: Block comments use a leading /* on a separate line #1428: FILE: tools/virtiofsd/fuse_common.h:127: +/************************************************************************** ERROR: code indent should never use tabs #1442: FILE: tools/virtiofsd/fuse_common.h:141: +#define FUSE_CAP_ASYNC_READ^I^I(1 << 0)$ ERROR: code indent should never use tabs #1450: FILE: tools/virtiofsd/fuse_common.h:149: +#define FUSE_CAP_POSIX_LOCKS^I^I(1 << 1)$ ERROR: code indent should never use tabs #1459: FILE: tools/virtiofsd/fuse_common.h:158: +#define FUSE_CAP_ATOMIC_O_TRUNC^I^I(1 << 3)$ ERROR: code indent should never use tabs #1466: FILE: tools/virtiofsd/fuse_common.h:165: +#define FUSE_CAP_EXPORT_SUPPORT^I^I(1 << 4)$ ERROR: code indent should never use tabs #1474: FILE: tools/virtiofsd/fuse_common.h:173: +#define FUSE_CAP_DONT_MASK^I^I(1 << 6)$ ERROR: code indent should never use tabs #1482: FILE: tools/virtiofsd/fuse_common.h:181: +#define FUSE_CAP_SPLICE_WRITE^I^I(1 << 7)$ ERROR: code indent should never use tabs #1490: FILE: tools/virtiofsd/fuse_common.h:189: +#define FUSE_CAP_SPLICE_MOVE^I^I(1 << 8)$ ERROR: code indent should never use tabs #1499: FILE: tools/virtiofsd/fuse_common.h:198: +#define FUSE_CAP_SPLICE_READ^I^I(1 << 9)$ ERROR: code indent should never use tabs #1512: FILE: tools/virtiofsd/fuse_common.h:211: +#define FUSE_CAP_FLOCK_LOCKS^I^I(1 << 10)$ ERROR: code indent should never use tabs #1519: FILE: tools/virtiofsd/fuse_common.h:218: +#define FUSE_CAP_IOCTL_DIR^I^I(1 << 11)$ ERROR: code indent should never use tabs #1541: FILE: tools/virtiofsd/fuse_common.h:240: +#define FUSE_CAP_AUTO_INVAL_DATA^I(1 << 12)$ ERROR: code indent should never use tabs #1549: FILE: tools/virtiofsd/fuse_common.h:248: +#define FUSE_CAP_READDIRPLUS^I^I(1 << 13)$ ERROR: code indent should never use tabs #1577: FILE: tools/virtiofsd/fuse_common.h:276: +#define FUSE_CAP_READDIRPLUS_AUTO^I(1 << 14)$ ERROR: code indent should never use tabs #1588: FILE: tools/virtiofsd/fuse_common.h:287: +#define FUSE_CAP_ASYNC_DIO^I^I(1 << 15)$ ERROR: code indent should never use tabs #1597: FILE: tools/virtiofsd/fuse_common.h:296: +#define FUSE_CAP_WRITEBACK_CACHE^I(1 << 16)$ ERROR: code indent should never use tabs #1610: FILE: tools/virtiofsd/fuse_common.h:309: +#define FUSE_CAP_NO_OPEN_SUPPORT^I(1 << 17)$ ERROR: code indent should never use tabs #1672: FILE: tools/virtiofsd/fuse_common.h:371: +#define FUSE_IOCTL_COMPAT^I(1 << 0)$ ERROR: code indent should never use tabs #1673: FILE: tools/virtiofsd/fuse_common.h:372: +#define FUSE_IOCTL_UNRESTRICTED^I(1 << 1)$ ERROR: code indent should never use tabs #1674: FILE: tools/virtiofsd/fuse_common.h:373: +#define FUSE_IOCTL_RETRY^I(1 << 2)$ ERROR: code indent should never use tabs #1675: FILE: tools/virtiofsd/fuse_common.h:374: +#define FUSE_IOCTL_DIR^I^I(1 << 4)$ ERROR: code indent should never use tabs #1677: FILE: tools/virtiofsd/fuse_common.h:376: +#define FUSE_IOCTL_MAX_IOV^I256$ ERROR: code indent should never use tabs #1687: FILE: tools/virtiofsd/fuse_common.h:386: +^I/**$ ERROR: code indent should never use tabs #1688: FILE: tools/virtiofsd/fuse_common.h:387: +^I * Major version of the protocol (read-only)$ ERROR: code indent should never use tabs #1689: FILE: tools/virtiofsd/fuse_common.h:388: +^I */$ ERROR: code indent should never use tabs #1690: FILE: tools/virtiofsd/fuse_common.h:389: +^Iunsigned proto_major;$ ERROR: code indent should never use tabs #1692: FILE: tools/virtiofsd/fuse_common.h:391: +^I/**$ ERROR: code indent should never use tabs #1693: FILE: tools/virtiofsd/fuse_common.h:392: +^I * Minor version of the protocol (read-only)$ ERROR: code indent should never use tabs #1694: FILE: tools/virtiofsd/fuse_common.h:393: +^I */$ ERROR: code indent should never use tabs #1695: FILE: tools/virtiofsd/fuse_common.h:394: +^Iunsigned proto_minor;$ ERROR: code indent should never use tabs #1697: FILE: tools/virtiofsd/fuse_common.h:396: +^I/**$ ERROR: code indent should never use tabs #1698: FILE: tools/virtiofsd/fuse_common.h:397: +^I * Maximum size of the write buffer$ ERROR: code indent should never use tabs #1699: FILE: tools/virtiofsd/fuse_common.h:398: +^I */$ ERROR: code indent should never use tabs #1700: FILE: tools/virtiofsd/fuse_common.h:399: +^Iunsigned max_write;$ ERROR: code indent should never use tabs #1702: FILE: tools/virtiofsd/fuse_common.h:401: +^I/**$ ERROR: code indent should never use tabs #1703: FILE: tools/virtiofsd/fuse_common.h:402: +^I * Maximum size of read requests. A value of zero indicates no$ ERROR: code indent should never use tabs #1704: FILE: tools/virtiofsd/fuse_common.h:403: +^I * limit. However, even if the filesystem does not specify a$ ERROR: code indent should never use tabs #1705: FILE: tools/virtiofsd/fuse_common.h:404: +^I * limit, the maximum size of read requests will still be$ ERROR: code indent should never use tabs #1706: FILE: tools/virtiofsd/fuse_common.h:405: +^I * limited by the kernel.$ ERROR: code indent should never use tabs #1707: FILE: tools/virtiofsd/fuse_common.h:406: +^I *$ ERROR: code indent should never use tabs #1708: FILE: tools/virtiofsd/fuse_common.h:407: +^I * NOTE: For the time being, the maximum size of read requests$ ERROR: code indent should never use tabs #1709: FILE: tools/virtiofsd/fuse_common.h:408: +^I * must be set both here *and* passed to fuse_session_new()$ ERROR: code indent should never use tabs #1710: FILE: tools/virtiofsd/fuse_common.h:409: +^I * using the ``-o max_read=<n>`` mount option. At some point$ ERROR: code indent should never use tabs #1711: FILE: tools/virtiofsd/fuse_common.h:410: +^I * in the future, specifying the mount option will no longer$ ERROR: code indent should never use tabs #1712: FILE: tools/virtiofsd/fuse_common.h:411: +^I * be necessary.$ ERROR: code indent should never use tabs #1713: FILE: tools/virtiofsd/fuse_common.h:412: +^I */$ ERROR: code indent should never use tabs #1714: FILE: tools/virtiofsd/fuse_common.h:413: +^Iunsigned max_read;$ ERROR: code indent should never use tabs #1716: FILE: tools/virtiofsd/fuse_common.h:415: +^I/**$ ERROR: code indent should never use tabs #1717: FILE: tools/virtiofsd/fuse_common.h:416: +^I * Maximum readahead$ ERROR: code indent should never use tabs #1718: FILE: tools/virtiofsd/fuse_common.h:417: +^I */$ ERROR: code indent should never use tabs #1719: FILE: tools/virtiofsd/fuse_common.h:418: +^Iunsigned max_readahead;$ ERROR: code indent should never use tabs #1721: FILE: tools/virtiofsd/fuse_common.h:420: +^I/**$ ERROR: code indent should never use tabs #1722: FILE: tools/virtiofsd/fuse_common.h:421: +^I * Capability flags that the kernel supports (read-only)$ ERROR: code indent should never use tabs #1723: FILE: tools/virtiofsd/fuse_common.h:422: +^I */$ ERROR: code indent should never use tabs #1724: FILE: tools/virtiofsd/fuse_common.h:423: +^Iunsigned capable;$ ERROR: code indent should never use tabs #1726: FILE: tools/virtiofsd/fuse_common.h:425: +^I/**$ ERROR: code indent should never use tabs #1727: FILE: tools/virtiofsd/fuse_common.h:426: +^I * Capability flags that the filesystem wants to enable.$ ERROR: code indent should never use tabs #1728: FILE: tools/virtiofsd/fuse_common.h:427: +^I *$ ERROR: code indent should never use tabs #1729: FILE: tools/virtiofsd/fuse_common.h:428: +^I * libfuse attempts to initialize this field with$ ERROR: code indent should never use tabs #1730: FILE: tools/virtiofsd/fuse_common.h:429: +^I * reasonable default values before calling the init() handler.$ ERROR: code indent should never use tabs #1731: FILE: tools/virtiofsd/fuse_common.h:430: +^I */$ ERROR: code indent should never use tabs #1732: FILE: tools/virtiofsd/fuse_common.h:431: +^Iunsigned want;$ ERROR: code indent should never use tabs #1734: FILE: tools/virtiofsd/fuse_common.h:433: +^I/**$ ERROR: code indent should never use tabs #1735: FILE: tools/virtiofsd/fuse_common.h:434: +^I * Maximum number of pending "background" requests. A$ ERROR: code indent should never use tabs #1736: FILE: tools/virtiofsd/fuse_common.h:435: +^I * background request is any type of request for which the$ ERROR: code indent should never use tabs #1737: FILE: tools/virtiofsd/fuse_common.h:436: +^I * total number is not limited by other means. As of kernel$ ERROR: code indent should never use tabs #1738: FILE: tools/virtiofsd/fuse_common.h:437: +^I * 4.8, only two types of requests fall into this category:$ ERROR: code indent should never use tabs #1739: FILE: tools/virtiofsd/fuse_common.h:438: +^I *$ ERROR: code indent should never use tabs #1740: FILE: tools/virtiofsd/fuse_common.h:439: +^I * 1. Read-ahead requests$ ERROR: code indent should never use tabs #1741: FILE: tools/virtiofsd/fuse_common.h:440: +^I * 2. Asynchronous direct I/O requests$ ERROR: code indent should never use tabs #1742: FILE: tools/virtiofsd/fuse_common.h:441: +^I *$ ERROR: code indent should never use tabs #1743: FILE: tools/virtiofsd/fuse_common.h:442: +^I * Read-ahead requests are generated (if max_readahead is$ ERROR: code indent should never use tabs #1744: FILE: tools/virtiofsd/fuse_common.h:443: +^I * non-zero) by the kernel to preemptively fill its caches$ ERROR: code indent should never use tabs #1745: FILE: tools/virtiofsd/fuse_common.h:444: +^I * when it anticipates that userspace will soon read more$ ERROR: code indent should never use tabs #1746: FILE: tools/virtiofsd/fuse_common.h:445: +^I * data.$ ERROR: code indent should never use tabs #1747: FILE: tools/virtiofsd/fuse_common.h:446: +^I *$ ERROR: code indent should never use tabs #1748: FILE: tools/virtiofsd/fuse_common.h:447: +^I * Asynchronous direct I/O requests are generated if$ ERROR: code indent should never use tabs #1749: FILE: tools/virtiofsd/fuse_common.h:448: +^I * FUSE_CAP_ASYNC_DIO is enabled and userspace submits a large$ ERROR: code indent should never use tabs #1750: FILE: tools/virtiofsd/fuse_common.h:449: +^I * direct I/O request. In this case the kernel will internally$ ERROR: code indent should never use tabs #1751: FILE: tools/virtiofsd/fuse_common.h:450: +^I * split it up into multiple smaller requests and submit them$ ERROR: code indent should never use tabs #1752: FILE: tools/virtiofsd/fuse_common.h:451: +^I * to the filesystem concurrently.$ ERROR: code indent should never use tabs #1753: FILE: tools/virtiofsd/fuse_common.h:452: +^I *$ ERROR: code indent should never use tabs #1754: FILE: tools/virtiofsd/fuse_common.h:453: +^I * Note that the following requests are *not* background$ ERROR: code indent should never use tabs #1755: FILE: tools/virtiofsd/fuse_common.h:454: +^I * requests: writeback requests (limited by the kernel's$ ERROR: code indent should never use tabs #1756: FILE: tools/virtiofsd/fuse_common.h:455: +^I * flusher algorithm), regular (i.e., synchronous and$ ERROR: code indent should never use tabs #1757: FILE: tools/virtiofsd/fuse_common.h:456: +^I * buffered) userspace read/write requests (limited to one per$ ERROR: code indent should never use tabs #1758: FILE: tools/virtiofsd/fuse_common.h:457: +^I * thread), asynchronous read requests (Linux's io_submit(2)$ ERROR: code indent should never use tabs #1759: FILE: tools/virtiofsd/fuse_common.h:458: +^I * call actually blocks, so these are also limited to one per$ ERROR: code indent should never use tabs #1760: FILE: tools/virtiofsd/fuse_common.h:459: +^I * thread).$ ERROR: code indent should never use tabs #1761: FILE: tools/virtiofsd/fuse_common.h:460: +^I */$ ERROR: code indent should never use tabs #1762: FILE: tools/virtiofsd/fuse_common.h:461: +^Iunsigned max_background;$ ERROR: code indent should never use tabs #1764: FILE: tools/virtiofsd/fuse_common.h:463: +^I/**$ ERROR: code indent should never use tabs #1765: FILE: tools/virtiofsd/fuse_common.h:464: +^I * Kernel congestion threshold parameter. If the number of pending$ ERROR: code indent should never use tabs #1766: FILE: tools/virtiofsd/fuse_common.h:465: +^I * background requests exceeds this number, the FUSE kernel module will$ ERROR: code indent should never use tabs #1767: FILE: tools/virtiofsd/fuse_common.h:466: +^I * mark the filesystem as "congested". This instructs the kernel to$ ERROR: code indent should never use tabs #1768: FILE: tools/virtiofsd/fuse_common.h:467: +^I * expect that queued requests will take some time to complete, and to$ ERROR: code indent should never use tabs #1769: FILE: tools/virtiofsd/fuse_common.h:468: +^I * adjust its algorithms accordingly (e.g. by putting a waiting thread$ ERROR: code indent should never use tabs #1770: FILE: tools/virtiofsd/fuse_common.h:469: +^I * to sleep instead of using a busy-loop).$ ERROR: code indent should never use tabs #1771: FILE: tools/virtiofsd/fuse_common.h:470: +^I */$ ERROR: code indent should never use tabs #1772: FILE: tools/virtiofsd/fuse_common.h:471: +^Iunsigned congestion_threshold;$ ERROR: code indent should never use tabs #1774: FILE: tools/virtiofsd/fuse_common.h:473: +^I/**$ ERROR: code indent should never use tabs #1775: FILE: tools/virtiofsd/fuse_common.h:474: +^I * When FUSE_CAP_WRITEBACK_CACHE is enabled, the kernel is responsible$ ERROR: code indent should never use tabs #1776: FILE: tools/virtiofsd/fuse_common.h:475: +^I * for updating mtime and ctime when write requests are received. The$ ERROR: code indent should never use tabs #1777: FILE: tools/virtiofsd/fuse_common.h:476: +^I * updated values are passed to the filesystem with setattr() requests.$ ERROR: code indent should never use tabs #1778: FILE: tools/virtiofsd/fuse_common.h:477: +^I * However, if the filesystem does not support the full resolution of$ ERROR: code indent should never use tabs #1779: FILE: tools/virtiofsd/fuse_common.h:478: +^I * the kernel timestamps (nanoseconds), the mtime and ctime values used$ ERROR: code indent should never use tabs #1780: FILE: tools/virtiofsd/fuse_common.h:479: +^I * by kernel and filesystem will differ (and result in an apparent$ ERROR: code indent should never use tabs #1781: FILE: tools/virtiofsd/fuse_common.h:480: +^I * change of times after a cache flush).$ ERROR: code indent should never use tabs #1782: FILE: tools/virtiofsd/fuse_common.h:481: +^I *$ ERROR: code indent should never use tabs #1783: FILE: tools/virtiofsd/fuse_common.h:482: +^I * To prevent this problem, this variable can be used to inform the$ ERROR: code indent should never use tabs #1784: FILE: tools/virtiofsd/fuse_common.h:483: +^I * kernel about the timestamp granularity supported by the file-system.$ ERROR: code indent should never use tabs #1785: FILE: tools/virtiofsd/fuse_common.h:484: +^I * The value should be power of 10. The default is 1, i.e. full$ ERROR: code indent should never use tabs #1786: FILE: tools/virtiofsd/fuse_common.h:485: +^I * nano-second resolution. Filesystems supporting only second resolution$ ERROR: code indent should never use tabs #1787: FILE: tools/virtiofsd/fuse_common.h:486: +^I * should set this to 1000000000.$ ERROR: code indent should never use tabs #1788: FILE: tools/virtiofsd/fuse_common.h:487: +^I */$ ERROR: code indent should never use tabs #1789: FILE: tools/virtiofsd/fuse_common.h:488: +^Iunsigned time_gran;$ ERROR: code indent should never use tabs #1791: FILE: tools/virtiofsd/fuse_common.h:490: +^I/**$ ERROR: code indent should never use tabs #1792: FILE: tools/virtiofsd/fuse_common.h:491: +^I * For future use.$ ERROR: code indent should never use tabs #1793: FILE: tools/virtiofsd/fuse_common.h:492: +^I */$ ERROR: code indent should never use tabs #1794: FILE: tools/virtiofsd/fuse_common.h:493: +^Iunsigned reserved[22];$ WARNING: line over 80 characters #1821: FILE: tools/virtiofsd/fuse_common.h:520: + * -o no_remote_lock Equivalent to -o no_remote_flock,no_remote_posix_lock ERROR: "foo* bar" should be "foo *bar" #1843: FILE: tools/virtiofsd/fuse_common.h:542: +struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args); ERROR: code indent should never use tabs #1853: FILE: tools/virtiofsd/fuse_common.h:552: +^I^I^I struct fuse_conn_info *conn);$ WARNING: Block comments use a leading /* on a separate line #1884: FILE: tools/virtiofsd/fuse_common.h:583: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #1885: FILE: tools/virtiofsd/fuse_common.h:584: + * Data buffer^I^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #1886: FILE: tools/virtiofsd/fuse_common.h:585: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #1892: FILE: tools/virtiofsd/fuse_common.h:591: +^I/**$ ERROR: code indent should never use tabs #1893: FILE: tools/virtiofsd/fuse_common.h:592: +^I * Buffer contains a file descriptor$ ERROR: code indent should never use tabs #1894: FILE: tools/virtiofsd/fuse_common.h:593: +^I *$ ERROR: code indent should never use tabs #1895: FILE: tools/virtiofsd/fuse_common.h:594: +^I * If this flag is set, the .fd field is valid, otherwise the$ ERROR: code indent should never use tabs #1896: FILE: tools/virtiofsd/fuse_common.h:595: +^I * .mem fields is valid.$ ERROR: code indent should never use tabs #1897: FILE: tools/virtiofsd/fuse_common.h:596: +^I */$ ERROR: code indent should never use tabs #1898: FILE: tools/virtiofsd/fuse_common.h:597: +^IFUSE_BUF_IS_FD^I^I= (1 << 1),$ ERROR: code indent should never use tabs #1900: FILE: tools/virtiofsd/fuse_common.h:599: +^I/**$ ERROR: code indent should never use tabs #1901: FILE: tools/virtiofsd/fuse_common.h:600: +^I * Seek on the file descriptor$ ERROR: code indent should never use tabs #1902: FILE: tools/virtiofsd/fuse_common.h:601: +^I *$ ERROR: code indent should never use tabs #1903: FILE: tools/virtiofsd/fuse_common.h:602: +^I * If this flag is set then the .pos field is valid and is$ ERROR: code indent should never use tabs #1904: FILE: tools/virtiofsd/fuse_common.h:603: +^I * used to seek to the given offset before performing$ ERROR: code indent should never use tabs #1905: FILE: tools/virtiofsd/fuse_common.h:604: +^I * operation on file descriptor.$ ERROR: code indent should never use tabs #1906: FILE: tools/virtiofsd/fuse_common.h:605: +^I */$ ERROR: code indent should never use tabs #1907: FILE: tools/virtiofsd/fuse_common.h:606: +^IFUSE_BUF_FD_SEEK^I= (1 << 2),$ ERROR: code indent should never use tabs #1909: FILE: tools/virtiofsd/fuse_common.h:608: +^I/**$ ERROR: code indent should never use tabs #1910: FILE: tools/virtiofsd/fuse_common.h:609: +^I * Retry operation on file descriptor$ ERROR: code indent should never use tabs #1911: FILE: tools/virtiofsd/fuse_common.h:610: +^I *$ ERROR: code indent should never use tabs #1912: FILE: tools/virtiofsd/fuse_common.h:611: +^I * If this flag is set then retry operation on file descriptor$ ERROR: code indent should never use tabs #1913: FILE: tools/virtiofsd/fuse_common.h:612: +^I * until .size bytes have been copied or an error or EOF is$ ERROR: code indent should never use tabs #1914: FILE: tools/virtiofsd/fuse_common.h:613: +^I * detected.$ ERROR: code indent should never use tabs #1915: FILE: tools/virtiofsd/fuse_common.h:614: +^I */$ ERROR: code indent should never use tabs #1916: FILE: tools/virtiofsd/fuse_common.h:615: +^IFUSE_BUF_FD_RETRY^I= (1 << 3),$ ERROR: code indent should never use tabs #1923: FILE: tools/virtiofsd/fuse_common.h:622: +^I/**$ ERROR: code indent should never use tabs #1924: FILE: tools/virtiofsd/fuse_common.h:623: +^I * Don't use splice(2)$ ERROR: code indent should never use tabs #1925: FILE: tools/virtiofsd/fuse_common.h:624: +^I *$ ERROR: code indent should never use tabs #1926: FILE: tools/virtiofsd/fuse_common.h:625: +^I * Always fall back to using read and write instead of$ ERROR: code indent should never use tabs #1927: FILE: tools/virtiofsd/fuse_common.h:626: +^I * splice(2) to copy data from one file descriptor to another.$ ERROR: code indent should never use tabs #1928: FILE: tools/virtiofsd/fuse_common.h:627: +^I *$ ERROR: code indent should never use tabs #1929: FILE: tools/virtiofsd/fuse_common.h:628: +^I * If this flag is not set, then only fall back if splice is$ ERROR: code indent should never use tabs #1930: FILE: tools/virtiofsd/fuse_common.h:629: +^I * unavailable.$ ERROR: code indent should never use tabs #1931: FILE: tools/virtiofsd/fuse_common.h:630: +^I */$ ERROR: code indent should never use tabs #1932: FILE: tools/virtiofsd/fuse_common.h:631: +^IFUSE_BUF_NO_SPLICE^I= (1 << 1),$ ERROR: code indent should never use tabs #1934: FILE: tools/virtiofsd/fuse_common.h:633: +^I/**$ ERROR: code indent should never use tabs #1935: FILE: tools/virtiofsd/fuse_common.h:634: +^I * Force splice$ ERROR: code indent should never use tabs #1936: FILE: tools/virtiofsd/fuse_common.h:635: +^I *$ ERROR: code indent should never use tabs #1937: FILE: tools/virtiofsd/fuse_common.h:636: +^I * Always use splice(2) to copy data from one file descriptor$ ERROR: code indent should never use tabs #1938: FILE: tools/virtiofsd/fuse_common.h:637: +^I * to another. If splice is not available, return -EINVAL.$ ERROR: code indent should never use tabs #1939: FILE: tools/virtiofsd/fuse_common.h:638: +^I */$ ERROR: code indent should never use tabs #1940: FILE: tools/virtiofsd/fuse_common.h:639: +^IFUSE_BUF_FORCE_SPLICE^I= (1 << 2),$ ERROR: code indent should never use tabs #1942: FILE: tools/virtiofsd/fuse_common.h:641: +^I/**$ ERROR: code indent should never use tabs #1943: FILE: tools/virtiofsd/fuse_common.h:642: +^I * Try to move data with splice.$ ERROR: code indent should never use tabs #1944: FILE: tools/virtiofsd/fuse_common.h:643: +^I *$ ERROR: code indent should never use tabs #1945: FILE: tools/virtiofsd/fuse_common.h:644: +^I * If splice is used, try to move pages from the source to the$ ERROR: code indent should never use tabs #1946: FILE: tools/virtiofsd/fuse_common.h:645: +^I * destination instead of copying. See documentation of$ ERROR: code indent should never use tabs #1947: FILE: tools/virtiofsd/fuse_common.h:646: +^I * SPLICE_F_MOVE in splice(2) man page.$ ERROR: code indent should never use tabs #1948: FILE: tools/virtiofsd/fuse_common.h:647: +^I */$ ERROR: code indent should never use tabs #1949: FILE: tools/virtiofsd/fuse_common.h:648: +^IFUSE_BUF_SPLICE_MOVE^I= (1 << 3),$ ERROR: code indent should never use tabs #1951: FILE: tools/virtiofsd/fuse_common.h:650: +^I/**$ ERROR: code indent should never use tabs #1952: FILE: tools/virtiofsd/fuse_common.h:651: +^I * Don't block on the pipe when copying data with splice$ ERROR: code indent should never use tabs #1953: FILE: tools/virtiofsd/fuse_common.h:652: +^I *$ ERROR: code indent should never use tabs #1954: FILE: tools/virtiofsd/fuse_common.h:653: +^I * Makes the operations on the pipe non-blocking (if the pipe$ ERROR: code indent should never use tabs #1955: FILE: tools/virtiofsd/fuse_common.h:654: +^I * is full or empty). See SPLICE_F_NONBLOCK in the splice(2)$ ERROR: code indent should never use tabs #1956: FILE: tools/virtiofsd/fuse_common.h:655: +^I * man page.$ ERROR: code indent should never use tabs #1957: FILE: tools/virtiofsd/fuse_common.h:656: +^I */$ ERROR: code indent should never use tabs #1958: FILE: tools/virtiofsd/fuse_common.h:657: +^IFUSE_BUF_SPLICE_NONBLOCK= (1 << 4),$ ERROR: spaces required around that '=' (ctx:VxW) #1958: FILE: tools/virtiofsd/fuse_common.h:657: + FUSE_BUF_SPLICE_NONBLOCK= (1 << 4), ^ ERROR: code indent should never use tabs #1968: FILE: tools/virtiofsd/fuse_common.h:667: +^I/**$ ERROR: code indent should never use tabs #1969: FILE: tools/virtiofsd/fuse_common.h:668: +^I * Size of data in bytes$ ERROR: code indent should never use tabs #1970: FILE: tools/virtiofsd/fuse_common.h:669: +^I */$ ERROR: code indent should never use tabs #1971: FILE: tools/virtiofsd/fuse_common.h:670: +^Isize_t size;$ ERROR: code indent should never use tabs #1973: FILE: tools/virtiofsd/fuse_common.h:672: +^I/**$ ERROR: code indent should never use tabs #1974: FILE: tools/virtiofsd/fuse_common.h:673: +^I * Buffer flags$ ERROR: code indent should never use tabs #1975: FILE: tools/virtiofsd/fuse_common.h:674: +^I */$ ERROR: code indent should never use tabs #1976: FILE: tools/virtiofsd/fuse_common.h:675: +^Ienum fuse_buf_flags flags;$ ERROR: code indent should never use tabs #1978: FILE: tools/virtiofsd/fuse_common.h:677: +^I/**$ ERROR: code indent should never use tabs #1979: FILE: tools/virtiofsd/fuse_common.h:678: +^I * Memory pointer$ ERROR: code indent should never use tabs #1980: FILE: tools/virtiofsd/fuse_common.h:679: +^I *$ ERROR: code indent should never use tabs #1981: FILE: tools/virtiofsd/fuse_common.h:680: +^I * Used unless FUSE_BUF_IS_FD flag is set.$ ERROR: code indent should never use tabs #1982: FILE: tools/virtiofsd/fuse_common.h:681: +^I */$ ERROR: code indent should never use tabs #1983: FILE: tools/virtiofsd/fuse_common.h:682: +^Ivoid *mem;$ ERROR: code indent should never use tabs #1985: FILE: tools/virtiofsd/fuse_common.h:684: +^I/**$ ERROR: code indent should never use tabs #1986: FILE: tools/virtiofsd/fuse_common.h:685: +^I * File descriptor$ ERROR: code indent should never use tabs #1987: FILE: tools/virtiofsd/fuse_common.h:686: +^I *$ ERROR: code indent should never use tabs #1988: FILE: tools/virtiofsd/fuse_common.h:687: +^I * Used if FUSE_BUF_IS_FD flag is set.$ ERROR: code indent should never use tabs #1989: FILE: tools/virtiofsd/fuse_common.h:688: +^I */$ ERROR: code indent should never use tabs #1990: FILE: tools/virtiofsd/fuse_common.h:689: +^Iint fd;$ ERROR: code indent should never use tabs #1992: FILE: tools/virtiofsd/fuse_common.h:691: +^I/**$ ERROR: code indent should never use tabs #1993: FILE: tools/virtiofsd/fuse_common.h:692: +^I * File position$ ERROR: code indent should never use tabs #1994: FILE: tools/virtiofsd/fuse_common.h:693: +^I *$ ERROR: code indent should never use tabs #1995: FILE: tools/virtiofsd/fuse_common.h:694: +^I * Used if FUSE_BUF_FD_SEEK flag is set.$ ERROR: code indent should never use tabs #1996: FILE: tools/virtiofsd/fuse_common.h:695: +^I */$ ERROR: code indent should never use tabs #1997: FILE: tools/virtiofsd/fuse_common.h:696: +^Ioff_t pos;$ ERROR: code indent should never use tabs #2009: FILE: tools/virtiofsd/fuse_common.h:708: +^I/**$ ERROR: code indent should never use tabs #2010: FILE: tools/virtiofsd/fuse_common.h:709: +^I * Number of buffers in the array$ ERROR: code indent should never use tabs #2011: FILE: tools/virtiofsd/fuse_common.h:710: +^I */$ ERROR: code indent should never use tabs #2012: FILE: tools/virtiofsd/fuse_common.h:711: +^Isize_t count;$ ERROR: code indent should never use tabs #2014: FILE: tools/virtiofsd/fuse_common.h:713: +^I/**$ ERROR: code indent should never use tabs #2015: FILE: tools/virtiofsd/fuse_common.h:714: +^I * Index of current buffer within the array$ ERROR: code indent should never use tabs #2016: FILE: tools/virtiofsd/fuse_common.h:715: +^I */$ ERROR: code indent should never use tabs #2017: FILE: tools/virtiofsd/fuse_common.h:716: +^Isize_t idx;$ ERROR: code indent should never use tabs #2019: FILE: tools/virtiofsd/fuse_common.h:718: +^I/**$ ERROR: code indent should never use tabs #2020: FILE: tools/virtiofsd/fuse_common.h:719: +^I * Current offset within the current buffer$ ERROR: code indent should never use tabs #2021: FILE: tools/virtiofsd/fuse_common.h:720: +^I */$ ERROR: code indent should never use tabs #2022: FILE: tools/virtiofsd/fuse_common.h:721: +^Isize_t off;$ ERROR: code indent should never use tabs #2024: FILE: tools/virtiofsd/fuse_common.h:723: +^I/**$ ERROR: code indent should never use tabs #2025: FILE: tools/virtiofsd/fuse_common.h:724: +^I * Array of buffers$ ERROR: code indent should never use tabs #2026: FILE: tools/virtiofsd/fuse_common.h:725: +^I */$ ERROR: code indent should never use tabs #2027: FILE: tools/virtiofsd/fuse_common.h:726: +^Istruct fuse_buf buf[1];$ ERROR: code indent should never use tabs #2031: FILE: tools/virtiofsd/fuse_common.h:730: +#define FUSE_BUFVEC_INIT(size__)^I^I^I^I\$ ERROR: code indent should never use tabs #2032: FILE: tools/virtiofsd/fuse_common.h:731: +^I((struct fuse_bufvec) {^I^I^I^I^I\$ ERROR: code indent should never use tabs #2033: FILE: tools/virtiofsd/fuse_common.h:732: +^I^I/* .count= */ 1,^I^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2033: FILE: tools/virtiofsd/fuse_common.h:732: + /* .count= */ 1, \ ERROR: code indent should never use tabs #2034: FILE: tools/virtiofsd/fuse_common.h:733: +^I^I/* .idx = */ 0,^I^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2034: FILE: tools/virtiofsd/fuse_common.h:733: + /* .idx = */ 0, \ ERROR: code indent should never use tabs #2035: FILE: tools/virtiofsd/fuse_common.h:734: +^I^I/* .off = */ 0,^I^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2035: FILE: tools/virtiofsd/fuse_common.h:734: + /* .off = */ 0, \ ERROR: code indent should never use tabs #2036: FILE: tools/virtiofsd/fuse_common.h:735: +^I^I/* .buf = */ { /* [0] = */ {^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2036: FILE: tools/virtiofsd/fuse_common.h:735: + /* .buf = */ { /* [0] = */ { \ ERROR: code indent should never use tabs #2037: FILE: tools/virtiofsd/fuse_common.h:736: +^I^I^I/* .size = */ (size__),^I^I\$ WARNING: Block comments use a leading /* on a separate line #2037: FILE: tools/virtiofsd/fuse_common.h:736: + /* .size = */ (size__), \ ERROR: code indent should never use tabs #2038: FILE: tools/virtiofsd/fuse_common.h:737: +^I^I^I/* .flags = */ (enum fuse_buf_flags) 0,^I\$ WARNING: Block comments use a leading /* on a separate line #2038: FILE: tools/virtiofsd/fuse_common.h:737: + /* .flags = */ (enum fuse_buf_flags) 0, \ ERROR: code indent should never use tabs #2039: FILE: tools/virtiofsd/fuse_common.h:738: +^I^I^I/* .mem = */ NULL,^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2039: FILE: tools/virtiofsd/fuse_common.h:738: + /* .mem = */ NULL, \ ERROR: code indent should never use tabs #2040: FILE: tools/virtiofsd/fuse_common.h:739: +^I^I^I/* .fd = */ -1,^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2040: FILE: tools/virtiofsd/fuse_common.h:739: + /* .fd = */ -1, \ ERROR: code indent should never use tabs #2041: FILE: tools/virtiofsd/fuse_common.h:740: +^I^I^I/* .pos = */ 0,^I^I^I\$ WARNING: Block comments use a leading /* on a separate line #2041: FILE: tools/virtiofsd/fuse_common.h:740: + /* .pos = */ 0, \ ERROR: code indent should never use tabs #2042: FILE: tools/virtiofsd/fuse_common.h:741: +^I^I} }^I^I^I^I^I^I\$ ERROR: code indent should never use tabs #2043: FILE: tools/virtiofsd/fuse_common.h:742: +^I} )$ ERROR: space prohibited before that close parenthesis ')' #2043: FILE: tools/virtiofsd/fuse_common.h:742: + } ) ERROR: code indent should never use tabs #2062: FILE: tools/virtiofsd/fuse_common.h:761: +^I^I enum fuse_buf_copy_flags flags);$ WARNING: Block comments use a leading /* on a separate line #2064: FILE: tools/virtiofsd/fuse_common.h:763: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #2065: FILE: tools/virtiofsd/fuse_common.h:764: + * Signal handling^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #2066: FILE: tools/virtiofsd/fuse_common.h:765: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #2071: FILE: tools/virtiofsd/fuse_common.h:770: + * Stores session in a global variable.^I May only be called once per$ WARNING: Block comments use a leading /* on a separate line #2098: FILE: tools/virtiofsd/fuse_common.h:797: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #2099: FILE: tools/virtiofsd/fuse_common.h:798: + * Compatibility stuff^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #2100: FILE: tools/virtiofsd/fuse_common.h:799: + * ----------------------------------------------------------- */ WARNING: architecture specific defines should be avoided #2106: FILE: tools/virtiofsd/fuse_common.h:805: +#ifdef __cplusplus ERROR: line over 90 characters #2117: FILE: tools/virtiofsd/fuse_common.h:816: +#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus WARNING: architecture specific defines should be avoided #2117: FILE: tools/virtiofsd/fuse_common.h:816: +#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus ERROR: code indent should never use tabs #2121: FILE: tools/virtiofsd/fuse_common.h:820: +^I{ unsigned _fuse_off_t_must_be_64bit:((sizeof(off_t) == 8) ? 1 : -1); };$ WARNING: Block comments use * on subsequent lines #2132: FILE: tools/virtiofsd/fuse_i.h:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #2145: FILE: tools/virtiofsd/fuse_i.h:15: +^Istruct fuse_session *se;$ ERROR: code indent should never use tabs #2146: FILE: tools/virtiofsd/fuse_i.h:16: +^Iuint64_t unique;$ ERROR: code indent should never use tabs #2147: FILE: tools/virtiofsd/fuse_i.h:17: +^Iint ctr;$ ERROR: code indent should never use tabs #2148: FILE: tools/virtiofsd/fuse_i.h:18: +^Ipthread_mutex_t lock;$ ERROR: code indent should never use tabs #2149: FILE: tools/virtiofsd/fuse_i.h:19: +^Istruct fuse_ctx ctx;$ ERROR: code indent should never use tabs #2150: FILE: tools/virtiofsd/fuse_i.h:20: +^Istruct fuse_chan *ch;$ ERROR: code indent should never use tabs #2151: FILE: tools/virtiofsd/fuse_i.h:21: +^Iint interrupted;$ ERROR: code indent should never use tabs #2152: FILE: tools/virtiofsd/fuse_i.h:22: +^Iunsigned int ioctl_64bit : 1;$ ERROR: spaces prohibited around that ':' (ctx:WxW) #2152: FILE: tools/virtiofsd/fuse_i.h:22: + unsigned int ioctl_64bit : 1; ^ ERROR: code indent should never use tabs #2153: FILE: tools/virtiofsd/fuse_i.h:23: +^Iunion {$ ERROR: code indent should never use tabs #2154: FILE: tools/virtiofsd/fuse_i.h:24: +^I^Istruct {$ ERROR: code indent should never use tabs #2155: FILE: tools/virtiofsd/fuse_i.h:25: +^I^I^Iuint64_t unique;$ ERROR: code indent should never use tabs #2156: FILE: tools/virtiofsd/fuse_i.h:26: +^I^I} i;$ ERROR: code indent should never use tabs #2157: FILE: tools/virtiofsd/fuse_i.h:27: +^I^Istruct {$ ERROR: code indent should never use tabs #2158: FILE: tools/virtiofsd/fuse_i.h:28: +^I^I^Ifuse_interrupt_func_t func;$ ERROR: code indent should never use tabs #2159: FILE: tools/virtiofsd/fuse_i.h:29: +^I^I^Ivoid *data;$ ERROR: code indent should never use tabs #2160: FILE: tools/virtiofsd/fuse_i.h:30: +^I^I} ni;$ ERROR: code indent should never use tabs #2161: FILE: tools/virtiofsd/fuse_i.h:31: +^I} u;$ ERROR: code indent should never use tabs #2162: FILE: tools/virtiofsd/fuse_i.h:32: +^Istruct fuse_req *next;$ ERROR: code indent should never use tabs #2163: FILE: tools/virtiofsd/fuse_i.h:33: +^Istruct fuse_req *prev;$ ERROR: code indent should never use tabs #2167: FILE: tools/virtiofsd/fuse_i.h:37: +^Iuint64_t unique;$ ERROR: code indent should never use tabs #2168: FILE: tools/virtiofsd/fuse_i.h:38: +^Ivoid (*reply)(struct fuse_notify_req *, fuse_req_t, fuse_ino_t,$ ERROR: code indent should never use tabs #2169: FILE: tools/virtiofsd/fuse_i.h:39: +^I^I const void *, const struct fuse_buf *);$ ERROR: code indent should never use tabs #2170: FILE: tools/virtiofsd/fuse_i.h:40: +^Istruct fuse_notify_req *next;$ ERROR: code indent should never use tabs #2171: FILE: tools/virtiofsd/fuse_i.h:41: +^Istruct fuse_notify_req *prev;$ ERROR: code indent should never use tabs #2175: FILE: tools/virtiofsd/fuse_i.h:45: +^Ichar *mountpoint;$ ERROR: code indent should never use tabs #2176: FILE: tools/virtiofsd/fuse_i.h:46: +^Ivolatile int exited;$ ERROR: Use of volatile is usually wrong, please add a comment #2176: FILE: tools/virtiofsd/fuse_i.h:46: + volatile int exited; ERROR: code indent should never use tabs #2177: FILE: tools/virtiofsd/fuse_i.h:47: +^Iint fd;$ ERROR: code indent should never use tabs #2178: FILE: tools/virtiofsd/fuse_i.h:48: +^Istruct mount_opts *mo;$ ERROR: code indent should never use tabs #2179: FILE: tools/virtiofsd/fuse_i.h:49: +^Iint debug;$ ERROR: code indent should never use tabs #2180: FILE: tools/virtiofsd/fuse_i.h:50: +^Iint deny_others;$ ERROR: code indent should never use tabs #2181: FILE: tools/virtiofsd/fuse_i.h:51: +^Istruct fuse_lowlevel_ops op;$ ERROR: code indent should never use tabs #2182: FILE: tools/virtiofsd/fuse_i.h:52: +^Iint got_init;$ ERROR: code indent should never use tabs #2183: FILE: tools/virtiofsd/fuse_i.h:53: +^Istruct cuse_data *cuse_data;$ ERROR: code indent should never use tabs #2184: FILE: tools/virtiofsd/fuse_i.h:54: +^Ivoid *userdata;$ ERROR: code indent should never use tabs #2185: FILE: tools/virtiofsd/fuse_i.h:55: +^Iuid_t owner;$ ERROR: code indent should never use tabs #2186: FILE: tools/virtiofsd/fuse_i.h:56: +^Istruct fuse_conn_info conn;$ ERROR: code indent should never use tabs #2187: FILE: tools/virtiofsd/fuse_i.h:57: +^Istruct fuse_req list;$ ERROR: code indent should never use tabs #2188: FILE: tools/virtiofsd/fuse_i.h:58: +^Istruct fuse_req interrupts;$ ERROR: code indent should never use tabs #2189: FILE: tools/virtiofsd/fuse_i.h:59: +^Ipthread_mutex_t lock;$ ERROR: code indent should never use tabs #2190: FILE: tools/virtiofsd/fuse_i.h:60: +^Iint got_destroy;$ ERROR: code indent should never use tabs #2191: FILE: tools/virtiofsd/fuse_i.h:61: +^Ipthread_key_t pipe_key;$ ERROR: code indent should never use tabs #2192: FILE: tools/virtiofsd/fuse_i.h:62: +^Iint broken_splice_nonblock;$ ERROR: code indent should never use tabs #2193: FILE: tools/virtiofsd/fuse_i.h:63: +^Iuint64_t notify_ctr;$ ERROR: code indent should never use tabs #2194: FILE: tools/virtiofsd/fuse_i.h:64: +^Istruct fuse_notify_req notify_list;$ ERROR: code indent should never use tabs #2195: FILE: tools/virtiofsd/fuse_i.h:65: +^Isize_t bufsize;$ ERROR: code indent should never use tabs #2196: FILE: tools/virtiofsd/fuse_i.h:66: +^Iint error;$ ERROR: code indent should never use tabs #2200: FILE: tools/virtiofsd/fuse_i.h:70: +^Ipthread_mutex_t lock;$ ERROR: code indent should never use tabs #2201: FILE: tools/virtiofsd/fuse_i.h:71: +^Iint ctr;$ ERROR: code indent should never use tabs #2202: FILE: tools/virtiofsd/fuse_i.h:72: +^Iint fd;$ ERROR: code indent should never use tabs #2213: FILE: tools/virtiofsd/fuse_i.h:83: +^Ichar *name;$ ERROR: code indent should never use tabs #2214: FILE: tools/virtiofsd/fuse_i.h:84: +^Ifuse_module_factory_t factory;$ ERROR: code indent should never use tabs #2215: FILE: tools/virtiofsd/fuse_i.h:85: +^Istruct fuse_module *next;$ ERROR: code indent should never use tabs #2216: FILE: tools/virtiofsd/fuse_i.h:86: +^Istruct fusemod_so *so;$ ERROR: code indent should never use tabs #2217: FILE: tools/virtiofsd/fuse_i.h:87: +^Iint ctr;$ WARNING: Block comments use a leading /* on a separate line #2220: FILE: tools/virtiofsd/fuse_i.h:90: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #2221: FILE: tools/virtiofsd/fuse_i.h:91: + * Channel interface (when using -o clone_fd)^I^I *$ WARNING: Block comments use a trailing */ on a separate line #2222: FILE: tools/virtiofsd/fuse_i.h:92: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #2247: FILE: tools/virtiofsd/fuse_i.h:117: +^I^I^I int count);$ ERROR: code indent should never use tabs #2255: FILE: tools/virtiofsd/fuse_i.h:125: +^I^I^I^I struct fuse_chan *ch);$ WARNING: line over 80 characters #2257: FILE: tools/virtiofsd/fuse_i.h:127: + const struct fuse_buf *buf, struct fuse_chan *ch); ERROR: code indent should never use tabs #2257: FILE: tools/virtiofsd/fuse_i.h:127: +^I^I^I^I const struct fuse_buf *buf, struct fuse_chan *ch);$ WARNING: line over 80 characters #2259: FILE: tools/virtiofsd/fuse_i.h:129: +struct fuse *fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, ERROR: code indent should never use tabs #2260: FILE: tools/virtiofsd/fuse_i.h:130: +^I^I size_t op_size, void *private_data);$ WARNING: line over 80 characters #2262: FILE: tools/virtiofsd/fuse_i.h:132: +int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config *config); WARNING: Block comments use * on subsequent lines #2277: FILE: tools/virtiofsd/fuse_log.h:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use a leading /* on a separate line #2287: FILE: tools/virtiofsd/fuse_log.h:12: +/** @file WARNING: architecture specific defines should be avoided #2294: FILE: tools/virtiofsd/fuse_log.h:19: +#ifdef __cplusplus ERROR: code indent should never use tabs #2304: FILE: tools/virtiofsd/fuse_log.h:29: +^IFUSE_LOG_EMERG,$ ERROR: code indent should never use tabs #2305: FILE: tools/virtiofsd/fuse_log.h:30: +^IFUSE_LOG_ALERT,$ ERROR: code indent should never use tabs #2306: FILE: tools/virtiofsd/fuse_log.h:31: +^IFUSE_LOG_CRIT,$ ERROR: code indent should never use tabs #2307: FILE: tools/virtiofsd/fuse_log.h:32: +^IFUSE_LOG_ERR,$ ERROR: code indent should never use tabs #2308: FILE: tools/virtiofsd/fuse_log.h:33: +^IFUSE_LOG_WARNING,$ ERROR: code indent should never use tabs #2309: FILE: tools/virtiofsd/fuse_log.h:34: +^IFUSE_LOG_NOTICE,$ ERROR: code indent should never use tabs #2310: FILE: tools/virtiofsd/fuse_log.h:35: +^IFUSE_LOG_INFO,$ ERROR: code indent should never use tabs #2311: FILE: tools/virtiofsd/fuse_log.h:36: +^IFUSE_LOG_DEBUG$ ERROR: code indent should never use tabs #2328: FILE: tools/virtiofsd/fuse_log.h:53: +^I^I^I^Iconst char *fmt, va_list ap);$ WARNING: architecture specific defines should be avoided #2353: FILE: tools/virtiofsd/fuse_log.h:78: +#ifdef __cplusplus WARNING: Block comments use * on subsequent lines #2365: FILE: tools/virtiofsd/fuse_lowlevel.h:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use a leading /* on a separate line #2375: FILE: tools/virtiofsd/fuse_lowlevel.h:12: +/** @file WARNING: architecture specific defines should be avoided #2397: FILE: tools/virtiofsd/fuse_lowlevel.h:34: +#ifdef __cplusplus WARNING: Block comments use a leading /* on a separate line #2401: FILE: tools/virtiofsd/fuse_lowlevel.h:38: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #2402: FILE: tools/virtiofsd/fuse_lowlevel.h:39: + * Miscellaneous definitions^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #2403: FILE: tools/virtiofsd/fuse_lowlevel.h:40: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #2423: FILE: tools/virtiofsd/fuse_lowlevel.h:60: +^I/** Unique inode number$ WARNING: Block comments use a leading /* on a separate line #2423: FILE: tools/virtiofsd/fuse_lowlevel.h:60: + /** Unique inode number ERROR: code indent should never use tabs #2424: FILE: tools/virtiofsd/fuse_lowlevel.h:61: +^I *$ ERROR: code indent should never use tabs #2425: FILE: tools/virtiofsd/fuse_lowlevel.h:62: +^I * In lookup, zero means negative entry (from version 2.5)$ ERROR: code indent should never use tabs #2426: FILE: tools/virtiofsd/fuse_lowlevel.h:63: +^I * Returning ENOENT also means negative entry, but by setting zero$ ERROR: code indent should never use tabs #2427: FILE: tools/virtiofsd/fuse_lowlevel.h:64: +^I * ino the kernel may cache negative entries for entry_timeout$ ERROR: code indent should never use tabs #2428: FILE: tools/virtiofsd/fuse_lowlevel.h:65: +^I * seconds.$ ERROR: code indent should never use tabs #2429: FILE: tools/virtiofsd/fuse_lowlevel.h:66: +^I */$ ERROR: code indent should never use tabs #2430: FILE: tools/virtiofsd/fuse_lowlevel.h:67: +^Ifuse_ino_t ino;$ ERROR: code indent should never use tabs #2432: FILE: tools/virtiofsd/fuse_lowlevel.h:69: +^I/** Generation number for this entry.$ WARNING: Block comments use a leading /* on a separate line #2432: FILE: tools/virtiofsd/fuse_lowlevel.h:69: + /** Generation number for this entry. ERROR: code indent should never use tabs #2433: FILE: tools/virtiofsd/fuse_lowlevel.h:70: +^I *$ ERROR: code indent should never use tabs #2434: FILE: tools/virtiofsd/fuse_lowlevel.h:71: +^I * If the file system will be exported over NFS, the$ ERROR: code indent should never use tabs #2435: FILE: tools/virtiofsd/fuse_lowlevel.h:72: +^I * ino/generation pairs need to be unique over the file$ ERROR: code indent should never use tabs #2436: FILE: tools/virtiofsd/fuse_lowlevel.h:73: +^I * system's lifetime (rather than just the mount time). So if$ ERROR: code indent should never use tabs #2437: FILE: tools/virtiofsd/fuse_lowlevel.h:74: +^I * the file system reuses an inode after it has been deleted,$ ERROR: code indent should never use tabs #2438: FILE: tools/virtiofsd/fuse_lowlevel.h:75: +^I * it must assign a new, previously unused generation number$ ERROR: code indent should never use tabs #2439: FILE: tools/virtiofsd/fuse_lowlevel.h:76: +^I * to the inode at the same time.$ ERROR: code indent should never use tabs #2440: FILE: tools/virtiofsd/fuse_lowlevel.h:77: +^I *$ ERROR: code indent should never use tabs #2441: FILE: tools/virtiofsd/fuse_lowlevel.h:78: +^I */$ ERROR: code indent should never use tabs #2442: FILE: tools/virtiofsd/fuse_lowlevel.h:79: +^Iuint64_t generation;$ ERROR: code indent should never use tabs #2444: FILE: tools/virtiofsd/fuse_lowlevel.h:81: +^I/** Inode attributes.$ WARNING: Block comments use a leading /* on a separate line #2444: FILE: tools/virtiofsd/fuse_lowlevel.h:81: + /** Inode attributes. ERROR: code indent should never use tabs #2445: FILE: tools/virtiofsd/fuse_lowlevel.h:82: +^I *$ ERROR: code indent should never use tabs #2446: FILE: tools/virtiofsd/fuse_lowlevel.h:83: +^I * Even if attr_timeout == 0, attr must be correct. For example,$ ERROR: code indent should never use tabs #2447: FILE: tools/virtiofsd/fuse_lowlevel.h:84: +^I * for open(), FUSE uses attr.st_size from lookup() to determine$ ERROR: code indent should never use tabs #2448: FILE: tools/virtiofsd/fuse_lowlevel.h:85: +^I * how many bytes to request. If this value is not correct,$ ERROR: code indent should never use tabs #2449: FILE: tools/virtiofsd/fuse_lowlevel.h:86: +^I * incorrect data will be returned.$ ERROR: code indent should never use tabs #2450: FILE: tools/virtiofsd/fuse_lowlevel.h:87: +^I */$ ERROR: code indent should never use tabs #2451: FILE: tools/virtiofsd/fuse_lowlevel.h:88: +^Istruct stat attr;$ ERROR: code indent should never use tabs #2453: FILE: tools/virtiofsd/fuse_lowlevel.h:90: +^I/** Validity timeout (in seconds) for inode attributes. If$ WARNING: Block comments use a leading /* on a separate line #2453: FILE: tools/virtiofsd/fuse_lowlevel.h:90: + /** Validity timeout (in seconds) for inode attributes. If ERROR: code indent should never use tabs #2454: FILE: tools/virtiofsd/fuse_lowlevel.h:91: +^I attributes only change as a result of requests that come$ WARNING: Block comments use * on subsequent lines #2454: FILE: tools/virtiofsd/fuse_lowlevel.h:91: + /** Validity timeout (in seconds) for inode attributes. If + attributes only change as a result of requests that come ERROR: code indent should never use tabs #2455: FILE: tools/virtiofsd/fuse_lowlevel.h:92: +^I through the kernel, this should be set to a very large$ ERROR: code indent should never use tabs #2456: FILE: tools/virtiofsd/fuse_lowlevel.h:93: +^I value. */$ WARNING: Block comments use a trailing */ on a separate line #2456: FILE: tools/virtiofsd/fuse_lowlevel.h:93: + value. */ ERROR: code indent should never use tabs #2457: FILE: tools/virtiofsd/fuse_lowlevel.h:94: +^Idouble attr_timeout;$ ERROR: code indent should never use tabs #2459: FILE: tools/virtiofsd/fuse_lowlevel.h:96: +^I/** Validity timeout (in seconds) for the name. If directory$ WARNING: Block comments use a leading /* on a separate line #2459: FILE: tools/virtiofsd/fuse_lowlevel.h:96: + /** Validity timeout (in seconds) for the name. If directory ERROR: code indent should never use tabs #2460: FILE: tools/virtiofsd/fuse_lowlevel.h:97: +^I entries are changed/deleted only as a result of requests$ WARNING: Block comments use * on subsequent lines #2460: FILE: tools/virtiofsd/fuse_lowlevel.h:97: + /** Validity timeout (in seconds) for the name. If directory + entries are changed/deleted only as a result of requests ERROR: code indent should never use tabs #2461: FILE: tools/virtiofsd/fuse_lowlevel.h:98: +^I that come through the kernel, this should be set to a very$ ERROR: code indent should never use tabs #2462: FILE: tools/virtiofsd/fuse_lowlevel.h:99: +^I large value. */$ WARNING: Block comments use a trailing */ on a separate line #2462: FILE: tools/virtiofsd/fuse_lowlevel.h:99: + large value. */ ERROR: code indent should never use tabs #2463: FILE: tools/virtiofsd/fuse_lowlevel.h:100: +^Idouble entry_timeout;$ ERROR: code indent should never use tabs #2475: FILE: tools/virtiofsd/fuse_lowlevel.h:112: +^I/** User ID of the calling process */$ ERROR: code indent should never use tabs #2476: FILE: tools/virtiofsd/fuse_lowlevel.h:113: +^Iuid_t uid;$ ERROR: code indent should never use tabs #2478: FILE: tools/virtiofsd/fuse_lowlevel.h:115: +^I/** Group ID of the calling process */$ ERROR: code indent should never use tabs #2479: FILE: tools/virtiofsd/fuse_lowlevel.h:116: +^Igid_t gid;$ ERROR: code indent should never use tabs #2481: FILE: tools/virtiofsd/fuse_lowlevel.h:118: +^I/** Thread ID of the calling process */$ ERROR: code indent should never use tabs #2482: FILE: tools/virtiofsd/fuse_lowlevel.h:119: +^Ipid_t pid;$ ERROR: code indent should never use tabs #2484: FILE: tools/virtiofsd/fuse_lowlevel.h:121: +^I/** Umask of the calling process */$ ERROR: code indent should never use tabs #2485: FILE: tools/virtiofsd/fuse_lowlevel.h:122: +^Imode_t umask;$ ERROR: code indent should never use tabs #2489: FILE: tools/virtiofsd/fuse_lowlevel.h:126: +^Ifuse_ino_t ino;$ ERROR: code indent should never use tabs #2490: FILE: tools/virtiofsd/fuse_lowlevel.h:127: +^Iuint64_t nlookup;$ ERROR: code indent should never use tabs #2494: FILE: tools/virtiofsd/fuse_lowlevel.h:131: +#define FUSE_SET_ATTR_MODE^I(1 << 0)$ ERROR: code indent should never use tabs #2495: FILE: tools/virtiofsd/fuse_lowlevel.h:132: +#define FUSE_SET_ATTR_UID^I(1 << 1)$ ERROR: code indent should never use tabs #2496: FILE: tools/virtiofsd/fuse_lowlevel.h:133: +#define FUSE_SET_ATTR_GID^I(1 << 2)$ ERROR: code indent should never use tabs #2497: FILE: tools/virtiofsd/fuse_lowlevel.h:134: +#define FUSE_SET_ATTR_SIZE^I(1 << 3)$ ERROR: code indent should never use tabs #2498: FILE: tools/virtiofsd/fuse_lowlevel.h:135: +#define FUSE_SET_ATTR_ATIME^I(1 << 4)$ ERROR: code indent should never use tabs #2499: FILE: tools/virtiofsd/fuse_lowlevel.h:136: +#define FUSE_SET_ATTR_MTIME^I(1 << 5)$ ERROR: code indent should never use tabs #2500: FILE: tools/virtiofsd/fuse_lowlevel.h:137: +#define FUSE_SET_ATTR_ATIME_NOW^I(1 << 7)$ ERROR: code indent should never use tabs #2501: FILE: tools/virtiofsd/fuse_lowlevel.h:138: +#define FUSE_SET_ATTR_MTIME_NOW^I(1 << 8)$ ERROR: code indent should never use tabs #2502: FILE: tools/virtiofsd/fuse_lowlevel.h:139: +#define FUSE_SET_ATTR_CTIME^I(1 << 10)$ WARNING: Block comments use a leading /* on a separate line #2504: FILE: tools/virtiofsd/fuse_lowlevel.h:141: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #2505: FILE: tools/virtiofsd/fuse_lowlevel.h:142: + * Request methods and replies^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #2506: FILE: tools/virtiofsd/fuse_lowlevel.h:143: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #2536: FILE: tools/virtiofsd/fuse_lowlevel.h:173: +^I/**$ ERROR: code indent should never use tabs #2537: FILE: tools/virtiofsd/fuse_lowlevel.h:174: +^I * Initialize filesystem$ ERROR: code indent should never use tabs #2538: FILE: tools/virtiofsd/fuse_lowlevel.h:175: +^I *$ ERROR: code indent should never use tabs #2539: FILE: tools/virtiofsd/fuse_lowlevel.h:176: +^I * This function is called when libfuse establishes$ ERROR: code indent should never use tabs #2540: FILE: tools/virtiofsd/fuse_lowlevel.h:177: +^I * communication with the FUSE kernel module. The file system$ ERROR: code indent should never use tabs #2541: FILE: tools/virtiofsd/fuse_lowlevel.h:178: +^I * should use this module to inspect and/or modify the$ ERROR: code indent should never use tabs #2542: FILE: tools/virtiofsd/fuse_lowlevel.h:179: +^I * connection parameters provided in the `conn` structure.$ ERROR: code indent should never use tabs #2543: FILE: tools/virtiofsd/fuse_lowlevel.h:180: +^I *$ ERROR: code indent should never use tabs #2544: FILE: tools/virtiofsd/fuse_lowlevel.h:181: +^I * Note that some parameters may be overwritten by options$ ERROR: code indent should never use tabs #2545: FILE: tools/virtiofsd/fuse_lowlevel.h:182: +^I * passed to fuse_session_new() which take precedence over the$ ERROR: code indent should never use tabs #2546: FILE: tools/virtiofsd/fuse_lowlevel.h:183: +^I * values set in this handler.$ ERROR: code indent should never use tabs #2547: FILE: tools/virtiofsd/fuse_lowlevel.h:184: +^I *$ ERROR: code indent should never use tabs #2548: FILE: tools/virtiofsd/fuse_lowlevel.h:185: +^I * There's no reply to this function$ ERROR: code indent should never use tabs #2549: FILE: tools/virtiofsd/fuse_lowlevel.h:186: +^I *$ ERROR: code indent should never use tabs #2550: FILE: tools/virtiofsd/fuse_lowlevel.h:187: +^I * @param userdata the user data passed to fuse_session_new()$ ERROR: code indent should never use tabs #2551: FILE: tools/virtiofsd/fuse_lowlevel.h:188: +^I */$ ERROR: code indent should never use tabs #2552: FILE: tools/virtiofsd/fuse_lowlevel.h:189: +^Ivoid (*init) (void *userdata, struct fuse_conn_info *conn);$ ERROR: code indent should never use tabs #2554: FILE: tools/virtiofsd/fuse_lowlevel.h:191: +^I/**$ ERROR: code indent should never use tabs #2555: FILE: tools/virtiofsd/fuse_lowlevel.h:192: +^I * Clean up filesystem.$ ERROR: code indent should never use tabs #2556: FILE: tools/virtiofsd/fuse_lowlevel.h:193: +^I *$ ERROR: code indent should never use tabs #2557: FILE: tools/virtiofsd/fuse_lowlevel.h:194: +^I * Called on filesystem exit. When this method is called, the$ ERROR: code indent should never use tabs #2558: FILE: tools/virtiofsd/fuse_lowlevel.h:195: +^I * connection to the kernel may be gone already, so that eg. calls$ ERROR: code indent should never use tabs #2559: FILE: tools/virtiofsd/fuse_lowlevel.h:196: +^I * to fuse_lowlevel_notify_* will fail.$ ERROR: code indent should never use tabs #2560: FILE: tools/virtiofsd/fuse_lowlevel.h:197: +^I *$ ERROR: code indent should never use tabs #2561: FILE: tools/virtiofsd/fuse_lowlevel.h:198: +^I * There's no reply to this function$ ERROR: code indent should never use tabs #2562: FILE: tools/virtiofsd/fuse_lowlevel.h:199: +^I *$ ERROR: code indent should never use tabs #2563: FILE: tools/virtiofsd/fuse_lowlevel.h:200: +^I * @param userdata the user data passed to fuse_session_new()$ ERROR: code indent should never use tabs #2564: FILE: tools/virtiofsd/fuse_lowlevel.h:201: +^I */$ ERROR: code indent should never use tabs #2565: FILE: tools/virtiofsd/fuse_lowlevel.h:202: +^Ivoid (*destroy) (void *userdata);$ ERROR: code indent should never use tabs #2567: FILE: tools/virtiofsd/fuse_lowlevel.h:204: +^I/**$ ERROR: code indent should never use tabs #2568: FILE: tools/virtiofsd/fuse_lowlevel.h:205: +^I * Look up a directory entry by name and get its attributes.$ ERROR: code indent should never use tabs #2569: FILE: tools/virtiofsd/fuse_lowlevel.h:206: +^I *$ ERROR: code indent should never use tabs #2570: FILE: tools/virtiofsd/fuse_lowlevel.h:207: +^I * Valid replies:$ ERROR: code indent should never use tabs #2571: FILE: tools/virtiofsd/fuse_lowlevel.h:208: +^I * fuse_reply_entry$ ERROR: code indent should never use tabs #2572: FILE: tools/virtiofsd/fuse_lowlevel.h:209: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2573: FILE: tools/virtiofsd/fuse_lowlevel.h:210: +^I *$ ERROR: code indent should never use tabs #2574: FILE: tools/virtiofsd/fuse_lowlevel.h:211: +^I * @param req request handle$ ERROR: code indent should never use tabs #2575: FILE: tools/virtiofsd/fuse_lowlevel.h:212: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2576: FILE: tools/virtiofsd/fuse_lowlevel.h:213: +^I * @param name the name to look up$ ERROR: code indent should never use tabs #2577: FILE: tools/virtiofsd/fuse_lowlevel.h:214: +^I */$ ERROR: code indent should never use tabs #2578: FILE: tools/virtiofsd/fuse_lowlevel.h:215: +^Ivoid (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);$ ERROR: code indent should never use tabs #2580: FILE: tools/virtiofsd/fuse_lowlevel.h:217: +^I/**$ ERROR: code indent should never use tabs #2581: FILE: tools/virtiofsd/fuse_lowlevel.h:218: +^I * Forget about an inode$ ERROR: code indent should never use tabs #2582: FILE: tools/virtiofsd/fuse_lowlevel.h:219: +^I *$ ERROR: code indent should never use tabs #2583: FILE: tools/virtiofsd/fuse_lowlevel.h:220: +^I * This function is called when the kernel removes an inode$ ERROR: code indent should never use tabs #2584: FILE: tools/virtiofsd/fuse_lowlevel.h:221: +^I * from its internal caches.$ ERROR: code indent should never use tabs #2585: FILE: tools/virtiofsd/fuse_lowlevel.h:222: +^I *$ ERROR: code indent should never use tabs #2586: FILE: tools/virtiofsd/fuse_lowlevel.h:223: +^I * The inode's lookup count increases by one for every call to$ ERROR: code indent should never use tabs #2587: FILE: tools/virtiofsd/fuse_lowlevel.h:224: +^I * fuse_reply_entry and fuse_reply_create. The nlookup parameter$ ERROR: code indent should never use tabs #2588: FILE: tools/virtiofsd/fuse_lowlevel.h:225: +^I * indicates by how much the lookup count should be decreased.$ ERROR: code indent should never use tabs #2589: FILE: tools/virtiofsd/fuse_lowlevel.h:226: +^I *$ ERROR: code indent should never use tabs #2590: FILE: tools/virtiofsd/fuse_lowlevel.h:227: +^I * Inodes with a non-zero lookup count may receive request from$ ERROR: code indent should never use tabs #2591: FILE: tools/virtiofsd/fuse_lowlevel.h:228: +^I * the kernel even after calls to unlink, rmdir or (when$ ERROR: code indent should never use tabs #2592: FILE: tools/virtiofsd/fuse_lowlevel.h:229: +^I * overwriting an existing file) rename. Filesystems must handle$ ERROR: code indent should never use tabs #2593: FILE: tools/virtiofsd/fuse_lowlevel.h:230: +^I * such requests properly and it is recommended to defer removal$ ERROR: code indent should never use tabs #2594: FILE: tools/virtiofsd/fuse_lowlevel.h:231: +^I * of the inode until the lookup count reaches zero. Calls to$ ERROR: code indent should never use tabs #2595: FILE: tools/virtiofsd/fuse_lowlevel.h:232: +^I * unlink, rmdir or rename will be followed closely by forget$ ERROR: code indent should never use tabs #2596: FILE: tools/virtiofsd/fuse_lowlevel.h:233: +^I * unless the file or directory is open, in which case the$ ERROR: code indent should never use tabs #2597: FILE: tools/virtiofsd/fuse_lowlevel.h:234: +^I * kernel issues forget only after the release or releasedir$ ERROR: code indent should never use tabs #2598: FILE: tools/virtiofsd/fuse_lowlevel.h:235: +^I * calls.$ ERROR: code indent should never use tabs #2599: FILE: tools/virtiofsd/fuse_lowlevel.h:236: +^I *$ ERROR: code indent should never use tabs #2600: FILE: tools/virtiofsd/fuse_lowlevel.h:237: +^I * Note that if a file system will be exported over NFS the$ ERROR: code indent should never use tabs #2601: FILE: tools/virtiofsd/fuse_lowlevel.h:238: +^I * inodes lifetime must extend even beyond forget. See the$ ERROR: code indent should never use tabs #2602: FILE: tools/virtiofsd/fuse_lowlevel.h:239: +^I * generation field in struct fuse_entry_param above.$ ERROR: code indent should never use tabs #2603: FILE: tools/virtiofsd/fuse_lowlevel.h:240: +^I *$ ERROR: code indent should never use tabs #2604: FILE: tools/virtiofsd/fuse_lowlevel.h:241: +^I * On unmount the lookup count for all inodes implicitly drops$ ERROR: code indent should never use tabs #2605: FILE: tools/virtiofsd/fuse_lowlevel.h:242: +^I * to zero. It is not guaranteed that the file system will$ ERROR: code indent should never use tabs #2606: FILE: tools/virtiofsd/fuse_lowlevel.h:243: +^I * receive corresponding forget messages for the affected$ ERROR: code indent should never use tabs #2607: FILE: tools/virtiofsd/fuse_lowlevel.h:244: +^I * inodes.$ ERROR: code indent should never use tabs #2608: FILE: tools/virtiofsd/fuse_lowlevel.h:245: +^I *$ ERROR: code indent should never use tabs #2609: FILE: tools/virtiofsd/fuse_lowlevel.h:246: +^I * Valid replies:$ ERROR: code indent should never use tabs #2610: FILE: tools/virtiofsd/fuse_lowlevel.h:247: +^I * fuse_reply_none$ ERROR: code indent should never use tabs #2611: FILE: tools/virtiofsd/fuse_lowlevel.h:248: +^I *$ ERROR: code indent should never use tabs #2612: FILE: tools/virtiofsd/fuse_lowlevel.h:249: +^I * @param req request handle$ ERROR: code indent should never use tabs #2613: FILE: tools/virtiofsd/fuse_lowlevel.h:250: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2614: FILE: tools/virtiofsd/fuse_lowlevel.h:251: +^I * @param nlookup the number of lookups to forget$ ERROR: code indent should never use tabs #2615: FILE: tools/virtiofsd/fuse_lowlevel.h:252: +^I */$ ERROR: code indent should never use tabs #2616: FILE: tools/virtiofsd/fuse_lowlevel.h:253: +^Ivoid (*forget) (fuse_req_t req, fuse_ino_t ino, uint64_t nlookup);$ ERROR: code indent should never use tabs #2618: FILE: tools/virtiofsd/fuse_lowlevel.h:255: +^I/**$ ERROR: code indent should never use tabs #2619: FILE: tools/virtiofsd/fuse_lowlevel.h:256: +^I * Get file attributes.$ ERROR: code indent should never use tabs #2620: FILE: tools/virtiofsd/fuse_lowlevel.h:257: +^I *$ ERROR: code indent should never use tabs #2621: FILE: tools/virtiofsd/fuse_lowlevel.h:258: +^I * If writeback caching is enabled, the kernel may have a$ ERROR: code indent should never use tabs #2622: FILE: tools/virtiofsd/fuse_lowlevel.h:259: +^I * better idea of a file's length than the FUSE file system$ ERROR: code indent should never use tabs #2623: FILE: tools/virtiofsd/fuse_lowlevel.h:260: +^I * (eg if there has been a write that extended the file size,$ ERROR: code indent should never use tabs #2624: FILE: tools/virtiofsd/fuse_lowlevel.h:261: +^I * but that has not yet been passed to the filesystem.n$ ERROR: code indent should never use tabs #2625: FILE: tools/virtiofsd/fuse_lowlevel.h:262: +^I *$ ERROR: code indent should never use tabs #2626: FILE: tools/virtiofsd/fuse_lowlevel.h:263: +^I * In this case, the st_size value provided by the file system$ ERROR: code indent should never use tabs #2627: FILE: tools/virtiofsd/fuse_lowlevel.h:264: +^I * will be ignored.$ ERROR: code indent should never use tabs #2628: FILE: tools/virtiofsd/fuse_lowlevel.h:265: +^I *$ ERROR: code indent should never use tabs #2629: FILE: tools/virtiofsd/fuse_lowlevel.h:266: +^I * Valid replies:$ ERROR: code indent should never use tabs #2630: FILE: tools/virtiofsd/fuse_lowlevel.h:267: +^I * fuse_reply_attr$ ERROR: code indent should never use tabs #2631: FILE: tools/virtiofsd/fuse_lowlevel.h:268: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2632: FILE: tools/virtiofsd/fuse_lowlevel.h:269: +^I *$ ERROR: code indent should never use tabs #2633: FILE: tools/virtiofsd/fuse_lowlevel.h:270: +^I * @param req request handle$ ERROR: code indent should never use tabs #2634: FILE: tools/virtiofsd/fuse_lowlevel.h:271: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2635: FILE: tools/virtiofsd/fuse_lowlevel.h:272: +^I * @param fi for future use, currently always NULL$ ERROR: code indent should never use tabs #2636: FILE: tools/virtiofsd/fuse_lowlevel.h:273: +^I */$ ERROR: code indent should never use tabs #2637: FILE: tools/virtiofsd/fuse_lowlevel.h:274: +^Ivoid (*getattr) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #2638: FILE: tools/virtiofsd/fuse_lowlevel.h:275: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2640: FILE: tools/virtiofsd/fuse_lowlevel.h:277: +^I/**$ ERROR: code indent should never use tabs #2641: FILE: tools/virtiofsd/fuse_lowlevel.h:278: +^I * Set file attributes$ ERROR: code indent should never use tabs #2642: FILE: tools/virtiofsd/fuse_lowlevel.h:279: +^I *$ ERROR: code indent should never use tabs #2643: FILE: tools/virtiofsd/fuse_lowlevel.h:280: +^I * In the 'attr' argument only members indicated by the 'to_set'$ ERROR: code indent should never use tabs #2644: FILE: tools/virtiofsd/fuse_lowlevel.h:281: +^I * bitmask contain valid values. Other members contain undefined$ ERROR: code indent should never use tabs #2645: FILE: tools/virtiofsd/fuse_lowlevel.h:282: +^I * values.$ ERROR: code indent should never use tabs #2646: FILE: tools/virtiofsd/fuse_lowlevel.h:283: +^I *$ ERROR: code indent should never use tabs #2647: FILE: tools/virtiofsd/fuse_lowlevel.h:284: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #2648: FILE: tools/virtiofsd/fuse_lowlevel.h:285: +^I * expected to reset the setuid and setgid bits if the file$ ERROR: code indent should never use tabs #2649: FILE: tools/virtiofsd/fuse_lowlevel.h:286: +^I * size or owner is being changed.$ ERROR: code indent should never use tabs #2650: FILE: tools/virtiofsd/fuse_lowlevel.h:287: +^I *$ ERROR: code indent should never use tabs #2651: FILE: tools/virtiofsd/fuse_lowlevel.h:288: +^I * If the setattr was invoked from the ftruncate() system call$ ERROR: code indent should never use tabs #2652: FILE: tools/virtiofsd/fuse_lowlevel.h:289: +^I * under Linux kernel versions 2.6.15 or later, the fi->fh will$ ERROR: code indent should never use tabs #2653: FILE: tools/virtiofsd/fuse_lowlevel.h:290: +^I * contain the value set by the open method or will be undefined$ ERROR: code indent should never use tabs #2654: FILE: tools/virtiofsd/fuse_lowlevel.h:291: +^I * if the open method didn't set any value. Otherwise (not$ ERROR: code indent should never use tabs #2655: FILE: tools/virtiofsd/fuse_lowlevel.h:292: +^I * ftruncate call, or kernel version earlier than 2.6.15) the fi$ ERROR: code indent should never use tabs #2656: FILE: tools/virtiofsd/fuse_lowlevel.h:293: +^I * parameter will be NULL.$ ERROR: code indent should never use tabs #2657: FILE: tools/virtiofsd/fuse_lowlevel.h:294: +^I *$ ERROR: code indent should never use tabs #2658: FILE: tools/virtiofsd/fuse_lowlevel.h:295: +^I * Valid replies:$ ERROR: code indent should never use tabs #2659: FILE: tools/virtiofsd/fuse_lowlevel.h:296: +^I * fuse_reply_attr$ ERROR: code indent should never use tabs #2660: FILE: tools/virtiofsd/fuse_lowlevel.h:297: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2661: FILE: tools/virtiofsd/fuse_lowlevel.h:298: +^I *$ ERROR: code indent should never use tabs #2662: FILE: tools/virtiofsd/fuse_lowlevel.h:299: +^I * @param req request handle$ ERROR: code indent should never use tabs #2663: FILE: tools/virtiofsd/fuse_lowlevel.h:300: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2664: FILE: tools/virtiofsd/fuse_lowlevel.h:301: +^I * @param attr the attributes$ ERROR: code indent should never use tabs #2665: FILE: tools/virtiofsd/fuse_lowlevel.h:302: +^I * @param to_set bit mask of attributes which should be set$ ERROR: code indent should never use tabs #2666: FILE: tools/virtiofsd/fuse_lowlevel.h:303: +^I * @param fi file information, or NULL$ ERROR: code indent should never use tabs #2667: FILE: tools/virtiofsd/fuse_lowlevel.h:304: +^I */$ ERROR: code indent should never use tabs #2668: FILE: tools/virtiofsd/fuse_lowlevel.h:305: +^Ivoid (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,$ ERROR: code indent should never use tabs #2669: FILE: tools/virtiofsd/fuse_lowlevel.h:306: +^I^I^I int to_set, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2671: FILE: tools/virtiofsd/fuse_lowlevel.h:308: +^I/**$ ERROR: code indent should never use tabs #2672: FILE: tools/virtiofsd/fuse_lowlevel.h:309: +^I * Read symbolic link$ ERROR: code indent should never use tabs #2673: FILE: tools/virtiofsd/fuse_lowlevel.h:310: +^I *$ ERROR: code indent should never use tabs #2674: FILE: tools/virtiofsd/fuse_lowlevel.h:311: +^I * Valid replies:$ ERROR: code indent should never use tabs #2675: FILE: tools/virtiofsd/fuse_lowlevel.h:312: +^I * fuse_reply_readlink$ ERROR: code indent should never use tabs #2676: FILE: tools/virtiofsd/fuse_lowlevel.h:313: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2677: FILE: tools/virtiofsd/fuse_lowlevel.h:314: +^I *$ ERROR: code indent should never use tabs #2678: FILE: tools/virtiofsd/fuse_lowlevel.h:315: +^I * @param req request handle$ ERROR: code indent should never use tabs #2679: FILE: tools/virtiofsd/fuse_lowlevel.h:316: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2680: FILE: tools/virtiofsd/fuse_lowlevel.h:317: +^I */$ ERROR: code indent should never use tabs #2681: FILE: tools/virtiofsd/fuse_lowlevel.h:318: +^Ivoid (*readlink) (fuse_req_t req, fuse_ino_t ino);$ ERROR: code indent should never use tabs #2683: FILE: tools/virtiofsd/fuse_lowlevel.h:320: +^I/**$ ERROR: code indent should never use tabs #2684: FILE: tools/virtiofsd/fuse_lowlevel.h:321: +^I * Create file node$ ERROR: code indent should never use tabs #2685: FILE: tools/virtiofsd/fuse_lowlevel.h:322: +^I *$ ERROR: code indent should never use tabs #2686: FILE: tools/virtiofsd/fuse_lowlevel.h:323: +^I * Create a regular file, character device, block device, fifo or$ ERROR: code indent should never use tabs #2687: FILE: tools/virtiofsd/fuse_lowlevel.h:324: +^I * socket node.$ ERROR: code indent should never use tabs #2688: FILE: tools/virtiofsd/fuse_lowlevel.h:325: +^I *$ ERROR: code indent should never use tabs #2689: FILE: tools/virtiofsd/fuse_lowlevel.h:326: +^I * Valid replies:$ ERROR: code indent should never use tabs #2690: FILE: tools/virtiofsd/fuse_lowlevel.h:327: +^I * fuse_reply_entry$ ERROR: code indent should never use tabs #2691: FILE: tools/virtiofsd/fuse_lowlevel.h:328: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2692: FILE: tools/virtiofsd/fuse_lowlevel.h:329: +^I *$ ERROR: code indent should never use tabs #2693: FILE: tools/virtiofsd/fuse_lowlevel.h:330: +^I * @param req request handle$ ERROR: code indent should never use tabs #2694: FILE: tools/virtiofsd/fuse_lowlevel.h:331: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2695: FILE: tools/virtiofsd/fuse_lowlevel.h:332: +^I * @param name to create$ ERROR: code indent should never use tabs #2696: FILE: tools/virtiofsd/fuse_lowlevel.h:333: +^I * @param mode file type and mode with which to create the new file$ WARNING: line over 80 characters #2697: FILE: tools/virtiofsd/fuse_lowlevel.h:334: + * @param rdev the device number (only valid if created file is a device) ERROR: code indent should never use tabs #2697: FILE: tools/virtiofsd/fuse_lowlevel.h:334: +^I * @param rdev the device number (only valid if created file is a device)$ ERROR: code indent should never use tabs #2698: FILE: tools/virtiofsd/fuse_lowlevel.h:335: +^I */$ ERROR: code indent should never use tabs #2699: FILE: tools/virtiofsd/fuse_lowlevel.h:336: +^Ivoid (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,$ ERROR: code indent should never use tabs #2700: FILE: tools/virtiofsd/fuse_lowlevel.h:337: +^I^I mode_t mode, dev_t rdev);$ ERROR: code indent should never use tabs #2702: FILE: tools/virtiofsd/fuse_lowlevel.h:339: +^I/**$ ERROR: code indent should never use tabs #2703: FILE: tools/virtiofsd/fuse_lowlevel.h:340: +^I * Create a directory$ ERROR: code indent should never use tabs #2704: FILE: tools/virtiofsd/fuse_lowlevel.h:341: +^I *$ ERROR: code indent should never use tabs #2705: FILE: tools/virtiofsd/fuse_lowlevel.h:342: +^I * Valid replies:$ ERROR: code indent should never use tabs #2706: FILE: tools/virtiofsd/fuse_lowlevel.h:343: +^I * fuse_reply_entry$ ERROR: code indent should never use tabs #2707: FILE: tools/virtiofsd/fuse_lowlevel.h:344: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2708: FILE: tools/virtiofsd/fuse_lowlevel.h:345: +^I *$ ERROR: code indent should never use tabs #2709: FILE: tools/virtiofsd/fuse_lowlevel.h:346: +^I * @param req request handle$ ERROR: code indent should never use tabs #2710: FILE: tools/virtiofsd/fuse_lowlevel.h:347: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2711: FILE: tools/virtiofsd/fuse_lowlevel.h:348: +^I * @param name to create$ ERROR: code indent should never use tabs #2712: FILE: tools/virtiofsd/fuse_lowlevel.h:349: +^I * @param mode with which to create the new file$ ERROR: code indent should never use tabs #2713: FILE: tools/virtiofsd/fuse_lowlevel.h:350: +^I */$ ERROR: code indent should never use tabs #2714: FILE: tools/virtiofsd/fuse_lowlevel.h:351: +^Ivoid (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,$ ERROR: code indent should never use tabs #2715: FILE: tools/virtiofsd/fuse_lowlevel.h:352: +^I^I mode_t mode);$ ERROR: code indent should never use tabs #2717: FILE: tools/virtiofsd/fuse_lowlevel.h:354: +^I/**$ ERROR: code indent should never use tabs #2718: FILE: tools/virtiofsd/fuse_lowlevel.h:355: +^I * Remove a file$ ERROR: code indent should never use tabs #2719: FILE: tools/virtiofsd/fuse_lowlevel.h:356: +^I *$ ERROR: code indent should never use tabs #2720: FILE: tools/virtiofsd/fuse_lowlevel.h:357: +^I * If the file's inode's lookup count is non-zero, the file$ ERROR: code indent should never use tabs #2721: FILE: tools/virtiofsd/fuse_lowlevel.h:358: +^I * system is expected to postpone any removal of the inode$ ERROR: code indent should never use tabs #2722: FILE: tools/virtiofsd/fuse_lowlevel.h:359: +^I * until the lookup count reaches zero (see description of the$ ERROR: code indent should never use tabs #2723: FILE: tools/virtiofsd/fuse_lowlevel.h:360: +^I * forget function).$ ERROR: code indent should never use tabs #2724: FILE: tools/virtiofsd/fuse_lowlevel.h:361: +^I *$ ERROR: code indent should never use tabs #2725: FILE: tools/virtiofsd/fuse_lowlevel.h:362: +^I * Valid replies:$ ERROR: code indent should never use tabs #2726: FILE: tools/virtiofsd/fuse_lowlevel.h:363: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2727: FILE: tools/virtiofsd/fuse_lowlevel.h:364: +^I *$ ERROR: code indent should never use tabs #2728: FILE: tools/virtiofsd/fuse_lowlevel.h:365: +^I * @param req request handle$ ERROR: code indent should never use tabs #2729: FILE: tools/virtiofsd/fuse_lowlevel.h:366: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2730: FILE: tools/virtiofsd/fuse_lowlevel.h:367: +^I * @param name to remove$ ERROR: code indent should never use tabs #2731: FILE: tools/virtiofsd/fuse_lowlevel.h:368: +^I */$ ERROR: code indent should never use tabs #2732: FILE: tools/virtiofsd/fuse_lowlevel.h:369: +^Ivoid (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);$ ERROR: code indent should never use tabs #2734: FILE: tools/virtiofsd/fuse_lowlevel.h:371: +^I/**$ ERROR: code indent should never use tabs #2735: FILE: tools/virtiofsd/fuse_lowlevel.h:372: +^I * Remove a directory$ ERROR: code indent should never use tabs #2736: FILE: tools/virtiofsd/fuse_lowlevel.h:373: +^I *$ ERROR: code indent should never use tabs #2737: FILE: tools/virtiofsd/fuse_lowlevel.h:374: +^I * If the directory's inode's lookup count is non-zero, the$ ERROR: code indent should never use tabs #2738: FILE: tools/virtiofsd/fuse_lowlevel.h:375: +^I * file system is expected to postpone any removal of the$ ERROR: code indent should never use tabs #2739: FILE: tools/virtiofsd/fuse_lowlevel.h:376: +^I * inode until the lookup count reaches zero (see description$ ERROR: code indent should never use tabs #2740: FILE: tools/virtiofsd/fuse_lowlevel.h:377: +^I * of the forget function).$ ERROR: code indent should never use tabs #2741: FILE: tools/virtiofsd/fuse_lowlevel.h:378: +^I *$ ERROR: code indent should never use tabs #2742: FILE: tools/virtiofsd/fuse_lowlevel.h:379: +^I * Valid replies:$ ERROR: code indent should never use tabs #2743: FILE: tools/virtiofsd/fuse_lowlevel.h:380: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2744: FILE: tools/virtiofsd/fuse_lowlevel.h:381: +^I *$ ERROR: code indent should never use tabs #2745: FILE: tools/virtiofsd/fuse_lowlevel.h:382: +^I * @param req request handle$ ERROR: code indent should never use tabs #2746: FILE: tools/virtiofsd/fuse_lowlevel.h:383: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2747: FILE: tools/virtiofsd/fuse_lowlevel.h:384: +^I * @param name to remove$ ERROR: code indent should never use tabs #2748: FILE: tools/virtiofsd/fuse_lowlevel.h:385: +^I */$ ERROR: code indent should never use tabs #2749: FILE: tools/virtiofsd/fuse_lowlevel.h:386: +^Ivoid (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);$ ERROR: code indent should never use tabs #2751: FILE: tools/virtiofsd/fuse_lowlevel.h:388: +^I/**$ ERROR: code indent should never use tabs #2752: FILE: tools/virtiofsd/fuse_lowlevel.h:389: +^I * Create a symbolic link$ ERROR: code indent should never use tabs #2753: FILE: tools/virtiofsd/fuse_lowlevel.h:390: +^I *$ ERROR: code indent should never use tabs #2754: FILE: tools/virtiofsd/fuse_lowlevel.h:391: +^I * Valid replies:$ ERROR: code indent should never use tabs #2755: FILE: tools/virtiofsd/fuse_lowlevel.h:392: +^I * fuse_reply_entry$ ERROR: code indent should never use tabs #2756: FILE: tools/virtiofsd/fuse_lowlevel.h:393: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2757: FILE: tools/virtiofsd/fuse_lowlevel.h:394: +^I *$ ERROR: code indent should never use tabs #2758: FILE: tools/virtiofsd/fuse_lowlevel.h:395: +^I * @param req request handle$ ERROR: code indent should never use tabs #2759: FILE: tools/virtiofsd/fuse_lowlevel.h:396: +^I * @param link the contents of the symbolic link$ ERROR: code indent should never use tabs #2760: FILE: tools/virtiofsd/fuse_lowlevel.h:397: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #2761: FILE: tools/virtiofsd/fuse_lowlevel.h:398: +^I * @param name to create$ ERROR: code indent should never use tabs #2762: FILE: tools/virtiofsd/fuse_lowlevel.h:399: +^I */$ ERROR: code indent should never use tabs #2763: FILE: tools/virtiofsd/fuse_lowlevel.h:400: +^Ivoid (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,$ ERROR: code indent should never use tabs #2764: FILE: tools/virtiofsd/fuse_lowlevel.h:401: +^I^I^I const char *name);$ ERROR: code indent should never use tabs #2766: FILE: tools/virtiofsd/fuse_lowlevel.h:403: +^I/** Rename a file$ WARNING: Block comments use a leading /* on a separate line #2766: FILE: tools/virtiofsd/fuse_lowlevel.h:403: + /** Rename a file ERROR: code indent should never use tabs #2767: FILE: tools/virtiofsd/fuse_lowlevel.h:404: +^I *$ ERROR: code indent should never use tabs #2768: FILE: tools/virtiofsd/fuse_lowlevel.h:405: +^I * If the target exists it should be atomically replaced. If$ ERROR: code indent should never use tabs #2769: FILE: tools/virtiofsd/fuse_lowlevel.h:406: +^I * the target's inode's lookup count is non-zero, the file$ ERROR: code indent should never use tabs #2770: FILE: tools/virtiofsd/fuse_lowlevel.h:407: +^I * system is expected to postpone any removal of the inode$ ERROR: code indent should never use tabs #2771: FILE: tools/virtiofsd/fuse_lowlevel.h:408: +^I * until the lookup count reaches zero (see description of the$ ERROR: code indent should never use tabs #2772: FILE: tools/virtiofsd/fuse_lowlevel.h:409: +^I * forget function).$ ERROR: code indent should never use tabs #2773: FILE: tools/virtiofsd/fuse_lowlevel.h:410: +^I *$ ERROR: code indent should never use tabs #2774: FILE: tools/virtiofsd/fuse_lowlevel.h:411: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #2775: FILE: tools/virtiofsd/fuse_lowlevel.h:412: +^I * treated as a permanent failure with error code EINVAL, i.e. all$ ERROR: code indent should never use tabs #2776: FILE: tools/virtiofsd/fuse_lowlevel.h:413: +^I * future bmap requests will fail with EINVAL without being$ ERROR: code indent should never use tabs #2777: FILE: tools/virtiofsd/fuse_lowlevel.h:414: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #2778: FILE: tools/virtiofsd/fuse_lowlevel.h:415: +^I *$ ERROR: code indent should never use tabs #2779: FILE: tools/virtiofsd/fuse_lowlevel.h:416: +^I * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If$ ERROR: code indent should never use tabs #2780: FILE: tools/virtiofsd/fuse_lowlevel.h:417: +^I * RENAME_NOREPLACE is specified, the filesystem must not$ ERROR: code indent should never use tabs #2781: FILE: tools/virtiofsd/fuse_lowlevel.h:418: +^I * overwrite *newname* if it exists and return an error$ ERROR: code indent should never use tabs #2782: FILE: tools/virtiofsd/fuse_lowlevel.h:419: +^I * instead. If `RENAME_EXCHANGE` is specified, the filesystem$ ERROR: code indent should never use tabs #2783: FILE: tools/virtiofsd/fuse_lowlevel.h:420: +^I * must atomically exchange the two files, i.e. both must$ ERROR: code indent should never use tabs #2784: FILE: tools/virtiofsd/fuse_lowlevel.h:421: +^I * exist and neither may be deleted.$ ERROR: code indent should never use tabs #2785: FILE: tools/virtiofsd/fuse_lowlevel.h:422: +^I *$ ERROR: code indent should never use tabs #2786: FILE: tools/virtiofsd/fuse_lowlevel.h:423: +^I * Valid replies:$ ERROR: code indent should never use tabs #2787: FILE: tools/virtiofsd/fuse_lowlevel.h:424: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2788: FILE: tools/virtiofsd/fuse_lowlevel.h:425: +^I *$ ERROR: code indent should never use tabs #2789: FILE: tools/virtiofsd/fuse_lowlevel.h:426: +^I * @param req request handle$ ERROR: code indent should never use tabs #2790: FILE: tools/virtiofsd/fuse_lowlevel.h:427: +^I * @param parent inode number of the old parent directory$ ERROR: code indent should never use tabs #2791: FILE: tools/virtiofsd/fuse_lowlevel.h:428: +^I * @param name old name$ ERROR: code indent should never use tabs #2792: FILE: tools/virtiofsd/fuse_lowlevel.h:429: +^I * @param newparent inode number of the new parent directory$ ERROR: code indent should never use tabs #2793: FILE: tools/virtiofsd/fuse_lowlevel.h:430: +^I * @param newname new name$ ERROR: code indent should never use tabs #2794: FILE: tools/virtiofsd/fuse_lowlevel.h:431: +^I */$ ERROR: code indent should never use tabs #2795: FILE: tools/virtiofsd/fuse_lowlevel.h:432: +^Ivoid (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,$ ERROR: code indent should never use tabs #2796: FILE: tools/virtiofsd/fuse_lowlevel.h:433: +^I^I^Ifuse_ino_t newparent, const char *newname,$ ERROR: code indent should never use tabs #2797: FILE: tools/virtiofsd/fuse_lowlevel.h:434: +^I^I^Iunsigned int flags);$ ERROR: code indent should never use tabs #2799: FILE: tools/virtiofsd/fuse_lowlevel.h:436: +^I/**$ ERROR: code indent should never use tabs #2800: FILE: tools/virtiofsd/fuse_lowlevel.h:437: +^I * Create a hard link$ ERROR: code indent should never use tabs #2801: FILE: tools/virtiofsd/fuse_lowlevel.h:438: +^I *$ ERROR: code indent should never use tabs #2802: FILE: tools/virtiofsd/fuse_lowlevel.h:439: +^I * Valid replies:$ ERROR: code indent should never use tabs #2803: FILE: tools/virtiofsd/fuse_lowlevel.h:440: +^I * fuse_reply_entry$ ERROR: code indent should never use tabs #2804: FILE: tools/virtiofsd/fuse_lowlevel.h:441: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2805: FILE: tools/virtiofsd/fuse_lowlevel.h:442: +^I *$ ERROR: code indent should never use tabs #2806: FILE: tools/virtiofsd/fuse_lowlevel.h:443: +^I * @param req request handle$ ERROR: code indent should never use tabs #2807: FILE: tools/virtiofsd/fuse_lowlevel.h:444: +^I * @param ino the old inode number$ ERROR: code indent should never use tabs #2808: FILE: tools/virtiofsd/fuse_lowlevel.h:445: +^I * @param newparent inode number of the new parent directory$ ERROR: code indent should never use tabs #2809: FILE: tools/virtiofsd/fuse_lowlevel.h:446: +^I * @param newname new name to create$ ERROR: code indent should never use tabs #2810: FILE: tools/virtiofsd/fuse_lowlevel.h:447: +^I */$ ERROR: code indent should never use tabs #2811: FILE: tools/virtiofsd/fuse_lowlevel.h:448: +^Ivoid (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,$ ERROR: code indent should never use tabs #2812: FILE: tools/virtiofsd/fuse_lowlevel.h:449: +^I^I const char *newname);$ ERROR: code indent should never use tabs #2814: FILE: tools/virtiofsd/fuse_lowlevel.h:451: +^I/**$ ERROR: code indent should never use tabs #2815: FILE: tools/virtiofsd/fuse_lowlevel.h:452: +^I * Open a file$ ERROR: code indent should never use tabs #2816: FILE: tools/virtiofsd/fuse_lowlevel.h:453: +^I *$ ERROR: code indent should never use tabs #2817: FILE: tools/virtiofsd/fuse_lowlevel.h:454: +^I * Open flags are available in fi->flags. The following rules$ ERROR: code indent should never use tabs #2818: FILE: tools/virtiofsd/fuse_lowlevel.h:455: +^I * apply.$ ERROR: code indent should never use tabs #2819: FILE: tools/virtiofsd/fuse_lowlevel.h:456: +^I *$ ERROR: code indent should never use tabs #2820: FILE: tools/virtiofsd/fuse_lowlevel.h:457: +^I * - Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be$ ERROR: code indent should never use tabs #2821: FILE: tools/virtiofsd/fuse_lowlevel.h:458: +^I * filtered out / handled by the kernel.$ ERROR: code indent should never use tabs #2822: FILE: tools/virtiofsd/fuse_lowlevel.h:459: +^I *$ ERROR: code indent should never use tabs #2823: FILE: tools/virtiofsd/fuse_lowlevel.h:460: +^I * - Access modes (O_RDONLY, O_WRONLY, O_RDWR) should be used$ ERROR: code indent should never use tabs #2824: FILE: tools/virtiofsd/fuse_lowlevel.h:461: +^I * by the filesystem to check if the operation is$ ERROR: code indent should never use tabs #2825: FILE: tools/virtiofsd/fuse_lowlevel.h:462: +^I * permitted. If the ``-o default_permissions`` mount$ ERROR: code indent should never use tabs #2826: FILE: tools/virtiofsd/fuse_lowlevel.h:463: +^I * option is given, this check is already done by the$ ERROR: code indent should never use tabs #2827: FILE: tools/virtiofsd/fuse_lowlevel.h:464: +^I * kernel before calling open() and may thus be omitted by$ ERROR: code indent should never use tabs #2828: FILE: tools/virtiofsd/fuse_lowlevel.h:465: +^I * the filesystem.$ ERROR: code indent should never use tabs #2829: FILE: tools/virtiofsd/fuse_lowlevel.h:466: +^I *$ ERROR: code indent should never use tabs #2830: FILE: tools/virtiofsd/fuse_lowlevel.h:467: +^I * - When writeback caching is enabled, the kernel may send$ ERROR: code indent should never use tabs #2831: FILE: tools/virtiofsd/fuse_lowlevel.h:468: +^I * read requests even for files opened with O_WRONLY. The$ ERROR: code indent should never use tabs #2832: FILE: tools/virtiofsd/fuse_lowlevel.h:469: +^I * filesystem should be prepared to handle this.$ ERROR: code indent should never use tabs #2833: FILE: tools/virtiofsd/fuse_lowlevel.h:470: +^I *$ ERROR: code indent should never use tabs #2834: FILE: tools/virtiofsd/fuse_lowlevel.h:471: +^I * - When writeback caching is disabled, the filesystem is$ ERROR: code indent should never use tabs #2835: FILE: tools/virtiofsd/fuse_lowlevel.h:472: +^I * expected to properly handle the O_APPEND flag and ensure$ ERROR: code indent should never use tabs #2836: FILE: tools/virtiofsd/fuse_lowlevel.h:473: +^I * that each write is appending to the end of the file.$ ERROR: trailing whitespace #2837: FILE: tools/virtiofsd/fuse_lowlevel.h:474: +^I * $ ERROR: code indent should never use tabs #2837: FILE: tools/virtiofsd/fuse_lowlevel.h:474: +^I * $ ERROR: code indent should never use tabs #2839: FILE: tools/virtiofsd/fuse_lowlevel.h:476: +^I * handle O_APPEND. However, unless all changes to the file$ ERROR: code indent should never use tabs #2840: FILE: tools/virtiofsd/fuse_lowlevel.h:477: +^I * come through the kernel this will not work reliably. The$ ERROR: code indent should never use tabs #2841: FILE: tools/virtiofsd/fuse_lowlevel.h:478: +^I * filesystem should thus either ignore the O_APPEND flag$ ERROR: code indent should never use tabs #2842: FILE: tools/virtiofsd/fuse_lowlevel.h:479: +^I * (and let the kernel handle it), or return an error$ ERROR: code indent should never use tabs #2843: FILE: tools/virtiofsd/fuse_lowlevel.h:480: +^I * (indicating that reliably O_APPEND is not available).$ ERROR: code indent should never use tabs #2844: FILE: tools/virtiofsd/fuse_lowlevel.h:481: +^I *$ ERROR: code indent should never use tabs #2845: FILE: tools/virtiofsd/fuse_lowlevel.h:482: +^I * Filesystem may store an arbitrary file handle (pointer,$ ERROR: code indent should never use tabs #2846: FILE: tools/virtiofsd/fuse_lowlevel.h:483: +^I * index, etc) in fi->fh, and use this in other all other file$ ERROR: code indent should never use tabs #2847: FILE: tools/virtiofsd/fuse_lowlevel.h:484: +^I * operations (read, write, flush, release, fsync).$ ERROR: code indent should never use tabs #2848: FILE: tools/virtiofsd/fuse_lowlevel.h:485: +^I *$ ERROR: code indent should never use tabs #2849: FILE: tools/virtiofsd/fuse_lowlevel.h:486: +^I * Filesystem may also implement stateless file I/O and not store$ ERROR: code indent should never use tabs #2850: FILE: tools/virtiofsd/fuse_lowlevel.h:487: +^I * anything in fi->fh.$ ERROR: code indent should never use tabs #2851: FILE: tools/virtiofsd/fuse_lowlevel.h:488: +^I *$ ERROR: code indent should never use tabs #2852: FILE: tools/virtiofsd/fuse_lowlevel.h:489: +^I * There are also some flags (direct_io, keep_cache) which the$ ERROR: code indent should never use tabs #2853: FILE: tools/virtiofsd/fuse_lowlevel.h:490: +^I * filesystem may set in fi, to change the way the file is opened.$ ERROR: code indent should never use tabs #2854: FILE: tools/virtiofsd/fuse_lowlevel.h:491: +^I * See fuse_file_info structure in <fuse_common.h> for more details.$ ERROR: code indent should never use tabs #2855: FILE: tools/virtiofsd/fuse_lowlevel.h:492: +^I *$ ERROR: code indent should never use tabs #2856: FILE: tools/virtiofsd/fuse_lowlevel.h:493: +^I * If this request is answered with an error code of ENOSYS$ ERROR: code indent should never use tabs #2857: FILE: tools/virtiofsd/fuse_lowlevel.h:494: +^I * and FUSE_CAP_NO_OPEN_SUPPORT is set in$ ERROR: code indent should never use tabs #2858: FILE: tools/virtiofsd/fuse_lowlevel.h:495: +^I * `fuse_conn_info.capable`, this is treated as success and$ ERROR: code indent should never use tabs #2859: FILE: tools/virtiofsd/fuse_lowlevel.h:496: +^I * future calls to open and release will also succeed without being$ ERROR: code indent should never use tabs #2860: FILE: tools/virtiofsd/fuse_lowlevel.h:497: +^I * sent to the filesystem process.$ ERROR: code indent should never use tabs #2861: FILE: tools/virtiofsd/fuse_lowlevel.h:498: +^I *$ ERROR: code indent should never use tabs #2862: FILE: tools/virtiofsd/fuse_lowlevel.h:499: +^I * Valid replies:$ ERROR: code indent should never use tabs #2863: FILE: tools/virtiofsd/fuse_lowlevel.h:500: +^I * fuse_reply_open$ ERROR: code indent should never use tabs #2864: FILE: tools/virtiofsd/fuse_lowlevel.h:501: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2865: FILE: tools/virtiofsd/fuse_lowlevel.h:502: +^I *$ ERROR: code indent should never use tabs #2866: FILE: tools/virtiofsd/fuse_lowlevel.h:503: +^I * @param req request handle$ ERROR: code indent should never use tabs #2867: FILE: tools/virtiofsd/fuse_lowlevel.h:504: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2868: FILE: tools/virtiofsd/fuse_lowlevel.h:505: +^I * @param fi file information$ ERROR: code indent should never use tabs #2869: FILE: tools/virtiofsd/fuse_lowlevel.h:506: +^I */$ ERROR: code indent should never use tabs #2870: FILE: tools/virtiofsd/fuse_lowlevel.h:507: +^Ivoid (*open) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #2871: FILE: tools/virtiofsd/fuse_lowlevel.h:508: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2873: FILE: tools/virtiofsd/fuse_lowlevel.h:510: +^I/**$ ERROR: code indent should never use tabs #2874: FILE: tools/virtiofsd/fuse_lowlevel.h:511: +^I * Read data$ ERROR: code indent should never use tabs #2875: FILE: tools/virtiofsd/fuse_lowlevel.h:512: +^I *$ ERROR: code indent should never use tabs #2876: FILE: tools/virtiofsd/fuse_lowlevel.h:513: +^I * Read should send exactly the number of bytes requested except$ ERROR: code indent should never use tabs #2877: FILE: tools/virtiofsd/fuse_lowlevel.h:514: +^I * on EOF or error, otherwise the rest of the data will be$ ERROR: code indent should never use tabs #2878: FILE: tools/virtiofsd/fuse_lowlevel.h:515: +^I * substituted with zeroes. An exception to this is when the file$ ERROR: code indent should never use tabs #2879: FILE: tools/virtiofsd/fuse_lowlevel.h:516: +^I * has been opened in 'direct_io' mode, in which case the return$ ERROR: code indent should never use tabs #2880: FILE: tools/virtiofsd/fuse_lowlevel.h:517: +^I * value of the read system call will reflect the return value of$ ERROR: code indent should never use tabs #2881: FILE: tools/virtiofsd/fuse_lowlevel.h:518: +^I * this operation.$ ERROR: code indent should never use tabs #2882: FILE: tools/virtiofsd/fuse_lowlevel.h:519: +^I *$ ERROR: code indent should never use tabs #2883: FILE: tools/virtiofsd/fuse_lowlevel.h:520: +^I * fi->fh will contain the value set by the open method, or will$ ERROR: code indent should never use tabs #2884: FILE: tools/virtiofsd/fuse_lowlevel.h:521: +^I * be undefined if the open method didn't set any value.$ ERROR: code indent should never use tabs #2885: FILE: tools/virtiofsd/fuse_lowlevel.h:522: +^I *$ ERROR: code indent should never use tabs #2886: FILE: tools/virtiofsd/fuse_lowlevel.h:523: +^I * Valid replies:$ ERROR: code indent should never use tabs #2887: FILE: tools/virtiofsd/fuse_lowlevel.h:524: +^I * fuse_reply_buf$ ERROR: code indent should never use tabs #2888: FILE: tools/virtiofsd/fuse_lowlevel.h:525: +^I * fuse_reply_iov$ ERROR: code indent should never use tabs #2889: FILE: tools/virtiofsd/fuse_lowlevel.h:526: +^I * fuse_reply_data$ ERROR: code indent should never use tabs #2890: FILE: tools/virtiofsd/fuse_lowlevel.h:527: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2891: FILE: tools/virtiofsd/fuse_lowlevel.h:528: +^I *$ ERROR: code indent should never use tabs #2892: FILE: tools/virtiofsd/fuse_lowlevel.h:529: +^I * @param req request handle$ ERROR: code indent should never use tabs #2893: FILE: tools/virtiofsd/fuse_lowlevel.h:530: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2894: FILE: tools/virtiofsd/fuse_lowlevel.h:531: +^I * @param size number of bytes to read$ ERROR: code indent should never use tabs #2895: FILE: tools/virtiofsd/fuse_lowlevel.h:532: +^I * @param off offset to read from$ ERROR: code indent should never use tabs #2896: FILE: tools/virtiofsd/fuse_lowlevel.h:533: +^I * @param fi file information$ ERROR: code indent should never use tabs #2897: FILE: tools/virtiofsd/fuse_lowlevel.h:534: +^I */$ ERROR: code indent should never use tabs #2898: FILE: tools/virtiofsd/fuse_lowlevel.h:535: +^Ivoid (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$ ERROR: code indent should never use tabs #2899: FILE: tools/virtiofsd/fuse_lowlevel.h:536: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2901: FILE: tools/virtiofsd/fuse_lowlevel.h:538: +^I/**$ ERROR: code indent should never use tabs #2902: FILE: tools/virtiofsd/fuse_lowlevel.h:539: +^I * Write data$ ERROR: code indent should never use tabs #2903: FILE: tools/virtiofsd/fuse_lowlevel.h:540: +^I *$ ERROR: code indent should never use tabs #2904: FILE: tools/virtiofsd/fuse_lowlevel.h:541: +^I * Write should return exactly the number of bytes requested$ ERROR: code indent should never use tabs #2905: FILE: tools/virtiofsd/fuse_lowlevel.h:542: +^I * except on error. An exception to this is when the file has$ ERROR: code indent should never use tabs #2906: FILE: tools/virtiofsd/fuse_lowlevel.h:543: +^I * been opened in 'direct_io' mode, in which case the return value$ ERROR: code indent should never use tabs #2907: FILE: tools/virtiofsd/fuse_lowlevel.h:544: +^I * of the write system call will reflect the return value of this$ ERROR: code indent should never use tabs #2908: FILE: tools/virtiofsd/fuse_lowlevel.h:545: +^I * operation.$ ERROR: code indent should never use tabs #2909: FILE: tools/virtiofsd/fuse_lowlevel.h:546: +^I *$ ERROR: code indent should never use tabs #2910: FILE: tools/virtiofsd/fuse_lowlevel.h:547: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #2911: FILE: tools/virtiofsd/fuse_lowlevel.h:548: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #2912: FILE: tools/virtiofsd/fuse_lowlevel.h:549: +^I *$ ERROR: code indent should never use tabs #2913: FILE: tools/virtiofsd/fuse_lowlevel.h:550: +^I * fi->fh will contain the value set by the open method, or will$ ERROR: code indent should never use tabs #2914: FILE: tools/virtiofsd/fuse_lowlevel.h:551: +^I * be undefined if the open method didn't set any value.$ ERROR: code indent should never use tabs #2915: FILE: tools/virtiofsd/fuse_lowlevel.h:552: +^I *$ ERROR: code indent should never use tabs #2916: FILE: tools/virtiofsd/fuse_lowlevel.h:553: +^I * Valid replies:$ ERROR: code indent should never use tabs #2917: FILE: tools/virtiofsd/fuse_lowlevel.h:554: +^I * fuse_reply_write$ ERROR: code indent should never use tabs #2918: FILE: tools/virtiofsd/fuse_lowlevel.h:555: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2919: FILE: tools/virtiofsd/fuse_lowlevel.h:556: +^I *$ ERROR: code indent should never use tabs #2920: FILE: tools/virtiofsd/fuse_lowlevel.h:557: +^I * @param req request handle$ ERROR: code indent should never use tabs #2921: FILE: tools/virtiofsd/fuse_lowlevel.h:558: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2922: FILE: tools/virtiofsd/fuse_lowlevel.h:559: +^I * @param buf data to write$ ERROR: code indent should never use tabs #2923: FILE: tools/virtiofsd/fuse_lowlevel.h:560: +^I * @param size number of bytes to write$ ERROR: code indent should never use tabs #2924: FILE: tools/virtiofsd/fuse_lowlevel.h:561: +^I * @param off offset to write to$ ERROR: code indent should never use tabs #2925: FILE: tools/virtiofsd/fuse_lowlevel.h:562: +^I * @param fi file information$ ERROR: code indent should never use tabs #2926: FILE: tools/virtiofsd/fuse_lowlevel.h:563: +^I */$ ERROR: code indent should never use tabs #2927: FILE: tools/virtiofsd/fuse_lowlevel.h:564: +^Ivoid (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,$ ERROR: code indent should never use tabs #2928: FILE: tools/virtiofsd/fuse_lowlevel.h:565: +^I^I size_t size, off_t off, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2930: FILE: tools/virtiofsd/fuse_lowlevel.h:567: +^I/**$ ERROR: code indent should never use tabs #2931: FILE: tools/virtiofsd/fuse_lowlevel.h:568: +^I * Flush method$ ERROR: code indent should never use tabs #2932: FILE: tools/virtiofsd/fuse_lowlevel.h:569: +^I *$ ERROR: code indent should never use tabs #2933: FILE: tools/virtiofsd/fuse_lowlevel.h:570: +^I * This is called on each close() of the opened file.$ ERROR: code indent should never use tabs #2934: FILE: tools/virtiofsd/fuse_lowlevel.h:571: +^I *$ ERROR: code indent should never use tabs #2935: FILE: tools/virtiofsd/fuse_lowlevel.h:572: +^I * Since file descriptors can be duplicated (dup, dup2, fork), for$ ERROR: code indent should never use tabs #2936: FILE: tools/virtiofsd/fuse_lowlevel.h:573: +^I * one open call there may be many flush calls.$ ERROR: code indent should never use tabs #2937: FILE: tools/virtiofsd/fuse_lowlevel.h:574: +^I *$ ERROR: code indent should never use tabs #2938: FILE: tools/virtiofsd/fuse_lowlevel.h:575: +^I * Filesystems shouldn't assume that flush will always be called$ ERROR: code indent should never use tabs #2939: FILE: tools/virtiofsd/fuse_lowlevel.h:576: +^I * after some writes, or that if will be called at all.$ ERROR: code indent should never use tabs #2940: FILE: tools/virtiofsd/fuse_lowlevel.h:577: +^I *$ ERROR: code indent should never use tabs #2941: FILE: tools/virtiofsd/fuse_lowlevel.h:578: +^I * fi->fh will contain the value set by the open method, or will$ ERROR: code indent should never use tabs #2942: FILE: tools/virtiofsd/fuse_lowlevel.h:579: +^I * be undefined if the open method didn't set any value.$ ERROR: code indent should never use tabs #2943: FILE: tools/virtiofsd/fuse_lowlevel.h:580: +^I *$ ERROR: code indent should never use tabs #2944: FILE: tools/virtiofsd/fuse_lowlevel.h:581: +^I * NOTE: the name of the method is misleading, since (unlike$ ERROR: code indent should never use tabs #2945: FILE: tools/virtiofsd/fuse_lowlevel.h:582: +^I * fsync) the filesystem is not forced to flush pending writes.$ ERROR: code indent should never use tabs #2946: FILE: tools/virtiofsd/fuse_lowlevel.h:583: +^I * One reason to flush data is if the filesystem wants to return$ ERROR: code indent should never use tabs #2947: FILE: tools/virtiofsd/fuse_lowlevel.h:584: +^I * write errors during close. However, such use is non-portable$ ERROR: code indent should never use tabs #2948: FILE: tools/virtiofsd/fuse_lowlevel.h:585: +^I * because POSIX does not require [close] to wait for delayed I/O to$ ERROR: code indent should never use tabs #2949: FILE: tools/virtiofsd/fuse_lowlevel.h:586: +^I * complete.$ ERROR: code indent should never use tabs #2950: FILE: tools/virtiofsd/fuse_lowlevel.h:587: +^I *$ ERROR: code indent should never use tabs #2951: FILE: tools/virtiofsd/fuse_lowlevel.h:588: +^I * If the filesystem supports file locking operations (setlk,$ ERROR: code indent should never use tabs #2952: FILE: tools/virtiofsd/fuse_lowlevel.h:589: +^I * getlk) it should remove all locks belonging to 'fi->owner'.$ ERROR: code indent should never use tabs #2953: FILE: tools/virtiofsd/fuse_lowlevel.h:590: +^I *$ ERROR: code indent should never use tabs #2954: FILE: tools/virtiofsd/fuse_lowlevel.h:591: +^I * If this request is answered with an error code of ENOSYS,$ ERROR: code indent should never use tabs #2955: FILE: tools/virtiofsd/fuse_lowlevel.h:592: +^I * this is treated as success and future calls to flush() will$ ERROR: code indent should never use tabs #2956: FILE: tools/virtiofsd/fuse_lowlevel.h:593: +^I * succeed automatically without being send to the filesystem$ ERROR: code indent should never use tabs #2957: FILE: tools/virtiofsd/fuse_lowlevel.h:594: +^I * process.$ ERROR: code indent should never use tabs #2958: FILE: tools/virtiofsd/fuse_lowlevel.h:595: +^I *$ ERROR: code indent should never use tabs #2959: FILE: tools/virtiofsd/fuse_lowlevel.h:596: +^I * Valid replies:$ ERROR: code indent should never use tabs #2960: FILE: tools/virtiofsd/fuse_lowlevel.h:597: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2961: FILE: tools/virtiofsd/fuse_lowlevel.h:598: +^I *$ ERROR: code indent should never use tabs #2962: FILE: tools/virtiofsd/fuse_lowlevel.h:599: +^I * @param req request handle$ ERROR: code indent should never use tabs #2963: FILE: tools/virtiofsd/fuse_lowlevel.h:600: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2964: FILE: tools/virtiofsd/fuse_lowlevel.h:601: +^I * @param fi file information$ ERROR: code indent should never use tabs #2965: FILE: tools/virtiofsd/fuse_lowlevel.h:602: +^I *$ WARNING: line over 80 characters #2966: FILE: tools/virtiofsd/fuse_lowlevel.h:603: + * [close]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html ERROR: code indent should never use tabs #2966: FILE: tools/virtiofsd/fuse_lowlevel.h:603: +^I * [close]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html$ ERROR: code indent should never use tabs #2967: FILE: tools/virtiofsd/fuse_lowlevel.h:604: +^I */$ ERROR: code indent should never use tabs #2968: FILE: tools/virtiofsd/fuse_lowlevel.h:605: +^Ivoid (*flush) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #2969: FILE: tools/virtiofsd/fuse_lowlevel.h:606: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2971: FILE: tools/virtiofsd/fuse_lowlevel.h:608: +^I/**$ ERROR: code indent should never use tabs #2972: FILE: tools/virtiofsd/fuse_lowlevel.h:609: +^I * Release an open file$ ERROR: code indent should never use tabs #2973: FILE: tools/virtiofsd/fuse_lowlevel.h:610: +^I *$ ERROR: code indent should never use tabs #2974: FILE: tools/virtiofsd/fuse_lowlevel.h:611: +^I * Release is called when there are no more references to an open$ ERROR: code indent should never use tabs #2975: FILE: tools/virtiofsd/fuse_lowlevel.h:612: +^I * file: all file descriptors are closed and all memory mappings$ ERROR: code indent should never use tabs #2976: FILE: tools/virtiofsd/fuse_lowlevel.h:613: +^I * are unmapped.$ ERROR: code indent should never use tabs #2977: FILE: tools/virtiofsd/fuse_lowlevel.h:614: +^I *$ ERROR: code indent should never use tabs #2978: FILE: tools/virtiofsd/fuse_lowlevel.h:615: +^I * For every open call there will be exactly one release call (unless$ ERROR: code indent should never use tabs #2979: FILE: tools/virtiofsd/fuse_lowlevel.h:616: +^I * the filesystem is force-unmounted).$ ERROR: code indent should never use tabs #2980: FILE: tools/virtiofsd/fuse_lowlevel.h:617: +^I *$ ERROR: code indent should never use tabs #2981: FILE: tools/virtiofsd/fuse_lowlevel.h:618: +^I * The filesystem may reply with an error, but error values are$ ERROR: code indent should never use tabs #2982: FILE: tools/virtiofsd/fuse_lowlevel.h:619: +^I * not returned to close() or munmap() which triggered the$ ERROR: code indent should never use tabs #2983: FILE: tools/virtiofsd/fuse_lowlevel.h:620: +^I * release.$ ERROR: code indent should never use tabs #2984: FILE: tools/virtiofsd/fuse_lowlevel.h:621: +^I *$ ERROR: code indent should never use tabs #2985: FILE: tools/virtiofsd/fuse_lowlevel.h:622: +^I * fi->fh will contain the value set by the open method, or will$ ERROR: code indent should never use tabs #2986: FILE: tools/virtiofsd/fuse_lowlevel.h:623: +^I * be undefined if the open method didn't set any value.$ ERROR: code indent should never use tabs #2987: FILE: tools/virtiofsd/fuse_lowlevel.h:624: +^I * fi->flags will contain the same flags as for open.$ ERROR: code indent should never use tabs #2988: FILE: tools/virtiofsd/fuse_lowlevel.h:625: +^I *$ ERROR: code indent should never use tabs #2989: FILE: tools/virtiofsd/fuse_lowlevel.h:626: +^I * Valid replies:$ ERROR: code indent should never use tabs #2990: FILE: tools/virtiofsd/fuse_lowlevel.h:627: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #2991: FILE: tools/virtiofsd/fuse_lowlevel.h:628: +^I *$ ERROR: code indent should never use tabs #2992: FILE: tools/virtiofsd/fuse_lowlevel.h:629: +^I * @param req request handle$ ERROR: code indent should never use tabs #2993: FILE: tools/virtiofsd/fuse_lowlevel.h:630: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #2994: FILE: tools/virtiofsd/fuse_lowlevel.h:631: +^I * @param fi file information$ ERROR: code indent should never use tabs #2995: FILE: tools/virtiofsd/fuse_lowlevel.h:632: +^I */$ ERROR: code indent should never use tabs #2996: FILE: tools/virtiofsd/fuse_lowlevel.h:633: +^Ivoid (*release) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #2997: FILE: tools/virtiofsd/fuse_lowlevel.h:634: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #2999: FILE: tools/virtiofsd/fuse_lowlevel.h:636: +^I/**$ ERROR: code indent should never use tabs #3000: FILE: tools/virtiofsd/fuse_lowlevel.h:637: +^I * Synchronize file contents$ ERROR: code indent should never use tabs #3001: FILE: tools/virtiofsd/fuse_lowlevel.h:638: +^I *$ ERROR: code indent should never use tabs #3002: FILE: tools/virtiofsd/fuse_lowlevel.h:639: +^I * If the datasync parameter is non-zero, then only the user data$ ERROR: code indent should never use tabs #3003: FILE: tools/virtiofsd/fuse_lowlevel.h:640: +^I * should be flushed, not the meta data.$ ERROR: code indent should never use tabs #3004: FILE: tools/virtiofsd/fuse_lowlevel.h:641: +^I *$ ERROR: code indent should never use tabs #3005: FILE: tools/virtiofsd/fuse_lowlevel.h:642: +^I * If this request is answered with an error code of ENOSYS,$ ERROR: code indent should never use tabs #3006: FILE: tools/virtiofsd/fuse_lowlevel.h:643: +^I * this is treated as success and future calls to fsync() will$ ERROR: code indent should never use tabs #3007: FILE: tools/virtiofsd/fuse_lowlevel.h:644: +^I * succeed automatically without being send to the filesystem$ ERROR: code indent should never use tabs #3008: FILE: tools/virtiofsd/fuse_lowlevel.h:645: +^I * process.$ ERROR: code indent should never use tabs #3009: FILE: tools/virtiofsd/fuse_lowlevel.h:646: +^I *$ ERROR: code indent should never use tabs #3010: FILE: tools/virtiofsd/fuse_lowlevel.h:647: +^I * Valid replies:$ ERROR: code indent should never use tabs #3011: FILE: tools/virtiofsd/fuse_lowlevel.h:648: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3012: FILE: tools/virtiofsd/fuse_lowlevel.h:649: +^I *$ ERROR: code indent should never use tabs #3013: FILE: tools/virtiofsd/fuse_lowlevel.h:650: +^I * @param req request handle$ ERROR: code indent should never use tabs #3014: FILE: tools/virtiofsd/fuse_lowlevel.h:651: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3015: FILE: tools/virtiofsd/fuse_lowlevel.h:652: +^I * @param datasync flag indicating if only data should be flushed$ ERROR: code indent should never use tabs #3016: FILE: tools/virtiofsd/fuse_lowlevel.h:653: +^I * @param fi file information$ ERROR: code indent should never use tabs #3017: FILE: tools/virtiofsd/fuse_lowlevel.h:654: +^I */$ ERROR: code indent should never use tabs #3018: FILE: tools/virtiofsd/fuse_lowlevel.h:655: +^Ivoid (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,$ ERROR: code indent should never use tabs #3019: FILE: tools/virtiofsd/fuse_lowlevel.h:656: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3021: FILE: tools/virtiofsd/fuse_lowlevel.h:658: +^I/**$ ERROR: code indent should never use tabs #3022: FILE: tools/virtiofsd/fuse_lowlevel.h:659: +^I * Open a directory$ ERROR: code indent should never use tabs #3023: FILE: tools/virtiofsd/fuse_lowlevel.h:660: +^I *$ ERROR: code indent should never use tabs #3024: FILE: tools/virtiofsd/fuse_lowlevel.h:661: +^I * Filesystem may store an arbitrary file handle (pointer, index,$ ERROR: code indent should never use tabs #3025: FILE: tools/virtiofsd/fuse_lowlevel.h:662: +^I * etc) in fi->fh, and use this in other all other directory$ ERROR: code indent should never use tabs #3026: FILE: tools/virtiofsd/fuse_lowlevel.h:663: +^I * stream operations (readdir, releasedir, fsyncdir).$ ERROR: code indent should never use tabs #3027: FILE: tools/virtiofsd/fuse_lowlevel.h:664: +^I *$ ERROR: code indent should never use tabs #3028: FILE: tools/virtiofsd/fuse_lowlevel.h:665: +^I * If this request is answered with an error code of ENOSYS and$ ERROR: code indent should never use tabs #3029: FILE: tools/virtiofsd/fuse_lowlevel.h:666: +^I * FUSE_CAP_NO_OPENDIR_SUPPORT is set in `fuse_conn_info.capable`,$ ERROR: code indent should never use tabs #3030: FILE: tools/virtiofsd/fuse_lowlevel.h:667: +^I * this is treated as success and future calls to opendir and$ ERROR: code indent should never use tabs #3031: FILE: tools/virtiofsd/fuse_lowlevel.h:668: +^I * releasedir will also succeed without being sent to the filesystem$ ERROR: code indent should never use tabs #3032: FILE: tools/virtiofsd/fuse_lowlevel.h:669: +^I * process. In addition, the kernel will cache readdir results$ ERROR: code indent should never use tabs #3033: FILE: tools/virtiofsd/fuse_lowlevel.h:670: +^I * as if opendir returned FOPEN_KEEP_CACHE | FOPEN_CACHE_DIR.$ ERROR: code indent should never use tabs #3034: FILE: tools/virtiofsd/fuse_lowlevel.h:671: +^I *$ ERROR: code indent should never use tabs #3035: FILE: tools/virtiofsd/fuse_lowlevel.h:672: +^I * Valid replies:$ ERROR: code indent should never use tabs #3036: FILE: tools/virtiofsd/fuse_lowlevel.h:673: +^I * fuse_reply_open$ ERROR: code indent should never use tabs #3037: FILE: tools/virtiofsd/fuse_lowlevel.h:674: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3038: FILE: tools/virtiofsd/fuse_lowlevel.h:675: +^I *$ ERROR: code indent should never use tabs #3039: FILE: tools/virtiofsd/fuse_lowlevel.h:676: +^I * @param req request handle$ ERROR: code indent should never use tabs #3040: FILE: tools/virtiofsd/fuse_lowlevel.h:677: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3041: FILE: tools/virtiofsd/fuse_lowlevel.h:678: +^I * @param fi file information$ ERROR: code indent should never use tabs #3042: FILE: tools/virtiofsd/fuse_lowlevel.h:679: +^I */$ ERROR: code indent should never use tabs #3043: FILE: tools/virtiofsd/fuse_lowlevel.h:680: +^Ivoid (*opendir) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3044: FILE: tools/virtiofsd/fuse_lowlevel.h:681: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3046: FILE: tools/virtiofsd/fuse_lowlevel.h:683: +^I/**$ ERROR: code indent should never use tabs #3047: FILE: tools/virtiofsd/fuse_lowlevel.h:684: +^I * Read directory$ ERROR: code indent should never use tabs #3048: FILE: tools/virtiofsd/fuse_lowlevel.h:685: +^I *$ ERROR: code indent should never use tabs #3049: FILE: tools/virtiofsd/fuse_lowlevel.h:686: +^I * Send a buffer filled using fuse_add_direntry(), with size not$ ERROR: code indent should never use tabs #3050: FILE: tools/virtiofsd/fuse_lowlevel.h:687: +^I * exceeding the requested size. Send an empty buffer on end of$ ERROR: code indent should never use tabs #3051: FILE: tools/virtiofsd/fuse_lowlevel.h:688: +^I * stream.$ ERROR: code indent should never use tabs #3052: FILE: tools/virtiofsd/fuse_lowlevel.h:689: +^I *$ ERROR: code indent should never use tabs #3053: FILE: tools/virtiofsd/fuse_lowlevel.h:690: +^I * fi->fh will contain the value set by the opendir method, or$ ERROR: code indent should never use tabs #3054: FILE: tools/virtiofsd/fuse_lowlevel.h:691: +^I * will be undefined if the opendir method didn't set any value.$ ERROR: code indent should never use tabs #3055: FILE: tools/virtiofsd/fuse_lowlevel.h:692: +^I *$ ERROR: code indent should never use tabs #3056: FILE: tools/virtiofsd/fuse_lowlevel.h:693: +^I * Returning a directory entry from readdir() does not affect$ ERROR: code indent should never use tabs #3057: FILE: tools/virtiofsd/fuse_lowlevel.h:694: +^I * its lookup count.$ ERROR: code indent should never use tabs #3058: FILE: tools/virtiofsd/fuse_lowlevel.h:695: +^I *$ ERROR: code indent should never use tabs #3060: FILE: tools/virtiofsd/fuse_lowlevel.h:697: +^I * values that was previously returned by readdir() for the same$ ERROR: code indent should never use tabs #3061: FILE: tools/virtiofsd/fuse_lowlevel.h:698: +^I * directory handle. In this case, readdir() should skip over entries$ ERROR: code indent should never use tabs #3062: FILE: tools/virtiofsd/fuse_lowlevel.h:699: +^I * coming before the position defined by the off_t value. If entries$ WARNING: line over 80 characters #3063: FILE: tools/virtiofsd/fuse_lowlevel.h:700: + * are added or removed while the directory handle is open, they filesystem ERROR: code indent should never use tabs #3063: FILE: tools/virtiofsd/fuse_lowlevel.h:700: +^I * are added or removed while the directory handle is open, they filesystem$ ERROR: code indent should never use tabs #3064: FILE: tools/virtiofsd/fuse_lowlevel.h:701: +^I * may still include the entries that have been removed, and may not$ ERROR: code indent should never use tabs #3065: FILE: tools/virtiofsd/fuse_lowlevel.h:702: +^I * report the entries that have been created. However, addition or$ ERROR: code indent should never use tabs #3066: FILE: tools/virtiofsd/fuse_lowlevel.h:703: +^I * removal of entries must never cause readdir() to skip over unrelated$ ERROR: code indent should never use tabs #3067: FILE: tools/virtiofsd/fuse_lowlevel.h:704: +^I * entries or to report them more than once. This means$ ERROR: code indent should never use tabs #3068: FILE: tools/virtiofsd/fuse_lowlevel.h:705: +^I * that off_t can not be a simple index that enumerates the entries$ ERROR: code indent should never use tabs #3069: FILE: tools/virtiofsd/fuse_lowlevel.h:706: +^I * that have been returned but must contain sufficient information to$ ERROR: code indent should never use tabs #3070: FILE: tools/virtiofsd/fuse_lowlevel.h:707: +^I * uniquely determine the next directory entry to return even when the$ ERROR: code indent should never use tabs #3071: FILE: tools/virtiofsd/fuse_lowlevel.h:708: +^I * set of entries is changing.$ ERROR: code indent should never use tabs #3072: FILE: tools/virtiofsd/fuse_lowlevel.h:709: +^I *$ ERROR: code indent should never use tabs #3073: FILE: tools/virtiofsd/fuse_lowlevel.h:710: +^I * The function does not have to report the '.' and '..'$ ERROR: code indent should never use tabs #3074: FILE: tools/virtiofsd/fuse_lowlevel.h:711: +^I * entries, but is allowed to do so. Note that, if readdir does$ ERROR: code indent should never use tabs #3075: FILE: tools/virtiofsd/fuse_lowlevel.h:712: +^I * not return '.' or '..', they will not be implicitly returned,$ ERROR: code indent should never use tabs #3076: FILE: tools/virtiofsd/fuse_lowlevel.h:713: +^I * and this behavior is observable by the caller.$ ERROR: code indent should never use tabs #3077: FILE: tools/virtiofsd/fuse_lowlevel.h:714: +^I *$ ERROR: code indent should never use tabs #3078: FILE: tools/virtiofsd/fuse_lowlevel.h:715: +^I * Valid replies:$ ERROR: code indent should never use tabs #3079: FILE: tools/virtiofsd/fuse_lowlevel.h:716: +^I * fuse_reply_buf$ ERROR: code indent should never use tabs #3080: FILE: tools/virtiofsd/fuse_lowlevel.h:717: +^I * fuse_reply_data$ ERROR: code indent should never use tabs #3081: FILE: tools/virtiofsd/fuse_lowlevel.h:718: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3082: FILE: tools/virtiofsd/fuse_lowlevel.h:719: +^I *$ ERROR: code indent should never use tabs #3083: FILE: tools/virtiofsd/fuse_lowlevel.h:720: +^I * @param req request handle$ ERROR: code indent should never use tabs #3084: FILE: tools/virtiofsd/fuse_lowlevel.h:721: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3085: FILE: tools/virtiofsd/fuse_lowlevel.h:722: +^I * @param size maximum number of bytes to send$ ERROR: code indent should never use tabs #3086: FILE: tools/virtiofsd/fuse_lowlevel.h:723: +^I * @param off offset to continue reading the directory stream$ ERROR: code indent should never use tabs #3087: FILE: tools/virtiofsd/fuse_lowlevel.h:724: +^I * @param fi file information$ ERROR: code indent should never use tabs #3088: FILE: tools/virtiofsd/fuse_lowlevel.h:725: +^I */$ ERROR: code indent should never use tabs #3089: FILE: tools/virtiofsd/fuse_lowlevel.h:726: +^Ivoid (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$ ERROR: code indent should never use tabs #3090: FILE: tools/virtiofsd/fuse_lowlevel.h:727: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3092: FILE: tools/virtiofsd/fuse_lowlevel.h:729: +^I/**$ ERROR: code indent should never use tabs #3093: FILE: tools/virtiofsd/fuse_lowlevel.h:730: +^I * Release an open directory$ ERROR: code indent should never use tabs #3094: FILE: tools/virtiofsd/fuse_lowlevel.h:731: +^I *$ ERROR: code indent should never use tabs #3095: FILE: tools/virtiofsd/fuse_lowlevel.h:732: +^I * For every opendir call there will be exactly one releasedir$ ERROR: code indent should never use tabs #3096: FILE: tools/virtiofsd/fuse_lowlevel.h:733: +^I * call (unless the filesystem is force-unmounted).$ ERROR: code indent should never use tabs #3097: FILE: tools/virtiofsd/fuse_lowlevel.h:734: +^I *$ ERROR: code indent should never use tabs #3098: FILE: tools/virtiofsd/fuse_lowlevel.h:735: +^I * fi->fh will contain the value set by the opendir method, or$ ERROR: code indent should never use tabs #3099: FILE: tools/virtiofsd/fuse_lowlevel.h:736: +^I * will be undefined if the opendir method didn't set any value.$ ERROR: code indent should never use tabs #3100: FILE: tools/virtiofsd/fuse_lowlevel.h:737: +^I *$ ERROR: code indent should never use tabs #3101: FILE: tools/virtiofsd/fuse_lowlevel.h:738: +^I * Valid replies:$ ERROR: code indent should never use tabs #3102: FILE: tools/virtiofsd/fuse_lowlevel.h:739: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3103: FILE: tools/virtiofsd/fuse_lowlevel.h:740: +^I *$ ERROR: code indent should never use tabs #3104: FILE: tools/virtiofsd/fuse_lowlevel.h:741: +^I * @param req request handle$ ERROR: code indent should never use tabs #3105: FILE: tools/virtiofsd/fuse_lowlevel.h:742: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3106: FILE: tools/virtiofsd/fuse_lowlevel.h:743: +^I * @param fi file information$ ERROR: code indent should never use tabs #3107: FILE: tools/virtiofsd/fuse_lowlevel.h:744: +^I */$ ERROR: code indent should never use tabs #3108: FILE: tools/virtiofsd/fuse_lowlevel.h:745: +^Ivoid (*releasedir) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3109: FILE: tools/virtiofsd/fuse_lowlevel.h:746: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3111: FILE: tools/virtiofsd/fuse_lowlevel.h:748: +^I/**$ ERROR: code indent should never use tabs #3112: FILE: tools/virtiofsd/fuse_lowlevel.h:749: +^I * Synchronize directory contents$ ERROR: code indent should never use tabs #3113: FILE: tools/virtiofsd/fuse_lowlevel.h:750: +^I *$ ERROR: code indent should never use tabs #3114: FILE: tools/virtiofsd/fuse_lowlevel.h:751: +^I * If the datasync parameter is non-zero, then only the directory$ ERROR: code indent should never use tabs #3115: FILE: tools/virtiofsd/fuse_lowlevel.h:752: +^I * contents should be flushed, not the meta data.$ ERROR: code indent should never use tabs #3116: FILE: tools/virtiofsd/fuse_lowlevel.h:753: +^I *$ ERROR: code indent should never use tabs #3117: FILE: tools/virtiofsd/fuse_lowlevel.h:754: +^I * fi->fh will contain the value set by the opendir method, or$ ERROR: code indent should never use tabs #3118: FILE: tools/virtiofsd/fuse_lowlevel.h:755: +^I * will be undefined if the opendir method didn't set any value.$ ERROR: code indent should never use tabs #3119: FILE: tools/virtiofsd/fuse_lowlevel.h:756: +^I *$ ERROR: code indent should never use tabs #3120: FILE: tools/virtiofsd/fuse_lowlevel.h:757: +^I * If this request is answered with an error code of ENOSYS,$ ERROR: code indent should never use tabs #3121: FILE: tools/virtiofsd/fuse_lowlevel.h:758: +^I * this is treated as success and future calls to fsyncdir() will$ ERROR: code indent should never use tabs #3122: FILE: tools/virtiofsd/fuse_lowlevel.h:759: +^I * succeed automatically without being send to the filesystem$ ERROR: code indent should never use tabs #3123: FILE: tools/virtiofsd/fuse_lowlevel.h:760: +^I * process.$ ERROR: code indent should never use tabs #3124: FILE: tools/virtiofsd/fuse_lowlevel.h:761: +^I *$ ERROR: code indent should never use tabs #3125: FILE: tools/virtiofsd/fuse_lowlevel.h:762: +^I * Valid replies:$ ERROR: code indent should never use tabs #3126: FILE: tools/virtiofsd/fuse_lowlevel.h:763: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3127: FILE: tools/virtiofsd/fuse_lowlevel.h:764: +^I *$ ERROR: code indent should never use tabs #3128: FILE: tools/virtiofsd/fuse_lowlevel.h:765: +^I * @param req request handle$ ERROR: code indent should never use tabs #3129: FILE: tools/virtiofsd/fuse_lowlevel.h:766: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3130: FILE: tools/virtiofsd/fuse_lowlevel.h:767: +^I * @param datasync flag indicating if only data should be flushed$ ERROR: code indent should never use tabs #3131: FILE: tools/virtiofsd/fuse_lowlevel.h:768: +^I * @param fi file information$ ERROR: code indent should never use tabs #3132: FILE: tools/virtiofsd/fuse_lowlevel.h:769: +^I */$ ERROR: code indent should never use tabs #3133: FILE: tools/virtiofsd/fuse_lowlevel.h:770: +^Ivoid (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,$ ERROR: code indent should never use tabs #3134: FILE: tools/virtiofsd/fuse_lowlevel.h:771: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3136: FILE: tools/virtiofsd/fuse_lowlevel.h:773: +^I/**$ ERROR: code indent should never use tabs #3137: FILE: tools/virtiofsd/fuse_lowlevel.h:774: +^I * Get file system statistics$ ERROR: code indent should never use tabs #3138: FILE: tools/virtiofsd/fuse_lowlevel.h:775: +^I *$ ERROR: code indent should never use tabs #3139: FILE: tools/virtiofsd/fuse_lowlevel.h:776: +^I * Valid replies:$ ERROR: code indent should never use tabs #3140: FILE: tools/virtiofsd/fuse_lowlevel.h:777: +^I * fuse_reply_statfs$ ERROR: code indent should never use tabs #3141: FILE: tools/virtiofsd/fuse_lowlevel.h:778: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3142: FILE: tools/virtiofsd/fuse_lowlevel.h:779: +^I *$ ERROR: code indent should never use tabs #3143: FILE: tools/virtiofsd/fuse_lowlevel.h:780: +^I * @param req request handle$ ERROR: code indent should never use tabs #3144: FILE: tools/virtiofsd/fuse_lowlevel.h:781: +^I * @param ino the inode number, zero means "undefined"$ ERROR: code indent should never use tabs #3145: FILE: tools/virtiofsd/fuse_lowlevel.h:782: +^I */$ ERROR: code indent should never use tabs #3146: FILE: tools/virtiofsd/fuse_lowlevel.h:783: +^Ivoid (*statfs) (fuse_req_t req, fuse_ino_t ino);$ ERROR: code indent should never use tabs #3148: FILE: tools/virtiofsd/fuse_lowlevel.h:785: +^I/**$ ERROR: code indent should never use tabs #3149: FILE: tools/virtiofsd/fuse_lowlevel.h:786: +^I * Set an extended attribute$ ERROR: code indent should never use tabs #3150: FILE: tools/virtiofsd/fuse_lowlevel.h:787: +^I *$ ERROR: code indent should never use tabs #3151: FILE: tools/virtiofsd/fuse_lowlevel.h:788: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3152: FILE: tools/virtiofsd/fuse_lowlevel.h:789: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3153: FILE: tools/virtiofsd/fuse_lowlevel.h:790: +^I * future setxattr() requests will fail with EOPNOTSUPP without being$ ERROR: code indent should never use tabs #3154: FILE: tools/virtiofsd/fuse_lowlevel.h:791: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #3155: FILE: tools/virtiofsd/fuse_lowlevel.h:792: +^I *$ ERROR: code indent should never use tabs #3156: FILE: tools/virtiofsd/fuse_lowlevel.h:793: +^I * Valid replies:$ ERROR: code indent should never use tabs #3157: FILE: tools/virtiofsd/fuse_lowlevel.h:794: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3158: FILE: tools/virtiofsd/fuse_lowlevel.h:795: +^I */$ ERROR: code indent should never use tabs #3159: FILE: tools/virtiofsd/fuse_lowlevel.h:796: +^Ivoid (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,$ ERROR: code indent should never use tabs #3160: FILE: tools/virtiofsd/fuse_lowlevel.h:797: +^I^I^I const char *value, size_t size, int flags);$ ERROR: code indent should never use tabs #3162: FILE: tools/virtiofsd/fuse_lowlevel.h:799: +^I/**$ ERROR: code indent should never use tabs #3163: FILE: tools/virtiofsd/fuse_lowlevel.h:800: +^I * Get an extended attribute$ ERROR: code indent should never use tabs #3164: FILE: tools/virtiofsd/fuse_lowlevel.h:801: +^I *$ ERROR: code indent should never use tabs #3165: FILE: tools/virtiofsd/fuse_lowlevel.h:802: +^I * If size is zero, the size of the value should be sent with$ ERROR: code indent should never use tabs #3166: FILE: tools/virtiofsd/fuse_lowlevel.h:803: +^I * fuse_reply_xattr.$ ERROR: code indent should never use tabs #3167: FILE: tools/virtiofsd/fuse_lowlevel.h:804: +^I *$ ERROR: code indent should never use tabs #3168: FILE: tools/virtiofsd/fuse_lowlevel.h:805: +^I * If the size is non-zero, and the value fits in the buffer, the$ ERROR: code indent should never use tabs #3169: FILE: tools/virtiofsd/fuse_lowlevel.h:806: +^I * value should be sent with fuse_reply_buf.$ ERROR: code indent should never use tabs #3170: FILE: tools/virtiofsd/fuse_lowlevel.h:807: +^I *$ ERROR: code indent should never use tabs #3171: FILE: tools/virtiofsd/fuse_lowlevel.h:808: +^I * If the size is too small for the value, the ERANGE error should$ ERROR: code indent should never use tabs #3172: FILE: tools/virtiofsd/fuse_lowlevel.h:809: +^I * be sent.$ ERROR: code indent should never use tabs #3173: FILE: tools/virtiofsd/fuse_lowlevel.h:810: +^I *$ ERROR: code indent should never use tabs #3174: FILE: tools/virtiofsd/fuse_lowlevel.h:811: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3175: FILE: tools/virtiofsd/fuse_lowlevel.h:812: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3176: FILE: tools/virtiofsd/fuse_lowlevel.h:813: +^I * future getxattr() requests will fail with EOPNOTSUPP without being$ ERROR: code indent should never use tabs #3177: FILE: tools/virtiofsd/fuse_lowlevel.h:814: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #3178: FILE: tools/virtiofsd/fuse_lowlevel.h:815: +^I *$ ERROR: code indent should never use tabs #3179: FILE: tools/virtiofsd/fuse_lowlevel.h:816: +^I * Valid replies:$ ERROR: code indent should never use tabs #3180: FILE: tools/virtiofsd/fuse_lowlevel.h:817: +^I * fuse_reply_buf$ ERROR: code indent should never use tabs #3181: FILE: tools/virtiofsd/fuse_lowlevel.h:818: +^I * fuse_reply_data$ ERROR: code indent should never use tabs #3182: FILE: tools/virtiofsd/fuse_lowlevel.h:819: +^I * fuse_reply_xattr$ ERROR: code indent should never use tabs #3183: FILE: tools/virtiofsd/fuse_lowlevel.h:820: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3184: FILE: tools/virtiofsd/fuse_lowlevel.h:821: +^I *$ ERROR: code indent should never use tabs #3185: FILE: tools/virtiofsd/fuse_lowlevel.h:822: +^I * @param req request handle$ ERROR: code indent should never use tabs #3186: FILE: tools/virtiofsd/fuse_lowlevel.h:823: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3187: FILE: tools/virtiofsd/fuse_lowlevel.h:824: +^I * @param name of the extended attribute$ ERROR: code indent should never use tabs #3188: FILE: tools/virtiofsd/fuse_lowlevel.h:825: +^I * @param size maximum size of the value to send$ ERROR: code indent should never use tabs #3189: FILE: tools/virtiofsd/fuse_lowlevel.h:826: +^I */$ ERROR: code indent should never use tabs #3190: FILE: tools/virtiofsd/fuse_lowlevel.h:827: +^Ivoid (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,$ ERROR: code indent should never use tabs #3191: FILE: tools/virtiofsd/fuse_lowlevel.h:828: +^I^I^I size_t size);$ ERROR: code indent should never use tabs #3193: FILE: tools/virtiofsd/fuse_lowlevel.h:830: +^I/**$ ERROR: code indent should never use tabs #3194: FILE: tools/virtiofsd/fuse_lowlevel.h:831: +^I * List extended attribute names$ ERROR: code indent should never use tabs #3195: FILE: tools/virtiofsd/fuse_lowlevel.h:832: +^I *$ ERROR: code indent should never use tabs #3196: FILE: tools/virtiofsd/fuse_lowlevel.h:833: +^I * If size is zero, the total size of the attribute list should be$ ERROR: code indent should never use tabs #3197: FILE: tools/virtiofsd/fuse_lowlevel.h:834: +^I * sent with fuse_reply_xattr.$ ERROR: code indent should never use tabs #3198: FILE: tools/virtiofsd/fuse_lowlevel.h:835: +^I *$ ERROR: code indent should never use tabs #3199: FILE: tools/virtiofsd/fuse_lowlevel.h:836: +^I * If the size is non-zero, and the null character separated$ ERROR: code indent should never use tabs #3200: FILE: tools/virtiofsd/fuse_lowlevel.h:837: +^I * attribute list fits in the buffer, the list should be sent with$ ERROR: code indent should never use tabs #3201: FILE: tools/virtiofsd/fuse_lowlevel.h:838: +^I * fuse_reply_buf.$ ERROR: code indent should never use tabs #3202: FILE: tools/virtiofsd/fuse_lowlevel.h:839: +^I *$ ERROR: code indent should never use tabs #3203: FILE: tools/virtiofsd/fuse_lowlevel.h:840: +^I * If the size is too small for the list, the ERANGE error should$ ERROR: code indent should never use tabs #3204: FILE: tools/virtiofsd/fuse_lowlevel.h:841: +^I * be sent.$ ERROR: code indent should never use tabs #3205: FILE: tools/virtiofsd/fuse_lowlevel.h:842: +^I *$ ERROR: code indent should never use tabs #3206: FILE: tools/virtiofsd/fuse_lowlevel.h:843: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3207: FILE: tools/virtiofsd/fuse_lowlevel.h:844: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3208: FILE: tools/virtiofsd/fuse_lowlevel.h:845: +^I * future listxattr() requests will fail with EOPNOTSUPP without being$ ERROR: code indent should never use tabs #3209: FILE: tools/virtiofsd/fuse_lowlevel.h:846: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #3210: FILE: tools/virtiofsd/fuse_lowlevel.h:847: +^I *$ ERROR: code indent should never use tabs #3211: FILE: tools/virtiofsd/fuse_lowlevel.h:848: +^I * Valid replies:$ ERROR: code indent should never use tabs #3212: FILE: tools/virtiofsd/fuse_lowlevel.h:849: +^I * fuse_reply_buf$ ERROR: code indent should never use tabs #3213: FILE: tools/virtiofsd/fuse_lowlevel.h:850: +^I * fuse_reply_data$ ERROR: code indent should never use tabs #3214: FILE: tools/virtiofsd/fuse_lowlevel.h:851: +^I * fuse_reply_xattr$ ERROR: code indent should never use tabs #3215: FILE: tools/virtiofsd/fuse_lowlevel.h:852: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3216: FILE: tools/virtiofsd/fuse_lowlevel.h:853: +^I *$ ERROR: code indent should never use tabs #3217: FILE: tools/virtiofsd/fuse_lowlevel.h:854: +^I * @param req request handle$ ERROR: code indent should never use tabs #3218: FILE: tools/virtiofsd/fuse_lowlevel.h:855: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3219: FILE: tools/virtiofsd/fuse_lowlevel.h:856: +^I * @param size maximum size of the list to send$ ERROR: code indent should never use tabs #3220: FILE: tools/virtiofsd/fuse_lowlevel.h:857: +^I */$ ERROR: code indent should never use tabs #3221: FILE: tools/virtiofsd/fuse_lowlevel.h:858: +^Ivoid (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);$ ERROR: code indent should never use tabs #3223: FILE: tools/virtiofsd/fuse_lowlevel.h:860: +^I/**$ ERROR: code indent should never use tabs #3224: FILE: tools/virtiofsd/fuse_lowlevel.h:861: +^I * Remove an extended attribute$ ERROR: code indent should never use tabs #3225: FILE: tools/virtiofsd/fuse_lowlevel.h:862: +^I *$ ERROR: code indent should never use tabs #3226: FILE: tools/virtiofsd/fuse_lowlevel.h:863: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3227: FILE: tools/virtiofsd/fuse_lowlevel.h:864: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3228: FILE: tools/virtiofsd/fuse_lowlevel.h:865: +^I * future removexattr() requests will fail with EOPNOTSUPP without being$ ERROR: code indent should never use tabs #3229: FILE: tools/virtiofsd/fuse_lowlevel.h:866: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #3230: FILE: tools/virtiofsd/fuse_lowlevel.h:867: +^I *$ ERROR: code indent should never use tabs #3231: FILE: tools/virtiofsd/fuse_lowlevel.h:868: +^I * Valid replies:$ ERROR: code indent should never use tabs #3232: FILE: tools/virtiofsd/fuse_lowlevel.h:869: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3233: FILE: tools/virtiofsd/fuse_lowlevel.h:870: +^I *$ ERROR: code indent should never use tabs #3234: FILE: tools/virtiofsd/fuse_lowlevel.h:871: +^I * @param req request handle$ ERROR: code indent should never use tabs #3235: FILE: tools/virtiofsd/fuse_lowlevel.h:872: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3236: FILE: tools/virtiofsd/fuse_lowlevel.h:873: +^I * @param name of the extended attribute$ ERROR: code indent should never use tabs #3237: FILE: tools/virtiofsd/fuse_lowlevel.h:874: +^I */$ ERROR: code indent should never use tabs #3238: FILE: tools/virtiofsd/fuse_lowlevel.h:875: +^Ivoid (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);$ ERROR: code indent should never use tabs #3240: FILE: tools/virtiofsd/fuse_lowlevel.h:877: +^I/**$ ERROR: code indent should never use tabs #3241: FILE: tools/virtiofsd/fuse_lowlevel.h:878: +^I * Check file access permissions$ ERROR: code indent should never use tabs #3242: FILE: tools/virtiofsd/fuse_lowlevel.h:879: +^I *$ ERROR: code indent should never use tabs #3243: FILE: tools/virtiofsd/fuse_lowlevel.h:880: +^I * This will be called for the access() and chdir() system$ ERROR: code indent should never use tabs #3244: FILE: tools/virtiofsd/fuse_lowlevel.h:881: +^I * calls. If the 'default_permissions' mount option is given,$ ERROR: code indent should never use tabs #3245: FILE: tools/virtiofsd/fuse_lowlevel.h:882: +^I * this method is not called.$ ERROR: code indent should never use tabs #3246: FILE: tools/virtiofsd/fuse_lowlevel.h:883: +^I *$ ERROR: code indent should never use tabs #3247: FILE: tools/virtiofsd/fuse_lowlevel.h:884: +^I * This method is not called under Linux kernel versions 2.4.x$ ERROR: code indent should never use tabs #3248: FILE: tools/virtiofsd/fuse_lowlevel.h:885: +^I *$ ERROR: code indent should never use tabs #3249: FILE: tools/virtiofsd/fuse_lowlevel.h:886: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3250: FILE: tools/virtiofsd/fuse_lowlevel.h:887: +^I * treated as a permanent success, i.e. this and all future access()$ ERROR: code indent should never use tabs #3251: FILE: tools/virtiofsd/fuse_lowlevel.h:888: +^I * requests will succeed without being send to the filesystem process.$ ERROR: code indent should never use tabs #3252: FILE: tools/virtiofsd/fuse_lowlevel.h:889: +^I *$ ERROR: code indent should never use tabs #3253: FILE: tools/virtiofsd/fuse_lowlevel.h:890: +^I * Valid replies:$ ERROR: code indent should never use tabs #3254: FILE: tools/virtiofsd/fuse_lowlevel.h:891: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3255: FILE: tools/virtiofsd/fuse_lowlevel.h:892: +^I *$ ERROR: code indent should never use tabs #3256: FILE: tools/virtiofsd/fuse_lowlevel.h:893: +^I * @param req request handle$ ERROR: code indent should never use tabs #3257: FILE: tools/virtiofsd/fuse_lowlevel.h:894: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3258: FILE: tools/virtiofsd/fuse_lowlevel.h:895: +^I * @param mask requested access mode$ ERROR: code indent should never use tabs #3259: FILE: tools/virtiofsd/fuse_lowlevel.h:896: +^I */$ ERROR: code indent should never use tabs #3260: FILE: tools/virtiofsd/fuse_lowlevel.h:897: +^Ivoid (*access) (fuse_req_t req, fuse_ino_t ino, int mask);$ ERROR: code indent should never use tabs #3262: FILE: tools/virtiofsd/fuse_lowlevel.h:899: +^I/**$ ERROR: code indent should never use tabs #3263: FILE: tools/virtiofsd/fuse_lowlevel.h:900: +^I * Create and open a file$ ERROR: code indent should never use tabs #3264: FILE: tools/virtiofsd/fuse_lowlevel.h:901: +^I *$ ERROR: code indent should never use tabs #3265: FILE: tools/virtiofsd/fuse_lowlevel.h:902: +^I * If the file does not exist, first create it with the specified$ ERROR: code indent should never use tabs #3266: FILE: tools/virtiofsd/fuse_lowlevel.h:903: +^I * mode, and then open it.$ ERROR: code indent should never use tabs #3267: FILE: tools/virtiofsd/fuse_lowlevel.h:904: +^I *$ ERROR: code indent should never use tabs #3268: FILE: tools/virtiofsd/fuse_lowlevel.h:905: +^I * See the description of the open handler for more$ ERROR: code indent should never use tabs #3269: FILE: tools/virtiofsd/fuse_lowlevel.h:906: +^I * information.$ ERROR: code indent should never use tabs #3270: FILE: tools/virtiofsd/fuse_lowlevel.h:907: +^I *$ ERROR: code indent should never use tabs #3271: FILE: tools/virtiofsd/fuse_lowlevel.h:908: +^I * If this method is not implemented or under Linux kernel$ ERROR: code indent should never use tabs #3272: FILE: tools/virtiofsd/fuse_lowlevel.h:909: +^I * versions earlier than 2.6.15, the mknod() and open() methods$ ERROR: code indent should never use tabs #3273: FILE: tools/virtiofsd/fuse_lowlevel.h:910: +^I * will be called instead.$ ERROR: code indent should never use tabs #3274: FILE: tools/virtiofsd/fuse_lowlevel.h:911: +^I *$ ERROR: code indent should never use tabs #3275: FILE: tools/virtiofsd/fuse_lowlevel.h:912: +^I * If this request is answered with an error code of ENOSYS, the handler$ ERROR: code indent should never use tabs #3276: FILE: tools/virtiofsd/fuse_lowlevel.h:913: +^I * is treated as not implemented (i.e., for this and future requests the$ ERROR: code indent should never use tabs #3277: FILE: tools/virtiofsd/fuse_lowlevel.h:914: +^I * mknod() and open() handlers will be called instead).$ ERROR: code indent should never use tabs #3278: FILE: tools/virtiofsd/fuse_lowlevel.h:915: +^I *$ ERROR: code indent should never use tabs #3279: FILE: tools/virtiofsd/fuse_lowlevel.h:916: +^I * Valid replies:$ ERROR: code indent should never use tabs #3280: FILE: tools/virtiofsd/fuse_lowlevel.h:917: +^I * fuse_reply_create$ ERROR: code indent should never use tabs #3281: FILE: tools/virtiofsd/fuse_lowlevel.h:918: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3282: FILE: tools/virtiofsd/fuse_lowlevel.h:919: +^I *$ ERROR: code indent should never use tabs #3283: FILE: tools/virtiofsd/fuse_lowlevel.h:920: +^I * @param req request handle$ ERROR: code indent should never use tabs #3284: FILE: tools/virtiofsd/fuse_lowlevel.h:921: +^I * @param parent inode number of the parent directory$ ERROR: code indent should never use tabs #3285: FILE: tools/virtiofsd/fuse_lowlevel.h:922: +^I * @param name to create$ ERROR: code indent should never use tabs #3286: FILE: tools/virtiofsd/fuse_lowlevel.h:923: +^I * @param mode file type and mode with which to create the new file$ ERROR: code indent should never use tabs #3287: FILE: tools/virtiofsd/fuse_lowlevel.h:924: +^I * @param fi file information$ ERROR: code indent should never use tabs #3288: FILE: tools/virtiofsd/fuse_lowlevel.h:925: +^I */$ ERROR: code indent should never use tabs #3289: FILE: tools/virtiofsd/fuse_lowlevel.h:926: +^Ivoid (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,$ ERROR: code indent should never use tabs #3290: FILE: tools/virtiofsd/fuse_lowlevel.h:927: +^I^I^Imode_t mode, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3292: FILE: tools/virtiofsd/fuse_lowlevel.h:929: +^I/**$ ERROR: code indent should never use tabs #3293: FILE: tools/virtiofsd/fuse_lowlevel.h:930: +^I * Test for a POSIX file lock$ ERROR: code indent should never use tabs #3294: FILE: tools/virtiofsd/fuse_lowlevel.h:931: +^I *$ ERROR: code indent should never use tabs #3295: FILE: tools/virtiofsd/fuse_lowlevel.h:932: +^I * Valid replies:$ ERROR: code indent should never use tabs #3296: FILE: tools/virtiofsd/fuse_lowlevel.h:933: +^I * fuse_reply_lock$ ERROR: code indent should never use tabs #3297: FILE: tools/virtiofsd/fuse_lowlevel.h:934: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3298: FILE: tools/virtiofsd/fuse_lowlevel.h:935: +^I *$ ERROR: code indent should never use tabs #3299: FILE: tools/virtiofsd/fuse_lowlevel.h:936: +^I * @param req request handle$ ERROR: code indent should never use tabs #3300: FILE: tools/virtiofsd/fuse_lowlevel.h:937: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3301: FILE: tools/virtiofsd/fuse_lowlevel.h:938: +^I * @param fi file information$ ERROR: code indent should never use tabs #3302: FILE: tools/virtiofsd/fuse_lowlevel.h:939: +^I * @param lock the region/type to test$ ERROR: code indent should never use tabs #3303: FILE: tools/virtiofsd/fuse_lowlevel.h:940: +^I */$ ERROR: code indent should never use tabs #3304: FILE: tools/virtiofsd/fuse_lowlevel.h:941: +^Ivoid (*getlk) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3305: FILE: tools/virtiofsd/fuse_lowlevel.h:942: +^I^I struct fuse_file_info *fi, struct flock *lock);$ ERROR: code indent should never use tabs #3307: FILE: tools/virtiofsd/fuse_lowlevel.h:944: +^I/**$ ERROR: code indent should never use tabs #3308: FILE: tools/virtiofsd/fuse_lowlevel.h:945: +^I * Acquire, modify or release a POSIX file lock$ ERROR: code indent should never use tabs #3309: FILE: tools/virtiofsd/fuse_lowlevel.h:946: +^I *$ ERROR: code indent should never use tabs #3310: FILE: tools/virtiofsd/fuse_lowlevel.h:947: +^I * For POSIX threads (NPTL) there's a 1-1 relation between pid and$ ERROR: code indent should never use tabs #3311: FILE: tools/virtiofsd/fuse_lowlevel.h:948: +^I * owner, but otherwise this is not always the case. For checking$ ERROR: code indent should never use tabs #3312: FILE: tools/virtiofsd/fuse_lowlevel.h:949: +^I * lock ownership, 'fi->owner' must be used. The l_pid field in$ ERROR: code indent should never use tabs #3313: FILE: tools/virtiofsd/fuse_lowlevel.h:950: +^I * 'struct flock' should only be used to fill in this field in$ ERROR: code indent should never use tabs #3314: FILE: tools/virtiofsd/fuse_lowlevel.h:951: +^I * getlk().$ ERROR: code indent should never use tabs #3315: FILE: tools/virtiofsd/fuse_lowlevel.h:952: +^I *$ ERROR: code indent should never use tabs #3316: FILE: tools/virtiofsd/fuse_lowlevel.h:953: +^I * Note: if the locking methods are not implemented, the kernel$ ERROR: code indent should never use tabs #3317: FILE: tools/virtiofsd/fuse_lowlevel.h:954: +^I * will still allow file locking to work locally. Hence these are$ ERROR: code indent should never use tabs #3318: FILE: tools/virtiofsd/fuse_lowlevel.h:955: +^I * only interesting for network filesystems and similar.$ ERROR: code indent should never use tabs #3319: FILE: tools/virtiofsd/fuse_lowlevel.h:956: +^I *$ ERROR: code indent should never use tabs #3320: FILE: tools/virtiofsd/fuse_lowlevel.h:957: +^I * Valid replies:$ ERROR: code indent should never use tabs #3321: FILE: tools/virtiofsd/fuse_lowlevel.h:958: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3322: FILE: tools/virtiofsd/fuse_lowlevel.h:959: +^I *$ ERROR: code indent should never use tabs #3323: FILE: tools/virtiofsd/fuse_lowlevel.h:960: +^I * @param req request handle$ ERROR: code indent should never use tabs #3324: FILE: tools/virtiofsd/fuse_lowlevel.h:961: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3325: FILE: tools/virtiofsd/fuse_lowlevel.h:962: +^I * @param fi file information$ ERROR: code indent should never use tabs #3326: FILE: tools/virtiofsd/fuse_lowlevel.h:963: +^I * @param lock the region/type to set$ ERROR: code indent should never use tabs #3327: FILE: tools/virtiofsd/fuse_lowlevel.h:964: +^I * @param sleep locking operation may sleep$ ERROR: code indent should never use tabs #3328: FILE: tools/virtiofsd/fuse_lowlevel.h:965: +^I */$ ERROR: code indent should never use tabs #3329: FILE: tools/virtiofsd/fuse_lowlevel.h:966: +^Ivoid (*setlk) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3330: FILE: tools/virtiofsd/fuse_lowlevel.h:967: +^I^I struct fuse_file_info *fi,$ ERROR: code indent should never use tabs #3331: FILE: tools/virtiofsd/fuse_lowlevel.h:968: +^I^I struct flock *lock, int sleep);$ ERROR: code indent should never use tabs #3333: FILE: tools/virtiofsd/fuse_lowlevel.h:970: +^I/**$ ERROR: code indent should never use tabs #3334: FILE: tools/virtiofsd/fuse_lowlevel.h:971: +^I * Map block index within file to block index within device$ ERROR: code indent should never use tabs #3335: FILE: tools/virtiofsd/fuse_lowlevel.h:972: +^I *$ ERROR: code indent should never use tabs #3336: FILE: tools/virtiofsd/fuse_lowlevel.h:973: +^I * Note: This makes sense only for block device backed filesystems$ ERROR: code indent should never use tabs #3337: FILE: tools/virtiofsd/fuse_lowlevel.h:974: +^I * mounted with the 'blkdev' option$ ERROR: code indent should never use tabs #3338: FILE: tools/virtiofsd/fuse_lowlevel.h:975: +^I *$ ERROR: code indent should never use tabs #3339: FILE: tools/virtiofsd/fuse_lowlevel.h:976: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3340: FILE: tools/virtiofsd/fuse_lowlevel.h:977: +^I * treated as a permanent failure, i.e. all future bmap() requests will$ ERROR: code indent should never use tabs #3341: FILE: tools/virtiofsd/fuse_lowlevel.h:978: +^I * fail with the same error code without being send to the filesystem$ ERROR: code indent should never use tabs #3342: FILE: tools/virtiofsd/fuse_lowlevel.h:979: +^I * process.$ ERROR: code indent should never use tabs #3343: FILE: tools/virtiofsd/fuse_lowlevel.h:980: +^I *$ ERROR: code indent should never use tabs #3344: FILE: tools/virtiofsd/fuse_lowlevel.h:981: +^I * Valid replies:$ ERROR: code indent should never use tabs #3345: FILE: tools/virtiofsd/fuse_lowlevel.h:982: +^I * fuse_reply_bmap$ ERROR: code indent should never use tabs #3346: FILE: tools/virtiofsd/fuse_lowlevel.h:983: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3347: FILE: tools/virtiofsd/fuse_lowlevel.h:984: +^I *$ ERROR: code indent should never use tabs #3348: FILE: tools/virtiofsd/fuse_lowlevel.h:985: +^I * @param req request handle$ ERROR: code indent should never use tabs #3349: FILE: tools/virtiofsd/fuse_lowlevel.h:986: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3350: FILE: tools/virtiofsd/fuse_lowlevel.h:987: +^I * @param blocksize unit of block index$ ERROR: code indent should never use tabs #3351: FILE: tools/virtiofsd/fuse_lowlevel.h:988: +^I * @param idx block index within file$ ERROR: code indent should never use tabs #3352: FILE: tools/virtiofsd/fuse_lowlevel.h:989: +^I */$ ERROR: code indent should never use tabs #3353: FILE: tools/virtiofsd/fuse_lowlevel.h:990: +^Ivoid (*bmap) (fuse_req_t req, fuse_ino_t ino, size_t blocksize,$ ERROR: code indent should never use tabs #3354: FILE: tools/virtiofsd/fuse_lowlevel.h:991: +^I^I uint64_t idx);$ ERROR: code indent should never use tabs #3356: FILE: tools/virtiofsd/fuse_lowlevel.h:993: +^I/**$ ERROR: code indent should never use tabs #3357: FILE: tools/virtiofsd/fuse_lowlevel.h:994: +^I * Ioctl$ ERROR: code indent should never use tabs #3358: FILE: tools/virtiofsd/fuse_lowlevel.h:995: +^I *$ ERROR: code indent should never use tabs #3359: FILE: tools/virtiofsd/fuse_lowlevel.h:996: +^I * Note: For unrestricted ioctls (not allowed for FUSE$ ERROR: code indent should never use tabs #3360: FILE: tools/virtiofsd/fuse_lowlevel.h:997: +^I * servers), data in and out areas can be discovered by giving$ ERROR: code indent should never use tabs #3361: FILE: tools/virtiofsd/fuse_lowlevel.h:998: +^I * iovs and setting FUSE_IOCTL_RETRY in *flags*. For$ ERROR: code indent should never use tabs #3362: FILE: tools/virtiofsd/fuse_lowlevel.h:999: +^I * restricted ioctls, kernel prepares in/out data area$ ERROR: code indent should never use tabs #3363: FILE: tools/virtiofsd/fuse_lowlevel.h:1000: +^I * according to the information encoded in cmd.$ ERROR: code indent should never use tabs #3364: FILE: tools/virtiofsd/fuse_lowlevel.h:1001: +^I *$ ERROR: code indent should never use tabs #3365: FILE: tools/virtiofsd/fuse_lowlevel.h:1002: +^I * Valid replies:$ ERROR: code indent should never use tabs #3366: FILE: tools/virtiofsd/fuse_lowlevel.h:1003: +^I * fuse_reply_ioctl_retry$ ERROR: code indent should never use tabs #3367: FILE: tools/virtiofsd/fuse_lowlevel.h:1004: +^I * fuse_reply_ioctl$ ERROR: code indent should never use tabs #3368: FILE: tools/virtiofsd/fuse_lowlevel.h:1005: +^I * fuse_reply_ioctl_iov$ ERROR: code indent should never use tabs #3369: FILE: tools/virtiofsd/fuse_lowlevel.h:1006: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3370: FILE: tools/virtiofsd/fuse_lowlevel.h:1007: +^I *$ ERROR: code indent should never use tabs #3371: FILE: tools/virtiofsd/fuse_lowlevel.h:1008: +^I * @param req request handle$ ERROR: code indent should never use tabs #3372: FILE: tools/virtiofsd/fuse_lowlevel.h:1009: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3373: FILE: tools/virtiofsd/fuse_lowlevel.h:1010: +^I * @param cmd ioctl command$ ERROR: code indent should never use tabs #3374: FILE: tools/virtiofsd/fuse_lowlevel.h:1011: +^I * @param arg ioctl argument$ ERROR: code indent should never use tabs #3375: FILE: tools/virtiofsd/fuse_lowlevel.h:1012: +^I * @param fi file information$ ERROR: code indent should never use tabs #3376: FILE: tools/virtiofsd/fuse_lowlevel.h:1013: +^I * @param flags for FUSE_IOCTL_* flags$ ERROR: code indent should never use tabs #3377: FILE: tools/virtiofsd/fuse_lowlevel.h:1014: +^I * @param in_buf data fetched from the caller$ ERROR: code indent should never use tabs #3378: FILE: tools/virtiofsd/fuse_lowlevel.h:1015: +^I * @param in_bufsz number of fetched bytes$ ERROR: code indent should never use tabs #3379: FILE: tools/virtiofsd/fuse_lowlevel.h:1016: +^I * @param out_bufsz maximum size of output data$ ERROR: code indent should never use tabs #3380: FILE: tools/virtiofsd/fuse_lowlevel.h:1017: +^I *$ ERROR: code indent should never use tabs #3381: FILE: tools/virtiofsd/fuse_lowlevel.h:1018: +^I * Note : the unsigned long request submitted by the application$ ERROR: code indent should never use tabs #3382: FILE: tools/virtiofsd/fuse_lowlevel.h:1019: +^I * is truncated to 32 bits.$ ERROR: code indent should never use tabs #3383: FILE: tools/virtiofsd/fuse_lowlevel.h:1020: +^I */$ ERROR: code indent should never use tabs #3384: FILE: tools/virtiofsd/fuse_lowlevel.h:1021: +^Ivoid (*ioctl) (fuse_req_t req, fuse_ino_t ino, unsigned int cmd,$ ERROR: code indent should never use tabs #3385: FILE: tools/virtiofsd/fuse_lowlevel.h:1022: +^I^I void *arg, struct fuse_file_info *fi, unsigned flags,$ ERROR: code indent should never use tabs #3386: FILE: tools/virtiofsd/fuse_lowlevel.h:1023: +^I^I const void *in_buf, size_t in_bufsz, size_t out_bufsz);$ ERROR: code indent should never use tabs #3388: FILE: tools/virtiofsd/fuse_lowlevel.h:1025: +^I/**$ ERROR: code indent should never use tabs #3389: FILE: tools/virtiofsd/fuse_lowlevel.h:1026: +^I * Poll for IO readiness$ ERROR: code indent should never use tabs #3390: FILE: tools/virtiofsd/fuse_lowlevel.h:1027: +^I *$ ERROR: code indent should never use tabs #3391: FILE: tools/virtiofsd/fuse_lowlevel.h:1028: +^I * Note: If ph is non-NULL, the client should notify$ ERROR: code indent should never use tabs #3392: FILE: tools/virtiofsd/fuse_lowlevel.h:1029: +^I * when IO readiness events occur by calling$ ERROR: code indent should never use tabs #3393: FILE: tools/virtiofsd/fuse_lowlevel.h:1030: +^I * fuse_lowlevel_notify_poll() with the specified ph.$ ERROR: code indent should never use tabs #3394: FILE: tools/virtiofsd/fuse_lowlevel.h:1031: +^I *$ ERROR: code indent should never use tabs #3395: FILE: tools/virtiofsd/fuse_lowlevel.h:1032: +^I * Regardless of the number of times poll with a non-NULL ph$ ERROR: code indent should never use tabs #3396: FILE: tools/virtiofsd/fuse_lowlevel.h:1033: +^I * is received, single notification is enough to clear all.$ ERROR: code indent should never use tabs #3397: FILE: tools/virtiofsd/fuse_lowlevel.h:1034: +^I * Notifying more times incurs overhead but doesn't harm$ ERROR: code indent should never use tabs #3398: FILE: tools/virtiofsd/fuse_lowlevel.h:1035: +^I * correctness.$ ERROR: code indent should never use tabs #3399: FILE: tools/virtiofsd/fuse_lowlevel.h:1036: +^I *$ ERROR: code indent should never use tabs #3400: FILE: tools/virtiofsd/fuse_lowlevel.h:1037: +^I * The callee is responsible for destroying ph with$ ERROR: code indent should never use tabs #3401: FILE: tools/virtiofsd/fuse_lowlevel.h:1038: +^I * fuse_pollhandle_destroy() when no longer in use.$ ERROR: code indent should never use tabs #3402: FILE: tools/virtiofsd/fuse_lowlevel.h:1039: +^I *$ ERROR: code indent should never use tabs #3403: FILE: tools/virtiofsd/fuse_lowlevel.h:1040: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3404: FILE: tools/virtiofsd/fuse_lowlevel.h:1041: +^I * treated as success (with a kernel-defined default poll-mask) and$ ERROR: code indent should never use tabs #3405: FILE: tools/virtiofsd/fuse_lowlevel.h:1042: +^I * future calls to pull() will succeed the same way without being send$ ERROR: code indent should never use tabs #3406: FILE: tools/virtiofsd/fuse_lowlevel.h:1043: +^I * to the filesystem process.$ ERROR: code indent should never use tabs #3407: FILE: tools/virtiofsd/fuse_lowlevel.h:1044: +^I *$ ERROR: code indent should never use tabs #3408: FILE: tools/virtiofsd/fuse_lowlevel.h:1045: +^I * Valid replies:$ ERROR: code indent should never use tabs #3409: FILE: tools/virtiofsd/fuse_lowlevel.h:1046: +^I * fuse_reply_poll$ ERROR: code indent should never use tabs #3410: FILE: tools/virtiofsd/fuse_lowlevel.h:1047: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3411: FILE: tools/virtiofsd/fuse_lowlevel.h:1048: +^I *$ ERROR: code indent should never use tabs #3412: FILE: tools/virtiofsd/fuse_lowlevel.h:1049: +^I * @param req request handle$ ERROR: code indent should never use tabs #3413: FILE: tools/virtiofsd/fuse_lowlevel.h:1050: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3414: FILE: tools/virtiofsd/fuse_lowlevel.h:1051: +^I * @param fi file information$ ERROR: code indent should never use tabs #3415: FILE: tools/virtiofsd/fuse_lowlevel.h:1052: +^I * @param ph poll handle to be used for notification$ ERROR: code indent should never use tabs #3416: FILE: tools/virtiofsd/fuse_lowlevel.h:1053: +^I */$ ERROR: code indent should never use tabs #3417: FILE: tools/virtiofsd/fuse_lowlevel.h:1054: +^Ivoid (*poll) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi,$ ERROR: code indent should never use tabs #3418: FILE: tools/virtiofsd/fuse_lowlevel.h:1055: +^I^I struct fuse_pollhandle *ph);$ ERROR: code indent should never use tabs #3420: FILE: tools/virtiofsd/fuse_lowlevel.h:1057: +^I/**$ ERROR: code indent should never use tabs #3421: FILE: tools/virtiofsd/fuse_lowlevel.h:1058: +^I * Write data made available in a buffer$ ERROR: code indent should never use tabs #3422: FILE: tools/virtiofsd/fuse_lowlevel.h:1059: +^I *$ ERROR: code indent should never use tabs #3423: FILE: tools/virtiofsd/fuse_lowlevel.h:1060: +^I * This is a more generic version of the ->write() method. If$ ERROR: code indent should never use tabs #3424: FILE: tools/virtiofsd/fuse_lowlevel.h:1061: +^I * FUSE_CAP_SPLICE_READ is set in fuse_conn_info.want and the$ ERROR: code indent should never use tabs #3425: FILE: tools/virtiofsd/fuse_lowlevel.h:1062: +^I * kernel supports splicing from the fuse device, then the$ ERROR: code indent should never use tabs #3426: FILE: tools/virtiofsd/fuse_lowlevel.h:1063: +^I * data will be made available in pipe for supporting zero$ ERROR: code indent should never use tabs #3427: FILE: tools/virtiofsd/fuse_lowlevel.h:1064: +^I * copy data transfer.$ ERROR: code indent should never use tabs #3428: FILE: tools/virtiofsd/fuse_lowlevel.h:1065: +^I *$ ERROR: code indent should never use tabs #3429: FILE: tools/virtiofsd/fuse_lowlevel.h:1066: +^I * buf->count is guaranteed to be one (and thus buf->idx is$ ERROR: code indent should never use tabs #3430: FILE: tools/virtiofsd/fuse_lowlevel.h:1067: +^I * always zero). The write_buf handler must ensure that$ ERROR: code indent should never use tabs #3431: FILE: tools/virtiofsd/fuse_lowlevel.h:1068: +^I * bufv->off is correctly updated (reflecting the number of$ ERROR: code indent should never use tabs #3432: FILE: tools/virtiofsd/fuse_lowlevel.h:1069: +^I * bytes read from bufv->buf[0]).$ ERROR: code indent should never use tabs #3433: FILE: tools/virtiofsd/fuse_lowlevel.h:1070: +^I *$ ERROR: code indent should never use tabs #3434: FILE: tools/virtiofsd/fuse_lowlevel.h:1071: +^I * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is$ ERROR: code indent should never use tabs #3435: FILE: tools/virtiofsd/fuse_lowlevel.h:1072: +^I * expected to reset the setuid and setgid bits.$ ERROR: code indent should never use tabs #3436: FILE: tools/virtiofsd/fuse_lowlevel.h:1073: +^I *$ ERROR: code indent should never use tabs #3437: FILE: tools/virtiofsd/fuse_lowlevel.h:1074: +^I * Valid replies:$ ERROR: code indent should never use tabs #3438: FILE: tools/virtiofsd/fuse_lowlevel.h:1075: +^I * fuse_reply_write$ ERROR: code indent should never use tabs #3439: FILE: tools/virtiofsd/fuse_lowlevel.h:1076: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3440: FILE: tools/virtiofsd/fuse_lowlevel.h:1077: +^I *$ ERROR: code indent should never use tabs #3441: FILE: tools/virtiofsd/fuse_lowlevel.h:1078: +^I * @param req request handle$ ERROR: code indent should never use tabs #3442: FILE: tools/virtiofsd/fuse_lowlevel.h:1079: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3443: FILE: tools/virtiofsd/fuse_lowlevel.h:1080: +^I * @param bufv buffer containing the data$ ERROR: code indent should never use tabs #3444: FILE: tools/virtiofsd/fuse_lowlevel.h:1081: +^I * @param off offset to write to$ ERROR: code indent should never use tabs #3445: FILE: tools/virtiofsd/fuse_lowlevel.h:1082: +^I * @param fi file information$ ERROR: code indent should never use tabs #3446: FILE: tools/virtiofsd/fuse_lowlevel.h:1083: +^I */$ ERROR: code indent should never use tabs #3447: FILE: tools/virtiofsd/fuse_lowlevel.h:1084: +^Ivoid (*write_buf) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3448: FILE: tools/virtiofsd/fuse_lowlevel.h:1085: +^I^I^I struct fuse_bufvec *bufv, off_t off,$ ERROR: code indent should never use tabs #3449: FILE: tools/virtiofsd/fuse_lowlevel.h:1086: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3451: FILE: tools/virtiofsd/fuse_lowlevel.h:1088: +^I/**$ ERROR: code indent should never use tabs #3452: FILE: tools/virtiofsd/fuse_lowlevel.h:1089: +^I * Callback function for the retrieve request$ ERROR: code indent should never use tabs #3453: FILE: tools/virtiofsd/fuse_lowlevel.h:1090: +^I *$ ERROR: code indent should never use tabs #3454: FILE: tools/virtiofsd/fuse_lowlevel.h:1091: +^I * Valid replies:$ ERROR: code indent should never use tabs #3455: FILE: tools/virtiofsd/fuse_lowlevel.h:1092: +^I *^Ifuse_reply_none$ ERROR: code indent should never use tabs #3456: FILE: tools/virtiofsd/fuse_lowlevel.h:1093: +^I *$ ERROR: code indent should never use tabs #3457: FILE: tools/virtiofsd/fuse_lowlevel.h:1094: +^I * @param req request handle$ ERROR: code indent should never use tabs #3458: FILE: tools/virtiofsd/fuse_lowlevel.h:1095: +^I * @param cookie user data supplied to fuse_lowlevel_notify_retrieve()$ WARNING: line over 80 characters #3459: FILE: tools/virtiofsd/fuse_lowlevel.h:1096: + * @param ino the inode number supplied to fuse_lowlevel_notify_retrieve() ERROR: code indent should never use tabs #3459: FILE: tools/virtiofsd/fuse_lowlevel.h:1096: +^I * @param ino the inode number supplied to fuse_lowlevel_notify_retrieve()$ ERROR: code indent should never use tabs #3460: FILE: tools/virtiofsd/fuse_lowlevel.h:1097: +^I * @param offset the offset supplied to fuse_lowlevel_notify_retrieve()$ ERROR: code indent should never use tabs #3461: FILE: tools/virtiofsd/fuse_lowlevel.h:1098: +^I * @param bufv the buffer containing the returned data$ ERROR: code indent should never use tabs #3462: FILE: tools/virtiofsd/fuse_lowlevel.h:1099: +^I */$ ERROR: code indent should never use tabs #3463: FILE: tools/virtiofsd/fuse_lowlevel.h:1100: +^Ivoid (*retrieve_reply) (fuse_req_t req, void *cookie, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3464: FILE: tools/virtiofsd/fuse_lowlevel.h:1101: +^I^I^I^Ioff_t offset, struct fuse_bufvec *bufv);$ ERROR: code indent should never use tabs #3466: FILE: tools/virtiofsd/fuse_lowlevel.h:1103: +^I/**$ ERROR: code indent should never use tabs #3467: FILE: tools/virtiofsd/fuse_lowlevel.h:1104: +^I * Forget about multiple inodes$ ERROR: code indent should never use tabs #3468: FILE: tools/virtiofsd/fuse_lowlevel.h:1105: +^I *$ ERROR: code indent should never use tabs #3469: FILE: tools/virtiofsd/fuse_lowlevel.h:1106: +^I * See description of the forget function for more$ ERROR: code indent should never use tabs #3470: FILE: tools/virtiofsd/fuse_lowlevel.h:1107: +^I * information.$ ERROR: code indent should never use tabs #3471: FILE: tools/virtiofsd/fuse_lowlevel.h:1108: +^I *$ ERROR: code indent should never use tabs #3472: FILE: tools/virtiofsd/fuse_lowlevel.h:1109: +^I * Valid replies:$ ERROR: code indent should never use tabs #3473: FILE: tools/virtiofsd/fuse_lowlevel.h:1110: +^I * fuse_reply_none$ ERROR: code indent should never use tabs #3474: FILE: tools/virtiofsd/fuse_lowlevel.h:1111: +^I *$ ERROR: code indent should never use tabs #3475: FILE: tools/virtiofsd/fuse_lowlevel.h:1112: +^I * @param req request handle$ ERROR: code indent should never use tabs #3476: FILE: tools/virtiofsd/fuse_lowlevel.h:1113: +^I */$ ERROR: code indent should never use tabs #3477: FILE: tools/virtiofsd/fuse_lowlevel.h:1114: +^Ivoid (*forget_multi) (fuse_req_t req, size_t count,$ ERROR: code indent should never use tabs #3478: FILE: tools/virtiofsd/fuse_lowlevel.h:1115: +^I^I^I struct fuse_forget_data *forgets);$ ERROR: code indent should never use tabs #3480: FILE: tools/virtiofsd/fuse_lowlevel.h:1117: +^I/**$ ERROR: code indent should never use tabs #3481: FILE: tools/virtiofsd/fuse_lowlevel.h:1118: +^I * Acquire, modify or release a BSD file lock$ ERROR: code indent should never use tabs #3482: FILE: tools/virtiofsd/fuse_lowlevel.h:1119: +^I *$ ERROR: code indent should never use tabs #3483: FILE: tools/virtiofsd/fuse_lowlevel.h:1120: +^I * Note: if the locking methods are not implemented, the kernel$ ERROR: code indent should never use tabs #3484: FILE: tools/virtiofsd/fuse_lowlevel.h:1121: +^I * will still allow file locking to work locally. Hence these are$ ERROR: code indent should never use tabs #3485: FILE: tools/virtiofsd/fuse_lowlevel.h:1122: +^I * only interesting for network filesystems and similar.$ ERROR: code indent should never use tabs #3486: FILE: tools/virtiofsd/fuse_lowlevel.h:1123: +^I *$ ERROR: code indent should never use tabs #3487: FILE: tools/virtiofsd/fuse_lowlevel.h:1124: +^I * Valid replies:$ ERROR: code indent should never use tabs #3488: FILE: tools/virtiofsd/fuse_lowlevel.h:1125: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3489: FILE: tools/virtiofsd/fuse_lowlevel.h:1126: +^I *$ ERROR: code indent should never use tabs #3490: FILE: tools/virtiofsd/fuse_lowlevel.h:1127: +^I * @param req request handle$ ERROR: code indent should never use tabs #3491: FILE: tools/virtiofsd/fuse_lowlevel.h:1128: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3492: FILE: tools/virtiofsd/fuse_lowlevel.h:1129: +^I * @param fi file information$ ERROR: code indent should never use tabs #3493: FILE: tools/virtiofsd/fuse_lowlevel.h:1130: +^I * @param op the locking operation, see flock(2)$ ERROR: code indent should never use tabs #3494: FILE: tools/virtiofsd/fuse_lowlevel.h:1131: +^I */$ ERROR: code indent should never use tabs #3495: FILE: tools/virtiofsd/fuse_lowlevel.h:1132: +^Ivoid (*flock) (fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #3496: FILE: tools/virtiofsd/fuse_lowlevel.h:1133: +^I^I struct fuse_file_info *fi, int op);$ ERROR: code indent should never use tabs #3498: FILE: tools/virtiofsd/fuse_lowlevel.h:1135: +^I/**$ ERROR: code indent should never use tabs #3499: FILE: tools/virtiofsd/fuse_lowlevel.h:1136: +^I * Allocate requested space. If this function returns success then$ WARNING: line over 80 characters #3500: FILE: tools/virtiofsd/fuse_lowlevel.h:1137: + * subsequent writes to the specified range shall not fail due to the lack ERROR: code indent should never use tabs #3500: FILE: tools/virtiofsd/fuse_lowlevel.h:1137: +^I * subsequent writes to the specified range shall not fail due to the lack$ ERROR: code indent should never use tabs #3501: FILE: tools/virtiofsd/fuse_lowlevel.h:1138: +^I * of free space on the file system storage media.$ ERROR: code indent should never use tabs #3502: FILE: tools/virtiofsd/fuse_lowlevel.h:1139: +^I *$ ERROR: code indent should never use tabs #3503: FILE: tools/virtiofsd/fuse_lowlevel.h:1140: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3504: FILE: tools/virtiofsd/fuse_lowlevel.h:1141: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3505: FILE: tools/virtiofsd/fuse_lowlevel.h:1142: +^I * future fallocate() requests will fail with EOPNOTSUPP without being$ ERROR: code indent should never use tabs #3506: FILE: tools/virtiofsd/fuse_lowlevel.h:1143: +^I * send to the filesystem process.$ ERROR: code indent should never use tabs #3507: FILE: tools/virtiofsd/fuse_lowlevel.h:1144: +^I *$ ERROR: code indent should never use tabs #3508: FILE: tools/virtiofsd/fuse_lowlevel.h:1145: +^I * Valid replies:$ ERROR: code indent should never use tabs #3509: FILE: tools/virtiofsd/fuse_lowlevel.h:1146: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3510: FILE: tools/virtiofsd/fuse_lowlevel.h:1147: +^I *$ ERROR: code indent should never use tabs #3511: FILE: tools/virtiofsd/fuse_lowlevel.h:1148: +^I * @param req request handle$ ERROR: code indent should never use tabs #3512: FILE: tools/virtiofsd/fuse_lowlevel.h:1149: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3513: FILE: tools/virtiofsd/fuse_lowlevel.h:1150: +^I * @param offset starting point for allocated region$ ERROR: code indent should never use tabs #3514: FILE: tools/virtiofsd/fuse_lowlevel.h:1151: +^I * @param length size of allocated region$ WARNING: line over 80 characters #3515: FILE: tools/virtiofsd/fuse_lowlevel.h:1152: + * @param mode determines the operation to be performed on the given range, ERROR: code indent should never use tabs #3515: FILE: tools/virtiofsd/fuse_lowlevel.h:1152: +^I * @param mode determines the operation to be performed on the given range,$ ERROR: code indent should never use tabs #3516: FILE: tools/virtiofsd/fuse_lowlevel.h:1153: +^I * see fallocate(2)$ ERROR: code indent should never use tabs #3517: FILE: tools/virtiofsd/fuse_lowlevel.h:1154: +^I */$ ERROR: code indent should never use tabs #3518: FILE: tools/virtiofsd/fuse_lowlevel.h:1155: +^Ivoid (*fallocate) (fuse_req_t req, fuse_ino_t ino, int mode,$ ERROR: code indent should never use tabs #3519: FILE: tools/virtiofsd/fuse_lowlevel.h:1156: +^I^I off_t offset, off_t length, struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3521: FILE: tools/virtiofsd/fuse_lowlevel.h:1158: +^I/**$ ERROR: code indent should never use tabs #3522: FILE: tools/virtiofsd/fuse_lowlevel.h:1159: +^I * Read directory with attributes$ ERROR: code indent should never use tabs #3523: FILE: tools/virtiofsd/fuse_lowlevel.h:1160: +^I *$ ERROR: code indent should never use tabs #3524: FILE: tools/virtiofsd/fuse_lowlevel.h:1161: +^I * Send a buffer filled using fuse_add_direntry_plus(), with size not$ ERROR: code indent should never use tabs #3525: FILE: tools/virtiofsd/fuse_lowlevel.h:1162: +^I * exceeding the requested size. Send an empty buffer on end of$ ERROR: code indent should never use tabs #3526: FILE: tools/virtiofsd/fuse_lowlevel.h:1163: +^I * stream.$ ERROR: code indent should never use tabs #3527: FILE: tools/virtiofsd/fuse_lowlevel.h:1164: +^I *$ ERROR: code indent should never use tabs #3528: FILE: tools/virtiofsd/fuse_lowlevel.h:1165: +^I * fi->fh will contain the value set by the opendir method, or$ ERROR: code indent should never use tabs #3529: FILE: tools/virtiofsd/fuse_lowlevel.h:1166: +^I * will be undefined if the opendir method didn't set any value.$ ERROR: code indent should never use tabs #3530: FILE: tools/virtiofsd/fuse_lowlevel.h:1167: +^I *$ ERROR: code indent should never use tabs #3531: FILE: tools/virtiofsd/fuse_lowlevel.h:1168: +^I * In contrast to readdir() (which does not affect the lookup counts),$ ERROR: code indent should never use tabs #3532: FILE: tools/virtiofsd/fuse_lowlevel.h:1169: +^I * the lookup count of every entry returned by readdirplus(), except "."$ ERROR: code indent should never use tabs #3533: FILE: tools/virtiofsd/fuse_lowlevel.h:1170: +^I * and "..", is incremented by one.$ ERROR: code indent should never use tabs #3534: FILE: tools/virtiofsd/fuse_lowlevel.h:1171: +^I *$ ERROR: code indent should never use tabs #3535: FILE: tools/virtiofsd/fuse_lowlevel.h:1172: +^I * Valid replies:$ ERROR: code indent should never use tabs #3536: FILE: tools/virtiofsd/fuse_lowlevel.h:1173: +^I * fuse_reply_buf$ ERROR: code indent should never use tabs #3537: FILE: tools/virtiofsd/fuse_lowlevel.h:1174: +^I * fuse_reply_data$ ERROR: code indent should never use tabs #3538: FILE: tools/virtiofsd/fuse_lowlevel.h:1175: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3539: FILE: tools/virtiofsd/fuse_lowlevel.h:1176: +^I *$ ERROR: code indent should never use tabs #3540: FILE: tools/virtiofsd/fuse_lowlevel.h:1177: +^I * @param req request handle$ ERROR: code indent should never use tabs #3541: FILE: tools/virtiofsd/fuse_lowlevel.h:1178: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3542: FILE: tools/virtiofsd/fuse_lowlevel.h:1179: +^I * @param size maximum number of bytes to send$ ERROR: code indent should never use tabs #3543: FILE: tools/virtiofsd/fuse_lowlevel.h:1180: +^I * @param off offset to continue reading the directory stream$ ERROR: code indent should never use tabs #3544: FILE: tools/virtiofsd/fuse_lowlevel.h:1181: +^I * @param fi file information$ ERROR: code indent should never use tabs #3545: FILE: tools/virtiofsd/fuse_lowlevel.h:1182: +^I */$ WARNING: line over 80 characters #3546: FILE: tools/virtiofsd/fuse_lowlevel.h:1183: + void (*readdirplus) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off, ERROR: code indent should never use tabs #3546: FILE: tools/virtiofsd/fuse_lowlevel.h:1183: +^Ivoid (*readdirplus) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,$ ERROR: code indent should never use tabs #3547: FILE: tools/virtiofsd/fuse_lowlevel.h:1184: +^I^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3549: FILE: tools/virtiofsd/fuse_lowlevel.h:1186: +^I/**$ ERROR: code indent should never use tabs #3550: FILE: tools/virtiofsd/fuse_lowlevel.h:1187: +^I * Copy a range of data from one file to another$ ERROR: code indent should never use tabs #3551: FILE: tools/virtiofsd/fuse_lowlevel.h:1188: +^I *$ ERROR: code indent should never use tabs #3552: FILE: tools/virtiofsd/fuse_lowlevel.h:1189: +^I * Performs an optimized copy between two file descriptors without the$ ERROR: code indent should never use tabs #3553: FILE: tools/virtiofsd/fuse_lowlevel.h:1190: +^I * additional cost of transferring data through the FUSE kernel module$ ERROR: code indent should never use tabs #3554: FILE: tools/virtiofsd/fuse_lowlevel.h:1191: +^I * to user space (glibc) and then back into the FUSE filesystem again.$ ERROR: code indent should never use tabs #3555: FILE: tools/virtiofsd/fuse_lowlevel.h:1192: +^I *$ ERROR: code indent should never use tabs #3556: FILE: tools/virtiofsd/fuse_lowlevel.h:1193: +^I * In case this method is not implemented, glibc falls back to reading$ ERROR: code indent should never use tabs #3557: FILE: tools/virtiofsd/fuse_lowlevel.h:1194: +^I * data from the source and writing to the destination. Effectively$ ERROR: code indent should never use tabs #3558: FILE: tools/virtiofsd/fuse_lowlevel.h:1195: +^I * doing an inefficient copy of the data.$ ERROR: code indent should never use tabs #3559: FILE: tools/virtiofsd/fuse_lowlevel.h:1196: +^I *$ ERROR: code indent should never use tabs #3560: FILE: tools/virtiofsd/fuse_lowlevel.h:1197: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3561: FILE: tools/virtiofsd/fuse_lowlevel.h:1198: +^I * treated as a permanent failure with error code EOPNOTSUPP, i.e. all$ ERROR: code indent should never use tabs #3562: FILE: tools/virtiofsd/fuse_lowlevel.h:1199: +^I * future copy_file_range() requests will fail with EOPNOTSUPP without$ ERROR: code indent should never use tabs #3563: FILE: tools/virtiofsd/fuse_lowlevel.h:1200: +^I * being send to the filesystem process.$ ERROR: code indent should never use tabs #3564: FILE: tools/virtiofsd/fuse_lowlevel.h:1201: +^I *$ ERROR: code indent should never use tabs #3565: FILE: tools/virtiofsd/fuse_lowlevel.h:1202: +^I * Valid replies:$ ERROR: code indent should never use tabs #3566: FILE: tools/virtiofsd/fuse_lowlevel.h:1203: +^I * fuse_reply_write$ ERROR: code indent should never use tabs #3567: FILE: tools/virtiofsd/fuse_lowlevel.h:1204: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3568: FILE: tools/virtiofsd/fuse_lowlevel.h:1205: +^I *$ ERROR: code indent should never use tabs #3569: FILE: tools/virtiofsd/fuse_lowlevel.h:1206: +^I * @param req request handle$ ERROR: code indent should never use tabs #3570: FILE: tools/virtiofsd/fuse_lowlevel.h:1207: +^I * @param ino_in the inode number or the source file$ ERROR: code indent should never use tabs #3571: FILE: tools/virtiofsd/fuse_lowlevel.h:1208: +^I * @param off_in starting point from were the data should be read$ ERROR: code indent should never use tabs #3572: FILE: tools/virtiofsd/fuse_lowlevel.h:1209: +^I * @param fi_in file information of the source file$ ERROR: code indent should never use tabs #3573: FILE: tools/virtiofsd/fuse_lowlevel.h:1210: +^I * @param ino_out the inode number or the destination file$ ERROR: code indent should never use tabs #3574: FILE: tools/virtiofsd/fuse_lowlevel.h:1211: +^I * @param off_out starting point where the data should be written$ ERROR: code indent should never use tabs #3575: FILE: tools/virtiofsd/fuse_lowlevel.h:1212: +^I * @param fi_out file information of the destination file$ ERROR: code indent should never use tabs #3576: FILE: tools/virtiofsd/fuse_lowlevel.h:1213: +^I * @param len maximum size of the data to copy$ ERROR: code indent should never use tabs #3577: FILE: tools/virtiofsd/fuse_lowlevel.h:1214: +^I * @param flags passed along with the copy_file_range() syscall$ ERROR: code indent should never use tabs #3578: FILE: tools/virtiofsd/fuse_lowlevel.h:1215: +^I */$ ERROR: code indent should never use tabs #3579: FILE: tools/virtiofsd/fuse_lowlevel.h:1216: +^Ivoid (*copy_file_range) (fuse_req_t req, fuse_ino_t ino_in,$ ERROR: code indent should never use tabs #3580: FILE: tools/virtiofsd/fuse_lowlevel.h:1217: +^I^I^I^I off_t off_in, struct fuse_file_info *fi_in,$ ERROR: code indent should never use tabs #3581: FILE: tools/virtiofsd/fuse_lowlevel.h:1218: +^I^I^I^I fuse_ino_t ino_out, off_t off_out,$ ERROR: code indent should never use tabs #3582: FILE: tools/virtiofsd/fuse_lowlevel.h:1219: +^I^I^I^I struct fuse_file_info *fi_out, size_t len,$ ERROR: code indent should never use tabs #3583: FILE: tools/virtiofsd/fuse_lowlevel.h:1220: +^I^I^I^I int flags);$ ERROR: code indent should never use tabs #3585: FILE: tools/virtiofsd/fuse_lowlevel.h:1222: +^I/**$ ERROR: code indent should never use tabs #3586: FILE: tools/virtiofsd/fuse_lowlevel.h:1223: +^I * Find next data or hole after the specified offset$ ERROR: code indent should never use tabs #3587: FILE: tools/virtiofsd/fuse_lowlevel.h:1224: +^I *$ ERROR: code indent should never use tabs #3588: FILE: tools/virtiofsd/fuse_lowlevel.h:1225: +^I * If this request is answered with an error code of ENOSYS, this is$ ERROR: code indent should never use tabs #3589: FILE: tools/virtiofsd/fuse_lowlevel.h:1226: +^I * treated as a permanent failure, i.e. all future lseek() requests will$ ERROR: code indent should never use tabs #3590: FILE: tools/virtiofsd/fuse_lowlevel.h:1227: +^I * fail with the same error code without being send to the filesystem$ ERROR: code indent should never use tabs #3591: FILE: tools/virtiofsd/fuse_lowlevel.h:1228: +^I * process.$ ERROR: code indent should never use tabs #3592: FILE: tools/virtiofsd/fuse_lowlevel.h:1229: +^I *$ ERROR: code indent should never use tabs #3593: FILE: tools/virtiofsd/fuse_lowlevel.h:1230: +^I * Valid replies:$ ERROR: code indent should never use tabs #3594: FILE: tools/virtiofsd/fuse_lowlevel.h:1231: +^I * fuse_reply_lseek$ ERROR: code indent should never use tabs #3595: FILE: tools/virtiofsd/fuse_lowlevel.h:1232: +^I * fuse_reply_err$ ERROR: code indent should never use tabs #3596: FILE: tools/virtiofsd/fuse_lowlevel.h:1233: +^I *$ ERROR: code indent should never use tabs #3597: FILE: tools/virtiofsd/fuse_lowlevel.h:1234: +^I * @param req request handle$ ERROR: code indent should never use tabs #3598: FILE: tools/virtiofsd/fuse_lowlevel.h:1235: +^I * @param ino the inode number$ ERROR: code indent should never use tabs #3599: FILE: tools/virtiofsd/fuse_lowlevel.h:1236: +^I * @param off offset to start search from$ ERROR: code indent should never use tabs #3600: FILE: tools/virtiofsd/fuse_lowlevel.h:1237: +^I * @param whence either SEEK_DATA or SEEK_HOLE$ ERROR: code indent should never use tabs #3601: FILE: tools/virtiofsd/fuse_lowlevel.h:1238: +^I * @param fi file information$ ERROR: code indent should never use tabs #3602: FILE: tools/virtiofsd/fuse_lowlevel.h:1239: +^I */$ ERROR: code indent should never use tabs #3603: FILE: tools/virtiofsd/fuse_lowlevel.h:1240: +^Ivoid (*lseek) (fuse_req_t req, fuse_ino_t ino, off_t off, int whence,$ ERROR: code indent should never use tabs #3604: FILE: tools/virtiofsd/fuse_lowlevel.h:1241: +^I^I struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3675: FILE: tools/virtiofsd/fuse_lowlevel.h:1312: +^I^I const struct fuse_file_info *fi);$ ERROR: code indent should never use tabs #3685: FILE: tools/virtiofsd/fuse_lowlevel.h:1322: + * @param attr_timeout^Ivalidity timeout (in seconds) for the attributes$ ERROR: code indent should never use tabs #3689: FILE: tools/virtiofsd/fuse_lowlevel.h:1326: +^I^I double attr_timeout);$ ERROR: code indent should never use tabs #3787: FILE: tools/virtiofsd/fuse_lowlevel.h:1424: +^I^I enum fuse_buf_copy_flags flags);$ WARNING: Block comments use a leading /* on a separate line #3850: FILE: tools/virtiofsd/fuse_lowlevel.h:1487: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #3851: FILE: tools/virtiofsd/fuse_lowlevel.h:1488: + * Filling a buffer in readdir^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #3852: FILE: tools/virtiofsd/fuse_lowlevel.h:1489: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #3882: FILE: tools/virtiofsd/fuse_lowlevel.h:1519: +^I^I^I const char *name, const struct stat *stbuf,$ ERROR: code indent should never use tabs #3883: FILE: tools/virtiofsd/fuse_lowlevel.h:1520: +^I^I^I off_t off);$ ERROR: code indent should never use tabs #3899: FILE: tools/virtiofsd/fuse_lowlevel.h:1536: +^I^I^I const char *name,$ ERROR: code indent should never use tabs #3900: FILE: tools/virtiofsd/fuse_lowlevel.h:1537: +^I^I^I const struct fuse_entry_param *e, off_t off);$ ERROR: code indent should never use tabs #3918: FILE: tools/virtiofsd/fuse_lowlevel.h:1555: +^I^I^I const struct iovec *in_iov, size_t in_count,$ ERROR: code indent should never use tabs #3919: FILE: tools/virtiofsd/fuse_lowlevel.h:1556: +^I^I^I const struct iovec *out_iov, size_t out_count);$ ERROR: code indent should never use tabs #3946: FILE: tools/virtiofsd/fuse_lowlevel.h:1583: +^I^I^I int count);$ WARNING: Block comments use a leading /* on a separate line #3968: FILE: tools/virtiofsd/fuse_lowlevel.h:1605: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #3969: FILE: tools/virtiofsd/fuse_lowlevel.h:1606: + * Notification^I^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #3970: FILE: tools/virtiofsd/fuse_lowlevel.h:1607: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #4005: FILE: tools/virtiofsd/fuse_lowlevel.h:1642: +^I^I^I^I off_t off, off_t len);$ ERROR: code indent should never use tabs #4033: FILE: tools/virtiofsd/fuse_lowlevel.h:1670: +^I^I^I^I const char *name, size_t namelen);$ ERROR: code indent should never use tabs #4064: FILE: tools/virtiofsd/fuse_lowlevel.h:1701: +^I^I^I^Ifuse_ino_t parent, fuse_ino_t child,$ ERROR: code indent should never use tabs #4065: FILE: tools/virtiofsd/fuse_lowlevel.h:1702: +^I^I^I^Iconst char *name, size_t namelen);$ ERROR: code indent should never use tabs #4093: FILE: tools/virtiofsd/fuse_lowlevel.h:1730: +^I^I^I off_t offset, struct fuse_bufvec *bufv,$ ERROR: code indent should never use tabs #4094: FILE: tools/virtiofsd/fuse_lowlevel.h:1731: +^I^I^I enum fuse_buf_copy_flags flags);$ ERROR: code indent should never use tabs #4125: FILE: tools/virtiofsd/fuse_lowlevel.h:1762: +^I^I^I^I size_t size, off_t offset, void *cookie);$ WARNING: Block comments use a leading /* on a separate line #4128: FILE: tools/virtiofsd/fuse_lowlevel.h:1765: +/* ----------------------------------------------------------- * ERROR: code indent should never use tabs #4129: FILE: tools/virtiofsd/fuse_lowlevel.h:1766: + * Utility functions^I^I^I^I^I *$ WARNING: Block comments use a trailing */ on a separate line #4130: FILE: tools/virtiofsd/fuse_lowlevel.h:1767: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #4192: FILE: tools/virtiofsd/fuse_lowlevel.h:1829: +^I^I^I void *data);$ WARNING: Block comments use a leading /* on a separate line #4203: FILE: tools/virtiofsd/fuse_lowlevel.h:1840: +/* ----------------------------------------------------------- * WARNING: Block comments use a trailing */ on a separate line #4205: FILE: tools/virtiofsd/fuse_lowlevel.h:1842: + * ----------------------------------------------------------- */ WARNING: Block comments use a leading /* on a separate line #4224: FILE: tools/virtiofsd/fuse_lowlevel.h:1861: +/* ----------------------------------------------------------- * WARNING: Block comments use a trailing */ on a separate line #4226: FILE: tools/virtiofsd/fuse_lowlevel.h:1863: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #4229: FILE: tools/virtiofsd/fuse_lowlevel.h:1866: +^Iint singlethread;$ ERROR: code indent should never use tabs #4230: FILE: tools/virtiofsd/fuse_lowlevel.h:1867: +^Iint foreground;$ ERROR: code indent should never use tabs #4231: FILE: tools/virtiofsd/fuse_lowlevel.h:1868: +^Iint debug;$ ERROR: code indent should never use tabs #4232: FILE: tools/virtiofsd/fuse_lowlevel.h:1869: +^Iint nodefault_subtype;$ ERROR: code indent should never use tabs #4233: FILE: tools/virtiofsd/fuse_lowlevel.h:1870: +^Ichar *mountpoint;$ ERROR: code indent should never use tabs #4234: FILE: tools/virtiofsd/fuse_lowlevel.h:1871: +^Iint show_version;$ ERROR: code indent should never use tabs #4235: FILE: tools/virtiofsd/fuse_lowlevel.h:1872: +^Iint show_help;$ ERROR: code indent should never use tabs #4236: FILE: tools/virtiofsd/fuse_lowlevel.h:1873: +^Iint clone_fd;$ ERROR: code indent should never use tabs #4237: FILE: tools/virtiofsd/fuse_lowlevel.h:1874: +^Iunsigned int max_idle_threads;$ ERROR: code indent should never use tabs #4259: FILE: tools/virtiofsd/fuse_lowlevel.h:1896: +^I^I struct fuse_cmdline_opts *opts);$ ERROR: code indent should never use tabs #4290: FILE: tools/virtiofsd/fuse_lowlevel.h:1927: +^I^I^I^I const struct fuse_lowlevel_ops *op,$ ERROR: code indent should never use tabs #4291: FILE: tools/virtiofsd/fuse_lowlevel.h:1928: +^I^I^I^I size_t op_size, void *userdata);$ ERROR: trailing whitespace #4335: FILE: tools/virtiofsd/fuse_lowlevel.h:1972: + * @param config session loop configuration $ WARNING: line over 80 characters #4342: FILE: tools/virtiofsd/fuse_lowlevel.h:1979: +int fuse_session_loop_mt(struct fuse_session *se, struct fuse_loop_config *config); WARNING: Block comments use a leading /* on a separate line #4404: FILE: tools/virtiofsd/fuse_lowlevel.h:2041: +/* ----------------------------------------------------------- * WARNING: Block comments use a trailing */ on a separate line #4406: FILE: tools/virtiofsd/fuse_lowlevel.h:2043: + * ----------------------------------------------------------- */ ERROR: code indent should never use tabs #4433: FILE: tools/virtiofsd/fuse_lowlevel.h:2070: +^I^I^I const struct fuse_buf *buf);$ WARNING: architecture specific defines should be avoided #4448: FILE: tools/virtiofsd/fuse_lowlevel.h:2085: +#ifdef __cplusplus WARNING: Block comments use * on subsequent lines #4460: FILE: tools/virtiofsd/fuse_misc.h:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use * on subsequent lines #4470: FILE: tools/virtiofsd/fuse_misc.h:12: +/* + Versioned symbols cannot be used in some cases because it WARNING: architecture specific defines should be avoided #4474: FILE: tools/virtiofsd/fuse_misc.h:16: +#if (!defined(__UCLIBC__) && !defined(__APPLE__)) ERROR: code indent should never use tabs #4486: FILE: tools/virtiofsd/fuse_misc.h:28: +^Ipthread_mutexattr_t attr;$ ERROR: code indent should never use tabs #4487: FILE: tools/virtiofsd/fuse_misc.h:29: +^Ipthread_mutexattr_init(&attr);$ ERROR: code indent should never use tabs #4488: FILE: tools/virtiofsd/fuse_misc.h:30: +^Ipthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);$ ERROR: code indent should never use tabs #4489: FILE: tools/virtiofsd/fuse_misc.h:31: +^Ipthread_mutex_init(mut, &attr);$ ERROR: code indent should never use tabs #4490: FILE: tools/virtiofsd/fuse_misc.h:32: +^Ipthread_mutexattr_destroy(&attr);$ WARNING: Block comments use * on subsequent lines #4525: FILE: tools/virtiofsd/fuse_opt.h:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use a leading /* on a separate line #4535: FILE: tools/virtiofsd/fuse_opt.h:12: +/** @file WARNING: architecture specific defines should be avoided #4540: FILE: tools/virtiofsd/fuse_opt.h:17: +#ifdef __cplusplus ERROR: code indent should never use tabs #4567: FILE: tools/virtiofsd/fuse_opt.h:44: + * - -1^I^I^I action ii)$ ERROR: code indent should never use tabs #4578: FILE: tools/virtiofsd/fuse_opt.h:55: + * 1) "-x", "-foo", "--foo", "--foo-bar", etc.^IThese match only$ ERROR: code indent should never use tabs #4601: FILE: tools/virtiofsd/fuse_opt.h:78: +^I/** Matching template and optional parameter formatting */$ ERROR: code indent should never use tabs #4602: FILE: tools/virtiofsd/fuse_opt.h:79: +^Iconst char *templ;$ ERROR: code indent should never use tabs #4604: FILE: tools/virtiofsd/fuse_opt.h:81: +^I/**$ ERROR: code indent should never use tabs #4605: FILE: tools/virtiofsd/fuse_opt.h:82: +^I * Offset of variable within 'data' parameter of fuse_opt_parse()$ ERROR: code indent should never use tabs #4606: FILE: tools/virtiofsd/fuse_opt.h:83: +^I * or -1$ ERROR: code indent should never use tabs #4607: FILE: tools/virtiofsd/fuse_opt.h:84: +^I */$ ERROR: code indent should never use tabs #4608: FILE: tools/virtiofsd/fuse_opt.h:85: +^Iunsigned long offset;$ ERROR: code indent should never use tabs #4610: FILE: tools/virtiofsd/fuse_opt.h:87: +^I/**$ ERROR: code indent should never use tabs #4611: FILE: tools/virtiofsd/fuse_opt.h:88: +^I * Value to set the variable to, or to be passed as 'key' to the$ ERROR: code indent should never use tabs #4612: FILE: tools/virtiofsd/fuse_opt.h:89: +^I * processing function.^I Ignored if template has a format$ ERROR: code indent should never use tabs #4613: FILE: tools/virtiofsd/fuse_opt.h:90: +^I */$ ERROR: code indent should never use tabs #4614: FILE: tools/virtiofsd/fuse_opt.h:91: +^Iint value;$ ERROR: code indent should never use tabs #4618: FILE: tools/virtiofsd/fuse_opt.h:95: + * Key option.^IIn case of a match, the processing function will be$ ERROR: code indent should never use tabs #4624: FILE: tools/virtiofsd/fuse_opt.h:101: + * Last option.^I An array of 'struct fuse_opt' must end with a NULL$ ERROR: code indent should never use tabs #4633: FILE: tools/virtiofsd/fuse_opt.h:110: +^I/** Argument count */$ ERROR: code indent should never use tabs #4634: FILE: tools/virtiofsd/fuse_opt.h:111: +^Iint argc;$ ERROR: code indent should never use tabs #4636: FILE: tools/virtiofsd/fuse_opt.h:113: +^I/** Argument vector. NULL terminated */$ ERROR: code indent should never use tabs #4637: FILE: tools/virtiofsd/fuse_opt.h:114: +^Ichar **argv;$ ERROR: code indent should never use tabs #4639: FILE: tools/virtiofsd/fuse_opt.h:116: +^I/** Is 'argv' allocated? */$ ERROR: code indent should never use tabs #4640: FILE: tools/virtiofsd/fuse_opt.h:117: +^Iint allocated;$ ERROR: code indent should never use tabs #4704: FILE: tools/virtiofsd/fuse_opt.h:181: +^I^I^I struct fuse_args *outargs);$ ERROR: code indent should never use tabs #4727: FILE: tools/virtiofsd/fuse_opt.h:204: +^I^I const struct fuse_opt opts[], fuse_opt_proc_t proc);$ WARNING: architecture specific defines should be avoided #4790: FILE: tools/virtiofsd/fuse_opt.h:267: +#ifdef __cplusplus ERROR: code indent should never use tabs #4831: FILE: tools/virtiofsd/passthrough_helpers.h:31: +^Iint mode, dev_t rdev)$ ERROR: code indent should never use tabs #4833: FILE: tools/virtiofsd/passthrough_helpers.h:33: +^Iint res;$ ERROR: code indent should never use tabs #4835: FILE: tools/virtiofsd/passthrough_helpers.h:35: +^Iif (S_ISREG(mode)) {$ ERROR: code indent should never use tabs #4836: FILE: tools/virtiofsd/passthrough_helpers.h:36: +^I^Ires = openat(dirfd, path, O_CREAT | O_EXCL | O_WRONLY, mode);$ ERROR: code indent should never use tabs #4837: FILE: tools/virtiofsd/passthrough_helpers.h:37: +^I^Iif (res >= 0)$ ERROR: braces {} are necessary for all arms of this statement #4837: FILE: tools/virtiofsd/passthrough_helpers.h:37: + if (res >= 0) [...] ERROR: code indent should never use tabs #4838: FILE: tools/virtiofsd/passthrough_helpers.h:38: +^I^I^Ires = close(res);$ ERROR: code indent should never use tabs #4839: FILE: tools/virtiofsd/passthrough_helpers.h:39: +^I} else if (S_ISDIR(mode)) {$ ERROR: code indent should never use tabs #4840: FILE: tools/virtiofsd/passthrough_helpers.h:40: +^I^Ires = mkdirat(dirfd, path, mode);$ ERROR: code indent should never use tabs #4841: FILE: tools/virtiofsd/passthrough_helpers.h:41: +^I} else if (S_ISLNK(mode) && link != NULL) {$ ERROR: code indent should never use tabs #4842: FILE: tools/virtiofsd/passthrough_helpers.h:42: +^I^Ires = symlinkat(link, dirfd, path);$ ERROR: code indent should never use tabs #4843: FILE: tools/virtiofsd/passthrough_helpers.h:43: +^I} else if (S_ISFIFO(mode)) {$ ERROR: code indent should never use tabs #4844: FILE: tools/virtiofsd/passthrough_helpers.h:44: +^I^Ires = mkfifoat(dirfd, path, mode);$ WARNING: architecture specific defines should be avoided #4845: FILE: tools/virtiofsd/passthrough_helpers.h:45: +#ifdef __FreeBSD__ ERROR: code indent should never use tabs #4846: FILE: tools/virtiofsd/passthrough_helpers.h:46: +^I} else if (S_ISSOCK(mode)) {$ ERROR: code indent should never use tabs #4847: FILE: tools/virtiofsd/passthrough_helpers.h:47: +^I^Istruct sockaddr_un su;$ ERROR: code indent should never use tabs #4848: FILE: tools/virtiofsd/passthrough_helpers.h:48: +^I^Iint fd;$ ERROR: code indent should never use tabs #4850: FILE: tools/virtiofsd/passthrough_helpers.h:50: +^I^Iif (strlen(path) >= sizeof(su.sun_path)) {$ ERROR: code indent should never use tabs #4851: FILE: tools/virtiofsd/passthrough_helpers.h:51: +^I^I^Ierrno = ENAMETOOLONG;$ ERROR: code indent should never use tabs #4852: FILE: tools/virtiofsd/passthrough_helpers.h:52: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #4853: FILE: tools/virtiofsd/passthrough_helpers.h:53: +^I^I}$ ERROR: code indent should never use tabs #4854: FILE: tools/virtiofsd/passthrough_helpers.h:54: +^I^Ifd = socket(AF_UNIX, SOCK_STREAM, 0);$ ERROR: code indent should never use tabs #4855: FILE: tools/virtiofsd/passthrough_helpers.h:55: +^I^Iif (fd >= 0) {$ ERROR: code indent should never use tabs #4856: FILE: tools/virtiofsd/passthrough_helpers.h:56: +^I^I^I/*$ ERROR: code indent should never use tabs #4857: FILE: tools/virtiofsd/passthrough_helpers.h:57: +^I^I^I * We must bind the socket to the underlying file$ ERROR: code indent should never use tabs #4858: FILE: tools/virtiofsd/passthrough_helpers.h:58: +^I^I^I * system to create the socket file, even though$ ERROR: code indent should never use tabs #4859: FILE: tools/virtiofsd/passthrough_helpers.h:59: +^I^I^I * we'll never listen on this socket.$ ERROR: code indent should never use tabs #4860: FILE: tools/virtiofsd/passthrough_helpers.h:60: +^I^I^I */$ ERROR: code indent should never use tabs #4861: FILE: tools/virtiofsd/passthrough_helpers.h:61: +^I^I^Isu.sun_family = AF_UNIX;$ ERROR: code indent should never use tabs #4862: FILE: tools/virtiofsd/passthrough_helpers.h:62: +^I^I^Istrncpy(su.sun_path, path, sizeof(su.sun_path));$ ERROR: code indent should never use tabs #4863: FILE: tools/virtiofsd/passthrough_helpers.h:63: +^I^I^Ires = bindat(dirfd, fd, (struct sockaddr*)&su,$ ERROR: "(foo*)" should be "(foo *)" #4863: FILE: tools/virtiofsd/passthrough_helpers.h:63: + res = bindat(dirfd, fd, (struct sockaddr*)&su, ERROR: code indent should never use tabs #4864: FILE: tools/virtiofsd/passthrough_helpers.h:64: +^I^I^I^Isizeof(su));$ ERROR: code indent should never use tabs #4865: FILE: tools/virtiofsd/passthrough_helpers.h:65: +^I^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #4865: FILE: tools/virtiofsd/passthrough_helpers.h:65: + if (res == 0) [...] ERROR: code indent should never use tabs #4866: FILE: tools/virtiofsd/passthrough_helpers.h:66: +^I^I^I^Iclose(fd);$ ERROR: code indent should never use tabs #4867: FILE: tools/virtiofsd/passthrough_helpers.h:67: +^I^I} else {$ ERROR: code indent should never use tabs #4868: FILE: tools/virtiofsd/passthrough_helpers.h:68: +^I^I^Ires = -1;$ ERROR: code indent should never use tabs #4869: FILE: tools/virtiofsd/passthrough_helpers.h:69: +^I^I}$ ERROR: code indent should never use tabs #4871: FILE: tools/virtiofsd/passthrough_helpers.h:71: +^I} else {$ ERROR: code indent should never use tabs #4872: FILE: tools/virtiofsd/passthrough_helpers.h:72: +^I^Ires = mknodat(dirfd, path, mode, rdev);$ ERROR: code indent should never use tabs #4873: FILE: tools/virtiofsd/passthrough_helpers.h:73: +^I}$ ERROR: code indent should never use tabs #4875: FILE: tools/virtiofsd/passthrough_helpers.h:75: +^Ireturn res;$ total: 2271 errors, 139 warnings, 4814 lines checked Patch 1/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 2/108 Checking commit 63a5dafc867f (virtiofsd: Pull in kernel's fuse.h) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #16: new file mode 100644 total: 0 errors, 1 warnings, 898 lines checked Patch 2/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 3/108 Checking commit 40b67822938b (virtiofsd: Add auxiliary .c's) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #15: new file mode 100644 WARNING: Block comments use * on subsequent lines #21: FILE: tools/virtiofsd/buffer.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #43: FILE: tools/virtiofsd/buffer.c:24: +^Isize_t i;$ ERROR: code indent should never use tabs #44: FILE: tools/virtiofsd/buffer.c:25: +^Isize_t size = 0;$ ERROR: code indent should never use tabs #46: FILE: tools/virtiofsd/buffer.c:27: +^Ifor (i = 0; i < bufv->count; i++) {$ ERROR: code indent should never use tabs #47: FILE: tools/virtiofsd/buffer.c:28: +^I^Iif (bufv->buf[i].size == SIZE_MAX)$ ERROR: braces {} are necessary for all arms of this statement #47: FILE: tools/virtiofsd/buffer.c:28: + if (bufv->buf[i].size == SIZE_MAX) [...] + else [...] ERROR: code indent should never use tabs #48: FILE: tools/virtiofsd/buffer.c:29: +^I^I^Isize = SIZE_MAX;$ ERROR: code indent should never use tabs #49: FILE: tools/virtiofsd/buffer.c:30: +^I^Ielse$ ERROR: code indent should never use tabs #50: FILE: tools/virtiofsd/buffer.c:31: +^I^I^Isize += bufv->buf[i].size;$ ERROR: code indent should never use tabs #51: FILE: tools/virtiofsd/buffer.c:32: +^I}$ ERROR: code indent should never use tabs #53: FILE: tools/virtiofsd/buffer.c:34: +^Ireturn size;$ ERROR: code indent should never use tabs #58: FILE: tools/virtiofsd/buffer.c:39: +^Ireturn s1 < s2 ? s1 : s2;$ ERROR: code indent should never use tabs #62: FILE: tools/virtiofsd/buffer.c:43: +^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #63: FILE: tools/virtiofsd/buffer.c:44: +^I^I^I size_t len)$ ERROR: code indent should never use tabs #65: FILE: tools/virtiofsd/buffer.c:46: +^Issize_t res = 0;$ ERROR: code indent should never use tabs #66: FILE: tools/virtiofsd/buffer.c:47: +^Isize_t copied = 0;$ ERROR: code indent should never use tabs #68: FILE: tools/virtiofsd/buffer.c:49: +^Iwhile (len) {$ ERROR: code indent should never use tabs #69: FILE: tools/virtiofsd/buffer.c:50: +^I^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$ ERROR: code indent should never use tabs #70: FILE: tools/virtiofsd/buffer.c:51: +^I^I^Ires = pwrite(dst->fd, (char *)src->mem + src_off, len,$ ERROR: code indent should never use tabs #71: FILE: tools/virtiofsd/buffer.c:52: +^I^I^I^I dst->pos + dst_off);$ ERROR: code indent should never use tabs #72: FILE: tools/virtiofsd/buffer.c:53: +^I^I} else {$ ERROR: code indent should never use tabs #73: FILE: tools/virtiofsd/buffer.c:54: +^I^I^Ires = write(dst->fd, (char *)src->mem + src_off, len);$ ERROR: code indent should never use tabs #74: FILE: tools/virtiofsd/buffer.c:55: +^I^I}$ ERROR: code indent should never use tabs #75: FILE: tools/virtiofsd/buffer.c:56: +^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #76: FILE: tools/virtiofsd/buffer.c:57: +^I^I^Iif (!copied)$ ERROR: braces {} are necessary for all arms of this statement #76: FILE: tools/virtiofsd/buffer.c:57: + if (!copied) [...] ERROR: code indent should never use tabs #77: FILE: tools/virtiofsd/buffer.c:58: +^I^I^I^Ireturn -errno;$ ERROR: code indent should never use tabs #78: FILE: tools/virtiofsd/buffer.c:59: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #79: FILE: tools/virtiofsd/buffer.c:60: +^I^I}$ ERROR: code indent should never use tabs #80: FILE: tools/virtiofsd/buffer.c:61: +^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #80: FILE: tools/virtiofsd/buffer.c:61: + if (res == 0) [...] ERROR: code indent should never use tabs #81: FILE: tools/virtiofsd/buffer.c:62: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #83: FILE: tools/virtiofsd/buffer.c:64: +^I^Icopied += res;$ ERROR: code indent should never use tabs #84: FILE: tools/virtiofsd/buffer.c:65: +^I^Iif (!(dst->flags & FUSE_BUF_FD_RETRY))$ ERROR: braces {} are necessary for all arms of this statement #84: FILE: tools/virtiofsd/buffer.c:65: + if (!(dst->flags & FUSE_BUF_FD_RETRY)) [...] ERROR: code indent should never use tabs #85: FILE: tools/virtiofsd/buffer.c:66: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #87: FILE: tools/virtiofsd/buffer.c:68: +^I^Isrc_off += res;$ ERROR: code indent should never use tabs #88: FILE: tools/virtiofsd/buffer.c:69: +^I^Idst_off += res;$ ERROR: code indent should never use tabs #89: FILE: tools/virtiofsd/buffer.c:70: +^I^Ilen -= res;$ ERROR: code indent should never use tabs #90: FILE: tools/virtiofsd/buffer.c:71: +^I}$ ERROR: code indent should never use tabs #92: FILE: tools/virtiofsd/buffer.c:73: +^Ireturn copied;$ ERROR: code indent should never use tabs #96: FILE: tools/virtiofsd/buffer.c:77: +^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #97: FILE: tools/virtiofsd/buffer.c:78: +^I^I^I size_t len)$ ERROR: code indent should never use tabs #99: FILE: tools/virtiofsd/buffer.c:80: +^Issize_t res = 0;$ ERROR: code indent should never use tabs #100: FILE: tools/virtiofsd/buffer.c:81: +^Isize_t copied = 0;$ ERROR: code indent should never use tabs #102: FILE: tools/virtiofsd/buffer.c:83: +^Iwhile (len) {$ ERROR: code indent should never use tabs #103: FILE: tools/virtiofsd/buffer.c:84: +^I^Iif (src->flags & FUSE_BUF_FD_SEEK) {$ ERROR: code indent should never use tabs #104: FILE: tools/virtiofsd/buffer.c:85: +^I^I^Ires = pread(src->fd, (char *)dst->mem + dst_off, len,$ ERROR: code indent should never use tabs #105: FILE: tools/virtiofsd/buffer.c:86: +^I^I^I^I src->pos + src_off);$ ERROR: code indent should never use tabs #106: FILE: tools/virtiofsd/buffer.c:87: +^I^I} else {$ ERROR: code indent should never use tabs #107: FILE: tools/virtiofsd/buffer.c:88: +^I^I^Ires = read(src->fd, (char *)dst->mem + dst_off, len);$ ERROR: code indent should never use tabs #108: FILE: tools/virtiofsd/buffer.c:89: +^I^I}$ ERROR: code indent should never use tabs #109: FILE: tools/virtiofsd/buffer.c:90: +^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #110: FILE: tools/virtiofsd/buffer.c:91: +^I^I^Iif (!copied)$ ERROR: braces {} are necessary for all arms of this statement #110: FILE: tools/virtiofsd/buffer.c:91: + if (!copied) [...] ERROR: code indent should never use tabs #111: FILE: tools/virtiofsd/buffer.c:92: +^I^I^I^Ireturn -errno;$ ERROR: code indent should never use tabs #112: FILE: tools/virtiofsd/buffer.c:93: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #113: FILE: tools/virtiofsd/buffer.c:94: +^I^I}$ ERROR: code indent should never use tabs #114: FILE: tools/virtiofsd/buffer.c:95: +^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #114: FILE: tools/virtiofsd/buffer.c:95: + if (res == 0) [...] ERROR: code indent should never use tabs #115: FILE: tools/virtiofsd/buffer.c:96: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #117: FILE: tools/virtiofsd/buffer.c:98: +^I^Icopied += res;$ ERROR: code indent should never use tabs #118: FILE: tools/virtiofsd/buffer.c:99: +^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY))$ ERROR: braces {} are necessary for all arms of this statement #118: FILE: tools/virtiofsd/buffer.c:99: + if (!(src->flags & FUSE_BUF_FD_RETRY)) [...] ERROR: code indent should never use tabs #119: FILE: tools/virtiofsd/buffer.c:100: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #121: FILE: tools/virtiofsd/buffer.c:102: +^I^Idst_off += res;$ ERROR: code indent should never use tabs #122: FILE: tools/virtiofsd/buffer.c:103: +^I^Isrc_off += res;$ ERROR: code indent should never use tabs #123: FILE: tools/virtiofsd/buffer.c:104: +^I^Ilen -= res;$ ERROR: code indent should never use tabs #124: FILE: tools/virtiofsd/buffer.c:105: +^I}$ ERROR: code indent should never use tabs #126: FILE: tools/virtiofsd/buffer.c:107: +^Ireturn copied;$ ERROR: code indent should never use tabs #130: FILE: tools/virtiofsd/buffer.c:111: +^I^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #131: FILE: tools/virtiofsd/buffer.c:112: +^I^I^I^I size_t len)$ ERROR: code indent should never use tabs #133: FILE: tools/virtiofsd/buffer.c:114: +^Ichar buf[4096];$ ERROR: code indent should never use tabs #134: FILE: tools/virtiofsd/buffer.c:115: +^Istruct fuse_buf tmp = {$ ERROR: code indent should never use tabs #135: FILE: tools/virtiofsd/buffer.c:116: +^I^I.size = sizeof(buf),$ ERROR: code indent should never use tabs #136: FILE: tools/virtiofsd/buffer.c:117: +^I^I.flags = 0,$ ERROR: code indent should never use tabs #137: FILE: tools/virtiofsd/buffer.c:118: +^I};$ ERROR: code indent should never use tabs #138: FILE: tools/virtiofsd/buffer.c:119: +^Issize_t res;$ ERROR: code indent should never use tabs #139: FILE: tools/virtiofsd/buffer.c:120: +^Isize_t copied = 0;$ ERROR: code indent should never use tabs #141: FILE: tools/virtiofsd/buffer.c:122: +^Itmp.mem = buf;$ ERROR: code indent should never use tabs #143: FILE: tools/virtiofsd/buffer.c:124: +^Iwhile (len) {$ ERROR: code indent should never use tabs #144: FILE: tools/virtiofsd/buffer.c:125: +^I^Isize_t this_len = min_size(tmp.size, len);$ ERROR: code indent should never use tabs #145: FILE: tools/virtiofsd/buffer.c:126: +^I^Isize_t read_len;$ ERROR: code indent should never use tabs #147: FILE: tools/virtiofsd/buffer.c:128: +^I^Ires = fuse_buf_read(&tmp, 0, src, src_off, this_len);$ ERROR: code indent should never use tabs #148: FILE: tools/virtiofsd/buffer.c:129: +^I^Iif (res < 0) {$ ERROR: code indent should never use tabs #149: FILE: tools/virtiofsd/buffer.c:130: +^I^I^Iif (!copied)$ ERROR: braces {} are necessary for all arms of this statement #149: FILE: tools/virtiofsd/buffer.c:130: + if (!copied) [...] ERROR: code indent should never use tabs #150: FILE: tools/virtiofsd/buffer.c:131: +^I^I^I^Ireturn res;$ ERROR: code indent should never use tabs #151: FILE: tools/virtiofsd/buffer.c:132: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #152: FILE: tools/virtiofsd/buffer.c:133: +^I^I}$ ERROR: code indent should never use tabs #153: FILE: tools/virtiofsd/buffer.c:134: +^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #153: FILE: tools/virtiofsd/buffer.c:134: + if (res == 0) [...] ERROR: code indent should never use tabs #154: FILE: tools/virtiofsd/buffer.c:135: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #156: FILE: tools/virtiofsd/buffer.c:137: +^I^Iread_len = res;$ ERROR: code indent should never use tabs #157: FILE: tools/virtiofsd/buffer.c:138: +^I^Ires = fuse_buf_write(dst, dst_off, &tmp, 0, read_len);$ ERROR: code indent should never use tabs #158: FILE: tools/virtiofsd/buffer.c:139: +^I^Iif (res < 0) {$ ERROR: code indent should never use tabs #159: FILE: tools/virtiofsd/buffer.c:140: +^I^I^Iif (!copied)$ ERROR: braces {} are necessary for all arms of this statement #159: FILE: tools/virtiofsd/buffer.c:140: + if (!copied) [...] ERROR: code indent should never use tabs #160: FILE: tools/virtiofsd/buffer.c:141: +^I^I^I^Ireturn res;$ ERROR: code indent should never use tabs #161: FILE: tools/virtiofsd/buffer.c:142: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #162: FILE: tools/virtiofsd/buffer.c:143: +^I^I}$ ERROR: code indent should never use tabs #163: FILE: tools/virtiofsd/buffer.c:144: +^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #163: FILE: tools/virtiofsd/buffer.c:144: + if (res == 0) [...] ERROR: code indent should never use tabs #164: FILE: tools/virtiofsd/buffer.c:145: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #166: FILE: tools/virtiofsd/buffer.c:147: +^I^Icopied += res;$ ERROR: code indent should never use tabs #168: FILE: tools/virtiofsd/buffer.c:149: +^I^Iif (res < this_len)$ ERROR: braces {} are necessary for all arms of this statement #168: FILE: tools/virtiofsd/buffer.c:149: + if (res < this_len) [...] ERROR: code indent should never use tabs #169: FILE: tools/virtiofsd/buffer.c:150: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #171: FILE: tools/virtiofsd/buffer.c:152: +^I^Idst_off += res;$ ERROR: code indent should never use tabs #172: FILE: tools/virtiofsd/buffer.c:153: +^I^Isrc_off += res;$ ERROR: code indent should never use tabs #173: FILE: tools/virtiofsd/buffer.c:154: +^I^Ilen -= res;$ ERROR: code indent should never use tabs #174: FILE: tools/virtiofsd/buffer.c:155: +^I}$ ERROR: code indent should never use tabs #176: FILE: tools/virtiofsd/buffer.c:157: +^Ireturn copied;$ ERROR: code indent should never use tabs #181: FILE: tools/virtiofsd/buffer.c:162: +^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #182: FILE: tools/virtiofsd/buffer.c:163: +^I^I^I size_t len, enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #184: FILE: tools/virtiofsd/buffer.c:165: +^Iint splice_flags = 0;$ ERROR: code indent should never use tabs #185: FILE: tools/virtiofsd/buffer.c:166: +^Ioff_t *srcpos = NULL;$ ERROR: code indent should never use tabs #186: FILE: tools/virtiofsd/buffer.c:167: +^Ioff_t *dstpos = NULL;$ ERROR: code indent should never use tabs #187: FILE: tools/virtiofsd/buffer.c:168: +^Ioff_t srcpos_val;$ ERROR: code indent should never use tabs #188: FILE: tools/virtiofsd/buffer.c:169: +^Ioff_t dstpos_val;$ ERROR: code indent should never use tabs #189: FILE: tools/virtiofsd/buffer.c:170: +^Issize_t res;$ ERROR: code indent should never use tabs #190: FILE: tools/virtiofsd/buffer.c:171: +^Isize_t copied = 0;$ ERROR: code indent should never use tabs #192: FILE: tools/virtiofsd/buffer.c:173: +^Iif (flags & FUSE_BUF_SPLICE_MOVE)$ ERROR: braces {} are necessary for all arms of this statement #192: FILE: tools/virtiofsd/buffer.c:173: + if (flags & FUSE_BUF_SPLICE_MOVE) [...] ERROR: code indent should never use tabs #193: FILE: tools/virtiofsd/buffer.c:174: +^I^Isplice_flags |= SPLICE_F_MOVE;$ ERROR: code indent should never use tabs #194: FILE: tools/virtiofsd/buffer.c:175: +^Iif (flags & FUSE_BUF_SPLICE_NONBLOCK)$ ERROR: braces {} are necessary for all arms of this statement #194: FILE: tools/virtiofsd/buffer.c:175: + if (flags & FUSE_BUF_SPLICE_NONBLOCK) [...] ERROR: code indent should never use tabs #195: FILE: tools/virtiofsd/buffer.c:176: +^I^Isplice_flags |= SPLICE_F_NONBLOCK;$ ERROR: code indent should never use tabs #197: FILE: tools/virtiofsd/buffer.c:178: +^Iif (src->flags & FUSE_BUF_FD_SEEK) {$ ERROR: code indent should never use tabs #198: FILE: tools/virtiofsd/buffer.c:179: +^I^Isrcpos_val = src->pos + src_off;$ ERROR: code indent should never use tabs #199: FILE: tools/virtiofsd/buffer.c:180: +^I^Isrcpos = &srcpos_val;$ ERROR: code indent should never use tabs #200: FILE: tools/virtiofsd/buffer.c:181: +^I}$ ERROR: code indent should never use tabs #201: FILE: tools/virtiofsd/buffer.c:182: +^Iif (dst->flags & FUSE_BUF_FD_SEEK) {$ ERROR: code indent should never use tabs #202: FILE: tools/virtiofsd/buffer.c:183: +^I^Idstpos_val = dst->pos + dst_off;$ ERROR: code indent should never use tabs #203: FILE: tools/virtiofsd/buffer.c:184: +^I^Idstpos = &dstpos_val;$ ERROR: code indent should never use tabs #204: FILE: tools/virtiofsd/buffer.c:185: +^I}$ ERROR: code indent should never use tabs #206: FILE: tools/virtiofsd/buffer.c:187: +^Iwhile (len) {$ ERROR: code indent should never use tabs #207: FILE: tools/virtiofsd/buffer.c:188: +^I^Ires = splice(src->fd, srcpos, dst->fd, dstpos, len,$ ERROR: code indent should never use tabs #208: FILE: tools/virtiofsd/buffer.c:189: +^I^I^I splice_flags);$ ERROR: code indent should never use tabs #209: FILE: tools/virtiofsd/buffer.c:190: +^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #210: FILE: tools/virtiofsd/buffer.c:191: +^I^I^Iif (copied)$ ERROR: braces {} are necessary for all arms of this statement #210: FILE: tools/virtiofsd/buffer.c:191: + if (copied) [...] ERROR: code indent should never use tabs #211: FILE: tools/virtiofsd/buffer.c:192: +^I^I^I^Ibreak;$ ERROR: code indent should never use tabs #213: FILE: tools/virtiofsd/buffer.c:194: +^I^I^Iif (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE))$ ERROR: braces {} are necessary for all arms of this statement #213: FILE: tools/virtiofsd/buffer.c:194: + if (errno != EINVAL || (flags & FUSE_BUF_FORCE_SPLICE)) [...] ERROR: code indent should never use tabs #214: FILE: tools/virtiofsd/buffer.c:195: +^I^I^I^Ireturn -errno;$ ERROR: code indent should never use tabs #216: FILE: tools/virtiofsd/buffer.c:197: +^I^I^I/* Maybe splice is not supported for this combination */$ ERROR: code indent should never use tabs #217: FILE: tools/virtiofsd/buffer.c:198: +^I^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off,$ ERROR: code indent should never use tabs #218: FILE: tools/virtiofsd/buffer.c:199: +^I^I^I^I^I^I len);$ ERROR: code indent should never use tabs #219: FILE: tools/virtiofsd/buffer.c:200: +^I^I}$ ERROR: code indent should never use tabs #220: FILE: tools/virtiofsd/buffer.c:201: +^I^Iif (res == 0)$ ERROR: braces {} are necessary for all arms of this statement #220: FILE: tools/virtiofsd/buffer.c:201: + if (res == 0) [...] ERROR: code indent should never use tabs #221: FILE: tools/virtiofsd/buffer.c:202: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #223: FILE: tools/virtiofsd/buffer.c:204: +^I^Icopied += res;$ ERROR: code indent should never use tabs #224: FILE: tools/virtiofsd/buffer.c:205: +^I^Iif (!(src->flags & FUSE_BUF_FD_RETRY) &&$ ERROR: code indent should never use tabs #225: FILE: tools/virtiofsd/buffer.c:206: +^I^I !(dst->flags & FUSE_BUF_FD_RETRY)) {$ ERROR: code indent should never use tabs #226: FILE: tools/virtiofsd/buffer.c:207: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #227: FILE: tools/virtiofsd/buffer.c:208: +^I^I}$ ERROR: code indent should never use tabs #229: FILE: tools/virtiofsd/buffer.c:210: +^I^Ilen -= res;$ ERROR: code indent should never use tabs #230: FILE: tools/virtiofsd/buffer.c:211: +^I}$ ERROR: code indent should never use tabs #232: FILE: tools/virtiofsd/buffer.c:213: +^Ireturn copied;$ ERROR: code indent should never use tabs #236: FILE: tools/virtiofsd/buffer.c:217: +^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #237: FILE: tools/virtiofsd/buffer.c:218: +^I^I^I size_t len, enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #239: FILE: tools/virtiofsd/buffer.c:220: +^I(void) flags;$ ERROR: code indent should never use tabs #241: FILE: tools/virtiofsd/buffer.c:222: +^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$ ERROR: code indent should never use tabs #247: FILE: tools/virtiofsd/buffer.c:228: +^I^I^I^I const struct fuse_buf *src, size_t src_off,$ ERROR: code indent should never use tabs #248: FILE: tools/virtiofsd/buffer.c:229: +^I^I^I^I size_t len, enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #250: FILE: tools/virtiofsd/buffer.c:231: +^Iint src_is_fd = src->flags & FUSE_BUF_IS_FD;$ ERROR: code indent should never use tabs #251: FILE: tools/virtiofsd/buffer.c:232: +^Iint dst_is_fd = dst->flags & FUSE_BUF_IS_FD;$ ERROR: code indent should never use tabs #253: FILE: tools/virtiofsd/buffer.c:234: +^Iif (!src_is_fd && !dst_is_fd) {$ ERROR: code indent should never use tabs #254: FILE: tools/virtiofsd/buffer.c:235: +^I^Ichar *dstmem = (char *)dst->mem + dst_off;$ ERROR: code indent should never use tabs #255: FILE: tools/virtiofsd/buffer.c:236: +^I^Ichar *srcmem = (char *)src->mem + src_off;$ ERROR: code indent should never use tabs #257: FILE: tools/virtiofsd/buffer.c:238: +^I^Iif (dstmem != srcmem) {$ ERROR: code indent should never use tabs #258: FILE: tools/virtiofsd/buffer.c:239: +^I^I^Iif (dstmem + len <= srcmem || srcmem + len <= dstmem)$ ERROR: braces {} are necessary for all arms of this statement #258: FILE: tools/virtiofsd/buffer.c:239: + if (dstmem + len <= srcmem || srcmem + len <= dstmem) [...] + else [...] ERROR: code indent should never use tabs #259: FILE: tools/virtiofsd/buffer.c:240: +^I^I^I^Imemcpy(dstmem, srcmem, len);$ ERROR: code indent should never use tabs #260: FILE: tools/virtiofsd/buffer.c:241: +^I^I^Ielse$ ERROR: code indent should never use tabs #261: FILE: tools/virtiofsd/buffer.c:242: +^I^I^I^Imemmove(dstmem, srcmem, len);$ ERROR: code indent should never use tabs #262: FILE: tools/virtiofsd/buffer.c:243: +^I^I}$ ERROR: code indent should never use tabs #264: FILE: tools/virtiofsd/buffer.c:245: +^I^Ireturn len;$ ERROR: code indent should never use tabs #265: FILE: tools/virtiofsd/buffer.c:246: +^I} else if (!src_is_fd) {$ ERROR: code indent should never use tabs #266: FILE: tools/virtiofsd/buffer.c:247: +^I^Ireturn fuse_buf_write(dst, dst_off, src, src_off, len);$ ERROR: code indent should never use tabs #267: FILE: tools/virtiofsd/buffer.c:248: +^I} else if (!dst_is_fd) {$ ERROR: code indent should never use tabs #268: FILE: tools/virtiofsd/buffer.c:249: +^I^Ireturn fuse_buf_read(dst, dst_off, src, src_off, len);$ ERROR: code indent should never use tabs #269: FILE: tools/virtiofsd/buffer.c:250: +^I} else if (flags & FUSE_BUF_NO_SPLICE) {$ ERROR: code indent should never use tabs #270: FILE: tools/virtiofsd/buffer.c:251: +^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$ ERROR: code indent should never use tabs #271: FILE: tools/virtiofsd/buffer.c:252: +^I} else {$ ERROR: code indent should never use tabs #272: FILE: tools/virtiofsd/buffer.c:253: +^I^Ireturn fuse_buf_splice(dst, dst_off, src, src_off, len, flags);$ ERROR: code indent should never use tabs #273: FILE: tools/virtiofsd/buffer.c:254: +^I}$ ERROR: code indent should never use tabs #278: FILE: tools/virtiofsd/buffer.c:259: +^Iif (bufv->idx < bufv->count)$ ERROR: braces {} are necessary for all arms of this statement #278: FILE: tools/virtiofsd/buffer.c:259: + if (bufv->idx < bufv->count) [...] + else [...] ERROR: code indent should never use tabs #279: FILE: tools/virtiofsd/buffer.c:260: +^I^Ireturn &bufv->buf[bufv->idx];$ ERROR: code indent should never use tabs #280: FILE: tools/virtiofsd/buffer.c:261: +^Ielse$ ERROR: code indent should never use tabs #281: FILE: tools/virtiofsd/buffer.c:262: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #286: FILE: tools/virtiofsd/buffer.c:267: +^Iconst struct fuse_buf *buf = fuse_bufvec_current(bufv);$ ERROR: code indent should never use tabs #288: FILE: tools/virtiofsd/buffer.c:269: +^Ibufv->off += len;$ ERROR: code indent should never use tabs #289: FILE: tools/virtiofsd/buffer.c:270: +^Iassert(bufv->off <= buf->size);$ ERROR: code indent should never use tabs #290: FILE: tools/virtiofsd/buffer.c:271: +^Iif (bufv->off == buf->size) {$ ERROR: code indent should never use tabs #291: FILE: tools/virtiofsd/buffer.c:272: +^I^Iassert(bufv->idx < bufv->count);$ ERROR: code indent should never use tabs #292: FILE: tools/virtiofsd/buffer.c:273: +^I^Ibufv->idx++;$ ERROR: code indent should never use tabs #293: FILE: tools/virtiofsd/buffer.c:274: +^I^Iif (bufv->idx == bufv->count)$ ERROR: braces {} are necessary for all arms of this statement #293: FILE: tools/virtiofsd/buffer.c:274: + if (bufv->idx == bufv->count) [...] ERROR: code indent should never use tabs #294: FILE: tools/virtiofsd/buffer.c:275: +^I^I^Ireturn 0;$ ERROR: code indent should never use tabs #295: FILE: tools/virtiofsd/buffer.c:276: +^I^Ibufv->off = 0;$ ERROR: code indent should never use tabs #296: FILE: tools/virtiofsd/buffer.c:277: +^I}$ ERROR: code indent should never use tabs #297: FILE: tools/virtiofsd/buffer.c:278: +^Ireturn 1;$ ERROR: code indent should never use tabs #301: FILE: tools/virtiofsd/buffer.c:282: +^I^I enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #303: FILE: tools/virtiofsd/buffer.c:284: +^Isize_t copied = 0;$ ERROR: code indent should never use tabs #305: FILE: tools/virtiofsd/buffer.c:286: +^Iif (dstv == srcv)$ ERROR: braces {} are necessary for all arms of this statement #305: FILE: tools/virtiofsd/buffer.c:286: + if (dstv == srcv) [...] ERROR: code indent should never use tabs #306: FILE: tools/virtiofsd/buffer.c:287: +^I^Ireturn fuse_buf_size(dstv);$ ERROR: code indent should never use tabs #308: FILE: tools/virtiofsd/buffer.c:289: +^Ifor (;;) {$ ERROR: code indent should never use tabs #309: FILE: tools/virtiofsd/buffer.c:290: +^I^Iconst struct fuse_buf *src = fuse_bufvec_current(srcv);$ ERROR: code indent should never use tabs #310: FILE: tools/virtiofsd/buffer.c:291: +^I^Iconst struct fuse_buf *dst = fuse_bufvec_current(dstv);$ ERROR: code indent should never use tabs #311: FILE: tools/virtiofsd/buffer.c:292: +^I^Isize_t src_len;$ ERROR: code indent should never use tabs #312: FILE: tools/virtiofsd/buffer.c:293: +^I^Isize_t dst_len;$ ERROR: code indent should never use tabs #313: FILE: tools/virtiofsd/buffer.c:294: +^I^Isize_t len;$ ERROR: code indent should never use tabs #314: FILE: tools/virtiofsd/buffer.c:295: +^I^Issize_t res;$ ERROR: code indent should never use tabs #316: FILE: tools/virtiofsd/buffer.c:297: +^I^Iif (src == NULL || dst == NULL)$ ERROR: braces {} are necessary for all arms of this statement #316: FILE: tools/virtiofsd/buffer.c:297: + if (src == NULL || dst == NULL) [...] ERROR: code indent should never use tabs #317: FILE: tools/virtiofsd/buffer.c:298: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #319: FILE: tools/virtiofsd/buffer.c:300: +^I^Isrc_len = src->size - srcv->off;$ ERROR: code indent should never use tabs #320: FILE: tools/virtiofsd/buffer.c:301: +^I^Idst_len = dst->size - dstv->off;$ ERROR: code indent should never use tabs #321: FILE: tools/virtiofsd/buffer.c:302: +^I^Ilen = min_size(src_len, dst_len);$ WARNING: line over 80 characters #323: FILE: tools/virtiofsd/buffer.c:304: + res = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, flags); ERROR: code indent should never use tabs #323: FILE: tools/virtiofsd/buffer.c:304: +^I^Ires = fuse_buf_copy_one(dst, dstv->off, src, srcv->off, len, flags);$ ERROR: code indent should never use tabs #324: FILE: tools/virtiofsd/buffer.c:305: +^I^Iif (res < 0) {$ ERROR: code indent should never use tabs #325: FILE: tools/virtiofsd/buffer.c:306: +^I^I^Iif (!copied)$ ERROR: braces {} are necessary for all arms of this statement #325: FILE: tools/virtiofsd/buffer.c:306: + if (!copied) [...] ERROR: code indent should never use tabs #326: FILE: tools/virtiofsd/buffer.c:307: +^I^I^I^Ireturn res;$ ERROR: code indent should never use tabs #327: FILE: tools/virtiofsd/buffer.c:308: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #328: FILE: tools/virtiofsd/buffer.c:309: +^I^I}$ ERROR: code indent should never use tabs #329: FILE: tools/virtiofsd/buffer.c:310: +^I^Icopied += res;$ ERROR: code indent should never use tabs #331: FILE: tools/virtiofsd/buffer.c:312: +^I^Iif (!fuse_bufvec_advance(srcv, res) ||$ ERROR: code indent should never use tabs #332: FILE: tools/virtiofsd/buffer.c:313: +^I^I !fuse_bufvec_advance(dstv, res))$ ERROR: code indent should never use tabs #333: FILE: tools/virtiofsd/buffer.c:314: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #335: FILE: tools/virtiofsd/buffer.c:316: +^I^Iif (res < len)$ ERROR: braces {} are necessary for all arms of this statement #335: FILE: tools/virtiofsd/buffer.c:316: + if (res < len) [...] ERROR: code indent should never use tabs #336: FILE: tools/virtiofsd/buffer.c:317: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #337: FILE: tools/virtiofsd/buffer.c:318: +^I}$ ERROR: code indent should never use tabs #339: FILE: tools/virtiofsd/buffer.c:320: +^Ireturn copied;$ WARNING: Block comments use * on subsequent lines #348: FILE: tools/virtiofsd/fuse_log.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #363: FILE: tools/virtiofsd/fuse_log.c:17: +^I^I__attribute__(( unused )) enum fuse_log_level level,$ ERROR: space prohibited after that open parenthesis '(' #363: FILE: tools/virtiofsd/fuse_log.c:17: + __attribute__(( unused )) enum fuse_log_level level, ERROR: space prohibited before that close parenthesis ')' #363: FILE: tools/virtiofsd/fuse_log.c:17: + __attribute__(( unused )) enum fuse_log_level level, ERROR: code indent should never use tabs #364: FILE: tools/virtiofsd/fuse_log.c:18: +^I^Iconst char *fmt, va_list ap)$ ERROR: code indent should never use tabs #366: FILE: tools/virtiofsd/fuse_log.c:20: +^Ivfprintf(stderr, fmt, ap);$ ERROR: code indent should never use tabs #373: FILE: tools/virtiofsd/fuse_log.c:27: +^Iif (!func)$ ERROR: braces {} are necessary for all arms of this statement #373: FILE: tools/virtiofsd/fuse_log.c:27: + if (!func) [...] ERROR: code indent should never use tabs #374: FILE: tools/virtiofsd/fuse_log.c:28: +^I^Ifunc = default_log_func;$ ERROR: code indent should never use tabs #376: FILE: tools/virtiofsd/fuse_log.c:30: +^Ilog_func = func;$ ERROR: code indent should never use tabs #381: FILE: tools/virtiofsd/fuse_log.c:35: +^Iva_list ap;$ ERROR: code indent should never use tabs #383: FILE: tools/virtiofsd/fuse_log.c:37: +^Iva_start(ap, fmt);$ ERROR: code indent should never use tabs #384: FILE: tools/virtiofsd/fuse_log.c:38: +^Ilog_func(level, fmt, ap);$ ERROR: code indent should never use tabs #385: FILE: tools/virtiofsd/fuse_log.c:39: +^Iva_end(ap);$ WARNING: Block comments use * on subsequent lines #394: FILE: tools/virtiofsd/fuse_opt.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #415: FILE: tools/virtiofsd/fuse_opt.c:23: +^Ivoid *data;$ ERROR: code indent should never use tabs #416: FILE: tools/virtiofsd/fuse_opt.c:24: +^Iconst struct fuse_opt *opt;$ ERROR: code indent should never use tabs #417: FILE: tools/virtiofsd/fuse_opt.c:25: +^Ifuse_opt_proc_t proc;$ ERROR: code indent should never use tabs #418: FILE: tools/virtiofsd/fuse_opt.c:26: +^Iint argctr;$ ERROR: code indent should never use tabs #419: FILE: tools/virtiofsd/fuse_opt.c:27: +^Iint argc;$ ERROR: code indent should never use tabs #420: FILE: tools/virtiofsd/fuse_opt.c:28: +^Ichar **argv;$ ERROR: code indent should never use tabs #421: FILE: tools/virtiofsd/fuse_opt.c:29: +^Istruct fuse_args outargs;$ ERROR: code indent should never use tabs #422: FILE: tools/virtiofsd/fuse_opt.c:30: +^Ichar *opts;$ ERROR: code indent should never use tabs #423: FILE: tools/virtiofsd/fuse_opt.c:31: +^Iint nonopt;$ ERROR: code indent should never use tabs #428: FILE: tools/virtiofsd/fuse_opt.c:36: +^Iif (args) {$ ERROR: code indent should never use tabs #429: FILE: tools/virtiofsd/fuse_opt.c:37: +^I^Iif (args->argv && args->allocated) {$ ERROR: code indent should never use tabs #430: FILE: tools/virtiofsd/fuse_opt.c:38: +^I^I^Iint i;$ ERROR: code indent should never use tabs #431: FILE: tools/virtiofsd/fuse_opt.c:39: +^I^I^Ifor (i = 0; i < args->argc; i++)$ ERROR: braces {} are necessary for all arms of this statement #431: FILE: tools/virtiofsd/fuse_opt.c:39: + for (i = 0; i < args->argc; i++) [...] ERROR: code indent should never use tabs #432: FILE: tools/virtiofsd/fuse_opt.c:40: +^I^I^I^Ifree(args->argv[i]);$ ERROR: code indent should never use tabs #433: FILE: tools/virtiofsd/fuse_opt.c:41: +^I^I^Ifree(args->argv);$ ERROR: code indent should never use tabs #434: FILE: tools/virtiofsd/fuse_opt.c:42: +^I^I}$ ERROR: code indent should never use tabs #435: FILE: tools/virtiofsd/fuse_opt.c:43: +^I^Iargs->argc = 0;$ ERROR: code indent should never use tabs #436: FILE: tools/virtiofsd/fuse_opt.c:44: +^I^Iargs->argv = NULL;$ ERROR: code indent should never use tabs #437: FILE: tools/virtiofsd/fuse_opt.c:45: +^I^Iargs->allocated = 0;$ ERROR: code indent should never use tabs #438: FILE: tools/virtiofsd/fuse_opt.c:46: +^I}$ ERROR: code indent should never use tabs #443: FILE: tools/virtiofsd/fuse_opt.c:51: +^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$ ERROR: code indent should never use tabs #444: FILE: tools/virtiofsd/fuse_opt.c:52: +^Ireturn -1;$ ERROR: code indent should never use tabs #449: FILE: tools/virtiofsd/fuse_opt.c:57: +^Ichar **newargv;$ ERROR: code indent should never use tabs #450: FILE: tools/virtiofsd/fuse_opt.c:58: +^Ichar *newarg;$ ERROR: code indent should never use tabs #452: FILE: tools/virtiofsd/fuse_opt.c:60: +^Iassert(!args->argv || args->allocated);$ ERROR: code indent should never use tabs #454: FILE: tools/virtiofsd/fuse_opt.c:62: +^Inewarg = strdup(arg);$ ERROR: code indent should never use tabs #455: FILE: tools/virtiofsd/fuse_opt.c:63: +^Iif (!newarg)$ ERROR: braces {} are necessary for all arms of this statement #455: FILE: tools/virtiofsd/fuse_opt.c:63: + if (!newarg) [...] ERROR: code indent should never use tabs #456: FILE: tools/virtiofsd/fuse_opt.c:64: +^I^Ireturn alloc_failed();$ ERROR: code indent should never use tabs #458: FILE: tools/virtiofsd/fuse_opt.c:66: +^Inewargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));$ ERROR: code indent should never use tabs #459: FILE: tools/virtiofsd/fuse_opt.c:67: +^Iif (!newargv) {$ ERROR: code indent should never use tabs #460: FILE: tools/virtiofsd/fuse_opt.c:68: +^I^Ifree(newarg);$ ERROR: code indent should never use tabs #461: FILE: tools/virtiofsd/fuse_opt.c:69: +^I^Ireturn alloc_failed();$ ERROR: code indent should never use tabs #462: FILE: tools/virtiofsd/fuse_opt.c:70: +^I}$ ERROR: code indent should never use tabs #464: FILE: tools/virtiofsd/fuse_opt.c:72: +^Iargs->argv = newargv;$ ERROR: code indent should never use tabs #465: FILE: tools/virtiofsd/fuse_opt.c:73: +^Iargs->allocated = 1;$ ERROR: code indent should never use tabs #466: FILE: tools/virtiofsd/fuse_opt.c:74: +^Iargs->argv[args->argc++] = newarg;$ ERROR: code indent should never use tabs #467: FILE: tools/virtiofsd/fuse_opt.c:75: +^Iargs->argv[args->argc] = NULL;$ ERROR: code indent should never use tabs #468: FILE: tools/virtiofsd/fuse_opt.c:76: +^Ireturn 0;$ ERROR: code indent should never use tabs #472: FILE: tools/virtiofsd/fuse_opt.c:80: +^I^I^I^I const char *arg)$ ERROR: code indent should never use tabs #474: FILE: tools/virtiofsd/fuse_opt.c:82: +^Iassert(pos <= args->argc);$ ERROR: code indent should never use tabs #475: FILE: tools/virtiofsd/fuse_opt.c:83: +^Iif (fuse_opt_add_arg(args, arg) == -1)$ ERROR: braces {} are necessary for all arms of this statement #475: FILE: tools/virtiofsd/fuse_opt.c:83: + if (fuse_opt_add_arg(args, arg) == -1) [...] ERROR: code indent should never use tabs #476: FILE: tools/virtiofsd/fuse_opt.c:84: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #478: FILE: tools/virtiofsd/fuse_opt.c:86: +^Iif (pos != args->argc - 1) {$ ERROR: code indent should never use tabs #479: FILE: tools/virtiofsd/fuse_opt.c:87: +^I^Ichar *newarg = args->argv[args->argc - 1];$ ERROR: code indent should never use tabs #480: FILE: tools/virtiofsd/fuse_opt.c:88: +^I^Imemmove(&args->argv[pos + 1], &args->argv[pos],$ ERROR: code indent should never use tabs #481: FILE: tools/virtiofsd/fuse_opt.c:89: +^I^I^Isizeof(char *) * (args->argc - pos - 1));$ ERROR: code indent should never use tabs #482: FILE: tools/virtiofsd/fuse_opt.c:90: +^I^Iargs->argv[pos] = newarg;$ ERROR: code indent should never use tabs #483: FILE: tools/virtiofsd/fuse_opt.c:91: +^I}$ ERROR: code indent should never use tabs #484: FILE: tools/virtiofsd/fuse_opt.c:92: +^Ireturn 0;$ ERROR: code indent should never use tabs #489: FILE: tools/virtiofsd/fuse_opt.c:97: +^Ireturn fuse_opt_insert_arg_common(args, pos, arg);$ ERROR: code indent should never use tabs #494: FILE: tools/virtiofsd/fuse_opt.c:102: +^Iif (ctx->argctr + 1 >= ctx->argc) {$ WARNING: line over 80 characters #495: FILE: tools/virtiofsd/fuse_opt.c:103: + fuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", opt); ERROR: code indent should never use tabs #495: FILE: tools/virtiofsd/fuse_opt.c:103: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: missing argument after `%s'\n", opt);$ ERROR: code indent should never use tabs #496: FILE: tools/virtiofsd/fuse_opt.c:104: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #497: FILE: tools/virtiofsd/fuse_opt.c:105: +^I}$ ERROR: code indent should never use tabs #498: FILE: tools/virtiofsd/fuse_opt.c:106: +^Ictx->argctr++;$ ERROR: code indent should never use tabs #499: FILE: tools/virtiofsd/fuse_opt.c:107: +^Ireturn 0;$ ERROR: code indent should never use tabs #504: FILE: tools/virtiofsd/fuse_opt.c:112: +^Ireturn fuse_opt_add_arg(&ctx->outargs, arg);$ ERROR: code indent should never use tabs #509: FILE: tools/virtiofsd/fuse_opt.c:117: +^Iunsigned oldlen = *opts ? strlen(*opts) : 0;$ ERROR: code indent should never use tabs #510: FILE: tools/virtiofsd/fuse_opt.c:118: +^Ichar *d = realloc(*opts, oldlen + 1 + strlen(opt) * 2 + 1);$ ERROR: code indent should never use tabs #512: FILE: tools/virtiofsd/fuse_opt.c:120: +^Iif (!d)$ ERROR: braces {} are necessary for all arms of this statement #512: FILE: tools/virtiofsd/fuse_opt.c:120: + if (!d) [...] ERROR: code indent should never use tabs #513: FILE: tools/virtiofsd/fuse_opt.c:121: +^I^Ireturn alloc_failed();$ ERROR: code indent should never use tabs #515: FILE: tools/virtiofsd/fuse_opt.c:123: +^I*opts = d;$ ERROR: code indent should never use tabs #516: FILE: tools/virtiofsd/fuse_opt.c:124: +^Iif (oldlen) {$ ERROR: code indent should never use tabs #517: FILE: tools/virtiofsd/fuse_opt.c:125: +^I^Id += oldlen;$ ERROR: code indent should never use tabs #518: FILE: tools/virtiofsd/fuse_opt.c:126: +^I^I*d++ = ',';$ ERROR: code indent should never use tabs #519: FILE: tools/virtiofsd/fuse_opt.c:127: +^I}$ ERROR: code indent should never use tabs #521: FILE: tools/virtiofsd/fuse_opt.c:129: +^Ifor (; *opt; opt++) {$ ERROR: code indent should never use tabs #522: FILE: tools/virtiofsd/fuse_opt.c:130: +^I^Iif (esc && (*opt == ',' || *opt == '\\'))$ ERROR: braces {} are necessary for all arms of this statement #522: FILE: tools/virtiofsd/fuse_opt.c:130: + if (esc && (*opt == ',' || *opt == '\\')) [...] ERROR: code indent should never use tabs #523: FILE: tools/virtiofsd/fuse_opt.c:131: +^I^I^I*d++ = '\\';$ ERROR: code indent should never use tabs #524: FILE: tools/virtiofsd/fuse_opt.c:132: +^I^I*d++ = *opt;$ ERROR: code indent should never use tabs #525: FILE: tools/virtiofsd/fuse_opt.c:133: +^I}$ ERROR: code indent should never use tabs #526: FILE: tools/virtiofsd/fuse_opt.c:134: +^I*d = '\0';$ ERROR: code indent should never use tabs #528: FILE: tools/virtiofsd/fuse_opt.c:136: +^Ireturn 0;$ ERROR: code indent should never use tabs #533: FILE: tools/virtiofsd/fuse_opt.c:141: +^Ireturn add_opt_common(opts, opt, 0);$ ERROR: code indent should never use tabs #538: FILE: tools/virtiofsd/fuse_opt.c:146: +^Ireturn add_opt_common(opts, opt, 1);$ ERROR: code indent should never use tabs #543: FILE: tools/virtiofsd/fuse_opt.c:151: +^Ireturn add_opt_common(&ctx->opts, opt, 1);$ ERROR: code indent should never use tabs #547: FILE: tools/virtiofsd/fuse_opt.c:155: +^I^I int iso)$ ERROR: code indent should never use tabs #549: FILE: tools/virtiofsd/fuse_opt.c:157: +^Iif (key == FUSE_OPT_KEY_DISCARD)$ ERROR: braces {} are necessary for all arms of this statement #549: FILE: tools/virtiofsd/fuse_opt.c:157: + if (key == FUSE_OPT_KEY_DISCARD) [...] ERROR: code indent should never use tabs #550: FILE: tools/virtiofsd/fuse_opt.c:158: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #552: FILE: tools/virtiofsd/fuse_opt.c:160: +^Iif (key != FUSE_OPT_KEY_KEEP && ctx->proc) {$ ERROR: code indent should never use tabs #553: FILE: tools/virtiofsd/fuse_opt.c:161: +^I^Iint res = ctx->proc(ctx->data, arg, key, &ctx->outargs);$ ERROR: code indent should never use tabs #554: FILE: tools/virtiofsd/fuse_opt.c:162: +^I^Iif (res == -1 || !res)$ ERROR: braces {} are necessary for all arms of this statement #554: FILE: tools/virtiofsd/fuse_opt.c:162: + if (res == -1 || !res) [...] ERROR: code indent should never use tabs #555: FILE: tools/virtiofsd/fuse_opt.c:163: +^I^I^Ireturn res;$ ERROR: code indent should never use tabs #556: FILE: tools/virtiofsd/fuse_opt.c:164: +^I}$ ERROR: code indent should never use tabs #557: FILE: tools/virtiofsd/fuse_opt.c:165: +^Iif (iso)$ ERROR: braces {} are necessary for all arms of this statement #557: FILE: tools/virtiofsd/fuse_opt.c:165: + if (iso) [...] + else [...] ERROR: code indent should never use tabs #558: FILE: tools/virtiofsd/fuse_opt.c:166: +^I^Ireturn add_opt(ctx, arg);$ ERROR: code indent should never use tabs #559: FILE: tools/virtiofsd/fuse_opt.c:167: +^Ielse$ ERROR: code indent should never use tabs #560: FILE: tools/virtiofsd/fuse_opt.c:168: +^I^Ireturn add_arg(ctx, arg);$ ERROR: code indent should never use tabs #565: FILE: tools/virtiofsd/fuse_opt.c:173: +^Iint arglen = strlen(arg);$ ERROR: code indent should never use tabs #566: FILE: tools/virtiofsd/fuse_opt.c:174: +^Iconst char *sep = strchr(t, '=');$ ERROR: code indent should never use tabs #567: FILE: tools/virtiofsd/fuse_opt.c:175: +^Isep = sep ? sep : strchr(t, ' ');$ ERROR: code indent should never use tabs #568: FILE: tools/virtiofsd/fuse_opt.c:176: +^Iif (sep && (!sep[1] || sep[1] == '%')) {$ ERROR: code indent should never use tabs #569: FILE: tools/virtiofsd/fuse_opt.c:177: +^I^Iint tlen = sep - t;$ ERROR: code indent should never use tabs #570: FILE: tools/virtiofsd/fuse_opt.c:178: +^I^Iif (sep[0] == '=')$ ERROR: braces {} are necessary for all arms of this statement #570: FILE: tools/virtiofsd/fuse_opt.c:178: + if (sep[0] == '=') [...] ERROR: code indent should never use tabs #571: FILE: tools/virtiofsd/fuse_opt.c:179: +^I^I^Itlen ++;$ ERROR: space prohibited before that '++' (ctx:WxO) #571: FILE: tools/virtiofsd/fuse_opt.c:179: + tlen ++; ^ ERROR: code indent should never use tabs #572: FILE: tools/virtiofsd/fuse_opt.c:180: +^I^Iif (arglen >= tlen && strncmp(arg, t, tlen) == 0) {$ ERROR: code indent should never use tabs #573: FILE: tools/virtiofsd/fuse_opt.c:181: +^I^I^I*sepp = sep - t;$ ERROR: code indent should never use tabs #574: FILE: tools/virtiofsd/fuse_opt.c:182: +^I^I^Ireturn 1;$ ERROR: code indent should never use tabs #575: FILE: tools/virtiofsd/fuse_opt.c:183: +^I^I}$ ERROR: code indent should never use tabs #576: FILE: tools/virtiofsd/fuse_opt.c:184: +^I}$ ERROR: code indent should never use tabs #577: FILE: tools/virtiofsd/fuse_opt.c:185: +^Iif (strcmp(t, arg) == 0) {$ ERROR: code indent should never use tabs #578: FILE: tools/virtiofsd/fuse_opt.c:186: +^I^I*sepp = 0;$ ERROR: code indent should never use tabs #579: FILE: tools/virtiofsd/fuse_opt.c:187: +^I^Ireturn 1;$ ERROR: code indent should never use tabs #580: FILE: tools/virtiofsd/fuse_opt.c:188: +^I}$ ERROR: code indent should never use tabs #581: FILE: tools/virtiofsd/fuse_opt.c:189: +^Ireturn 0;$ ERROR: code indent should never use tabs #585: FILE: tools/virtiofsd/fuse_opt.c:193: +^I^I^I^I const char *arg, unsigned *sepp)$ ERROR: code indent should never use tabs #587: FILE: tools/virtiofsd/fuse_opt.c:195: +^Ifor (; opt && opt->templ; opt++)$ ERROR: code indent should never use tabs #588: FILE: tools/virtiofsd/fuse_opt.c:196: +^I^Iif (match_template(opt->templ, arg, sepp))$ ERROR: braces {} are necessary for all arms of this statement #588: FILE: tools/virtiofsd/fuse_opt.c:196: + if (match_template(opt->templ, arg, sepp)) [...] ERROR: code indent should never use tabs #589: FILE: tools/virtiofsd/fuse_opt.c:197: +^I^I^Ireturn opt;$ ERROR: code indent should never use tabs #590: FILE: tools/virtiofsd/fuse_opt.c:198: +^Ireturn NULL;$ ERROR: code indent should never use tabs #595: FILE: tools/virtiofsd/fuse_opt.c:203: +^Iunsigned dummy;$ ERROR: code indent should never use tabs #596: FILE: tools/virtiofsd/fuse_opt.c:204: +^Ireturn find_opt(opts, opt, &dummy) ? 1 : 0;$ ERROR: code indent should never use tabs #600: FILE: tools/virtiofsd/fuse_opt.c:208: +^I^I^I const char *arg)$ ERROR: code indent should never use tabs #602: FILE: tools/virtiofsd/fuse_opt.c:210: +^Iassert(format[0] == '%');$ ERROR: code indent should never use tabs #603: FILE: tools/virtiofsd/fuse_opt.c:211: +^Iif (format[1] == 's') {$ ERROR: code indent should never use tabs #604: FILE: tools/virtiofsd/fuse_opt.c:212: +^I^Ichar **s = var;$ ERROR: code indent should never use tabs #605: FILE: tools/virtiofsd/fuse_opt.c:213: +^I^Ichar *copy = strdup(param);$ ERROR: code indent should never use tabs #606: FILE: tools/virtiofsd/fuse_opt.c:214: +^I^Iif (!copy)$ ERROR: braces {} are necessary for all arms of this statement #606: FILE: tools/virtiofsd/fuse_opt.c:214: + if (!copy) [...] ERROR: code indent should never use tabs #607: FILE: tools/virtiofsd/fuse_opt.c:215: +^I^I^Ireturn alloc_failed();$ ERROR: code indent should never use tabs #609: FILE: tools/virtiofsd/fuse_opt.c:217: +^I^Ifree(*s);$ ERROR: code indent should never use tabs #610: FILE: tools/virtiofsd/fuse_opt.c:218: +^I^I*s = copy;$ ERROR: code indent should never use tabs #611: FILE: tools/virtiofsd/fuse_opt.c:219: +^I} else {$ ERROR: code indent should never use tabs #612: FILE: tools/virtiofsd/fuse_opt.c:220: +^I^Iif (sscanf(param, format, var) != 1) {$ ERROR: line over 90 characters #613: FILE: tools/virtiofsd/fuse_opt.c:221: + fuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in option `%s'\n", arg); ERROR: code indent should never use tabs #613: FILE: tools/virtiofsd/fuse_opt.c:221: +^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid parameter in option `%s'\n", arg);$ ERROR: code indent should never use tabs #614: FILE: tools/virtiofsd/fuse_opt.c:222: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #615: FILE: tools/virtiofsd/fuse_opt.c:223: +^I^I}$ ERROR: code indent should never use tabs #616: FILE: tools/virtiofsd/fuse_opt.c:224: +^I}$ ERROR: code indent should never use tabs #617: FILE: tools/virtiofsd/fuse_opt.c:225: +^Ireturn 0;$ ERROR: code indent should never use tabs #621: FILE: tools/virtiofsd/fuse_opt.c:229: +^I^I const struct fuse_opt *opt, unsigned sep,$ ERROR: code indent should never use tabs #622: FILE: tools/virtiofsd/fuse_opt.c:230: +^I^I const char *arg, int iso)$ ERROR: code indent should never use tabs #624: FILE: tools/virtiofsd/fuse_opt.c:232: +^Iif (opt->offset == -1U) {$ ERROR: code indent should never use tabs #625: FILE: tools/virtiofsd/fuse_opt.c:233: +^I^Iif (call_proc(ctx, arg, opt->value, iso) == -1)$ ERROR: braces {} are necessary for all arms of this statement #625: FILE: tools/virtiofsd/fuse_opt.c:233: + if (call_proc(ctx, arg, opt->value, iso) == -1) [...] ERROR: code indent should never use tabs #626: FILE: tools/virtiofsd/fuse_opt.c:234: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #627: FILE: tools/virtiofsd/fuse_opt.c:235: +^I} else {$ ERROR: code indent should never use tabs #628: FILE: tools/virtiofsd/fuse_opt.c:236: +^I^Ivoid *var = (char *)ctx->data + opt->offset;$ ERROR: code indent should never use tabs #629: FILE: tools/virtiofsd/fuse_opt.c:237: +^I^Iif (sep && opt->templ[sep + 1]) {$ ERROR: code indent should never use tabs #630: FILE: tools/virtiofsd/fuse_opt.c:238: +^I^I^Iconst char *param = arg + sep;$ ERROR: code indent should never use tabs #631: FILE: tools/virtiofsd/fuse_opt.c:239: +^I^I^Iif (opt->templ[sep] == '=')$ ERROR: braces {} are necessary for all arms of this statement #631: FILE: tools/virtiofsd/fuse_opt.c:239: + if (opt->templ[sep] == '=') [...] ERROR: code indent should never use tabs #632: FILE: tools/virtiofsd/fuse_opt.c:240: +^I^I^I^Iparam ++;$ ERROR: space prohibited before that '++' (ctx:WxO) #632: FILE: tools/virtiofsd/fuse_opt.c:240: + param ++; ^ ERROR: code indent should never use tabs #633: FILE: tools/virtiofsd/fuse_opt.c:241: +^I^I^Iif (process_opt_param(var, opt->templ + sep + 1,$ ERROR: code indent should never use tabs #634: FILE: tools/virtiofsd/fuse_opt.c:242: +^I^I^I^I^I param, arg) == -1)$ ERROR: code indent should never use tabs #635: FILE: tools/virtiofsd/fuse_opt.c:243: +^I^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #636: FILE: tools/virtiofsd/fuse_opt.c:244: +^I^I} else$ ERROR: code indent should never use tabs #637: FILE: tools/virtiofsd/fuse_opt.c:245: +^I^I^I*(int *)var = opt->value;$ ERROR: code indent should never use tabs #638: FILE: tools/virtiofsd/fuse_opt.c:246: +^I}$ ERROR: code indent should never use tabs #639: FILE: tools/virtiofsd/fuse_opt.c:247: +^Ireturn 0;$ ERROR: code indent should never use tabs #643: FILE: tools/virtiofsd/fuse_opt.c:251: +^I^I^I const struct fuse_opt *opt, unsigned sep,$ ERROR: code indent should never use tabs #644: FILE: tools/virtiofsd/fuse_opt.c:252: +^I^I^I const char *arg, int iso)$ ERROR: code indent should never use tabs #646: FILE: tools/virtiofsd/fuse_opt.c:254: +^Iint res;$ ERROR: code indent should never use tabs #647: FILE: tools/virtiofsd/fuse_opt.c:255: +^Ichar *newarg;$ ERROR: code indent should never use tabs #648: FILE: tools/virtiofsd/fuse_opt.c:256: +^Ichar *param;$ ERROR: code indent should never use tabs #650: FILE: tools/virtiofsd/fuse_opt.c:258: +^Iif (next_arg(ctx, arg) == -1)$ ERROR: braces {} are necessary for all arms of this statement #650: FILE: tools/virtiofsd/fuse_opt.c:258: + if (next_arg(ctx, arg) == -1) [...] ERROR: code indent should never use tabs #651: FILE: tools/virtiofsd/fuse_opt.c:259: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #653: FILE: tools/virtiofsd/fuse_opt.c:261: +^Iparam = ctx->argv[ctx->argctr];$ ERROR: code indent should never use tabs #654: FILE: tools/virtiofsd/fuse_opt.c:262: +^Inewarg = malloc(sep + strlen(param) + 1);$ ERROR: code indent should never use tabs #655: FILE: tools/virtiofsd/fuse_opt.c:263: +^Iif (!newarg)$ ERROR: braces {} are necessary for all arms of this statement #655: FILE: tools/virtiofsd/fuse_opt.c:263: + if (!newarg) [...] ERROR: code indent should never use tabs #656: FILE: tools/virtiofsd/fuse_opt.c:264: +^I^Ireturn alloc_failed();$ ERROR: code indent should never use tabs #658: FILE: tools/virtiofsd/fuse_opt.c:266: +^Imemcpy(newarg, arg, sep);$ ERROR: code indent should never use tabs #659: FILE: tools/virtiofsd/fuse_opt.c:267: +^Istrcpy(newarg + sep, param);$ ERROR: code indent should never use tabs #660: FILE: tools/virtiofsd/fuse_opt.c:268: +^Ires = process_opt(ctx, opt, sep, newarg, iso);$ ERROR: code indent should never use tabs #661: FILE: tools/virtiofsd/fuse_opt.c:269: +^Ifree(newarg);$ ERROR: code indent should never use tabs #663: FILE: tools/virtiofsd/fuse_opt.c:271: +^Ireturn res;$ ERROR: code indent should never use tabs #668: FILE: tools/virtiofsd/fuse_opt.c:276: +^Iunsigned sep;$ ERROR: code indent should never use tabs #669: FILE: tools/virtiofsd/fuse_opt.c:277: +^Iconst struct fuse_opt *opt = find_opt(ctx->opt, arg, &sep);$ ERROR: code indent should never use tabs #670: FILE: tools/virtiofsd/fuse_opt.c:278: +^Iif (opt) {$ ERROR: code indent should never use tabs #671: FILE: tools/virtiofsd/fuse_opt.c:279: +^I^Ifor (; opt; opt = find_opt(opt + 1, arg, &sep)) {$ ERROR: code indent should never use tabs #672: FILE: tools/virtiofsd/fuse_opt.c:280: +^I^I^Iint res;$ ERROR: code indent should never use tabs #673: FILE: tools/virtiofsd/fuse_opt.c:281: +^I^I^Iif (sep && opt->templ[sep] == ' ' && !arg[sep])$ ERROR: code indent should never use tabs #674: FILE: tools/virtiofsd/fuse_opt.c:282: +^I^I^I^Ires = process_opt_sep_arg(ctx, opt, sep, arg,$ ERROR: code indent should never use tabs #675: FILE: tools/virtiofsd/fuse_opt.c:283: +^I^I^I^I^I^I^I iso);$ ERROR: code indent should never use tabs #676: FILE: tools/virtiofsd/fuse_opt.c:284: +^I^I^Ielse$ ERROR: code indent should never use tabs #677: FILE: tools/virtiofsd/fuse_opt.c:285: +^I^I^I^Ires = process_opt(ctx, opt, sep, arg, iso);$ ERROR: code indent should never use tabs #678: FILE: tools/virtiofsd/fuse_opt.c:286: +^I^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #678: FILE: tools/virtiofsd/fuse_opt.c:286: + if (res == -1) [...] ERROR: code indent should never use tabs #679: FILE: tools/virtiofsd/fuse_opt.c:287: +^I^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #680: FILE: tools/virtiofsd/fuse_opt.c:288: +^I^I}$ ERROR: code indent should never use tabs #681: FILE: tools/virtiofsd/fuse_opt.c:289: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #682: FILE: tools/virtiofsd/fuse_opt.c:290: +^I} else$ ERROR: code indent should never use tabs #683: FILE: tools/virtiofsd/fuse_opt.c:291: +^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_OPT, iso);$ ERROR: code indent should never use tabs #688: FILE: tools/virtiofsd/fuse_opt.c:296: +^Ichar *s = opts;$ ERROR: code indent should never use tabs #689: FILE: tools/virtiofsd/fuse_opt.c:297: +^Ichar *d = s;$ ERROR: code indent should never use tabs #690: FILE: tools/virtiofsd/fuse_opt.c:298: +^Iint end = 0;$ ERROR: code indent should never use tabs #692: FILE: tools/virtiofsd/fuse_opt.c:300: +^Iwhile (!end) {$ ERROR: code indent should never use tabs #693: FILE: tools/virtiofsd/fuse_opt.c:301: +^I^Iif (*s == '\0')$ ERROR: braces {} are necessary for all arms of this statement #693: FILE: tools/virtiofsd/fuse_opt.c:301: + if (*s == '\0') [...] ERROR: code indent should never use tabs #694: FILE: tools/virtiofsd/fuse_opt.c:302: +^I^I^Iend = 1;$ ERROR: code indent should never use tabs #695: FILE: tools/virtiofsd/fuse_opt.c:303: +^I^Iif (*s == ',' || end) {$ ERROR: code indent should never use tabs #696: FILE: tools/virtiofsd/fuse_opt.c:304: +^I^I^Iint res;$ ERROR: code indent should never use tabs #698: FILE: tools/virtiofsd/fuse_opt.c:306: +^I^I^I*d = '\0';$ ERROR: code indent should never use tabs #699: FILE: tools/virtiofsd/fuse_opt.c:307: +^I^I^Ires = process_gopt(ctx, opts, 1);$ ERROR: code indent should never use tabs #700: FILE: tools/virtiofsd/fuse_opt.c:308: +^I^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #700: FILE: tools/virtiofsd/fuse_opt.c:308: + if (res == -1) [...] ERROR: code indent should never use tabs #701: FILE: tools/virtiofsd/fuse_opt.c:309: +^I^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #702: FILE: tools/virtiofsd/fuse_opt.c:310: +^I^I^Id = opts;$ ERROR: code indent should never use tabs #703: FILE: tools/virtiofsd/fuse_opt.c:311: +^I^I} else {$ ERROR: code indent should never use tabs #704: FILE: tools/virtiofsd/fuse_opt.c:312: +^I^I^Iif (s[0] == '\\' && s[1] != '\0') {$ ERROR: code indent should never use tabs #705: FILE: tools/virtiofsd/fuse_opt.c:313: +^I^I^I^Is++;$ ERROR: code indent should never use tabs #706: FILE: tools/virtiofsd/fuse_opt.c:314: +^I^I^I^Iif (s[0] >= '0' && s[0] <= '3' &&$ ERROR: code indent should never use tabs #707: FILE: tools/virtiofsd/fuse_opt.c:315: +^I^I^I^I s[1] >= '0' && s[1] <= '7' &&$ ERROR: code indent should never use tabs #708: FILE: tools/virtiofsd/fuse_opt.c:316: +^I^I^I^I s[2] >= '0' && s[2] <= '7') {$ ERROR: code indent should never use tabs #709: FILE: tools/virtiofsd/fuse_opt.c:317: +^I^I^I^I^I*d++ = (s[0] - '0') * 0100 +$ ERROR: code indent should never use tabs #710: FILE: tools/virtiofsd/fuse_opt.c:318: +^I^I^I^I^I^I(s[1] - '0') * 0010 +$ ERROR: code indent should never use tabs #711: FILE: tools/virtiofsd/fuse_opt.c:319: +^I^I^I^I^I^I(s[2] - '0');$ ERROR: code indent should never use tabs #712: FILE: tools/virtiofsd/fuse_opt.c:320: +^I^I^I^I^Is += 2;$ ERROR: code indent should never use tabs #713: FILE: tools/virtiofsd/fuse_opt.c:321: +^I^I^I^I} else {$ ERROR: code indent should never use tabs #714: FILE: tools/virtiofsd/fuse_opt.c:322: +^I^I^I^I^I*d++ = *s;$ ERROR: code indent should never use tabs #715: FILE: tools/virtiofsd/fuse_opt.c:323: +^I^I^I^I}$ ERROR: code indent should never use tabs #716: FILE: tools/virtiofsd/fuse_opt.c:324: +^I^I^I} else {$ ERROR: code indent should never use tabs #717: FILE: tools/virtiofsd/fuse_opt.c:325: +^I^I^I^I*d++ = *s;$ ERROR: code indent should never use tabs #718: FILE: tools/virtiofsd/fuse_opt.c:326: +^I^I^I}$ ERROR: code indent should never use tabs #719: FILE: tools/virtiofsd/fuse_opt.c:327: +^I^I}$ ERROR: code indent should never use tabs #720: FILE: tools/virtiofsd/fuse_opt.c:328: +^I^Is++;$ ERROR: code indent should never use tabs #721: FILE: tools/virtiofsd/fuse_opt.c:329: +^I}$ ERROR: code indent should never use tabs #723: FILE: tools/virtiofsd/fuse_opt.c:331: +^Ireturn 0;$ ERROR: code indent should never use tabs #728: FILE: tools/virtiofsd/fuse_opt.c:336: +^Iint res;$ ERROR: code indent should never use tabs #729: FILE: tools/virtiofsd/fuse_opt.c:337: +^Ichar *copy = strdup(opts);$ ERROR: code indent should never use tabs #731: FILE: tools/virtiofsd/fuse_opt.c:339: +^Iif (!copy) {$ ERROR: code indent should never use tabs #732: FILE: tools/virtiofsd/fuse_opt.c:340: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$ ERROR: code indent should never use tabs #733: FILE: tools/virtiofsd/fuse_opt.c:341: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #734: FILE: tools/virtiofsd/fuse_opt.c:342: +^I}$ ERROR: code indent should never use tabs #735: FILE: tools/virtiofsd/fuse_opt.c:343: +^Ires = process_real_option_group(ctx, copy);$ ERROR: code indent should never use tabs #736: FILE: tools/virtiofsd/fuse_opt.c:344: +^Ifree(copy);$ ERROR: code indent should never use tabs #737: FILE: tools/virtiofsd/fuse_opt.c:345: +^Ireturn res;$ ERROR: code indent should never use tabs #742: FILE: tools/virtiofsd/fuse_opt.c:350: +^Iif (ctx->nonopt || arg[0] != '-')$ ERROR: code indent should never use tabs #743: FILE: tools/virtiofsd/fuse_opt.c:351: +^I^Ireturn call_proc(ctx, arg, FUSE_OPT_KEY_NONOPT, 0);$ ERROR: code indent should never use tabs #744: FILE: tools/virtiofsd/fuse_opt.c:352: +^Ielse if (arg[1] == 'o') {$ ERROR: code indent should never use tabs #745: FILE: tools/virtiofsd/fuse_opt.c:353: +^I^Iif (arg[2])$ ERROR: code indent should never use tabs #746: FILE: tools/virtiofsd/fuse_opt.c:354: +^I^I^Ireturn process_option_group(ctx, arg + 2);$ ERROR: code indent should never use tabs #747: FILE: tools/virtiofsd/fuse_opt.c:355: +^I^Ielse {$ ERROR: code indent should never use tabs #748: FILE: tools/virtiofsd/fuse_opt.c:356: +^I^I^Iif (next_arg(ctx, arg) == -1)$ ERROR: braces {} are necessary for all arms of this statement #748: FILE: tools/virtiofsd/fuse_opt.c:356: + if (next_arg(ctx, arg) == -1) [...] ERROR: code indent should never use tabs #749: FILE: tools/virtiofsd/fuse_opt.c:357: +^I^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #751: FILE: tools/virtiofsd/fuse_opt.c:359: +^I^I^Ireturn process_option_group(ctx,$ ERROR: code indent should never use tabs #752: FILE: tools/virtiofsd/fuse_opt.c:360: +^I^I^I^I^I^I ctx->argv[ctx->argctr]);$ ERROR: code indent should never use tabs #753: FILE: tools/virtiofsd/fuse_opt.c:361: +^I^I}$ ERROR: code indent should never use tabs #754: FILE: tools/virtiofsd/fuse_opt.c:362: +^I} else if (arg[1] == '-' && !arg[2]) {$ ERROR: code indent should never use tabs #755: FILE: tools/virtiofsd/fuse_opt.c:363: +^I^Iif (add_arg(ctx, arg) == -1)$ ERROR: braces {} are necessary for all arms of this statement #755: FILE: tools/virtiofsd/fuse_opt.c:363: + if (add_arg(ctx, arg) == -1) [...] ERROR: code indent should never use tabs #756: FILE: tools/virtiofsd/fuse_opt.c:364: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #757: FILE: tools/virtiofsd/fuse_opt.c:365: +^I^Ictx->nonopt = ctx->outargs.argc;$ ERROR: code indent should never use tabs #758: FILE: tools/virtiofsd/fuse_opt.c:366: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #759: FILE: tools/virtiofsd/fuse_opt.c:367: +^I} else$ ERROR: code indent should never use tabs #760: FILE: tools/virtiofsd/fuse_opt.c:368: +^I^Ireturn process_gopt(ctx, arg, 0);$ ERROR: code indent should never use tabs #765: FILE: tools/virtiofsd/fuse_opt.c:373: +^Iif (ctx->argc) {$ ERROR: code indent should never use tabs #766: FILE: tools/virtiofsd/fuse_opt.c:374: +^I^Iif (add_arg(ctx, ctx->argv[0]) == -1)$ ERROR: braces {} are necessary for all arms of this statement #766: FILE: tools/virtiofsd/fuse_opt.c:374: + if (add_arg(ctx, ctx->argv[0]) == -1) [...] ERROR: code indent should never use tabs #767: FILE: tools/virtiofsd/fuse_opt.c:375: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #768: FILE: tools/virtiofsd/fuse_opt.c:376: +^I}$ ERROR: code indent should never use tabs #770: FILE: tools/virtiofsd/fuse_opt.c:378: +^Ifor (ctx->argctr = 1; ctx->argctr < ctx->argc; ctx->argctr++)$ ERROR: code indent should never use tabs #771: FILE: tools/virtiofsd/fuse_opt.c:379: +^I^Iif (process_one(ctx, ctx->argv[ctx->argctr]) == -1)$ ERROR: braces {} are necessary for all arms of this statement #771: FILE: tools/virtiofsd/fuse_opt.c:379: + if (process_one(ctx, ctx->argv[ctx->argctr]) == -1) [...] ERROR: code indent should never use tabs #772: FILE: tools/virtiofsd/fuse_opt.c:380: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #774: FILE: tools/virtiofsd/fuse_opt.c:382: +^Iif (ctx->opts) {$ ERROR: code indent should never use tabs #775: FILE: tools/virtiofsd/fuse_opt.c:383: +^I^Iif (fuse_opt_insert_arg(&ctx->outargs, 1, "-o") == -1 ||$ ERROR: code indent should never use tabs #776: FILE: tools/virtiofsd/fuse_opt.c:384: +^I^I fuse_opt_insert_arg(&ctx->outargs, 2, ctx->opts) == -1)$ ERROR: code indent should never use tabs #777: FILE: tools/virtiofsd/fuse_opt.c:385: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #778: FILE: tools/virtiofsd/fuse_opt.c:386: +^I}$ ERROR: code indent should never use tabs #780: FILE: tools/virtiofsd/fuse_opt.c:388: +^I/* If option separator ("--") is the last argument, remove it */$ ERROR: code indent should never use tabs #781: FILE: tools/virtiofsd/fuse_opt.c:389: +^Iif (ctx->nonopt && ctx->nonopt == ctx->outargs.argc &&$ ERROR: code indent should never use tabs #782: FILE: tools/virtiofsd/fuse_opt.c:390: +^I strcmp(ctx->outargs.argv[ctx->outargs.argc - 1], "--") == 0) {$ ERROR: code indent should never use tabs #783: FILE: tools/virtiofsd/fuse_opt.c:391: +^I^Ifree(ctx->outargs.argv[ctx->outargs.argc - 1]);$ ERROR: code indent should never use tabs #784: FILE: tools/virtiofsd/fuse_opt.c:392: +^I^Ictx->outargs.argv[--ctx->outargs.argc] = NULL;$ ERROR: code indent should never use tabs #785: FILE: tools/virtiofsd/fuse_opt.c:393: +^I}$ ERROR: code indent should never use tabs #787: FILE: tools/virtiofsd/fuse_opt.c:395: +^Ireturn 0;$ ERROR: code indent should never use tabs #791: FILE: tools/virtiofsd/fuse_opt.c:399: +^I^I const struct fuse_opt opts[], fuse_opt_proc_t proc)$ ERROR: code indent should never use tabs #793: FILE: tools/virtiofsd/fuse_opt.c:401: +^Iint res;$ ERROR: code indent should never use tabs #794: FILE: tools/virtiofsd/fuse_opt.c:402: +^Istruct fuse_opt_context ctx = {$ ERROR: code indent should never use tabs #795: FILE: tools/virtiofsd/fuse_opt.c:403: +^I^I.data = data,$ ERROR: code indent should never use tabs #796: FILE: tools/virtiofsd/fuse_opt.c:404: +^I^I.opt = opts,$ ERROR: code indent should never use tabs #797: FILE: tools/virtiofsd/fuse_opt.c:405: +^I^I.proc = proc,$ ERROR: code indent should never use tabs #798: FILE: tools/virtiofsd/fuse_opt.c:406: +^I};$ ERROR: code indent should never use tabs #800: FILE: tools/virtiofsd/fuse_opt.c:408: +^Iif (!args || !args->argv || !args->argc)$ ERROR: braces {} are necessary for all arms of this statement #800: FILE: tools/virtiofsd/fuse_opt.c:408: + if (!args || !args->argv || !args->argc) [...] ERROR: code indent should never use tabs #801: FILE: tools/virtiofsd/fuse_opt.c:409: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #803: FILE: tools/virtiofsd/fuse_opt.c:411: +^Ictx.argc = args->argc;$ ERROR: code indent should never use tabs #804: FILE: tools/virtiofsd/fuse_opt.c:412: +^Ictx.argv = args->argv;$ ERROR: code indent should never use tabs #806: FILE: tools/virtiofsd/fuse_opt.c:414: +^Ires = opt_parse(&ctx);$ ERROR: code indent should never use tabs #807: FILE: tools/virtiofsd/fuse_opt.c:415: +^Iif (res != -1) {$ ERROR: code indent should never use tabs #808: FILE: tools/virtiofsd/fuse_opt.c:416: +^I^Istruct fuse_args tmp = *args;$ ERROR: code indent should never use tabs #809: FILE: tools/virtiofsd/fuse_opt.c:417: +^I^I*args = ctx.outargs;$ ERROR: code indent should never use tabs #810: FILE: tools/virtiofsd/fuse_opt.c:418: +^I^Ictx.outargs = tmp;$ ERROR: code indent should never use tabs #811: FILE: tools/virtiofsd/fuse_opt.c:419: +^I}$ ERROR: code indent should never use tabs #812: FILE: tools/virtiofsd/fuse_opt.c:420: +^Ifree(ctx.opts);$ ERROR: code indent should never use tabs #813: FILE: tools/virtiofsd/fuse_opt.c:421: +^Ifuse_opt_free_args(&ctx.outargs);$ ERROR: code indent should never use tabs #814: FILE: tools/virtiofsd/fuse_opt.c:422: +^Ireturn res;$ WARNING: Block comments use * on subsequent lines #823: FILE: tools/virtiofsd/fuse_signals.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #845: FILE: tools/virtiofsd/fuse_signals.c:24: +^Iif (fuse_instance) {$ ERROR: code indent should never use tabs #846: FILE: tools/virtiofsd/fuse_signals.c:25: +^I^Ifuse_session_exit(fuse_instance);$ ERROR: code indent should never use tabs #847: FILE: tools/virtiofsd/fuse_signals.c:26: +^I^Iif(sig <= 0) {$ ERROR: space required before the open parenthesis '(' #847: FILE: tools/virtiofsd/fuse_signals.c:26: + if(sig <= 0) { WARNING: line over 80 characters #848: FILE: tools/virtiofsd/fuse_signals.c:27: + fuse_log(FUSE_LOG_ERR, "assertion error: signal value <= 0\n"); ERROR: code indent should never use tabs #848: FILE: tools/virtiofsd/fuse_signals.c:27: +^I^I^Ifuse_log(FUSE_LOG_ERR, "assertion error: signal value <= 0\n");$ ERROR: code indent should never use tabs #849: FILE: tools/virtiofsd/fuse_signals.c:28: +^I^I^Iabort();$ ERROR: code indent should never use tabs #850: FILE: tools/virtiofsd/fuse_signals.c:29: +^I^I}$ ERROR: code indent should never use tabs #851: FILE: tools/virtiofsd/fuse_signals.c:30: +^I^Ifuse_instance->error = sig;$ ERROR: code indent should never use tabs #852: FILE: tools/virtiofsd/fuse_signals.c:31: +^I}$ ERROR: code indent should never use tabs #857: FILE: tools/virtiofsd/fuse_signals.c:36: +^I(void) sig;$ ERROR: code indent should never use tabs #862: FILE: tools/virtiofsd/fuse_signals.c:41: +^Istruct sigaction sa;$ ERROR: code indent should never use tabs #863: FILE: tools/virtiofsd/fuse_signals.c:42: +^Istruct sigaction old_sa;$ ERROR: code indent should never use tabs #865: FILE: tools/virtiofsd/fuse_signals.c:44: +^Imemset(&sa, 0, sizeof(struct sigaction));$ ERROR: code indent should never use tabs #866: FILE: tools/virtiofsd/fuse_signals.c:45: +^Isa.sa_handler = remove ? SIG_DFL : handler;$ ERROR: code indent should never use tabs #867: FILE: tools/virtiofsd/fuse_signals.c:46: +^Isigemptyset(&(sa.sa_mask));$ ERROR: code indent should never use tabs #868: FILE: tools/virtiofsd/fuse_signals.c:47: +^Isa.sa_flags = 0;$ ERROR: code indent should never use tabs #870: FILE: tools/virtiofsd/fuse_signals.c:49: +^Iif (sigaction(sig, NULL, &old_sa) == -1) {$ ERROR: code indent should never use tabs #871: FILE: tools/virtiofsd/fuse_signals.c:50: +^I^Iperror("fuse: cannot get old signal handler");$ ERROR: code indent should never use tabs #872: FILE: tools/virtiofsd/fuse_signals.c:51: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #873: FILE: tools/virtiofsd/fuse_signals.c:52: +^I}$ ERROR: code indent should never use tabs #875: FILE: tools/virtiofsd/fuse_signals.c:54: +^Iif (old_sa.sa_handler == (remove ? handler : SIG_DFL) &&$ ERROR: code indent should never use tabs #876: FILE: tools/virtiofsd/fuse_signals.c:55: +^I sigaction(sig, &sa, NULL) == -1) {$ ERROR: code indent should never use tabs #877: FILE: tools/virtiofsd/fuse_signals.c:56: +^I^Iperror("fuse: cannot set signal handler");$ ERROR: code indent should never use tabs #878: FILE: tools/virtiofsd/fuse_signals.c:57: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #879: FILE: tools/virtiofsd/fuse_signals.c:58: +^I}$ ERROR: code indent should never use tabs #880: FILE: tools/virtiofsd/fuse_signals.c:59: +^Ireturn 0;$ ERROR: code indent should never use tabs #885: FILE: tools/virtiofsd/fuse_signals.c:64: +^I/* If we used SIG_IGN instead of the do_nothing function,$ WARNING: Block comments use a leading /* on a separate line #885: FILE: tools/virtiofsd/fuse_signals.c:64: + /* If we used SIG_IGN instead of the do_nothing function, ERROR: code indent should never use tabs #886: FILE: tools/virtiofsd/fuse_signals.c:65: +^I then we would be unable to tell if we set SIG_IGN (and$ WARNING: Block comments use * on subsequent lines #886: FILE: tools/virtiofsd/fuse_signals.c:65: + /* If we used SIG_IGN instead of the do_nothing function, + then we would be unable to tell if we set SIG_IGN (and ERROR: code indent should never use tabs #887: FILE: tools/virtiofsd/fuse_signals.c:66: +^I thus should reset to SIG_DFL in fuse_remove_signal_handlers)$ ERROR: code indent should never use tabs #888: FILE: tools/virtiofsd/fuse_signals.c:67: +^I or if it was already set to SIG_IGN (and should be left$ ERROR: code indent should never use tabs #889: FILE: tools/virtiofsd/fuse_signals.c:68: +^I untouched. */$ WARNING: Block comments use a trailing */ on a separate line #889: FILE: tools/virtiofsd/fuse_signals.c:68: + untouched. */ ERROR: code indent should never use tabs #890: FILE: tools/virtiofsd/fuse_signals.c:69: +^Iif (set_one_signal_handler(SIGHUP, exit_handler, 0) == -1 ||$ ERROR: code indent should never use tabs #891: FILE: tools/virtiofsd/fuse_signals.c:70: +^I set_one_signal_handler(SIGINT, exit_handler, 0) == -1 ||$ ERROR: code indent should never use tabs #892: FILE: tools/virtiofsd/fuse_signals.c:71: +^I set_one_signal_handler(SIGTERM, exit_handler, 0) == -1 ||$ ERROR: code indent should never use tabs #893: FILE: tools/virtiofsd/fuse_signals.c:72: +^I set_one_signal_handler(SIGPIPE, do_nothing, 0) == -1)$ ERROR: code indent should never use tabs #894: FILE: tools/virtiofsd/fuse_signals.c:73: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #896: FILE: tools/virtiofsd/fuse_signals.c:75: +^Ifuse_instance = se;$ ERROR: code indent should never use tabs #897: FILE: tools/virtiofsd/fuse_signals.c:76: +^Ireturn 0;$ ERROR: code indent should never use tabs #902: FILE: tools/virtiofsd/fuse_signals.c:81: +^Iif (fuse_instance != se)$ ERROR: code indent should never use tabs #903: FILE: tools/virtiofsd/fuse_signals.c:82: +^I^Ifuse_log(FUSE_LOG_ERR,$ ERROR: code indent should never use tabs #904: FILE: tools/virtiofsd/fuse_signals.c:83: +^I^I^I"fuse: fuse_remove_signal_handlers: unknown session\n");$ ERROR: code indent should never use tabs #905: FILE: tools/virtiofsd/fuse_signals.c:84: +^Ielse$ ERROR: code indent should never use tabs #906: FILE: tools/virtiofsd/fuse_signals.c:85: +^I^Ifuse_instance = NULL;$ ERROR: code indent should never use tabs #908: FILE: tools/virtiofsd/fuse_signals.c:87: +^Iset_one_signal_handler(SIGHUP, exit_handler, 1);$ ERROR: code indent should never use tabs #909: FILE: tools/virtiofsd/fuse_signals.c:88: +^Iset_one_signal_handler(SIGINT, exit_handler, 1);$ ERROR: code indent should never use tabs #910: FILE: tools/virtiofsd/fuse_signals.c:89: +^Iset_one_signal_handler(SIGTERM, exit_handler, 1);$ ERROR: code indent should never use tabs #911: FILE: tools/virtiofsd/fuse_signals.c:90: +^Iset_one_signal_handler(SIGPIPE, do_nothing, 1);$ WARNING: Block comments use * on subsequent lines #920: FILE: tools/virtiofsd/helper.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #948: FILE: tools/virtiofsd/helper.c:30: +^I{ t, offsetof(struct fuse_cmdline_opts, p), 1 }$ ERROR: code indent should never use tabs #951: FILE: tools/virtiofsd/helper.c:33: +^IFUSE_HELPER_OPT("-h",^I^Ishow_help),$ ERROR: code indent should never use tabs #952: FILE: tools/virtiofsd/helper.c:34: +^IFUSE_HELPER_OPT("--help",^Ishow_help),$ ERROR: code indent should never use tabs #953: FILE: tools/virtiofsd/helper.c:35: +^IFUSE_HELPER_OPT("-V",^I^Ishow_version),$ ERROR: code indent should never use tabs #954: FILE: tools/virtiofsd/helper.c:36: +^IFUSE_HELPER_OPT("--version",^Ishow_version),$ ERROR: code indent should never use tabs #955: FILE: tools/virtiofsd/helper.c:37: +^IFUSE_HELPER_OPT("-d",^I^Idebug),$ ERROR: code indent should never use tabs #956: FILE: tools/virtiofsd/helper.c:38: +^IFUSE_HELPER_OPT("debug",^Idebug),$ ERROR: code indent should never use tabs #957: FILE: tools/virtiofsd/helper.c:39: +^IFUSE_HELPER_OPT("-d",^I^Iforeground),$ ERROR: code indent should never use tabs #958: FILE: tools/virtiofsd/helper.c:40: +^IFUSE_HELPER_OPT("debug",^Iforeground),$ ERROR: code indent should never use tabs #959: FILE: tools/virtiofsd/helper.c:41: +^IFUSE_OPT_KEY("-d",^I^IFUSE_OPT_KEY_KEEP),$ ERROR: code indent should never use tabs #960: FILE: tools/virtiofsd/helper.c:42: +^IFUSE_OPT_KEY("debug",^I^IFUSE_OPT_KEY_KEEP),$ ERROR: code indent should never use tabs #961: FILE: tools/virtiofsd/helper.c:43: +^IFUSE_HELPER_OPT("-f",^I^Iforeground),$ ERROR: code indent should never use tabs #962: FILE: tools/virtiofsd/helper.c:44: +^IFUSE_HELPER_OPT("-s",^I^Isinglethread),$ ERROR: code indent should never use tabs #963: FILE: tools/virtiofsd/helper.c:45: +^IFUSE_HELPER_OPT("fsname=",^Inodefault_subtype),$ ERROR: code indent should never use tabs #964: FILE: tools/virtiofsd/helper.c:46: +^IFUSE_OPT_KEY("fsname=",^I^IFUSE_OPT_KEY_KEEP),$ WARNING: architecture specific defines should be avoided #965: FILE: tools/virtiofsd/helper.c:47: +#ifndef __FreeBSD__ ERROR: code indent should never use tabs #966: FILE: tools/virtiofsd/helper.c:48: +^IFUSE_HELPER_OPT("subtype=",^Inodefault_subtype),$ ERROR: code indent should never use tabs #967: FILE: tools/virtiofsd/helper.c:49: +^IFUSE_OPT_KEY("subtype=",^IFUSE_OPT_KEY_KEEP),$ ERROR: code indent should never use tabs #969: FILE: tools/virtiofsd/helper.c:51: +^IFUSE_HELPER_OPT("clone_fd",^Iclone_fd),$ ERROR: code indent should never use tabs #970: FILE: tools/virtiofsd/helper.c:52: +^IFUSE_HELPER_OPT("max_idle_threads=%u", max_idle_threads),$ ERROR: code indent should never use tabs #971: FILE: tools/virtiofsd/helper.c:53: +^IFUSE_OPT_END$ ERROR: code indent should never use tabs #975: FILE: tools/virtiofsd/helper.c:57: +^Iint atomic_o_trunc;$ ERROR: code indent should never use tabs #976: FILE: tools/virtiofsd/helper.c:58: +^Iint no_remote_posix_lock;$ ERROR: code indent should never use tabs #977: FILE: tools/virtiofsd/helper.c:59: +^Iint no_remote_flock;$ ERROR: code indent should never use tabs #978: FILE: tools/virtiofsd/helper.c:60: +^Iint splice_write;$ ERROR: code indent should never use tabs #979: FILE: tools/virtiofsd/helper.c:61: +^Iint splice_move;$ ERROR: code indent should never use tabs #980: FILE: tools/virtiofsd/helper.c:62: +^Iint splice_read;$ ERROR: code indent should never use tabs #981: FILE: tools/virtiofsd/helper.c:63: +^Iint no_splice_write;$ ERROR: code indent should never use tabs #982: FILE: tools/virtiofsd/helper.c:64: +^Iint no_splice_move;$ ERROR: code indent should never use tabs #983: FILE: tools/virtiofsd/helper.c:65: +^Iint no_splice_read;$ ERROR: code indent should never use tabs #984: FILE: tools/virtiofsd/helper.c:66: +^Iint auto_inval_data;$ ERROR: code indent should never use tabs #985: FILE: tools/virtiofsd/helper.c:67: +^Iint no_auto_inval_data;$ ERROR: code indent should never use tabs #986: FILE: tools/virtiofsd/helper.c:68: +^Iint no_readdirplus;$ ERROR: code indent should never use tabs #987: FILE: tools/virtiofsd/helper.c:69: +^Iint no_readdirplus_auto;$ ERROR: code indent should never use tabs #988: FILE: tools/virtiofsd/helper.c:70: +^Iint async_dio;$ ERROR: code indent should never use tabs #989: FILE: tools/virtiofsd/helper.c:71: +^Iint no_async_dio;$ ERROR: code indent should never use tabs #990: FILE: tools/virtiofsd/helper.c:72: +^Iint writeback_cache;$ ERROR: code indent should never use tabs #991: FILE: tools/virtiofsd/helper.c:73: +^Iint no_writeback_cache;$ ERROR: code indent should never use tabs #992: FILE: tools/virtiofsd/helper.c:74: +^Iint async_read;$ ERROR: code indent should never use tabs #993: FILE: tools/virtiofsd/helper.c:75: +^Iint sync_read;$ ERROR: code indent should never use tabs #994: FILE: tools/virtiofsd/helper.c:76: +^Iunsigned max_write;$ ERROR: code indent should never use tabs #995: FILE: tools/virtiofsd/helper.c:77: +^Iunsigned max_readahead;$ ERROR: code indent should never use tabs #996: FILE: tools/virtiofsd/helper.c:78: +^Iunsigned max_background;$ ERROR: code indent should never use tabs #997: FILE: tools/virtiofsd/helper.c:79: +^Iunsigned congestion_threshold;$ ERROR: code indent should never use tabs #998: FILE: tools/virtiofsd/helper.c:80: +^Iunsigned time_gran;$ ERROR: code indent should never use tabs #999: FILE: tools/virtiofsd/helper.c:81: +^Iint set_max_write;$ ERROR: code indent should never use tabs #1000: FILE: tools/virtiofsd/helper.c:82: +^Iint set_max_readahead;$ ERROR: code indent should never use tabs #1001: FILE: tools/virtiofsd/helper.c:83: +^Iint set_max_background;$ ERROR: code indent should never use tabs #1002: FILE: tools/virtiofsd/helper.c:84: +^Iint set_congestion_threshold;$ ERROR: code indent should never use tabs #1003: FILE: tools/virtiofsd/helper.c:85: +^Iint set_time_gran;$ ERROR: code indent should never use tabs #1006: FILE: tools/virtiofsd/helper.c:88: +#define CONN_OPTION(t, p, v)^I^I^I^I^I\$ ERROR: code indent should never use tabs #1007: FILE: tools/virtiofsd/helper.c:89: +^I{ t, offsetof(struct fuse_conn_info_opts, p), v }$ ERROR: code indent should never use tabs #1009: FILE: tools/virtiofsd/helper.c:91: +^ICONN_OPTION("max_write=%u", max_write, 0),$ ERROR: code indent should never use tabs #1010: FILE: tools/virtiofsd/helper.c:92: +^ICONN_OPTION("max_write=", set_max_write, 1),$ ERROR: code indent should never use tabs #1011: FILE: tools/virtiofsd/helper.c:93: +^ICONN_OPTION("max_readahead=%u", max_readahead, 0),$ ERROR: code indent should never use tabs #1012: FILE: tools/virtiofsd/helper.c:94: +^ICONN_OPTION("max_readahead=", set_max_readahead, 1),$ ERROR: code indent should never use tabs #1013: FILE: tools/virtiofsd/helper.c:95: +^ICONN_OPTION("max_background=%u", max_background, 0),$ ERROR: code indent should never use tabs #1014: FILE: tools/virtiofsd/helper.c:96: +^ICONN_OPTION("max_background=", set_max_background, 1),$ ERROR: code indent should never use tabs #1015: FILE: tools/virtiofsd/helper.c:97: +^ICONN_OPTION("congestion_threshold=%u", congestion_threshold, 0),$ ERROR: code indent should never use tabs #1016: FILE: tools/virtiofsd/helper.c:98: +^ICONN_OPTION("congestion_threshold=", set_congestion_threshold, 1),$ ERROR: code indent should never use tabs #1017: FILE: tools/virtiofsd/helper.c:99: +^ICONN_OPTION("sync_read", sync_read, 1),$ ERROR: code indent should never use tabs #1018: FILE: tools/virtiofsd/helper.c:100: +^ICONN_OPTION("async_read", async_read, 1),$ ERROR: code indent should never use tabs #1019: FILE: tools/virtiofsd/helper.c:101: +^ICONN_OPTION("atomic_o_trunc", atomic_o_trunc, 1),$ ERROR: code indent should never use tabs #1020: FILE: tools/virtiofsd/helper.c:102: +^ICONN_OPTION("no_remote_lock", no_remote_posix_lock, 1),$ ERROR: code indent should never use tabs #1021: FILE: tools/virtiofsd/helper.c:103: +^ICONN_OPTION("no_remote_lock", no_remote_flock, 1),$ ERROR: code indent should never use tabs #1022: FILE: tools/virtiofsd/helper.c:104: +^ICONN_OPTION("no_remote_flock", no_remote_flock, 1),$ ERROR: code indent should never use tabs #1023: FILE: tools/virtiofsd/helper.c:105: +^ICONN_OPTION("no_remote_posix_lock", no_remote_posix_lock, 1),$ ERROR: code indent should never use tabs #1024: FILE: tools/virtiofsd/helper.c:106: +^ICONN_OPTION("splice_write", splice_write, 1),$ ERROR: code indent should never use tabs #1025: FILE: tools/virtiofsd/helper.c:107: +^ICONN_OPTION("no_splice_write", no_splice_write, 1),$ ERROR: code indent should never use tabs #1026: FILE: tools/virtiofsd/helper.c:108: +^ICONN_OPTION("splice_move", splice_move, 1),$ ERROR: code indent should never use tabs #1027: FILE: tools/virtiofsd/helper.c:109: +^ICONN_OPTION("no_splice_move", no_splice_move, 1),$ ERROR: code indent should never use tabs #1028: FILE: tools/virtiofsd/helper.c:110: +^ICONN_OPTION("splice_read", splice_read, 1),$ ERROR: code indent should never use tabs #1029: FILE: tools/virtiofsd/helper.c:111: +^ICONN_OPTION("no_splice_read", no_splice_read, 1),$ ERROR: code indent should never use tabs #1030: FILE: tools/virtiofsd/helper.c:112: +^ICONN_OPTION("auto_inval_data", auto_inval_data, 1),$ ERROR: code indent should never use tabs #1031: FILE: tools/virtiofsd/helper.c:113: +^ICONN_OPTION("no_auto_inval_data", no_auto_inval_data, 1),$ ERROR: code indent should never use tabs #1032: FILE: tools/virtiofsd/helper.c:114: +^ICONN_OPTION("readdirplus=no", no_readdirplus, 1),$ ERROR: code indent should never use tabs #1033: FILE: tools/virtiofsd/helper.c:115: +^ICONN_OPTION("readdirplus=yes", no_readdirplus, 0),$ ERROR: code indent should never use tabs #1034: FILE: tools/virtiofsd/helper.c:116: +^ICONN_OPTION("readdirplus=yes", no_readdirplus_auto, 1),$ ERROR: code indent should never use tabs #1035: FILE: tools/virtiofsd/helper.c:117: +^ICONN_OPTION("readdirplus=auto", no_readdirplus, 0),$ ERROR: code indent should never use tabs #1036: FILE: tools/virtiofsd/helper.c:118: +^ICONN_OPTION("readdirplus=auto", no_readdirplus_auto, 0),$ ERROR: code indent should never use tabs #1037: FILE: tools/virtiofsd/helper.c:119: +^ICONN_OPTION("async_dio", async_dio, 1),$ ERROR: code indent should never use tabs #1038: FILE: tools/virtiofsd/helper.c:120: +^ICONN_OPTION("no_async_dio", no_async_dio, 1),$ ERROR: code indent should never use tabs #1039: FILE: tools/virtiofsd/helper.c:121: +^ICONN_OPTION("writeback_cache", writeback_cache, 1),$ ERROR: code indent should never use tabs #1040: FILE: tools/virtiofsd/helper.c:122: +^ICONN_OPTION("no_writeback_cache", no_writeback_cache, 1),$ ERROR: code indent should never use tabs #1041: FILE: tools/virtiofsd/helper.c:123: +^ICONN_OPTION("time_gran=%u", time_gran, 0),$ ERROR: code indent should never use tabs #1042: FILE: tools/virtiofsd/helper.c:124: +^ICONN_OPTION("time_gran=", set_time_gran, 1),$ ERROR: code indent should never use tabs #1043: FILE: tools/virtiofsd/helper.c:125: +^IFUSE_OPT_END$ ERROR: code indent should never use tabs #1049: FILE: tools/virtiofsd/helper.c:131: +^Iprintf(" -h --help print help\n"$ ERROR: code indent should never use tabs #1050: FILE: tools/virtiofsd/helper.c:132: +^I " -V --version print version\n"$ ERROR: code indent should never use tabs #1051: FILE: tools/virtiofsd/helper.c:133: +^I " -d -o debug enable debug output (implies -f)\n"$ ERROR: code indent should never use tabs #1052: FILE: tools/virtiofsd/helper.c:134: +^I " -f foreground operation\n"$ ERROR: code indent should never use tabs #1053: FILE: tools/virtiofsd/helper.c:135: +^I " -s disable multi-threaded operation\n"$ ERROR: code indent should never use tabs #1054: FILE: tools/virtiofsd/helper.c:136: +^I " -o clone_fd use separate fuse device fd for each thread\n"$ ERROR: code indent should never use tabs #1055: FILE: tools/virtiofsd/helper.c:137: +^I " (may improve performance)\n"$ ERROR: code indent should never use tabs #1056: FILE: tools/virtiofsd/helper.c:138: +^I " -o max_idle_threads the maximum number of idle worker threads\n"$ ERROR: code indent should never use tabs #1057: FILE: tools/virtiofsd/helper.c:139: +^I " allowed (default: 10)\n");$ ERROR: code indent should never use tabs #1061: FILE: tools/virtiofsd/helper.c:143: +^I^I^I^Istruct fuse_args *outargs)$ ERROR: code indent should never use tabs #1063: FILE: tools/virtiofsd/helper.c:145: +^I(void) outargs;$ ERROR: code indent should never use tabs #1064: FILE: tools/virtiofsd/helper.c:146: +^Istruct fuse_cmdline_opts *opts = data;$ ERROR: code indent should never use tabs #1066: FILE: tools/virtiofsd/helper.c:148: +^Iswitch (key) {$ ERROR: code indent should never use tabs #1067: FILE: tools/virtiofsd/helper.c:149: +^Icase FUSE_OPT_KEY_NONOPT:$ ERROR: code indent should never use tabs #1068: FILE: tools/virtiofsd/helper.c:150: +^I^Iif (!opts->mountpoint) {$ ERROR: code indent should never use tabs #1069: FILE: tools/virtiofsd/helper.c:151: +^I^I^Iif (fuse_mnt_parse_fuse_fd(arg) != -1) {$ ERROR: code indent should never use tabs #1070: FILE: tools/virtiofsd/helper.c:152: +^I^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, arg);$ ERROR: code indent should never use tabs #1071: FILE: tools/virtiofsd/helper.c:153: +^I^I^I}$ ERROR: code indent should never use tabs #1073: FILE: tools/virtiofsd/helper.c:155: +^I^I^Ichar mountpoint[PATH_MAX] = "";$ ERROR: code indent should never use tabs #1074: FILE: tools/virtiofsd/helper.c:156: +^I^I^Iif (realpath(arg, mountpoint) == NULL) {$ ERROR: code indent should never use tabs #1075: FILE: tools/virtiofsd/helper.c:157: +^I^I^I^Ifuse_log(FUSE_LOG_ERR,$ ERROR: code indent should never use tabs #1076: FILE: tools/virtiofsd/helper.c:158: +^I^I^I^I^I"fuse: bad mount point `%s': %s\n",$ ERROR: code indent should never use tabs #1077: FILE: tools/virtiofsd/helper.c:159: +^I^I^I^I^Iarg, strerror(errno));$ ERROR: code indent should never use tabs #1078: FILE: tools/virtiofsd/helper.c:160: +^I^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1079: FILE: tools/virtiofsd/helper.c:161: +^I^I^I}$ ERROR: code indent should never use tabs #1080: FILE: tools/virtiofsd/helper.c:162: +^I^I^Ireturn fuse_opt_add_opt(&opts->mountpoint, mountpoint);$ ERROR: code indent should never use tabs #1081: FILE: tools/virtiofsd/helper.c:163: +^I^I} else {$ WARNING: line over 80 characters #1082: FILE: tools/virtiofsd/helper.c:164: + fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg); ERROR: code indent should never use tabs #1082: FILE: tools/virtiofsd/helper.c:164: +^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);$ ERROR: code indent should never use tabs #1083: FILE: tools/virtiofsd/helper.c:165: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1084: FILE: tools/virtiofsd/helper.c:166: +^I^I}$ ERROR: code indent should never use tabs #1086: FILE: tools/virtiofsd/helper.c:168: +^Idefault:$ ERROR: code indent should never use tabs #1087: FILE: tools/virtiofsd/helper.c:169: +^I^I/* Pass through unknown options */$ ERROR: code indent should never use tabs #1088: FILE: tools/virtiofsd/helper.c:170: +^I^Ireturn 1;$ ERROR: code indent should never use tabs #1089: FILE: tools/virtiofsd/helper.c:171: +^I}$ WARNING: Block comments use a leading /* on a separate line #1092: FILE: tools/virtiofsd/helper.c:174: +/* Under FreeBSD, there is no subtype option so this WARNING: Block comments use * on subsequent lines #1093: FILE: tools/virtiofsd/helper.c:175: +/* Under FreeBSD, there is no subtype option so this + function actually sets the fsname */ WARNING: Block comments use a trailing */ on a separate line #1093: FILE: tools/virtiofsd/helper.c:175: + function actually sets the fsname */ ERROR: code indent should never use tabs #1096: FILE: tools/virtiofsd/helper.c:178: +^Iint res;$ ERROR: code indent should never use tabs #1097: FILE: tools/virtiofsd/helper.c:179: +^Ichar *subtype_opt;$ ERROR: code indent should never use tabs #1099: FILE: tools/virtiofsd/helper.c:181: +^Iconst char *basename = strrchr(progname, '/');$ ERROR: code indent should never use tabs #1100: FILE: tools/virtiofsd/helper.c:182: +^Iif (basename == NULL)$ ERROR: braces {} are necessary for all arms of this statement #1100: FILE: tools/virtiofsd/helper.c:182: + if (basename == NULL) [...] + else if (basename[1] != '\0') [...] ERROR: code indent should never use tabs #1101: FILE: tools/virtiofsd/helper.c:183: +^I^Ibasename = progname;$ ERROR: code indent should never use tabs #1102: FILE: tools/virtiofsd/helper.c:184: +^Ielse if (basename[1] != '\0')$ ERROR: braces {} are necessary for all arms of this statement #1102: FILE: tools/virtiofsd/helper.c:184: + else if (basename[1] != '\0') [...] ERROR: code indent should never use tabs #1103: FILE: tools/virtiofsd/helper.c:185: +^I^Ibasename++;$ ERROR: code indent should never use tabs #1105: FILE: tools/virtiofsd/helper.c:187: +^Isubtype_opt = (char *) malloc(strlen(basename) + 64);$ ERROR: code indent should never use tabs #1106: FILE: tools/virtiofsd/helper.c:188: +^Iif (subtype_opt == NULL) {$ ERROR: code indent should never use tabs #1107: FILE: tools/virtiofsd/helper.c:189: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");$ ERROR: code indent should never use tabs #1108: FILE: tools/virtiofsd/helper.c:190: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #1109: FILE: tools/virtiofsd/helper.c:191: +^I}$ WARNING: architecture specific defines should be avoided #1110: FILE: tools/virtiofsd/helper.c:192: +#ifdef __FreeBSD__ ERROR: code indent should never use tabs #1111: FILE: tools/virtiofsd/helper.c:193: +^Isprintf(subtype_opt, "-ofsname=%s", basename);$ ERROR: code indent should never use tabs #1113: FILE: tools/virtiofsd/helper.c:195: +^Isprintf(subtype_opt, "-osubtype=%s", basename);$ ERROR: code indent should never use tabs #1115: FILE: tools/virtiofsd/helper.c:197: +^Ires = fuse_opt_add_arg(args, subtype_opt);$ ERROR: code indent should never use tabs #1116: FILE: tools/virtiofsd/helper.c:198: +^Ifree(subtype_opt);$ ERROR: code indent should never use tabs #1117: FILE: tools/virtiofsd/helper.c:199: +^Ireturn res;$ ERROR: code indent should never use tabs #1121: FILE: tools/virtiofsd/helper.c:203: +^I^I struct fuse_cmdline_opts *opts)$ ERROR: code indent should never use tabs #1123: FILE: tools/virtiofsd/helper.c:205: +^Imemset(opts, 0, sizeof(struct fuse_cmdline_opts));$ ERROR: code indent should never use tabs #1125: FILE: tools/virtiofsd/helper.c:207: +^Iopts->max_idle_threads = 10;$ ERROR: code indent should never use tabs #1127: FILE: tools/virtiofsd/helper.c:209: +^Iif (fuse_opt_parse(args, opts, fuse_helper_opts,$ ERROR: code indent should never use tabs #1128: FILE: tools/virtiofsd/helper.c:210: +^I^I^I fuse_helper_opt_proc) == -1)$ ERROR: code indent should never use tabs #1129: FILE: tools/virtiofsd/helper.c:211: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #1131: FILE: tools/virtiofsd/helper.c:213: +^I/* *Linux*: if neither -o subtype nor -o fsname are specified,$ WARNING: Block comments use a leading /* on a separate line #1131: FILE: tools/virtiofsd/helper.c:213: + /* *Linux*: if neither -o subtype nor -o fsname are specified, ERROR: code indent should never use tabs #1132: FILE: tools/virtiofsd/helper.c:214: +^I set subtype to program's basename.$ WARNING: Block comments use * on subsequent lines #1132: FILE: tools/virtiofsd/helper.c:214: + /* *Linux*: if neither -o subtype nor -o fsname are specified, + set subtype to program's basename. ERROR: code indent should never use tabs #1133: FILE: tools/virtiofsd/helper.c:215: +^I *FreeBSD*: if fsname is not specified, set to program's$ ERROR: code indent should never use tabs #1134: FILE: tools/virtiofsd/helper.c:216: +^I basename. */$ WARNING: Block comments use a trailing */ on a separate line #1134: FILE: tools/virtiofsd/helper.c:216: + basename. */ ERROR: code indent should never use tabs #1135: FILE: tools/virtiofsd/helper.c:217: +^Iif (!opts->nodefault_subtype)$ ERROR: code indent should never use tabs #1136: FILE: tools/virtiofsd/helper.c:218: +^I^Iif (add_default_subtype(args->argv[0], args) == -1)$ ERROR: braces {} are necessary for all arms of this statement #1136: FILE: tools/virtiofsd/helper.c:218: + if (add_default_subtype(args->argv[0], args) == -1) [...] ERROR: code indent should never use tabs #1137: FILE: tools/virtiofsd/helper.c:219: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1139: FILE: tools/virtiofsd/helper.c:221: +^Ireturn 0;$ ERROR: code indent should never use tabs #1145: FILE: tools/virtiofsd/helper.c:227: +^Iif (!foreground) {$ ERROR: code indent should never use tabs #1146: FILE: tools/virtiofsd/helper.c:228: +^I^Iint nullfd;$ ERROR: code indent should never use tabs #1147: FILE: tools/virtiofsd/helper.c:229: +^I^Iint waiter[2];$ ERROR: code indent should never use tabs #1148: FILE: tools/virtiofsd/helper.c:230: +^I^Ichar completed;$ ERROR: code indent should never use tabs #1150: FILE: tools/virtiofsd/helper.c:232: +^I^Iif (pipe(waiter)) {$ ERROR: code indent should never use tabs #1151: FILE: tools/virtiofsd/helper.c:233: +^I^I^Iperror("fuse_daemonize: pipe");$ ERROR: code indent should never use tabs #1152: FILE: tools/virtiofsd/helper.c:234: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1153: FILE: tools/virtiofsd/helper.c:235: +^I^I}$ ERROR: code indent should never use tabs #1155: FILE: tools/virtiofsd/helper.c:237: +^I^I/*$ ERROR: code indent should never use tabs #1156: FILE: tools/virtiofsd/helper.c:238: +^I^I * demonize current process by forking it and killing the$ ERROR: code indent should never use tabs #1157: FILE: tools/virtiofsd/helper.c:239: +^I^I * parent. This makes current process as a child of 'init'.$ ERROR: code indent should never use tabs #1158: FILE: tools/virtiofsd/helper.c:240: +^I^I */$ ERROR: code indent should never use tabs #1159: FILE: tools/virtiofsd/helper.c:241: +^I^Iswitch(fork()) {$ ERROR: space required before the open parenthesis '(' #1159: FILE: tools/virtiofsd/helper.c:241: + switch(fork()) { ERROR: code indent should never use tabs #1160: FILE: tools/virtiofsd/helper.c:242: +^I^Icase -1:$ ERROR: code indent should never use tabs #1161: FILE: tools/virtiofsd/helper.c:243: +^I^I^Iperror("fuse_daemonize: fork");$ ERROR: code indent should never use tabs #1162: FILE: tools/virtiofsd/helper.c:244: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1163: FILE: tools/virtiofsd/helper.c:245: +^I^Icase 0:$ ERROR: code indent should never use tabs #1164: FILE: tools/virtiofsd/helper.c:246: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1165: FILE: tools/virtiofsd/helper.c:247: +^I^Idefault:$ ERROR: code indent should never use tabs #1166: FILE: tools/virtiofsd/helper.c:248: +^I^I^I(void) read(waiter[0], &completed, sizeof(completed));$ ERROR: code indent should never use tabs #1167: FILE: tools/virtiofsd/helper.c:249: +^I^I^I_exit(0);$ ERROR: code indent should never use tabs #1168: FILE: tools/virtiofsd/helper.c:250: +^I^I}$ ERROR: code indent should never use tabs #1170: FILE: tools/virtiofsd/helper.c:252: +^I^Iif (setsid() == -1) {$ ERROR: code indent should never use tabs #1171: FILE: tools/virtiofsd/helper.c:253: +^I^I^Iperror("fuse_daemonize: setsid");$ ERROR: code indent should never use tabs #1172: FILE: tools/virtiofsd/helper.c:254: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #1173: FILE: tools/virtiofsd/helper.c:255: +^I^I}$ ERROR: code indent should never use tabs #1175: FILE: tools/virtiofsd/helper.c:257: +^I^I(void) chdir("/");$ ERROR: code indent should never use tabs #1177: FILE: tools/virtiofsd/helper.c:259: +^I^Inullfd = open("/dev/null", O_RDWR, 0);$ ERROR: code indent should never use tabs #1178: FILE: tools/virtiofsd/helper.c:260: +^I^Iif (nullfd != -1) {$ ERROR: code indent should never use tabs #1179: FILE: tools/virtiofsd/helper.c:261: +^I^I^I(void) dup2(nullfd, 0);$ ERROR: code indent should never use tabs #1180: FILE: tools/virtiofsd/helper.c:262: +^I^I^I(void) dup2(nullfd, 1);$ ERROR: code indent should never use tabs #1181: FILE: tools/virtiofsd/helper.c:263: +^I^I^I(void) dup2(nullfd, 2);$ ERROR: code indent should never use tabs #1182: FILE: tools/virtiofsd/helper.c:264: +^I^I^Iif (nullfd > 2)$ ERROR: braces {} are necessary for all arms of this statement #1182: FILE: tools/virtiofsd/helper.c:264: + if (nullfd > 2) [...] ERROR: code indent should never use tabs #1183: FILE: tools/virtiofsd/helper.c:265: +^I^I^I^Iclose(nullfd);$ ERROR: code indent should never use tabs #1184: FILE: tools/virtiofsd/helper.c:266: +^I^I}$ ERROR: code indent should never use tabs #1186: FILE: tools/virtiofsd/helper.c:268: +^I^I/* Propagate completion of daemon initialization */$ ERROR: code indent should never use tabs #1187: FILE: tools/virtiofsd/helper.c:269: +^I^Icompleted = 1;$ ERROR: code indent should never use tabs #1188: FILE: tools/virtiofsd/helper.c:270: +^I^I(void) write(waiter[1], &completed, sizeof(completed));$ ERROR: code indent should never use tabs #1189: FILE: tools/virtiofsd/helper.c:271: +^I^Iclose(waiter[0]);$ ERROR: code indent should never use tabs #1190: FILE: tools/virtiofsd/helper.c:272: +^I^Iclose(waiter[1]);$ ERROR: code indent should never use tabs #1191: FILE: tools/virtiofsd/helper.c:273: +^I} else {$ ERROR: code indent should never use tabs #1192: FILE: tools/virtiofsd/helper.c:274: +^I^I(void) chdir("/");$ ERROR: code indent should never use tabs #1193: FILE: tools/virtiofsd/helper.c:275: +^I}$ ERROR: code indent should never use tabs #1194: FILE: tools/virtiofsd/helper.c:276: +^Ireturn 0;$ ERROR: code indent should never use tabs #1198: FILE: tools/virtiofsd/helper.c:280: +^I^I size_t op_size, void *user_data)$ ERROR: code indent should never use tabs #1200: FILE: tools/virtiofsd/helper.c:282: +^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$ ERROR: code indent should never use tabs #1201: FILE: tools/virtiofsd/helper.c:283: +^Istruct fuse *fuse;$ ERROR: code indent should never use tabs #1202: FILE: tools/virtiofsd/helper.c:284: +^Istruct fuse_cmdline_opts opts;$ ERROR: code indent should never use tabs #1203: FILE: tools/virtiofsd/helper.c:285: +^Iint res;$ ERROR: code indent should never use tabs #1205: FILE: tools/virtiofsd/helper.c:287: +^Iif (fuse_parse_cmdline(&args, &opts) != 0)$ ERROR: braces {} are necessary for all arms of this statement #1205: FILE: tools/virtiofsd/helper.c:287: + if (fuse_parse_cmdline(&args, &opts) != 0) [...] ERROR: code indent should never use tabs #1206: FILE: tools/virtiofsd/helper.c:288: +^I^Ireturn 1;$ ERROR: code indent should never use tabs #1208: FILE: tools/virtiofsd/helper.c:290: +^Iif (opts.show_version) {$ ERROR: code indent should never use tabs #1209: FILE: tools/virtiofsd/helper.c:291: +^I^Iprintf("FUSE library version %s\n", PACKAGE_VERSION);$ ERROR: code indent should never use tabs #1210: FILE: tools/virtiofsd/helper.c:292: +^I^Ifuse_lowlevel_version();$ ERROR: code indent should never use tabs #1211: FILE: tools/virtiofsd/helper.c:293: +^I^Ires = 0;$ ERROR: code indent should never use tabs #1212: FILE: tools/virtiofsd/helper.c:294: +^I^Igoto out1;$ ERROR: code indent should never use tabs #1213: FILE: tools/virtiofsd/helper.c:295: +^I}$ ERROR: code indent should never use tabs #1215: FILE: tools/virtiofsd/helper.c:297: +^Iif (opts.show_help) {$ ERROR: code indent should never use tabs #1216: FILE: tools/virtiofsd/helper.c:298: +^I^Iif(args.argv[0][0] != '\0')$ ERROR: space required before the open parenthesis '(' #1216: FILE: tools/virtiofsd/helper.c:298: + if(args.argv[0][0] != '\0') ERROR: code indent should never use tabs #1217: FILE: tools/virtiofsd/helper.c:299: +^I^I^Iprintf("usage: %s [options] <mountpoint>\n\n",$ ERROR: code indent should never use tabs #1218: FILE: tools/virtiofsd/helper.c:300: +^I^I^I args.argv[0]);$ ERROR: code indent should never use tabs #1219: FILE: tools/virtiofsd/helper.c:301: +^I^Iprintf("FUSE options:\n");$ ERROR: code indent should never use tabs #1220: FILE: tools/virtiofsd/helper.c:302: +^I^Ifuse_cmdline_help();$ ERROR: code indent should never use tabs #1221: FILE: tools/virtiofsd/helper.c:303: +^I^Ifuse_lib_help(&args);$ ERROR: code indent should never use tabs #1222: FILE: tools/virtiofsd/helper.c:304: +^I^Ires = 0;$ ERROR: code indent should never use tabs #1223: FILE: tools/virtiofsd/helper.c:305: +^I^Igoto out1;$ ERROR: code indent should never use tabs #1224: FILE: tools/virtiofsd/helper.c:306: +^I}$ ERROR: code indent should never use tabs #1226: FILE: tools/virtiofsd/helper.c:308: +^Iif (!opts.show_help &&$ ERROR: code indent should never use tabs #1227: FILE: tools/virtiofsd/helper.c:309: +^I !opts.mountpoint) {$ ERROR: code indent should never use tabs #1228: FILE: tools/virtiofsd/helper.c:310: +^I^Ifuse_log(FUSE_LOG_ERR, "error: no mountpoint specified\n");$ ERROR: code indent should never use tabs #1229: FILE: tools/virtiofsd/helper.c:311: +^I^Ires = 2;$ ERROR: code indent should never use tabs #1230: FILE: tools/virtiofsd/helper.c:312: +^I^Igoto out1;$ ERROR: code indent should never use tabs #1231: FILE: tools/virtiofsd/helper.c:313: +^I}$ ERROR: code indent should never use tabs #1234: FILE: tools/virtiofsd/helper.c:316: +^Ifuse = fuse_new_31(&args, op, op_size, user_data);$ ERROR: code indent should never use tabs #1235: FILE: tools/virtiofsd/helper.c:317: +^Iif (fuse == NULL) {$ ERROR: code indent should never use tabs #1236: FILE: tools/virtiofsd/helper.c:318: +^I^Ires = 3;$ ERROR: code indent should never use tabs #1237: FILE: tools/virtiofsd/helper.c:319: +^I^Igoto out1;$ ERROR: code indent should never use tabs #1238: FILE: tools/virtiofsd/helper.c:320: +^I}$ ERROR: code indent should never use tabs #1240: FILE: tools/virtiofsd/helper.c:322: +^Iif (fuse_mount(fuse,opts.mountpoint) != 0) {$ ERROR: space required after that ',' (ctx:VxV) #1240: FILE: tools/virtiofsd/helper.c:322: + if (fuse_mount(fuse,opts.mountpoint) != 0) { ^ ERROR: code indent should never use tabs #1241: FILE: tools/virtiofsd/helper.c:323: +^I^Ires = 4;$ ERROR: code indent should never use tabs #1242: FILE: tools/virtiofsd/helper.c:324: +^I^Igoto out2;$ ERROR: code indent should never use tabs #1243: FILE: tools/virtiofsd/helper.c:325: +^I}$ ERROR: code indent should never use tabs #1245: FILE: tools/virtiofsd/helper.c:327: +^Iif (fuse_daemonize(opts.foreground) != 0) {$ ERROR: code indent should never use tabs #1246: FILE: tools/virtiofsd/helper.c:328: +^I^Ires = 5;$ ERROR: code indent should never use tabs #1247: FILE: tools/virtiofsd/helper.c:329: +^I^Igoto out3;$ ERROR: code indent should never use tabs #1248: FILE: tools/virtiofsd/helper.c:330: +^I}$ ERROR: code indent should never use tabs #1250: FILE: tools/virtiofsd/helper.c:332: +^Istruct fuse_session *se = fuse_get_session(fuse);$ ERROR: code indent should never use tabs #1251: FILE: tools/virtiofsd/helper.c:333: +^Iif (fuse_set_signal_handlers(se) != 0) {$ ERROR: code indent should never use tabs #1252: FILE: tools/virtiofsd/helper.c:334: +^I^Ires = 6;$ ERROR: code indent should never use tabs #1253: FILE: tools/virtiofsd/helper.c:335: +^I^Igoto out3;$ ERROR: code indent should never use tabs #1254: FILE: tools/virtiofsd/helper.c:336: +^I}$ ERROR: code indent should never use tabs #1256: FILE: tools/virtiofsd/helper.c:338: +^Iif (opts.singlethread)$ ERROR: code indent should never use tabs #1257: FILE: tools/virtiofsd/helper.c:339: +^I^Ires = fuse_loop(fuse);$ ERROR: code indent should never use tabs #1258: FILE: tools/virtiofsd/helper.c:340: +^Ielse {$ ERROR: code indent should never use tabs #1259: FILE: tools/virtiofsd/helper.c:341: +^I^Istruct fuse_loop_config loop_config;$ ERROR: code indent should never use tabs #1260: FILE: tools/virtiofsd/helper.c:342: +^I^Iloop_config.clone_fd = opts.clone_fd;$ ERROR: code indent should never use tabs #1261: FILE: tools/virtiofsd/helper.c:343: +^I^Iloop_config.max_idle_threads = opts.max_idle_threads;$ ERROR: code indent should never use tabs #1262: FILE: tools/virtiofsd/helper.c:344: +^I^Ires = fuse_loop_mt_32(fuse, &loop_config);$ ERROR: code indent should never use tabs #1263: FILE: tools/virtiofsd/helper.c:345: +^I}$ ERROR: code indent should never use tabs #1264: FILE: tools/virtiofsd/helper.c:346: +^Iif (res)$ ERROR: braces {} are necessary for all arms of this statement #1264: FILE: tools/virtiofsd/helper.c:346: + if (res) [...] ERROR: code indent should never use tabs #1265: FILE: tools/virtiofsd/helper.c:347: +^I^Ires = 7;$ ERROR: code indent should never use tabs #1267: FILE: tools/virtiofsd/helper.c:349: +^Ifuse_remove_signal_handlers(se);$ ERROR: code indent should never use tabs #1269: FILE: tools/virtiofsd/helper.c:351: +^Ifuse_unmount(fuse);$ ERROR: code indent should never use tabs #1271: FILE: tools/virtiofsd/helper.c:353: +^Ifuse_destroy(fuse);$ ERROR: code indent should never use tabs #1273: FILE: tools/virtiofsd/helper.c:355: +^Ifree(opts.mountpoint);$ ERROR: code indent should never use tabs #1274: FILE: tools/virtiofsd/helper.c:356: +^Ifuse_opt_free_args(&args);$ ERROR: code indent should never use tabs #1275: FILE: tools/virtiofsd/helper.c:357: +^Ireturn res;$ ERROR: code indent should never use tabs #1280: FILE: tools/virtiofsd/helper.c:362: +^I^I^I struct fuse_conn_info *conn)$ ERROR: code indent should never use tabs #1282: FILE: tools/virtiofsd/helper.c:364: +^Iif(opts->set_max_write)$ ERROR: space required before the open parenthesis '(' #1282: FILE: tools/virtiofsd/helper.c:364: + if(opts->set_max_write) ERROR: braces {} are necessary for all arms of this statement #1282: FILE: tools/virtiofsd/helper.c:364: + if(opts->set_max_write) [...] ERROR: code indent should never use tabs #1283: FILE: tools/virtiofsd/helper.c:365: +^I^Iconn->max_write = opts->max_write;$ ERROR: code indent should never use tabs #1284: FILE: tools/virtiofsd/helper.c:366: +^Iif(opts->set_max_background)$ ERROR: space required before the open parenthesis '(' #1284: FILE: tools/virtiofsd/helper.c:366: + if(opts->set_max_background) ERROR: braces {} are necessary for all arms of this statement #1284: FILE: tools/virtiofsd/helper.c:366: + if(opts->set_max_background) [...] ERROR: code indent should never use tabs #1285: FILE: tools/virtiofsd/helper.c:367: +^I^Iconn->max_background = opts->max_background;$ ERROR: code indent should never use tabs #1286: FILE: tools/virtiofsd/helper.c:368: +^Iif(opts->set_congestion_threshold)$ ERROR: space required before the open parenthesis '(' #1286: FILE: tools/virtiofsd/helper.c:368: + if(opts->set_congestion_threshold) ERROR: braces {} are necessary for all arms of this statement #1286: FILE: tools/virtiofsd/helper.c:368: + if(opts->set_congestion_threshold) [...] ERROR: code indent should never use tabs #1287: FILE: tools/virtiofsd/helper.c:369: +^I^Iconn->congestion_threshold = opts->congestion_threshold;$ ERROR: code indent should never use tabs #1288: FILE: tools/virtiofsd/helper.c:370: +^Iif(opts->set_time_gran)$ ERROR: space required before the open parenthesis '(' #1288: FILE: tools/virtiofsd/helper.c:370: + if(opts->set_time_gran) ERROR: braces {} are necessary for all arms of this statement #1288: FILE: tools/virtiofsd/helper.c:370: + if(opts->set_time_gran) [...] ERROR: code indent should never use tabs #1289: FILE: tools/virtiofsd/helper.c:371: +^I^Iconn->time_gran = opts->time_gran;$ ERROR: code indent should never use tabs #1290: FILE: tools/virtiofsd/helper.c:372: +^Iif(opts->set_max_readahead)$ ERROR: space required before the open parenthesis '(' #1290: FILE: tools/virtiofsd/helper.c:372: + if(opts->set_max_readahead) ERROR: braces {} are necessary for all arms of this statement #1290: FILE: tools/virtiofsd/helper.c:372: + if(opts->set_max_readahead) [...] ERROR: code indent should never use tabs #1291: FILE: tools/virtiofsd/helper.c:373: +^I^Iconn->max_readahead = opts->max_readahead;$ ERROR: space required after that ',' (ctx:VxV) #1293: FILE: tools/virtiofsd/helper.c:375: +#define LL_ENABLE(cond,cap) \ ^ ERROR: Macros with complex values should be enclosed in parenthesis #1293: FILE: tools/virtiofsd/helper.c:375: +#define LL_ENABLE(cond,cap) \ + if (cond) conn->want |= (cap) ERROR: code indent should never use tabs #1294: FILE: tools/virtiofsd/helper.c:376: +^Iif (cond) conn->want |= (cap)$ ERROR: trailing statements should be on next line #1294: FILE: tools/virtiofsd/helper.c:376: + if (cond) conn->want |= (cap) ERROR: space required after that ',' (ctx:VxV) #1295: FILE: tools/virtiofsd/helper.c:377: +#define LL_DISABLE(cond,cap) \ ^ ERROR: Macros with complex values should be enclosed in parenthesis #1295: FILE: tools/virtiofsd/helper.c:377: +#define LL_DISABLE(cond,cap) \ + if (cond) conn->want &= ~(cap) ERROR: code indent should never use tabs #1296: FILE: tools/virtiofsd/helper.c:378: +^Iif (cond) conn->want &= ~(cap)$ ERROR: trailing statements should be on next line #1296: FILE: tools/virtiofsd/helper.c:378: + if (cond) conn->want &= ~(cap) ERROR: code indent should never use tabs #1298: FILE: tools/virtiofsd/helper.c:380: +^ILL_ENABLE(opts->splice_read, FUSE_CAP_SPLICE_READ);$ ERROR: code indent should never use tabs #1299: FILE: tools/virtiofsd/helper.c:381: +^ILL_DISABLE(opts->no_splice_read, FUSE_CAP_SPLICE_READ);$ ERROR: code indent should never use tabs #1301: FILE: tools/virtiofsd/helper.c:383: +^ILL_ENABLE(opts->splice_write, FUSE_CAP_SPLICE_WRITE);$ ERROR: code indent should never use tabs #1302: FILE: tools/virtiofsd/helper.c:384: +^ILL_DISABLE(opts->no_splice_write, FUSE_CAP_SPLICE_WRITE);$ ERROR: code indent should never use tabs #1304: FILE: tools/virtiofsd/helper.c:386: +^ILL_ENABLE(opts->splice_move, FUSE_CAP_SPLICE_MOVE);$ ERROR: code indent should never use tabs #1305: FILE: tools/virtiofsd/helper.c:387: +^ILL_DISABLE(opts->no_splice_move, FUSE_CAP_SPLICE_MOVE);$ ERROR: code indent should never use tabs #1307: FILE: tools/virtiofsd/helper.c:389: +^ILL_ENABLE(opts->auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$ ERROR: code indent should never use tabs #1308: FILE: tools/virtiofsd/helper.c:390: +^ILL_DISABLE(opts->no_auto_inval_data, FUSE_CAP_AUTO_INVAL_DATA);$ ERROR: code indent should never use tabs #1310: FILE: tools/virtiofsd/helper.c:392: +^ILL_DISABLE(opts->no_readdirplus, FUSE_CAP_READDIRPLUS);$ ERROR: code indent should never use tabs #1311: FILE: tools/virtiofsd/helper.c:393: +^ILL_DISABLE(opts->no_readdirplus_auto, FUSE_CAP_READDIRPLUS_AUTO);$ ERROR: code indent should never use tabs #1313: FILE: tools/virtiofsd/helper.c:395: +^ILL_ENABLE(opts->async_dio, FUSE_CAP_ASYNC_DIO);$ ERROR: code indent should never use tabs #1314: FILE: tools/virtiofsd/helper.c:396: +^ILL_DISABLE(opts->no_async_dio, FUSE_CAP_ASYNC_DIO);$ ERROR: code indent should never use tabs #1316: FILE: tools/virtiofsd/helper.c:398: +^ILL_ENABLE(opts->writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$ ERROR: code indent should never use tabs #1317: FILE: tools/virtiofsd/helper.c:399: +^ILL_DISABLE(opts->no_writeback_cache, FUSE_CAP_WRITEBACK_CACHE);$ ERROR: code indent should never use tabs #1319: FILE: tools/virtiofsd/helper.c:401: +^ILL_ENABLE(opts->async_read, FUSE_CAP_ASYNC_READ);$ ERROR: code indent should never use tabs #1320: FILE: tools/virtiofsd/helper.c:402: +^ILL_DISABLE(opts->sync_read, FUSE_CAP_ASYNC_READ);$ ERROR: code indent should never use tabs #1322: FILE: tools/virtiofsd/helper.c:404: +^ILL_DISABLE(opts->no_remote_posix_lock, FUSE_CAP_POSIX_LOCKS);$ ERROR: code indent should never use tabs #1323: FILE: tools/virtiofsd/helper.c:405: +^ILL_DISABLE(opts->no_remote_flock, FUSE_CAP_FLOCK_LOCKS);$ ERROR: "foo* bar" should be "foo *bar" #1326: FILE: tools/virtiofsd/helper.c:408: +struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args) ERROR: code indent should never use tabs #1328: FILE: tools/virtiofsd/helper.c:410: +^Istruct fuse_conn_info_opts *opts;$ ERROR: code indent should never use tabs #1330: FILE: tools/virtiofsd/helper.c:412: +^Iopts = calloc(1, sizeof(struct fuse_conn_info_opts));$ ERROR: code indent should never use tabs #1331: FILE: tools/virtiofsd/helper.c:413: +^Iif(opts == NULL) {$ ERROR: space required before the open parenthesis '(' #1331: FILE: tools/virtiofsd/helper.c:413: + if(opts == NULL) { ERROR: code indent should never use tabs #1332: FILE: tools/virtiofsd/helper.c:414: +^I^Ifuse_log(FUSE_LOG_ERR, "calloc failed\n");$ ERROR: code indent should never use tabs #1333: FILE: tools/virtiofsd/helper.c:415: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #1334: FILE: tools/virtiofsd/helper.c:416: +^I}$ ERROR: code indent should never use tabs #1335: FILE: tools/virtiofsd/helper.c:417: +^Iif(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {$ ERROR: space required before the open parenthesis '(' #1335: FILE: tools/virtiofsd/helper.c:417: + if(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) { ERROR: code indent should never use tabs #1336: FILE: tools/virtiofsd/helper.c:418: +^I^Ifree(opts);$ ERROR: code indent should never use tabs #1337: FILE: tools/virtiofsd/helper.c:419: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #1338: FILE: tools/virtiofsd/helper.c:420: +^I}$ ERROR: code indent should never use tabs #1339: FILE: tools/virtiofsd/helper.c:421: +^Ireturn opts;$ ERROR: code indent should never use tabs #1344: FILE: tools/virtiofsd/helper.c:426: +^Istruct mount_opts *opts = NULL;$ ERROR: code indent should never use tabs #1345: FILE: tools/virtiofsd/helper.c:427: +^Iint fd = -1;$ ERROR: code indent should never use tabs #1346: FILE: tools/virtiofsd/helper.c:428: +^Iconst char *argv[] = { "", "-o", options };$ ERROR: code indent should never use tabs #1347: FILE: tools/virtiofsd/helper.c:429: +^Iint argc = sizeof(argv) / sizeof(argv[0]);$ ERROR: code indent should never use tabs #1348: FILE: tools/virtiofsd/helper.c:430: +^Istruct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv);$ ERROR: "(foo**)" should be "(foo **)" #1348: FILE: tools/virtiofsd/helper.c:430: + struct fuse_args args = FUSE_ARGS_INIT(argc, (char**) argv); ERROR: code indent should never use tabs #1350: FILE: tools/virtiofsd/helper.c:432: +^Iopts = parse_mount_opts(&args);$ ERROR: code indent should never use tabs #1351: FILE: tools/virtiofsd/helper.c:433: +^Iif (opts == NULL)$ ERROR: braces {} are necessary for all arms of this statement #1351: FILE: tools/virtiofsd/helper.c:433: + if (opts == NULL) [...] ERROR: code indent should never use tabs #1352: FILE: tools/virtiofsd/helper.c:434: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #1354: FILE: tools/virtiofsd/helper.c:436: +^Ifd = fuse_kern_mount(mountpoint, opts);$ ERROR: code indent should never use tabs #1355: FILE: tools/virtiofsd/helper.c:437: +^Idestroy_mount_opts(opts);$ ERROR: code indent should never use tabs #1357: FILE: tools/virtiofsd/helper.c:439: +^Ireturn fd;$ total: 943 errors, 21 warnings, 1315 lines checked Patch 3/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 4/108 Checking commit dcd7ad1f8b54 (virtiofsd: Add fuse_lowlevel.c) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #18: new file mode 100644 WARNING: Block comments use * on subsequent lines #24: FILE: tools/virtiofsd/fuse_lowlevel.c:2: +/* + FUSE: Filesystem in Userspace ERROR: code indent should never use tabs #57: FILE: tools/virtiofsd/fuse_lowlevel.c:35: +#define F_SETPIPE_SZ^I(F_LINUX_SPECIFIC_BASE + 7)$ ERROR: code indent should never use tabs #64: FILE: tools/virtiofsd/fuse_lowlevel.c:42: +#define container_of(ptr, type, member) ({^I^I^I^I\$ ERROR: code indent should never use tabs #65: FILE: tools/virtiofsd/fuse_lowlevel.c:43: +^I^I^Iconst typeof( ((type *)0)->member ) *__mptr = (ptr); \$ ERROR: spaces required around that '*' (ctx:WxV) #65: FILE: tools/virtiofsd/fuse_lowlevel.c:43: + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ^ ERROR: space prohibited after that open parenthesis '(' #65: FILE: tools/virtiofsd/fuse_lowlevel.c:43: + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ERROR: space prohibited before that close parenthesis ')' #65: FILE: tools/virtiofsd/fuse_lowlevel.c:43: + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ERROR: code indent should never use tabs #66: FILE: tools/virtiofsd/fuse_lowlevel.c:44: +^I^I^I(type *)( (char *)__mptr - offsetof(type,member) );})$ ERROR: space required after that ',' (ctx:VxV) #66: FILE: tools/virtiofsd/fuse_lowlevel.c:44: + (type *)( (char *)__mptr - offsetof(type,member) );}) ^ ERROR: space required after that ';' (ctx:VxV) #66: FILE: tools/virtiofsd/fuse_lowlevel.c:44: + (type *)( (char *)__mptr - offsetof(type,member) );}) ^ ERROR: space prohibited after that open parenthesis '(' #66: FILE: tools/virtiofsd/fuse_lowlevel.c:44: + (type *)( (char *)__mptr - offsetof(type,member) );}) ERROR: space prohibited before that close parenthesis ')' #66: FILE: tools/virtiofsd/fuse_lowlevel.c:44: + (type *)( (char *)__mptr - offsetof(type,member) );}) ERROR: code indent should never use tabs #69: FILE: tools/virtiofsd/fuse_lowlevel.c:47: +^Iuint64_t kh;$ ERROR: code indent should never use tabs #70: FILE: tools/virtiofsd/fuse_lowlevel.c:48: +^Istruct fuse_session *se;$ ERROR: code indent should never use tabs #77: FILE: tools/virtiofsd/fuse_lowlevel.c:55: +^Ipagesize = getpagesize();$ ERROR: use qemu_real_host_page_size instead of getpagesize() #77: FILE: tools/virtiofsd/fuse_lowlevel.c:55: + pagesize = getpagesize(); ERROR: code indent should never use tabs #82: FILE: tools/virtiofsd/fuse_lowlevel.c:60: +^Iattr->ino^I= stbuf->st_ino;$ ERROR: code indent should never use tabs #83: FILE: tools/virtiofsd/fuse_lowlevel.c:61: +^Iattr->mode^I= stbuf->st_mode;$ ERROR: code indent should never use tabs #84: FILE: tools/virtiofsd/fuse_lowlevel.c:62: +^Iattr->nlink^I= stbuf->st_nlink;$ ERROR: code indent should never use tabs #85: FILE: tools/virtiofsd/fuse_lowlevel.c:63: +^Iattr->uid^I= stbuf->st_uid;$ ERROR: code indent should never use tabs #86: FILE: tools/virtiofsd/fuse_lowlevel.c:64: +^Iattr->gid^I= stbuf->st_gid;$ ERROR: code indent should never use tabs #87: FILE: tools/virtiofsd/fuse_lowlevel.c:65: +^Iattr->rdev^I= stbuf->st_rdev;$ ERROR: code indent should never use tabs #88: FILE: tools/virtiofsd/fuse_lowlevel.c:66: +^Iattr->size^I= stbuf->st_size;$ ERROR: code indent should never use tabs #89: FILE: tools/virtiofsd/fuse_lowlevel.c:67: +^Iattr->blksize^I= stbuf->st_blksize;$ ERROR: code indent should never use tabs #90: FILE: tools/virtiofsd/fuse_lowlevel.c:68: +^Iattr->blocks^I= stbuf->st_blocks;$ ERROR: code indent should never use tabs #91: FILE: tools/virtiofsd/fuse_lowlevel.c:69: +^Iattr->atime^I= stbuf->st_atime;$ ERROR: code indent should never use tabs #92: FILE: tools/virtiofsd/fuse_lowlevel.c:70: +^Iattr->mtime^I= stbuf->st_mtime;$ ERROR: code indent should never use tabs #93: FILE: tools/virtiofsd/fuse_lowlevel.c:71: +^Iattr->ctime^I= stbuf->st_ctime;$ ERROR: code indent should never use tabs #94: FILE: tools/virtiofsd/fuse_lowlevel.c:72: +^Iattr->atimensec = ST_ATIM_NSEC(stbuf);$ ERROR: code indent should never use tabs #95: FILE: tools/virtiofsd/fuse_lowlevel.c:73: +^Iattr->mtimensec = ST_MTIM_NSEC(stbuf);$ ERROR: code indent should never use tabs #96: FILE: tools/virtiofsd/fuse_lowlevel.c:74: +^Iattr->ctimensec = ST_CTIM_NSEC(stbuf);$ ERROR: code indent should never use tabs #101: FILE: tools/virtiofsd/fuse_lowlevel.c:79: +^Istbuf->st_mode^I = attr->mode;$ ERROR: code indent should never use tabs #102: FILE: tools/virtiofsd/fuse_lowlevel.c:80: +^Istbuf->st_uid^I = attr->uid;$ ERROR: code indent should never use tabs #103: FILE: tools/virtiofsd/fuse_lowlevel.c:81: +^Istbuf->st_gid^I = attr->gid;$ ERROR: code indent should never use tabs #104: FILE: tools/virtiofsd/fuse_lowlevel.c:82: +^Istbuf->st_size^I = attr->size;$ ERROR: code indent should never use tabs #105: FILE: tools/virtiofsd/fuse_lowlevel.c:83: +^Istbuf->st_atime^I = attr->atime;$ ERROR: code indent should never use tabs #106: FILE: tools/virtiofsd/fuse_lowlevel.c:84: +^Istbuf->st_mtime^I = attr->mtime;$ ERROR: code indent should never use tabs #107: FILE: tools/virtiofsd/fuse_lowlevel.c:85: +^Istbuf->st_ctime = attr->ctime;$ ERROR: code indent should never use tabs #108: FILE: tools/virtiofsd/fuse_lowlevel.c:86: +^IST_ATIM_NSEC_SET(stbuf, attr->atimensec);$ ERROR: code indent should never use tabs #109: FILE: tools/virtiofsd/fuse_lowlevel.c:87: +^IST_MTIM_NSEC_SET(stbuf, attr->mtimensec);$ ERROR: code indent should never use tabs #110: FILE: tools/virtiofsd/fuse_lowlevel.c:88: +^IST_CTIM_NSEC_SET(stbuf, attr->ctimensec);$ ERROR: code indent should never use tabs #113: FILE: tools/virtiofsd/fuse_lowlevel.c:91: +static^Isize_t iov_length(const struct iovec *iov, size_t count)$ ERROR: code indent should never use tabs #115: FILE: tools/virtiofsd/fuse_lowlevel.c:93: +^Isize_t seg;$ ERROR: code indent should never use tabs #116: FILE: tools/virtiofsd/fuse_lowlevel.c:94: +^Isize_t ret = 0;$ ERROR: code indent should never use tabs #118: FILE: tools/virtiofsd/fuse_lowlevel.c:96: +^Ifor (seg = 0; seg < count; seg++)$ ERROR: braces {} are necessary for all arms of this statement #118: FILE: tools/virtiofsd/fuse_lowlevel.c:96: + for (seg = 0; seg < count; seg++) [...] ERROR: code indent should never use tabs #119: FILE: tools/virtiofsd/fuse_lowlevel.c:97: +^I^Iret += iov[seg].iov_len;$ ERROR: code indent should never use tabs #120: FILE: tools/virtiofsd/fuse_lowlevel.c:98: +^Ireturn ret;$ ERROR: code indent should never use tabs #125: FILE: tools/virtiofsd/fuse_lowlevel.c:103: +^Ireq->next = req;$ ERROR: code indent should never use tabs #126: FILE: tools/virtiofsd/fuse_lowlevel.c:104: +^Ireq->prev = req;$ ERROR: code indent should never use tabs #131: FILE: tools/virtiofsd/fuse_lowlevel.c:109: +^Istruct fuse_req *prev = req->prev;$ ERROR: code indent should never use tabs #132: FILE: tools/virtiofsd/fuse_lowlevel.c:110: +^Istruct fuse_req *next = req->next;$ ERROR: code indent should never use tabs #133: FILE: tools/virtiofsd/fuse_lowlevel.c:111: +^Iprev->next = next;$ ERROR: code indent should never use tabs #134: FILE: tools/virtiofsd/fuse_lowlevel.c:112: +^Inext->prev = prev;$ ERROR: code indent should never use tabs #139: FILE: tools/virtiofsd/fuse_lowlevel.c:117: +^Istruct fuse_req *prev = next->prev;$ ERROR: code indent should never use tabs #140: FILE: tools/virtiofsd/fuse_lowlevel.c:118: +^Ireq->next = next;$ ERROR: code indent should never use tabs #141: FILE: tools/virtiofsd/fuse_lowlevel.c:119: +^Ireq->prev = prev;$ ERROR: code indent should never use tabs #142: FILE: tools/virtiofsd/fuse_lowlevel.c:120: +^Iprev->next = req;$ ERROR: code indent should never use tabs #143: FILE: tools/virtiofsd/fuse_lowlevel.c:121: +^Inext->prev = req;$ ERROR: code indent should never use tabs #148: FILE: tools/virtiofsd/fuse_lowlevel.c:126: +^Ipthread_mutex_destroy(&req->lock);$ ERROR: code indent should never use tabs #149: FILE: tools/virtiofsd/fuse_lowlevel.c:127: +^Ifree(req);$ ERROR: code indent should never use tabs #154: FILE: tools/virtiofsd/fuse_lowlevel.c:132: +^Iint ctr;$ ERROR: code indent should never use tabs #155: FILE: tools/virtiofsd/fuse_lowlevel.c:133: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #157: FILE: tools/virtiofsd/fuse_lowlevel.c:135: +^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #158: FILE: tools/virtiofsd/fuse_lowlevel.c:136: +^Ireq->u.ni.func = NULL;$ ERROR: code indent should never use tabs #159: FILE: tools/virtiofsd/fuse_lowlevel.c:137: +^Ireq->u.ni.data = NULL;$ ERROR: code indent should never use tabs #160: FILE: tools/virtiofsd/fuse_lowlevel.c:138: +^Ilist_del_req(req);$ ERROR: code indent should never use tabs #161: FILE: tools/virtiofsd/fuse_lowlevel.c:139: +^Ictr = --req->ctr;$ ERROR: code indent should never use tabs #162: FILE: tools/virtiofsd/fuse_lowlevel.c:140: +^Ifuse_chan_put(req->ch);$ ERROR: code indent should never use tabs #163: FILE: tools/virtiofsd/fuse_lowlevel.c:141: +^Ireq->ch = NULL;$ ERROR: code indent should never use tabs #164: FILE: tools/virtiofsd/fuse_lowlevel.c:142: +^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #165: FILE: tools/virtiofsd/fuse_lowlevel.c:143: +^Iif (!ctr)$ ERROR: braces {} are necessary for all arms of this statement #165: FILE: tools/virtiofsd/fuse_lowlevel.c:143: + if (!ctr) [...] ERROR: code indent should never use tabs #166: FILE: tools/virtiofsd/fuse_lowlevel.c:144: +^I^Idestroy_req(req);$ ERROR: code indent should never use tabs #171: FILE: tools/virtiofsd/fuse_lowlevel.c:149: +^Istruct fuse_req *req;$ ERROR: code indent should never use tabs #173: FILE: tools/virtiofsd/fuse_lowlevel.c:151: +^Ireq = (struct fuse_req *) calloc(1, sizeof(struct fuse_req));$ ERROR: code indent should never use tabs #174: FILE: tools/virtiofsd/fuse_lowlevel.c:152: +^Iif (req == NULL) {$ ERROR: code indent should never use tabs #175: FILE: tools/virtiofsd/fuse_lowlevel.c:153: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate request\n");$ ERROR: code indent should never use tabs #176: FILE: tools/virtiofsd/fuse_lowlevel.c:154: +^I} else {$ ERROR: code indent should never use tabs #177: FILE: tools/virtiofsd/fuse_lowlevel.c:155: +^I^Ireq->se = se;$ ERROR: code indent should never use tabs #178: FILE: tools/virtiofsd/fuse_lowlevel.c:156: +^I^Ireq->ctr = 1;$ ERROR: code indent should never use tabs #179: FILE: tools/virtiofsd/fuse_lowlevel.c:157: +^I^Ilist_init_req(req);$ ERROR: code indent should never use tabs #180: FILE: tools/virtiofsd/fuse_lowlevel.c:158: +^I^Ifuse_mutex_init(&req->lock);$ ERROR: code indent should never use tabs #181: FILE: tools/virtiofsd/fuse_lowlevel.c:159: +^I}$ ERROR: code indent should never use tabs #183: FILE: tools/virtiofsd/fuse_lowlevel.c:161: +^Ireturn req;$ ERROR: code indent should never use tabs #188: FILE: tools/virtiofsd/fuse_lowlevel.c:166: +^I^I^I struct iovec *iov, int count)$ ERROR: code indent should never use tabs #190: FILE: tools/virtiofsd/fuse_lowlevel.c:168: +^Istruct fuse_out_header *out = iov[0].iov_base;$ ERROR: code indent should never use tabs #192: FILE: tools/virtiofsd/fuse_lowlevel.c:170: +^Iout->len = iov_length(iov, count);$ ERROR: code indent should never use tabs #193: FILE: tools/virtiofsd/fuse_lowlevel.c:171: +^Iif (se->debug) {$ ERROR: code indent should never use tabs #194: FILE: tools/virtiofsd/fuse_lowlevel.c:172: +^I^Iif (out->unique == 0) {$ ERROR: code indent should never use tabs #195: FILE: tools/virtiofsd/fuse_lowlevel.c:173: +^I^I^Ifuse_log(FUSE_LOG_DEBUG, "NOTIFY: code=%d length=%u\n",$ ERROR: code indent should never use tabs #196: FILE: tools/virtiofsd/fuse_lowlevel.c:174: +^I^I^I^Iout->error, out->len);$ ERROR: code indent should never use tabs #197: FILE: tools/virtiofsd/fuse_lowlevel.c:175: +^I^I} else if (out->error) {$ ERROR: code indent should never use tabs #198: FILE: tools/virtiofsd/fuse_lowlevel.c:176: +^I^I^Ifuse_log(FUSE_LOG_DEBUG,$ ERROR: code indent should never use tabs #199: FILE: tools/virtiofsd/fuse_lowlevel.c:177: +^I^I^I^I" unique: %llu, error: %i (%s), outsize: %i\n",$ ERROR: code indent should never use tabs #200: FILE: tools/virtiofsd/fuse_lowlevel.c:178: +^I^I^I^I(unsigned long long) out->unique, out->error,$ ERROR: code indent should never use tabs #201: FILE: tools/virtiofsd/fuse_lowlevel.c:179: +^I^I^I^Istrerror(-out->error), out->len);$ ERROR: code indent should never use tabs #202: FILE: tools/virtiofsd/fuse_lowlevel.c:180: +^I^I} else {$ ERROR: code indent should never use tabs #203: FILE: tools/virtiofsd/fuse_lowlevel.c:181: +^I^I^Ifuse_log(FUSE_LOG_DEBUG,$ ERROR: code indent should never use tabs #204: FILE: tools/virtiofsd/fuse_lowlevel.c:182: +^I^I^I^I" unique: %llu, success, outsize: %i\n",$ ERROR: code indent should never use tabs #205: FILE: tools/virtiofsd/fuse_lowlevel.c:183: +^I^I^I^I(unsigned long long) out->unique, out->len);$ ERROR: code indent should never use tabs #206: FILE: tools/virtiofsd/fuse_lowlevel.c:184: +^I^I}$ ERROR: code indent should never use tabs #207: FILE: tools/virtiofsd/fuse_lowlevel.c:185: +^I}$ ERROR: code indent should never use tabs #209: FILE: tools/virtiofsd/fuse_lowlevel.c:187: +^Issize_t res = writev(ch ? ch->fd : se->fd,$ ERROR: code indent should never use tabs #210: FILE: tools/virtiofsd/fuse_lowlevel.c:188: +^I^I^I iov, count);$ ERROR: code indent should never use tabs #211: FILE: tools/virtiofsd/fuse_lowlevel.c:189: +^Iint err = errno;$ ERROR: code indent should never use tabs #213: FILE: tools/virtiofsd/fuse_lowlevel.c:191: +^Iif (res == -1) {$ ERROR: code indent should never use tabs #214: FILE: tools/virtiofsd/fuse_lowlevel.c:192: +^I^Iassert(se != NULL);$ ERROR: code indent should never use tabs #216: FILE: tools/virtiofsd/fuse_lowlevel.c:194: +^I^I/* ENOENT means the operation was interrupted */$ ERROR: code indent should never use tabs #217: FILE: tools/virtiofsd/fuse_lowlevel.c:195: +^I^Iif (!fuse_session_exited(se) && err != ENOENT)$ ERROR: braces {} are necessary for all arms of this statement #217: FILE: tools/virtiofsd/fuse_lowlevel.c:195: + if (!fuse_session_exited(se) && err != ENOENT) [...] ERROR: code indent should never use tabs #218: FILE: tools/virtiofsd/fuse_lowlevel.c:196: +^I^I^Iperror("fuse: writing device");$ ERROR: code indent should never use tabs #219: FILE: tools/virtiofsd/fuse_lowlevel.c:197: +^I^Ireturn -err;$ ERROR: code indent should never use tabs #220: FILE: tools/virtiofsd/fuse_lowlevel.c:198: +^I}$ ERROR: code indent should never use tabs #222: FILE: tools/virtiofsd/fuse_lowlevel.c:200: +^Ireturn 0;$ ERROR: code indent should never use tabs #227: FILE: tools/virtiofsd/fuse_lowlevel.c:205: +^I^I^I int count)$ ERROR: code indent should never use tabs #229: FILE: tools/virtiofsd/fuse_lowlevel.c:207: +^Istruct fuse_out_header out;$ ERROR: code indent should never use tabs #231: FILE: tools/virtiofsd/fuse_lowlevel.c:209: +^Iif (error <= -1000 || error > 0) {$ ERROR: code indent should never use tabs #232: FILE: tools/virtiofsd/fuse_lowlevel.c:210: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: bad error value: %i\n",^Ierror);$ ERROR: code indent should never use tabs #233: FILE: tools/virtiofsd/fuse_lowlevel.c:211: +^I^Ierror = -ERANGE;$ ERROR: code indent should never use tabs #234: FILE: tools/virtiofsd/fuse_lowlevel.c:212: +^I}$ ERROR: code indent should never use tabs #236: FILE: tools/virtiofsd/fuse_lowlevel.c:214: +^Iout.unique = req->unique;$ ERROR: code indent should never use tabs #237: FILE: tools/virtiofsd/fuse_lowlevel.c:215: +^Iout.error = error;$ ERROR: code indent should never use tabs #239: FILE: tools/virtiofsd/fuse_lowlevel.c:217: +^Iiov[0].iov_base = &out;$ ERROR: code indent should never use tabs #240: FILE: tools/virtiofsd/fuse_lowlevel.c:218: +^Iiov[0].iov_len = sizeof(struct fuse_out_header);$ ERROR: code indent should never use tabs #242: FILE: tools/virtiofsd/fuse_lowlevel.c:220: +^Ireturn fuse_send_msg(req->se, req->ch, iov, count);$ ERROR: code indent should never use tabs #246: FILE: tools/virtiofsd/fuse_lowlevel.c:224: +^I^I^I int count)$ ERROR: code indent should never use tabs #248: FILE: tools/virtiofsd/fuse_lowlevel.c:226: +^Iint res;$ ERROR: code indent should never use tabs #250: FILE: tools/virtiofsd/fuse_lowlevel.c:228: +^Ires = fuse_send_reply_iov_nofree(req, error, iov, count);$ ERROR: code indent should never use tabs #251: FILE: tools/virtiofsd/fuse_lowlevel.c:229: +^Ifuse_free_req(req);$ ERROR: code indent should never use tabs #252: FILE: tools/virtiofsd/fuse_lowlevel.c:230: +^Ireturn res;$ ERROR: code indent should never use tabs #256: FILE: tools/virtiofsd/fuse_lowlevel.c:234: +^I^I size_t argsize)$ ERROR: code indent should never use tabs #258: FILE: tools/virtiofsd/fuse_lowlevel.c:236: +^Istruct iovec iov[2];$ ERROR: code indent should never use tabs #259: FILE: tools/virtiofsd/fuse_lowlevel.c:237: +^Iint count = 1;$ ERROR: code indent should never use tabs #260: FILE: tools/virtiofsd/fuse_lowlevel.c:238: +^Iif (argsize) {$ ERROR: code indent should never use tabs #261: FILE: tools/virtiofsd/fuse_lowlevel.c:239: +^I^Iiov[1].iov_base = (void *) arg;$ ERROR: code indent should never use tabs #262: FILE: tools/virtiofsd/fuse_lowlevel.c:240: +^I^Iiov[1].iov_len = argsize;$ ERROR: code indent should never use tabs #263: FILE: tools/virtiofsd/fuse_lowlevel.c:241: +^I^Icount++;$ ERROR: code indent should never use tabs #264: FILE: tools/virtiofsd/fuse_lowlevel.c:242: +^I}$ ERROR: code indent should never use tabs #265: FILE: tools/virtiofsd/fuse_lowlevel.c:243: +^Ireturn send_reply_iov(req, error, iov, count);$ ERROR: code indent should never use tabs #270: FILE: tools/virtiofsd/fuse_lowlevel.c:248: +^Iint res;$ ERROR: code indent should never use tabs #271: FILE: tools/virtiofsd/fuse_lowlevel.c:249: +^Istruct iovec *padded_iov;$ ERROR: code indent should never use tabs #273: FILE: tools/virtiofsd/fuse_lowlevel.c:251: +^Ipadded_iov = malloc((count + 1) * sizeof(struct iovec));$ ERROR: code indent should never use tabs #274: FILE: tools/virtiofsd/fuse_lowlevel.c:252: +^Iif (padded_iov == NULL)$ ERROR: braces {} are necessary for all arms of this statement #274: FILE: tools/virtiofsd/fuse_lowlevel.c:252: + if (padded_iov == NULL) [...] ERROR: code indent should never use tabs #275: FILE: tools/virtiofsd/fuse_lowlevel.c:253: +^I^Ireturn fuse_reply_err(req, ENOMEM);$ ERROR: code indent should never use tabs #277: FILE: tools/virtiofsd/fuse_lowlevel.c:255: +^Imemcpy(padded_iov + 1, iov, count * sizeof(struct iovec));$ ERROR: code indent should never use tabs #278: FILE: tools/virtiofsd/fuse_lowlevel.c:256: +^Icount++;$ ERROR: code indent should never use tabs #280: FILE: tools/virtiofsd/fuse_lowlevel.c:258: +^Ires = send_reply_iov(req, 0, padded_iov, count);$ ERROR: code indent should never use tabs #281: FILE: tools/virtiofsd/fuse_lowlevel.c:259: +^Ifree(padded_iov);$ ERROR: code indent should never use tabs #283: FILE: tools/virtiofsd/fuse_lowlevel.c:261: +^Ireturn res;$ WARNING: Block comments use a leading /* on a separate line #287: FILE: tools/virtiofsd/fuse_lowlevel.c:265: +/* `buf` is allowed to be empty so that the proper size may be WARNING: Block comments use * on subsequent lines #288: FILE: tools/virtiofsd/fuse_lowlevel.c:266: +/* `buf` is allowed to be empty so that the proper size may be + allocated by the caller */ WARNING: Block comments use a trailing */ on a separate line #288: FILE: tools/virtiofsd/fuse_lowlevel.c:266: + allocated by the caller */ ERROR: code indent should never use tabs #290: FILE: tools/virtiofsd/fuse_lowlevel.c:268: +^I^I^I const char *name, const struct stat *stbuf, off_t off)$ ERROR: code indent should never use tabs #292: FILE: tools/virtiofsd/fuse_lowlevel.c:270: +^I(void)req;$ ERROR: code indent should never use tabs #293: FILE: tools/virtiofsd/fuse_lowlevel.c:271: +^Isize_t namelen;$ ERROR: code indent should never use tabs #294: FILE: tools/virtiofsd/fuse_lowlevel.c:272: +^Isize_t entlen;$ ERROR: code indent should never use tabs #295: FILE: tools/virtiofsd/fuse_lowlevel.c:273: +^Isize_t entlen_padded;$ ERROR: code indent should never use tabs #296: FILE: tools/virtiofsd/fuse_lowlevel.c:274: +^Istruct fuse_dirent *dirent;$ ERROR: code indent should never use tabs #298: FILE: tools/virtiofsd/fuse_lowlevel.c:276: +^Inamelen = strlen(name);$ ERROR: code indent should never use tabs #299: FILE: tools/virtiofsd/fuse_lowlevel.c:277: +^Ientlen = FUSE_NAME_OFFSET + namelen;$ ERROR: code indent should never use tabs #300: FILE: tools/virtiofsd/fuse_lowlevel.c:278: +^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$ ERROR: code indent should never use tabs #302: FILE: tools/virtiofsd/fuse_lowlevel.c:280: +^Iif ((buf == NULL) || (entlen_padded > bufsize))$ ERROR: suspect code indent for conditional statements (8, 10) #302: FILE: tools/virtiofsd/fuse_lowlevel.c:280: + if ((buf == NULL) || (entlen_padded > bufsize)) + return entlen_padded; ERROR: braces {} are necessary for all arms of this statement #302: FILE: tools/virtiofsd/fuse_lowlevel.c:280: + if ((buf == NULL) || (entlen_padded > bufsize)) [...] ERROR: code indent should never use tabs #303: FILE: tools/virtiofsd/fuse_lowlevel.c:281: +^I return entlen_padded;$ ERROR: code indent should never use tabs #305: FILE: tools/virtiofsd/fuse_lowlevel.c:283: +^Idirent = (struct fuse_dirent*) buf;$ ERROR: "(foo*)" should be "(foo *)" #305: FILE: tools/virtiofsd/fuse_lowlevel.c:283: + dirent = (struct fuse_dirent*) buf; ERROR: code indent should never use tabs #306: FILE: tools/virtiofsd/fuse_lowlevel.c:284: +^Idirent->ino = stbuf->st_ino;$ ERROR: code indent should never use tabs #307: FILE: tools/virtiofsd/fuse_lowlevel.c:285: +^Idirent->off = off;$ ERROR: code indent should never use tabs #308: FILE: tools/virtiofsd/fuse_lowlevel.c:286: +^Idirent->namelen = namelen;$ ERROR: code indent should never use tabs #309: FILE: tools/virtiofsd/fuse_lowlevel.c:287: +^Idirent->type = (stbuf->st_mode & S_IFMT) >> 12;$ ERROR: code indent should never use tabs #310: FILE: tools/virtiofsd/fuse_lowlevel.c:288: +^Imemcpy(dirent->name, name, namelen);$ ERROR: code indent should never use tabs #311: FILE: tools/virtiofsd/fuse_lowlevel.c:289: +^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$ ERROR: code indent should never use tabs #313: FILE: tools/virtiofsd/fuse_lowlevel.c:291: +^Ireturn entlen_padded;$ ERROR: code indent should never use tabs #317: FILE: tools/virtiofsd/fuse_lowlevel.c:295: +^I^I^I struct fuse_kstatfs *kstatfs)$ ERROR: code indent should never use tabs #319: FILE: tools/virtiofsd/fuse_lowlevel.c:297: +^Ikstatfs->bsize^I = stbuf->f_bsize;$ ERROR: code indent should never use tabs #320: FILE: tools/virtiofsd/fuse_lowlevel.c:298: +^Ikstatfs->frsize^I = stbuf->f_frsize;$ ERROR: code indent should never use tabs #321: FILE: tools/virtiofsd/fuse_lowlevel.c:299: +^Ikstatfs->blocks^I = stbuf->f_blocks;$ ERROR: code indent should never use tabs #322: FILE: tools/virtiofsd/fuse_lowlevel.c:300: +^Ikstatfs->bfree^I = stbuf->f_bfree;$ ERROR: code indent should never use tabs #323: FILE: tools/virtiofsd/fuse_lowlevel.c:301: +^Ikstatfs->bavail^I = stbuf->f_bavail;$ ERROR: code indent should never use tabs #324: FILE: tools/virtiofsd/fuse_lowlevel.c:302: +^Ikstatfs->files^I = stbuf->f_files;$ ERROR: code indent should never use tabs #325: FILE: tools/virtiofsd/fuse_lowlevel.c:303: +^Ikstatfs->ffree^I = stbuf->f_ffree;$ ERROR: code indent should never use tabs #326: FILE: tools/virtiofsd/fuse_lowlevel.c:304: +^Ikstatfs->namelen = stbuf->f_namemax;$ ERROR: code indent should never use tabs #331: FILE: tools/virtiofsd/fuse_lowlevel.c:309: +^Ireturn send_reply(req, 0, arg, argsize);$ ERROR: code indent should never use tabs #336: FILE: tools/virtiofsd/fuse_lowlevel.c:314: +^Ireturn send_reply(req, -err, NULL, 0);$ ERROR: code indent should never use tabs #341: FILE: tools/virtiofsd/fuse_lowlevel.c:319: +^Ifuse_free_req(req);$ ERROR: code indent should never use tabs #346: FILE: tools/virtiofsd/fuse_lowlevel.c:324: +^Iif (t > (double) ULONG_MAX)$ ERROR: braces {} are necessary for all arms of this statement #346: FILE: tools/virtiofsd/fuse_lowlevel.c:324: + if (t > (double) ULONG_MAX) [...] + else if (t < 0.0) [...] + else [...] ERROR: code indent should never use tabs #347: FILE: tools/virtiofsd/fuse_lowlevel.c:325: +^I^Ireturn ULONG_MAX;$ ERROR: code indent should never use tabs #348: FILE: tools/virtiofsd/fuse_lowlevel.c:326: +^Ielse if (t < 0.0)$ ERROR: braces {} are necessary for all arms of this statement #348: FILE: tools/virtiofsd/fuse_lowlevel.c:326: + else if (t < 0.0) [...] + else [...] ERROR: code indent should never use tabs #349: FILE: tools/virtiofsd/fuse_lowlevel.c:327: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #350: FILE: tools/virtiofsd/fuse_lowlevel.c:328: +^Ielse$ ERROR: code indent should never use tabs #351: FILE: tools/virtiofsd/fuse_lowlevel.c:329: +^I^Ireturn (unsigned long) t;$ ERROR: code indent should never use tabs #356: FILE: tools/virtiofsd/fuse_lowlevel.c:334: +^Idouble f = t - (double) calc_timeout_sec(t);$ ERROR: code indent should never use tabs #357: FILE: tools/virtiofsd/fuse_lowlevel.c:335: +^Iif (f < 0.0)$ ERROR: braces {} are necessary for all arms of this statement #357: FILE: tools/virtiofsd/fuse_lowlevel.c:335: + if (f < 0.0) [...] + else if (f >= 0.999999999) [...] + else [...] ERROR: code indent should never use tabs #358: FILE: tools/virtiofsd/fuse_lowlevel.c:336: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #359: FILE: tools/virtiofsd/fuse_lowlevel.c:337: +^Ielse if (f >= 0.999999999)$ ERROR: braces {} are necessary for all arms of this statement #359: FILE: tools/virtiofsd/fuse_lowlevel.c:337: + else if (f >= 0.999999999) [...] + else [...] ERROR: code indent should never use tabs #360: FILE: tools/virtiofsd/fuse_lowlevel.c:338: +^I^Ireturn 999999999;$ ERROR: code indent should never use tabs #361: FILE: tools/virtiofsd/fuse_lowlevel.c:339: +^Ielse$ ERROR: code indent should never use tabs #362: FILE: tools/virtiofsd/fuse_lowlevel.c:340: +^I^Ireturn (unsigned int) (f * 1.0e9);$ ERROR: code indent should never use tabs #366: FILE: tools/virtiofsd/fuse_lowlevel.c:344: +^I^I const struct fuse_entry_param *e)$ ERROR: code indent should never use tabs #368: FILE: tools/virtiofsd/fuse_lowlevel.c:346: +^Iarg->nodeid = e->ino;$ ERROR: code indent should never use tabs #369: FILE: tools/virtiofsd/fuse_lowlevel.c:347: +^Iarg->generation = e->generation;$ ERROR: code indent should never use tabs #370: FILE: tools/virtiofsd/fuse_lowlevel.c:348: +^Iarg->entry_valid = calc_timeout_sec(e->entry_timeout);$ ERROR: code indent should never use tabs #371: FILE: tools/virtiofsd/fuse_lowlevel.c:349: +^Iarg->entry_valid_nsec = calc_timeout_nsec(e->entry_timeout);$ ERROR: code indent should never use tabs #372: FILE: tools/virtiofsd/fuse_lowlevel.c:350: +^Iarg->attr_valid = calc_timeout_sec(e->attr_timeout);$ ERROR: code indent should never use tabs #373: FILE: tools/virtiofsd/fuse_lowlevel.c:351: +^Iarg->attr_valid_nsec = calc_timeout_nsec(e->attr_timeout);$ ERROR: code indent should never use tabs #374: FILE: tools/virtiofsd/fuse_lowlevel.c:352: +^Iconvert_stat(&e->attr, &arg->attr);$ WARNING: Block comments use a leading /* on a separate line #377: FILE: tools/virtiofsd/fuse_lowlevel.c:355: +/* `buf` is allowed to be empty so that the proper size may be WARNING: Block comments use * on subsequent lines #378: FILE: tools/virtiofsd/fuse_lowlevel.c:356: +/* `buf` is allowed to be empty so that the proper size may be + allocated by the caller */ WARNING: Block comments use a trailing */ on a separate line #378: FILE: tools/virtiofsd/fuse_lowlevel.c:356: + allocated by the caller */ ERROR: code indent should never use tabs #380: FILE: tools/virtiofsd/fuse_lowlevel.c:358: +^I^I^I const char *name,$ ERROR: code indent should never use tabs #381: FILE: tools/virtiofsd/fuse_lowlevel.c:359: +^I^I^I const struct fuse_entry_param *e, off_t off)$ ERROR: code indent should never use tabs #383: FILE: tools/virtiofsd/fuse_lowlevel.c:361: +^I(void)req;$ ERROR: code indent should never use tabs #384: FILE: tools/virtiofsd/fuse_lowlevel.c:362: +^Isize_t namelen;$ ERROR: code indent should never use tabs #385: FILE: tools/virtiofsd/fuse_lowlevel.c:363: +^Isize_t entlen;$ ERROR: code indent should never use tabs #386: FILE: tools/virtiofsd/fuse_lowlevel.c:364: +^Isize_t entlen_padded;$ ERROR: code indent should never use tabs #388: FILE: tools/virtiofsd/fuse_lowlevel.c:366: +^Inamelen = strlen(name);$ ERROR: code indent should never use tabs #389: FILE: tools/virtiofsd/fuse_lowlevel.c:367: +^Ientlen = FUSE_NAME_OFFSET_DIRENTPLUS + namelen;$ ERROR: code indent should never use tabs #390: FILE: tools/virtiofsd/fuse_lowlevel.c:368: +^Ientlen_padded = FUSE_DIRENT_ALIGN(entlen);$ ERROR: code indent should never use tabs #391: FILE: tools/virtiofsd/fuse_lowlevel.c:369: +^Iif ((buf == NULL) || (entlen_padded > bufsize))$ ERROR: suspect code indent for conditional statements (8, 10) #391: FILE: tools/virtiofsd/fuse_lowlevel.c:369: + if ((buf == NULL) || (entlen_padded > bufsize)) + return entlen_padded; ERROR: braces {} are necessary for all arms of this statement #391: FILE: tools/virtiofsd/fuse_lowlevel.c:369: + if ((buf == NULL) || (entlen_padded > bufsize)) [...] ERROR: code indent should never use tabs #392: FILE: tools/virtiofsd/fuse_lowlevel.c:370: +^I return entlen_padded;$ ERROR: code indent should never use tabs #394: FILE: tools/virtiofsd/fuse_lowlevel.c:372: +^Istruct fuse_direntplus *dp = (struct fuse_direntplus *) buf;$ ERROR: code indent should never use tabs #395: FILE: tools/virtiofsd/fuse_lowlevel.c:373: +^Imemset(&dp->entry_out, 0, sizeof(dp->entry_out));$ ERROR: code indent should never use tabs #396: FILE: tools/virtiofsd/fuse_lowlevel.c:374: +^Ifill_entry(&dp->entry_out, e);$ ERROR: code indent should never use tabs #398: FILE: tools/virtiofsd/fuse_lowlevel.c:376: +^Istruct fuse_dirent *dirent = &dp->dirent;$ ERROR: code indent should never use tabs #399: FILE: tools/virtiofsd/fuse_lowlevel.c:377: +^Idirent->ino = e->attr.st_ino;$ ERROR: code indent should never use tabs #400: FILE: tools/virtiofsd/fuse_lowlevel.c:378: +^Idirent->off = off;$ ERROR: code indent should never use tabs #401: FILE: tools/virtiofsd/fuse_lowlevel.c:379: +^Idirent->namelen = namelen;$ ERROR: code indent should never use tabs #402: FILE: tools/virtiofsd/fuse_lowlevel.c:380: +^Idirent->type = (e->attr.st_mode & S_IFMT) >> 12;$ ERROR: code indent should never use tabs #403: FILE: tools/virtiofsd/fuse_lowlevel.c:381: +^Imemcpy(dirent->name, name, namelen);$ ERROR: code indent should never use tabs #404: FILE: tools/virtiofsd/fuse_lowlevel.c:382: +^Imemset(dirent->name + namelen, 0, entlen_padded - entlen);$ ERROR: code indent should never use tabs #406: FILE: tools/virtiofsd/fuse_lowlevel.c:384: +^Ireturn entlen_padded;$ ERROR: code indent should never use tabs #410: FILE: tools/virtiofsd/fuse_lowlevel.c:388: +^I^I const struct fuse_file_info *f)$ ERROR: code indent should never use tabs #412: FILE: tools/virtiofsd/fuse_lowlevel.c:390: +^Iarg->fh = f->fh;$ ERROR: code indent should never use tabs #413: FILE: tools/virtiofsd/fuse_lowlevel.c:391: +^Iif (f->direct_io)$ ERROR: braces {} are necessary for all arms of this statement #413: FILE: tools/virtiofsd/fuse_lowlevel.c:391: + if (f->direct_io) [...] ERROR: code indent should never use tabs #414: FILE: tools/virtiofsd/fuse_lowlevel.c:392: +^I^Iarg->open_flags |= FOPEN_DIRECT_IO;$ ERROR: code indent should never use tabs #415: FILE: tools/virtiofsd/fuse_lowlevel.c:393: +^Iif (f->keep_cache)$ ERROR: braces {} are necessary for all arms of this statement #415: FILE: tools/virtiofsd/fuse_lowlevel.c:393: + if (f->keep_cache) [...] ERROR: code indent should never use tabs #416: FILE: tools/virtiofsd/fuse_lowlevel.c:394: +^I^Iarg->open_flags |= FOPEN_KEEP_CACHE;$ ERROR: code indent should never use tabs #417: FILE: tools/virtiofsd/fuse_lowlevel.c:395: +^Iif (f->cache_readdir)$ ERROR: braces {} are necessary for all arms of this statement #417: FILE: tools/virtiofsd/fuse_lowlevel.c:395: + if (f->cache_readdir) [...] ERROR: code indent should never use tabs #418: FILE: tools/virtiofsd/fuse_lowlevel.c:396: +^I^Iarg->open_flags |= FOPEN_CACHE_DIR;$ ERROR: code indent should never use tabs #419: FILE: tools/virtiofsd/fuse_lowlevel.c:397: +^Iif (f->nonseekable)$ ERROR: braces {} are necessary for all arms of this statement #419: FILE: tools/virtiofsd/fuse_lowlevel.c:397: + if (f->nonseekable) [...] ERROR: code indent should never use tabs #420: FILE: tools/virtiofsd/fuse_lowlevel.c:398: +^I^Iarg->open_flags |= FOPEN_NONSEEKABLE;$ ERROR: code indent should never use tabs #425: FILE: tools/virtiofsd/fuse_lowlevel.c:403: +^Istruct fuse_entry_out arg;$ ERROR: code indent should never use tabs #426: FILE: tools/virtiofsd/fuse_lowlevel.c:404: +^Isize_t size = req->se->conn.proto_minor < 9 ?$ ERROR: code indent should never use tabs #427: FILE: tools/virtiofsd/fuse_lowlevel.c:405: +^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(arg);$ ERROR: code indent should never use tabs #429: FILE: tools/virtiofsd/fuse_lowlevel.c:407: +^I/* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant$ WARNING: Block comments use a leading /* on a separate line #429: FILE: tools/virtiofsd/fuse_lowlevel.c:407: + /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant ERROR: code indent should never use tabs #430: FILE: tools/virtiofsd/fuse_lowlevel.c:408: +^I negative entry */$ WARNING: Block comments use * on subsequent lines #430: FILE: tools/virtiofsd/fuse_lowlevel.c:408: + /* before ABI 7.4 e->ino == 0 was invalid, only ENOENT meant + negative entry */ WARNING: Block comments use a trailing */ on a separate line #430: FILE: tools/virtiofsd/fuse_lowlevel.c:408: + negative entry */ ERROR: code indent should never use tabs #431: FILE: tools/virtiofsd/fuse_lowlevel.c:409: +^Iif (!e->ino && req->se->conn.proto_minor < 4)$ ERROR: braces {} are necessary for all arms of this statement #431: FILE: tools/virtiofsd/fuse_lowlevel.c:409: + if (!e->ino && req->se->conn.proto_minor < 4) [...] ERROR: code indent should never use tabs #432: FILE: tools/virtiofsd/fuse_lowlevel.c:410: +^I^Ireturn fuse_reply_err(req, ENOENT);$ ERROR: code indent should never use tabs #434: FILE: tools/virtiofsd/fuse_lowlevel.c:412: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #435: FILE: tools/virtiofsd/fuse_lowlevel.c:413: +^Ifill_entry(&arg, e);$ ERROR: code indent should never use tabs #436: FILE: tools/virtiofsd/fuse_lowlevel.c:414: +^Ireturn send_reply_ok(req, &arg, size);$ ERROR: code indent should never use tabs #440: FILE: tools/virtiofsd/fuse_lowlevel.c:418: +^I^I const struct fuse_file_info *f)$ ERROR: code indent should never use tabs #442: FILE: tools/virtiofsd/fuse_lowlevel.c:420: +^Ichar buf[sizeof(struct fuse_entry_out) + sizeof(struct fuse_open_out)];$ ERROR: code indent should never use tabs #443: FILE: tools/virtiofsd/fuse_lowlevel.c:421: +^Isize_t entrysize = req->se->conn.proto_minor < 9 ?$ ERROR: code indent should never use tabs #444: FILE: tools/virtiofsd/fuse_lowlevel.c:422: +^I^IFUSE_COMPAT_ENTRY_OUT_SIZE : sizeof(struct fuse_entry_out);$ ERROR: code indent should never use tabs #445: FILE: tools/virtiofsd/fuse_lowlevel.c:423: +^Istruct fuse_entry_out *earg = (struct fuse_entry_out *) buf;$ ERROR: code indent should never use tabs #446: FILE: tools/virtiofsd/fuse_lowlevel.c:424: +^Istruct fuse_open_out *oarg = (struct fuse_open_out *) (buf + entrysize);$ ERROR: code indent should never use tabs #448: FILE: tools/virtiofsd/fuse_lowlevel.c:426: +^Imemset(buf, 0, sizeof(buf));$ ERROR: code indent should never use tabs #449: FILE: tools/virtiofsd/fuse_lowlevel.c:427: +^Ifill_entry(earg, e);$ ERROR: code indent should never use tabs #450: FILE: tools/virtiofsd/fuse_lowlevel.c:428: +^Ifill_open(oarg, f);$ ERROR: code indent should never use tabs #451: FILE: tools/virtiofsd/fuse_lowlevel.c:429: +^Ireturn send_reply_ok(req, buf,$ ERROR: code indent should never use tabs #452: FILE: tools/virtiofsd/fuse_lowlevel.c:430: +^I^I^I entrysize + sizeof(struct fuse_open_out));$ ERROR: code indent should never use tabs #456: FILE: tools/virtiofsd/fuse_lowlevel.c:434: +^I^I double attr_timeout)$ ERROR: code indent should never use tabs #458: FILE: tools/virtiofsd/fuse_lowlevel.c:436: +^Istruct fuse_attr_out arg;$ ERROR: code indent should never use tabs #459: FILE: tools/virtiofsd/fuse_lowlevel.c:437: +^Isize_t size = req->se->conn.proto_minor < 9 ?$ ERROR: code indent should never use tabs #460: FILE: tools/virtiofsd/fuse_lowlevel.c:438: +^I^IFUSE_COMPAT_ATTR_OUT_SIZE : sizeof(arg);$ ERROR: code indent should never use tabs #462: FILE: tools/virtiofsd/fuse_lowlevel.c:440: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #463: FILE: tools/virtiofsd/fuse_lowlevel.c:441: +^Iarg.attr_valid = calc_timeout_sec(attr_timeout);$ ERROR: code indent should never use tabs #464: FILE: tools/virtiofsd/fuse_lowlevel.c:442: +^Iarg.attr_valid_nsec = calc_timeout_nsec(attr_timeout);$ ERROR: code indent should never use tabs #465: FILE: tools/virtiofsd/fuse_lowlevel.c:443: +^Iconvert_stat(attr, &arg.attr);$ ERROR: code indent should never use tabs #467: FILE: tools/virtiofsd/fuse_lowlevel.c:445: +^Ireturn send_reply_ok(req, &arg, size);$ ERROR: code indent should never use tabs #472: FILE: tools/virtiofsd/fuse_lowlevel.c:450: +^Ireturn send_reply_ok(req, linkname, strlen(linkname));$ ERROR: code indent should never use tabs #477: FILE: tools/virtiofsd/fuse_lowlevel.c:455: +^Istruct fuse_open_out arg;$ ERROR: code indent should never use tabs #479: FILE: tools/virtiofsd/fuse_lowlevel.c:457: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #480: FILE: tools/virtiofsd/fuse_lowlevel.c:458: +^Ifill_open(&arg, f);$ ERROR: code indent should never use tabs #481: FILE: tools/virtiofsd/fuse_lowlevel.c:459: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #486: FILE: tools/virtiofsd/fuse_lowlevel.c:464: +^Istruct fuse_write_out arg;$ ERROR: code indent should never use tabs #488: FILE: tools/virtiofsd/fuse_lowlevel.c:466: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #489: FILE: tools/virtiofsd/fuse_lowlevel.c:467: +^Iarg.size = count;$ ERROR: code indent should never use tabs #491: FILE: tools/virtiofsd/fuse_lowlevel.c:469: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #496: FILE: tools/virtiofsd/fuse_lowlevel.c:474: +^Ireturn send_reply_ok(req, buf, size);$ ERROR: code indent should never use tabs #500: FILE: tools/virtiofsd/fuse_lowlevel.c:478: +^I^I^I^I struct fuse_chan *ch,$ ERROR: code indent should never use tabs #501: FILE: tools/virtiofsd/fuse_lowlevel.c:479: +^I^I^I^I struct iovec *iov, int iov_count,$ ERROR: code indent should never use tabs #502: FILE: tools/virtiofsd/fuse_lowlevel.c:480: +^I^I^I^I struct fuse_bufvec *buf,$ ERROR: code indent should never use tabs #503: FILE: tools/virtiofsd/fuse_lowlevel.c:481: +^I^I^I^I size_t len)$ ERROR: code indent should never use tabs #505: FILE: tools/virtiofsd/fuse_lowlevel.c:483: +^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$ ERROR: code indent should never use tabs #506: FILE: tools/virtiofsd/fuse_lowlevel.c:484: +^Ivoid *mbuf;$ ERROR: code indent should never use tabs #507: FILE: tools/virtiofsd/fuse_lowlevel.c:485: +^Iint res;$ ERROR: code indent should never use tabs #509: FILE: tools/virtiofsd/fuse_lowlevel.c:487: +^I/* Optimize common case */$ ERROR: code indent should never use tabs #510: FILE: tools/virtiofsd/fuse_lowlevel.c:488: +^Iif (buf->count == 1 && buf->idx == 0 && buf->off == 0 &&$ ERROR: code indent should never use tabs #511: FILE: tools/virtiofsd/fuse_lowlevel.c:489: +^I !(buf->buf[0].flags & FUSE_BUF_IS_FD)) {$ ERROR: code indent should never use tabs #512: FILE: tools/virtiofsd/fuse_lowlevel.c:490: +^I^I/* FIXME: also avoid memory copy if there are multiple buffers$ WARNING: Block comments use a leading /* on a separate line #512: FILE: tools/virtiofsd/fuse_lowlevel.c:490: + /* FIXME: also avoid memory copy if there are multiple buffers ERROR: code indent should never use tabs #513: FILE: tools/virtiofsd/fuse_lowlevel.c:491: +^I^I but none of them contain an fd */$ WARNING: Block comments use * on subsequent lines #513: FILE: tools/virtiofsd/fuse_lowlevel.c:491: + /* FIXME: also avoid memory copy if there are multiple buffers + but none of them contain an fd */ WARNING: Block comments use a trailing */ on a separate line #513: FILE: tools/virtiofsd/fuse_lowlevel.c:491: + but none of them contain an fd */ ERROR: code indent should never use tabs #515: FILE: tools/virtiofsd/fuse_lowlevel.c:493: +^I^Iiov[iov_count].iov_base = buf->buf[0].mem;$ ERROR: code indent should never use tabs #516: FILE: tools/virtiofsd/fuse_lowlevel.c:494: +^I^Iiov[iov_count].iov_len = len;$ ERROR: code indent should never use tabs #517: FILE: tools/virtiofsd/fuse_lowlevel.c:495: +^I^Iiov_count++;$ ERROR: code indent should never use tabs #518: FILE: tools/virtiofsd/fuse_lowlevel.c:496: +^I^Ireturn fuse_send_msg(se, ch, iov, iov_count);$ ERROR: code indent should never use tabs #519: FILE: tools/virtiofsd/fuse_lowlevel.c:497: +^I}$ ERROR: code indent should never use tabs #521: FILE: tools/virtiofsd/fuse_lowlevel.c:499: +^Ires = posix_memalign(&mbuf, pagesize, len);$ ERROR: code indent should never use tabs #522: FILE: tools/virtiofsd/fuse_lowlevel.c:500: +^Iif (res != 0)$ ERROR: braces {} are necessary for all arms of this statement #522: FILE: tools/virtiofsd/fuse_lowlevel.c:500: + if (res != 0) [...] ERROR: code indent should never use tabs #523: FILE: tools/virtiofsd/fuse_lowlevel.c:501: +^I^Ireturn res;$ ERROR: code indent should never use tabs #525: FILE: tools/virtiofsd/fuse_lowlevel.c:503: +^Imem_buf.buf[0].mem = mbuf;$ ERROR: code indent should never use tabs #526: FILE: tools/virtiofsd/fuse_lowlevel.c:504: +^Ires = fuse_buf_copy(&mem_buf, buf, 0);$ ERROR: code indent should never use tabs #527: FILE: tools/virtiofsd/fuse_lowlevel.c:505: +^Iif (res < 0) {$ ERROR: code indent should never use tabs #528: FILE: tools/virtiofsd/fuse_lowlevel.c:506: +^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #529: FILE: tools/virtiofsd/fuse_lowlevel.c:507: +^I^Ireturn -res;$ ERROR: code indent should never use tabs #530: FILE: tools/virtiofsd/fuse_lowlevel.c:508: +^I}$ ERROR: code indent should never use tabs #531: FILE: tools/virtiofsd/fuse_lowlevel.c:509: +^Ilen = res;$ ERROR: code indent should never use tabs #533: FILE: tools/virtiofsd/fuse_lowlevel.c:511: +^Iiov[iov_count].iov_base = mbuf;$ ERROR: code indent should never use tabs #534: FILE: tools/virtiofsd/fuse_lowlevel.c:512: +^Iiov[iov_count].iov_len = len;$ ERROR: code indent should never use tabs #535: FILE: tools/virtiofsd/fuse_lowlevel.c:513: +^Iiov_count++;$ ERROR: code indent should never use tabs #536: FILE: tools/virtiofsd/fuse_lowlevel.c:514: +^Ires = fuse_send_msg(se, ch, iov, iov_count);$ ERROR: code indent should never use tabs #537: FILE: tools/virtiofsd/fuse_lowlevel.c:515: +^Ifree(mbuf);$ ERROR: code indent should never use tabs #539: FILE: tools/virtiofsd/fuse_lowlevel.c:517: +^Ireturn res;$ ERROR: code indent should never use tabs #543: FILE: tools/virtiofsd/fuse_lowlevel.c:521: +^Isize_t size;$ ERROR: code indent should never use tabs #544: FILE: tools/virtiofsd/fuse_lowlevel.c:522: +^Iint can_grow;$ ERROR: code indent should never use tabs #545: FILE: tools/virtiofsd/fuse_lowlevel.c:523: +^Iint pipe[2];$ ERROR: code indent should never use tabs #550: FILE: tools/virtiofsd/fuse_lowlevel.c:528: +^Iclose(llp->pipe[0]);$ ERROR: code indent should never use tabs #551: FILE: tools/virtiofsd/fuse_lowlevel.c:529: +^Iclose(llp->pipe[1]);$ ERROR: code indent should never use tabs #552: FILE: tools/virtiofsd/fuse_lowlevel.c:530: +^Ifree(llp);$ ERROR: code indent should never use tabs #559: FILE: tools/virtiofsd/fuse_lowlevel.c:537: +^Iint rv = pipe(fds);$ ERROR: code indent should never use tabs #561: FILE: tools/virtiofsd/fuse_lowlevel.c:539: +^Iif (rv == -1)$ ERROR: braces {} are necessary for all arms of this statement #561: FILE: tools/virtiofsd/fuse_lowlevel.c:539: + if (rv == -1) [...] ERROR: code indent should never use tabs #562: FILE: tools/virtiofsd/fuse_lowlevel.c:540: +^I^Ireturn rv;$ ERROR: code indent should never use tabs #564: FILE: tools/virtiofsd/fuse_lowlevel.c:542: +^Iif (fcntl(fds[0], F_SETFL, O_NONBLOCK) == -1 ||$ ERROR: code indent should never use tabs #565: FILE: tools/virtiofsd/fuse_lowlevel.c:543: +^I fcntl(fds[1], F_SETFL, O_NONBLOCK) == -1 ||$ ERROR: code indent should never use tabs #566: FILE: tools/virtiofsd/fuse_lowlevel.c:544: +^I fcntl(fds[0], F_SETFD, FD_CLOEXEC) == -1 ||$ ERROR: code indent should never use tabs #567: FILE: tools/virtiofsd/fuse_lowlevel.c:545: +^I fcntl(fds[1], F_SETFD, FD_CLOEXEC) == -1) {$ ERROR: code indent should never use tabs #568: FILE: tools/virtiofsd/fuse_lowlevel.c:546: +^I^Iclose(fds[0]);$ ERROR: code indent should never use tabs #569: FILE: tools/virtiofsd/fuse_lowlevel.c:547: +^I^Iclose(fds[1]);$ ERROR: code indent should never use tabs #570: FILE: tools/virtiofsd/fuse_lowlevel.c:548: +^I^Irv = -1;$ ERROR: code indent should never use tabs #571: FILE: tools/virtiofsd/fuse_lowlevel.c:549: +^I}$ ERROR: code indent should never use tabs #572: FILE: tools/virtiofsd/fuse_lowlevel.c:550: +^Ireturn rv;$ ERROR: code indent should never use tabs #577: FILE: tools/virtiofsd/fuse_lowlevel.c:555: +^Ireturn pipe2(fds, O_CLOEXEC | O_NONBLOCK);$ ERROR: code indent should never use tabs #583: FILE: tools/virtiofsd/fuse_lowlevel.c:561: +^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$ ERROR: code indent should never use tabs #584: FILE: tools/virtiofsd/fuse_lowlevel.c:562: +^Iif (llp == NULL) {$ ERROR: code indent should never use tabs #585: FILE: tools/virtiofsd/fuse_lowlevel.c:563: +^I^Iint res;$ ERROR: code indent should never use tabs #587: FILE: tools/virtiofsd/fuse_lowlevel.c:565: +^I^Illp = malloc(sizeof(struct fuse_ll_pipe));$ ERROR: code indent should never use tabs #588: FILE: tools/virtiofsd/fuse_lowlevel.c:566: +^I^Iif (llp == NULL)$ ERROR: braces {} are necessary for all arms of this statement #588: FILE: tools/virtiofsd/fuse_lowlevel.c:566: + if (llp == NULL) [...] ERROR: code indent should never use tabs #589: FILE: tools/virtiofsd/fuse_lowlevel.c:567: +^I^I^Ireturn NULL;$ ERROR: code indent should never use tabs #591: FILE: tools/virtiofsd/fuse_lowlevel.c:569: +^I^Ires = fuse_pipe(llp->pipe);$ ERROR: code indent should never use tabs #592: FILE: tools/virtiofsd/fuse_lowlevel.c:570: +^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #593: FILE: tools/virtiofsd/fuse_lowlevel.c:571: +^I^I^Ifree(llp);$ ERROR: code indent should never use tabs #594: FILE: tools/virtiofsd/fuse_lowlevel.c:572: +^I^I^Ireturn NULL;$ ERROR: code indent should never use tabs #595: FILE: tools/virtiofsd/fuse_lowlevel.c:573: +^I^I}$ ERROR: code indent should never use tabs #597: FILE: tools/virtiofsd/fuse_lowlevel.c:575: +^I^I/*$ ERROR: code indent should never use tabs #598: FILE: tools/virtiofsd/fuse_lowlevel.c:576: +^I^I *the default size is 16 pages on linux$ ERROR: code indent should never use tabs #599: FILE: tools/virtiofsd/fuse_lowlevel.c:577: +^I^I */$ ERROR: code indent should never use tabs #600: FILE: tools/virtiofsd/fuse_lowlevel.c:578: +^I^Illp->size = pagesize * 16;$ ERROR: code indent should never use tabs #601: FILE: tools/virtiofsd/fuse_lowlevel.c:579: +^I^Illp->can_grow = 1;$ ERROR: code indent should never use tabs #603: FILE: tools/virtiofsd/fuse_lowlevel.c:581: +^I^Ipthread_setspecific(se->pipe_key, llp);$ ERROR: code indent should never use tabs #604: FILE: tools/virtiofsd/fuse_lowlevel.c:582: +^I}$ ERROR: code indent should never use tabs #606: FILE: tools/virtiofsd/fuse_lowlevel.c:584: +^Ireturn llp;$ ERROR: code indent should never use tabs #612: FILE: tools/virtiofsd/fuse_lowlevel.c:590: +^Istruct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);$ ERROR: code indent should never use tabs #613: FILE: tools/virtiofsd/fuse_lowlevel.c:591: +^Iif (llp) {$ ERROR: code indent should never use tabs #614: FILE: tools/virtiofsd/fuse_lowlevel.c:592: +^I^Ipthread_setspecific(se->pipe_key, NULL);$ ERROR: code indent should never use tabs #615: FILE: tools/virtiofsd/fuse_lowlevel.c:593: +^I^Ifuse_ll_pipe_free(llp);$ ERROR: code indent should never use tabs #616: FILE: tools/virtiofsd/fuse_lowlevel.c:594: +^I}$ ERROR: code indent should never use tabs #622: FILE: tools/virtiofsd/fuse_lowlevel.c:600: +^Iint res;$ ERROR: code indent should never use tabs #624: FILE: tools/virtiofsd/fuse_lowlevel.c:602: +^Ires = read(fd, buf, len);$ ERROR: code indent should never use tabs #625: FILE: tools/virtiofsd/fuse_lowlevel.c:603: +^Iif (res == -1) {$ ERROR: line over 90 characters #626: FILE: tools/virtiofsd/fuse_lowlevel.c:604: + fuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read back from pipe: %s\n", strerror(errno)); ERROR: code indent should never use tabs #626: FILE: tools/virtiofsd/fuse_lowlevel.c:604: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: failed to read back from pipe: %s\n", strerror(errno));$ ERROR: code indent should never use tabs #627: FILE: tools/virtiofsd/fuse_lowlevel.c:605: +^I^Ireturn -EIO;$ ERROR: code indent should never use tabs #628: FILE: tools/virtiofsd/fuse_lowlevel.c:606: +^I}$ ERROR: code indent should never use tabs #629: FILE: tools/virtiofsd/fuse_lowlevel.c:607: +^Iif (res != len) {$ ERROR: line over 90 characters #630: FILE: tools/virtiofsd/fuse_lowlevel.c:608: + fuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back from pipe: %i from %zi\n", res, len); ERROR: code indent should never use tabs #630: FILE: tools/virtiofsd/fuse_lowlevel.c:608: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: internal error: short read back from pipe: %i from %zi\n", res, len);$ ERROR: code indent should never use tabs #631: FILE: tools/virtiofsd/fuse_lowlevel.c:609: +^I^Ireturn -EIO;$ ERROR: code indent should never use tabs #632: FILE: tools/virtiofsd/fuse_lowlevel.c:610: +^I}$ ERROR: code indent should never use tabs #633: FILE: tools/virtiofsd/fuse_lowlevel.c:611: +^Ireturn 0;$ ERROR: code indent should never use tabs #638: FILE: tools/virtiofsd/fuse_lowlevel.c:616: +^Iint max;$ ERROR: code indent should never use tabs #639: FILE: tools/virtiofsd/fuse_lowlevel.c:617: +^Iint res;$ ERROR: code indent should never use tabs #640: FILE: tools/virtiofsd/fuse_lowlevel.c:618: +^Iint maxfd;$ ERROR: code indent should never use tabs #641: FILE: tools/virtiofsd/fuse_lowlevel.c:619: +^Ichar buf[32];$ ERROR: code indent should never use tabs #643: FILE: tools/virtiofsd/fuse_lowlevel.c:621: +^Imaxfd = open("/proc/sys/fs/pipe-max-size", O_RDONLY);$ ERROR: code indent should never use tabs #644: FILE: tools/virtiofsd/fuse_lowlevel.c:622: +^Iif (maxfd < 0)$ ERROR: braces {} are necessary for all arms of this statement #644: FILE: tools/virtiofsd/fuse_lowlevel.c:622: + if (maxfd < 0) [...] ERROR: code indent should never use tabs #645: FILE: tools/virtiofsd/fuse_lowlevel.c:623: +^I^Ireturn -errno;$ ERROR: code indent should never use tabs #647: FILE: tools/virtiofsd/fuse_lowlevel.c:625: +^Ires = read(maxfd, buf, sizeof(buf) - 1);$ ERROR: code indent should never use tabs #648: FILE: tools/virtiofsd/fuse_lowlevel.c:626: +^Iif (res < 0) {$ ERROR: code indent should never use tabs #649: FILE: tools/virtiofsd/fuse_lowlevel.c:627: +^I^Iint saved_errno;$ ERROR: code indent should never use tabs #651: FILE: tools/virtiofsd/fuse_lowlevel.c:629: +^I^Isaved_errno = errno;$ ERROR: code indent should never use tabs #652: FILE: tools/virtiofsd/fuse_lowlevel.c:630: +^I^Iclose(maxfd);$ ERROR: code indent should never use tabs #653: FILE: tools/virtiofsd/fuse_lowlevel.c:631: +^I^Ireturn -saved_errno;$ ERROR: code indent should never use tabs #654: FILE: tools/virtiofsd/fuse_lowlevel.c:632: +^I}$ ERROR: code indent should never use tabs #655: FILE: tools/virtiofsd/fuse_lowlevel.c:633: +^Iclose(maxfd);$ ERROR: code indent should never use tabs #656: FILE: tools/virtiofsd/fuse_lowlevel.c:634: +^Ibuf[res] = '\0';$ ERROR: code indent should never use tabs #658: FILE: tools/virtiofsd/fuse_lowlevel.c:636: +^Imax = atoi(buf);$ ERROR: code indent should never use tabs #659: FILE: tools/virtiofsd/fuse_lowlevel.c:637: +^Ires = fcntl(pipefd, F_SETPIPE_SZ, max);$ ERROR: code indent should never use tabs #660: FILE: tools/virtiofsd/fuse_lowlevel.c:638: +^Iif (res < 0)$ ERROR: braces {} are necessary for all arms of this statement #660: FILE: tools/virtiofsd/fuse_lowlevel.c:638: + if (res < 0) [...] ERROR: code indent should never use tabs #661: FILE: tools/virtiofsd/fuse_lowlevel.c:639: +^I^Ireturn -errno;$ ERROR: code indent should never use tabs #662: FILE: tools/virtiofsd/fuse_lowlevel.c:640: +^Ireturn max;$ ERROR: code indent should never use tabs #666: FILE: tools/virtiofsd/fuse_lowlevel.c:644: +^I^I^I struct iovec *iov, int iov_count,$ ERROR: code indent should never use tabs #667: FILE: tools/virtiofsd/fuse_lowlevel.c:645: +^I^I^I struct fuse_bufvec *buf, unsigned int flags)$ ERROR: code indent should never use tabs #669: FILE: tools/virtiofsd/fuse_lowlevel.c:647: +^Iint res;$ ERROR: code indent should never use tabs #670: FILE: tools/virtiofsd/fuse_lowlevel.c:648: +^Isize_t len = fuse_buf_size(buf);$ ERROR: code indent should never use tabs #671: FILE: tools/virtiofsd/fuse_lowlevel.c:649: +^Istruct fuse_out_header *out = iov[0].iov_base;$ ERROR: code indent should never use tabs #672: FILE: tools/virtiofsd/fuse_lowlevel.c:650: +^Istruct fuse_ll_pipe *llp;$ ERROR: code indent should never use tabs #673: FILE: tools/virtiofsd/fuse_lowlevel.c:651: +^Iint splice_flags;$ ERROR: code indent should never use tabs #674: FILE: tools/virtiofsd/fuse_lowlevel.c:652: +^Isize_t pipesize;$ ERROR: code indent should never use tabs #675: FILE: tools/virtiofsd/fuse_lowlevel.c:653: +^Isize_t total_fd_size;$ ERROR: code indent should never use tabs #676: FILE: tools/virtiofsd/fuse_lowlevel.c:654: +^Isize_t idx;$ ERROR: code indent should never use tabs #677: FILE: tools/virtiofsd/fuse_lowlevel.c:655: +^Isize_t headerlen;$ ERROR: code indent should never use tabs #678: FILE: tools/virtiofsd/fuse_lowlevel.c:656: +^Istruct fuse_bufvec pipe_buf = FUSE_BUFVEC_INIT(len);$ ERROR: code indent should never use tabs #680: FILE: tools/virtiofsd/fuse_lowlevel.c:658: +^Iif (se->broken_splice_nonblock)$ ERROR: braces {} are necessary for all arms of this statement #680: FILE: tools/virtiofsd/fuse_lowlevel.c:658: + if (se->broken_splice_nonblock) [...] ERROR: code indent should never use tabs #681: FILE: tools/virtiofsd/fuse_lowlevel.c:659: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #683: FILE: tools/virtiofsd/fuse_lowlevel.c:661: +^Iif (flags & FUSE_BUF_NO_SPLICE)$ ERROR: braces {} are necessary for all arms of this statement #683: FILE: tools/virtiofsd/fuse_lowlevel.c:661: + if (flags & FUSE_BUF_NO_SPLICE) [...] ERROR: code indent should never use tabs #684: FILE: tools/virtiofsd/fuse_lowlevel.c:662: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #686: FILE: tools/virtiofsd/fuse_lowlevel.c:664: +^Itotal_fd_size = 0;$ ERROR: code indent should never use tabs #687: FILE: tools/virtiofsd/fuse_lowlevel.c:665: +^Ifor (idx = buf->idx; idx < buf->count; idx++) {$ ERROR: code indent should never use tabs #688: FILE: tools/virtiofsd/fuse_lowlevel.c:666: +^I^Iif (buf->buf[idx].flags & FUSE_BUF_IS_FD) {$ ERROR: code indent should never use tabs #689: FILE: tools/virtiofsd/fuse_lowlevel.c:667: +^I^I^Itotal_fd_size = buf->buf[idx].size;$ ERROR: code indent should never use tabs #690: FILE: tools/virtiofsd/fuse_lowlevel.c:668: +^I^I^Iif (idx == buf->idx)$ ERROR: braces {} are necessary for all arms of this statement #690: FILE: tools/virtiofsd/fuse_lowlevel.c:668: + if (idx == buf->idx) [...] ERROR: code indent should never use tabs #691: FILE: tools/virtiofsd/fuse_lowlevel.c:669: +^I^I^I^Itotal_fd_size -= buf->off;$ ERROR: code indent should never use tabs #692: FILE: tools/virtiofsd/fuse_lowlevel.c:670: +^I^I}$ ERROR: code indent should never use tabs #693: FILE: tools/virtiofsd/fuse_lowlevel.c:671: +^I}$ ERROR: code indent should never use tabs #694: FILE: tools/virtiofsd/fuse_lowlevel.c:672: +^Iif (total_fd_size < 2 * pagesize)$ ERROR: braces {} are necessary for all arms of this statement #694: FILE: tools/virtiofsd/fuse_lowlevel.c:672: + if (total_fd_size < 2 * pagesize) [...] ERROR: code indent should never use tabs #695: FILE: tools/virtiofsd/fuse_lowlevel.c:673: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #697: FILE: tools/virtiofsd/fuse_lowlevel.c:675: +^Iif (se->conn.proto_minor < 14 ||$ ERROR: code indent should never use tabs #698: FILE: tools/virtiofsd/fuse_lowlevel.c:676: +^I !(se->conn.want & FUSE_CAP_SPLICE_WRITE))$ ERROR: code indent should never use tabs #699: FILE: tools/virtiofsd/fuse_lowlevel.c:677: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #701: FILE: tools/virtiofsd/fuse_lowlevel.c:679: +^Illp = fuse_ll_get_pipe(se);$ ERROR: code indent should never use tabs #702: FILE: tools/virtiofsd/fuse_lowlevel.c:680: +^Iif (llp == NULL)$ ERROR: braces {} are necessary for all arms of this statement #702: FILE: tools/virtiofsd/fuse_lowlevel.c:680: + if (llp == NULL) [...] ERROR: code indent should never use tabs #703: FILE: tools/virtiofsd/fuse_lowlevel.c:681: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #706: FILE: tools/virtiofsd/fuse_lowlevel.c:684: +^Iheaderlen = iov_length(iov, iov_count);$ ERROR: code indent should never use tabs #708: FILE: tools/virtiofsd/fuse_lowlevel.c:686: +^Iout->len = headerlen + len;$ ERROR: code indent should never use tabs #710: FILE: tools/virtiofsd/fuse_lowlevel.c:688: +^I/*$ ERROR: code indent should never use tabs #711: FILE: tools/virtiofsd/fuse_lowlevel.c:689: +^I * Heuristic for the required pipe size, does not work if the$ ERROR: code indent should never use tabs #712: FILE: tools/virtiofsd/fuse_lowlevel.c:690: +^I * source contains less than page size fragments$ ERROR: code indent should never use tabs #713: FILE: tools/virtiofsd/fuse_lowlevel.c:691: +^I */$ ERROR: code indent should never use tabs #714: FILE: tools/virtiofsd/fuse_lowlevel.c:692: +^Ipipesize = pagesize * (iov_count + buf->count + 1) + out->len;$ ERROR: code indent should never use tabs #716: FILE: tools/virtiofsd/fuse_lowlevel.c:694: +^Iif (llp->size < pipesize) {$ ERROR: code indent should never use tabs #717: FILE: tools/virtiofsd/fuse_lowlevel.c:695: +^I^Iif (llp->can_grow) {$ ERROR: code indent should never use tabs #718: FILE: tools/virtiofsd/fuse_lowlevel.c:696: +^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, pipesize);$ ERROR: code indent should never use tabs #719: FILE: tools/virtiofsd/fuse_lowlevel.c:697: +^I^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #720: FILE: tools/virtiofsd/fuse_lowlevel.c:698: +^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$ ERROR: code indent should never use tabs #721: FILE: tools/virtiofsd/fuse_lowlevel.c:699: +^I^I^I^Iif (res > 0)$ ERROR: braces {} are necessary for all arms of this statement #721: FILE: tools/virtiofsd/fuse_lowlevel.c:699: + if (res > 0) [...] ERROR: code indent should never use tabs #722: FILE: tools/virtiofsd/fuse_lowlevel.c:700: +^I^I^I^I^Illp->size = res;$ ERROR: code indent should never use tabs #723: FILE: tools/virtiofsd/fuse_lowlevel.c:701: +^I^I^I^Illp->can_grow = 0;$ ERROR: code indent should never use tabs #724: FILE: tools/virtiofsd/fuse_lowlevel.c:702: +^I^I^I^Igoto fallback;$ ERROR: code indent should never use tabs #725: FILE: tools/virtiofsd/fuse_lowlevel.c:703: +^I^I^I}$ ERROR: code indent should never use tabs #726: FILE: tools/virtiofsd/fuse_lowlevel.c:704: +^I^I^Illp->size = res;$ ERROR: code indent should never use tabs #727: FILE: tools/virtiofsd/fuse_lowlevel.c:705: +^I^I}$ ERROR: code indent should never use tabs #728: FILE: tools/virtiofsd/fuse_lowlevel.c:706: +^I^Iif (llp->size < pipesize)$ ERROR: braces {} are necessary for all arms of this statement #728: FILE: tools/virtiofsd/fuse_lowlevel.c:706: + if (llp->size < pipesize) [...] ERROR: code indent should never use tabs #729: FILE: tools/virtiofsd/fuse_lowlevel.c:707: +^I^I^Igoto fallback;$ ERROR: code indent should never use tabs #730: FILE: tools/virtiofsd/fuse_lowlevel.c:708: +^I}$ ERROR: code indent should never use tabs #733: FILE: tools/virtiofsd/fuse_lowlevel.c:711: +^Ires = vmsplice(llp->pipe[1], iov, iov_count, SPLICE_F_NONBLOCK);$ ERROR: code indent should never use tabs #734: FILE: tools/virtiofsd/fuse_lowlevel.c:712: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #734: FILE: tools/virtiofsd/fuse_lowlevel.c:712: + if (res == -1) [...] ERROR: code indent should never use tabs #735: FILE: tools/virtiofsd/fuse_lowlevel.c:713: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #737: FILE: tools/virtiofsd/fuse_lowlevel.c:715: +^Iif (res != headerlen) {$ ERROR: code indent should never use tabs #738: FILE: tools/virtiofsd/fuse_lowlevel.c:716: +^I^Ires = -EIO;$ WARNING: line over 80 characters #739: FILE: tools/virtiofsd/fuse_lowlevel.c:717: + fuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: %u/%zu\n", res, ERROR: code indent should never use tabs #739: FILE: tools/virtiofsd/fuse_lowlevel.c:717: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short vmsplice to pipe: %u/%zu\n", res,$ ERROR: code indent should never use tabs #740: FILE: tools/virtiofsd/fuse_lowlevel.c:718: +^I^I^Iheaderlen);$ ERROR: code indent should never use tabs #741: FILE: tools/virtiofsd/fuse_lowlevel.c:719: +^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #742: FILE: tools/virtiofsd/fuse_lowlevel.c:720: +^I}$ ERROR: code indent should never use tabs #744: FILE: tools/virtiofsd/fuse_lowlevel.c:722: +^Ipipe_buf.buf[0].flags = FUSE_BUF_IS_FD;$ ERROR: code indent should never use tabs #745: FILE: tools/virtiofsd/fuse_lowlevel.c:723: +^Ipipe_buf.buf[0].fd = llp->pipe[1];$ ERROR: code indent should never use tabs #747: FILE: tools/virtiofsd/fuse_lowlevel.c:725: +^Ires = fuse_buf_copy(&pipe_buf, buf,$ ERROR: code indent should never use tabs #748: FILE: tools/virtiofsd/fuse_lowlevel.c:726: +^I^I^I FUSE_BUF_FORCE_SPLICE | FUSE_BUF_SPLICE_NONBLOCK);$ ERROR: code indent should never use tabs #749: FILE: tools/virtiofsd/fuse_lowlevel.c:727: +^Iif (res < 0) {$ ERROR: code indent should never use tabs #750: FILE: tools/virtiofsd/fuse_lowlevel.c:728: +^I^Iif (res == -EAGAIN || res == -EINVAL) {$ ERROR: code indent should never use tabs #751: FILE: tools/virtiofsd/fuse_lowlevel.c:729: +^I^I^I/*$ ERROR: code indent should never use tabs #752: FILE: tools/virtiofsd/fuse_lowlevel.c:730: +^I^I^I * Should only get EAGAIN on kernels with$ ERROR: code indent should never use tabs #753: FILE: tools/virtiofsd/fuse_lowlevel.c:731: +^I^I^I * broken SPLICE_F_NONBLOCK support (<=$ ERROR: code indent should never use tabs #754: FILE: tools/virtiofsd/fuse_lowlevel.c:732: +^I^I^I * 2.6.35) where this error or a short read is$ ERROR: code indent should never use tabs #755: FILE: tools/virtiofsd/fuse_lowlevel.c:733: +^I^I^I * returned even if the pipe itself is not$ ERROR: code indent should never use tabs #756: FILE: tools/virtiofsd/fuse_lowlevel.c:734: +^I^I^I * full$ ERROR: code indent should never use tabs #757: FILE: tools/virtiofsd/fuse_lowlevel.c:735: +^I^I^I *$ ERROR: code indent should never use tabs #758: FILE: tools/virtiofsd/fuse_lowlevel.c:736: +^I^I^I * EINVAL might mean that splice can't handle$ ERROR: code indent should never use tabs #759: FILE: tools/virtiofsd/fuse_lowlevel.c:737: +^I^I^I * this combination of input and output.$ ERROR: code indent should never use tabs #760: FILE: tools/virtiofsd/fuse_lowlevel.c:738: +^I^I^I */$ ERROR: code indent should never use tabs #761: FILE: tools/virtiofsd/fuse_lowlevel.c:739: +^I^I^Iif (res == -EAGAIN)$ ERROR: braces {} are necessary for all arms of this statement #761: FILE: tools/virtiofsd/fuse_lowlevel.c:739: + if (res == -EAGAIN) [...] ERROR: code indent should never use tabs #762: FILE: tools/virtiofsd/fuse_lowlevel.c:740: +^I^I^I^Ise->broken_splice_nonblock = 1;$ ERROR: code indent should never use tabs #764: FILE: tools/virtiofsd/fuse_lowlevel.c:742: +^I^I^Ipthread_setspecific(se->pipe_key, NULL);$ ERROR: code indent should never use tabs #765: FILE: tools/virtiofsd/fuse_lowlevel.c:743: +^I^I^Ifuse_ll_pipe_free(llp);$ ERROR: code indent should never use tabs #766: FILE: tools/virtiofsd/fuse_lowlevel.c:744: +^I^I^Igoto fallback;$ ERROR: code indent should never use tabs #767: FILE: tools/virtiofsd/fuse_lowlevel.c:745: +^I^I}$ ERROR: code indent should never use tabs #768: FILE: tools/virtiofsd/fuse_lowlevel.c:746: +^I^Ires = -res;$ ERROR: code indent should never use tabs #769: FILE: tools/virtiofsd/fuse_lowlevel.c:747: +^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #770: FILE: tools/virtiofsd/fuse_lowlevel.c:748: +^I}$ ERROR: code indent should never use tabs #772: FILE: tools/virtiofsd/fuse_lowlevel.c:750: +^Iif (res != 0 && res < len) {$ ERROR: code indent should never use tabs #773: FILE: tools/virtiofsd/fuse_lowlevel.c:751: +^I^Istruct fuse_bufvec mem_buf = FUSE_BUFVEC_INIT(len);$ ERROR: code indent should never use tabs #774: FILE: tools/virtiofsd/fuse_lowlevel.c:752: +^I^Ivoid *mbuf;$ ERROR: code indent should never use tabs #775: FILE: tools/virtiofsd/fuse_lowlevel.c:753: +^I^Isize_t now_len = res;$ ERROR: code indent should never use tabs #776: FILE: tools/virtiofsd/fuse_lowlevel.c:754: +^I^I/*$ ERROR: code indent should never use tabs #777: FILE: tools/virtiofsd/fuse_lowlevel.c:755: +^I^I * For regular files a short count is either$ ERROR: code indent should never use tabs #778: FILE: tools/virtiofsd/fuse_lowlevel.c:756: +^I^I * 1) due to EOF, or$ ERROR: code indent should never use tabs #779: FILE: tools/virtiofsd/fuse_lowlevel.c:757: +^I^I * 2) because of broken SPLICE_F_NONBLOCK (see above)$ ERROR: code indent should never use tabs #780: FILE: tools/virtiofsd/fuse_lowlevel.c:758: +^I^I *$ ERROR: code indent should never use tabs #781: FILE: tools/virtiofsd/fuse_lowlevel.c:759: +^I^I * For other inputs it's possible that we overflowed$ ERROR: code indent should never use tabs #782: FILE: tools/virtiofsd/fuse_lowlevel.c:760: +^I^I * the pipe because of small buffer fragments.$ ERROR: code indent should never use tabs #783: FILE: tools/virtiofsd/fuse_lowlevel.c:761: +^I^I */$ ERROR: code indent should never use tabs #785: FILE: tools/virtiofsd/fuse_lowlevel.c:763: +^I^Ires = posix_memalign(&mbuf, pagesize, len);$ ERROR: code indent should never use tabs #786: FILE: tools/virtiofsd/fuse_lowlevel.c:764: +^I^Iif (res != 0)$ ERROR: braces {} are necessary for all arms of this statement #786: FILE: tools/virtiofsd/fuse_lowlevel.c:764: + if (res != 0) [...] ERROR: code indent should never use tabs #787: FILE: tools/virtiofsd/fuse_lowlevel.c:765: +^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #789: FILE: tools/virtiofsd/fuse_lowlevel.c:767: +^I^Imem_buf.buf[0].mem = mbuf;$ ERROR: code indent should never use tabs #790: FILE: tools/virtiofsd/fuse_lowlevel.c:768: +^I^Imem_buf.off = now_len;$ ERROR: code indent should never use tabs #791: FILE: tools/virtiofsd/fuse_lowlevel.c:769: +^I^Ires = fuse_buf_copy(&mem_buf, buf, 0);$ ERROR: code indent should never use tabs #792: FILE: tools/virtiofsd/fuse_lowlevel.c:770: +^I^Iif (res > 0) {$ ERROR: code indent should never use tabs #793: FILE: tools/virtiofsd/fuse_lowlevel.c:771: +^I^I^Ichar *tmpbuf;$ ERROR: code indent should never use tabs #794: FILE: tools/virtiofsd/fuse_lowlevel.c:772: +^I^I^Isize_t extra_len = res;$ ERROR: code indent should never use tabs #795: FILE: tools/virtiofsd/fuse_lowlevel.c:773: +^I^I^I/*$ ERROR: code indent should never use tabs #796: FILE: tools/virtiofsd/fuse_lowlevel.c:774: +^I^I^I * Trickiest case: got more data. Need to get$ ERROR: code indent should never use tabs #797: FILE: tools/virtiofsd/fuse_lowlevel.c:775: +^I^I^I * back the data from the pipe and then fall$ ERROR: code indent should never use tabs #798: FILE: tools/virtiofsd/fuse_lowlevel.c:776: +^I^I^I * back to regular write.$ ERROR: code indent should never use tabs #799: FILE: tools/virtiofsd/fuse_lowlevel.c:777: +^I^I^I */$ ERROR: code indent should never use tabs #800: FILE: tools/virtiofsd/fuse_lowlevel.c:778: +^I^I^Itmpbuf = malloc(headerlen);$ ERROR: code indent should never use tabs #801: FILE: tools/virtiofsd/fuse_lowlevel.c:779: +^I^I^Iif (tmpbuf == NULL) {$ ERROR: code indent should never use tabs #802: FILE: tools/virtiofsd/fuse_lowlevel.c:780: +^I^I^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #803: FILE: tools/virtiofsd/fuse_lowlevel.c:781: +^I^I^I^Ires = ENOMEM;$ ERROR: code indent should never use tabs #804: FILE: tools/virtiofsd/fuse_lowlevel.c:782: +^I^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #805: FILE: tools/virtiofsd/fuse_lowlevel.c:783: +^I^I^I}$ ERROR: code indent should never use tabs #806: FILE: tools/virtiofsd/fuse_lowlevel.c:784: +^I^I^Ires = read_back(llp->pipe[0], tmpbuf, headerlen);$ ERROR: code indent should never use tabs #807: FILE: tools/virtiofsd/fuse_lowlevel.c:785: +^I^I^Ifree(tmpbuf);$ ERROR: code indent should never use tabs #808: FILE: tools/virtiofsd/fuse_lowlevel.c:786: +^I^I^Iif (res != 0) {$ ERROR: code indent should never use tabs #809: FILE: tools/virtiofsd/fuse_lowlevel.c:787: +^I^I^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #810: FILE: tools/virtiofsd/fuse_lowlevel.c:788: +^I^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #811: FILE: tools/virtiofsd/fuse_lowlevel.c:789: +^I^I^I}$ ERROR: code indent should never use tabs #812: FILE: tools/virtiofsd/fuse_lowlevel.c:790: +^I^I^Ires = read_back(llp->pipe[0], mbuf, now_len);$ ERROR: code indent should never use tabs #813: FILE: tools/virtiofsd/fuse_lowlevel.c:791: +^I^I^Iif (res != 0) {$ ERROR: code indent should never use tabs #814: FILE: tools/virtiofsd/fuse_lowlevel.c:792: +^I^I^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #815: FILE: tools/virtiofsd/fuse_lowlevel.c:793: +^I^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #816: FILE: tools/virtiofsd/fuse_lowlevel.c:794: +^I^I^I}$ ERROR: code indent should never use tabs #817: FILE: tools/virtiofsd/fuse_lowlevel.c:795: +^I^I^Ilen = now_len + extra_len;$ ERROR: code indent should never use tabs #818: FILE: tools/virtiofsd/fuse_lowlevel.c:796: +^I^I^Iiov[iov_count].iov_base = mbuf;$ ERROR: code indent should never use tabs #819: FILE: tools/virtiofsd/fuse_lowlevel.c:797: +^I^I^Iiov[iov_count].iov_len = len;$ ERROR: code indent should never use tabs #820: FILE: tools/virtiofsd/fuse_lowlevel.c:798: +^I^I^Iiov_count++;$ ERROR: code indent should never use tabs #821: FILE: tools/virtiofsd/fuse_lowlevel.c:799: +^I^I^Ires = fuse_send_msg(se, ch, iov, iov_count);$ ERROR: code indent should never use tabs #822: FILE: tools/virtiofsd/fuse_lowlevel.c:800: +^I^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #823: FILE: tools/virtiofsd/fuse_lowlevel.c:801: +^I^I^Ireturn res;$ ERROR: code indent should never use tabs #824: FILE: tools/virtiofsd/fuse_lowlevel.c:802: +^I^I}$ ERROR: code indent should never use tabs #825: FILE: tools/virtiofsd/fuse_lowlevel.c:803: +^I^Ifree(mbuf);$ ERROR: code indent should never use tabs #826: FILE: tools/virtiofsd/fuse_lowlevel.c:804: +^I^Ires = now_len;$ ERROR: code indent should never use tabs #827: FILE: tools/virtiofsd/fuse_lowlevel.c:805: +^I}$ ERROR: code indent should never use tabs #828: FILE: tools/virtiofsd/fuse_lowlevel.c:806: +^Ilen = res;$ ERROR: code indent should never use tabs #829: FILE: tools/virtiofsd/fuse_lowlevel.c:807: +^Iout->len = headerlen + len;$ ERROR: code indent should never use tabs #831: FILE: tools/virtiofsd/fuse_lowlevel.c:809: +^Iif (se->debug) {$ ERROR: code indent should never use tabs #832: FILE: tools/virtiofsd/fuse_lowlevel.c:810: +^I^Ifuse_log(FUSE_LOG_DEBUG,$ ERROR: code indent should never use tabs #833: FILE: tools/virtiofsd/fuse_lowlevel.c:811: +^I^I^I" unique: %llu, success, outsize: %i (splice)\n",$ ERROR: code indent should never use tabs #834: FILE: tools/virtiofsd/fuse_lowlevel.c:812: +^I^I^I(unsigned long long) out->unique, out->len);$ ERROR: code indent should never use tabs #835: FILE: tools/virtiofsd/fuse_lowlevel.c:813: +^I}$ ERROR: code indent should never use tabs #837: FILE: tools/virtiofsd/fuse_lowlevel.c:815: +^Isplice_flags = 0;$ ERROR: code indent should never use tabs #838: FILE: tools/virtiofsd/fuse_lowlevel.c:816: +^Iif ((flags & FUSE_BUF_SPLICE_MOVE) &&$ ERROR: code indent should never use tabs #839: FILE: tools/virtiofsd/fuse_lowlevel.c:817: +^I (se->conn.want & FUSE_CAP_SPLICE_MOVE))$ ERROR: code indent should never use tabs #840: FILE: tools/virtiofsd/fuse_lowlevel.c:818: +^I^Isplice_flags |= SPLICE_F_MOVE;$ ERROR: code indent should never use tabs #842: FILE: tools/virtiofsd/fuse_lowlevel.c:820: +^Ires = splice(llp->pipe[0], NULL, ch ? ch->fd : se->fd,$ ERROR: code indent should never use tabs #843: FILE: tools/virtiofsd/fuse_lowlevel.c:821: +^I^I NULL, out->len, splice_flags);$ ERROR: code indent should never use tabs #844: FILE: tools/virtiofsd/fuse_lowlevel.c:822: +^Iif (res == -1) {$ ERROR: code indent should never use tabs #845: FILE: tools/virtiofsd/fuse_lowlevel.c:823: +^I^Ires = -errno;$ ERROR: code indent should never use tabs #846: FILE: tools/virtiofsd/fuse_lowlevel.c:824: +^I^Iperror("fuse: splice from pipe");$ ERROR: code indent should never use tabs #847: FILE: tools/virtiofsd/fuse_lowlevel.c:825: +^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #848: FILE: tools/virtiofsd/fuse_lowlevel.c:826: +^I}$ ERROR: code indent should never use tabs #849: FILE: tools/virtiofsd/fuse_lowlevel.c:827: +^Iif (res != out->len) {$ ERROR: code indent should never use tabs #850: FILE: tools/virtiofsd/fuse_lowlevel.c:828: +^I^Ires = -EIO;$ ERROR: code indent should never use tabs #851: FILE: tools/virtiofsd/fuse_lowlevel.c:829: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: short splice from pipe: %u/%u\n",$ ERROR: code indent should never use tabs #852: FILE: tools/virtiofsd/fuse_lowlevel.c:830: +^I^I^Ires, out->len);$ ERROR: code indent should never use tabs #853: FILE: tools/virtiofsd/fuse_lowlevel.c:831: +^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #854: FILE: tools/virtiofsd/fuse_lowlevel.c:832: +^I}$ ERROR: code indent should never use tabs #855: FILE: tools/virtiofsd/fuse_lowlevel.c:833: +^Ireturn 0;$ ERROR: code indent should never use tabs #858: FILE: tools/virtiofsd/fuse_lowlevel.c:836: +^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #859: FILE: tools/virtiofsd/fuse_lowlevel.c:837: +^Ireturn res;$ ERROR: code indent should never use tabs #862: FILE: tools/virtiofsd/fuse_lowlevel.c:840: +^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$ ERROR: code indent should never use tabs #866: FILE: tools/virtiofsd/fuse_lowlevel.c:844: +^I^I^I struct iovec *iov, int iov_count,$ ERROR: code indent should never use tabs #867: FILE: tools/virtiofsd/fuse_lowlevel.c:845: +^I^I^I struct fuse_bufvec *buf, unsigned int flags)$ ERROR: code indent should never use tabs #869: FILE: tools/virtiofsd/fuse_lowlevel.c:847: +^Isize_t len = fuse_buf_size(buf);$ ERROR: code indent should never use tabs #870: FILE: tools/virtiofsd/fuse_lowlevel.c:848: +^I(void) flags;$ ERROR: code indent should never use tabs #872: FILE: tools/virtiofsd/fuse_lowlevel.c:850: +^Ireturn fuse_send_data_iov_fallback(se, ch, iov, iov_count, buf, len);$ ERROR: code indent should never use tabs #877: FILE: tools/virtiofsd/fuse_lowlevel.c:855: +^I^I enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #879: FILE: tools/virtiofsd/fuse_lowlevel.c:857: +^Istruct iovec iov[2];$ ERROR: code indent should never use tabs #880: FILE: tools/virtiofsd/fuse_lowlevel.c:858: +^Istruct fuse_out_header out;$ ERROR: code indent should never use tabs #881: FILE: tools/virtiofsd/fuse_lowlevel.c:859: +^Iint res;$ ERROR: code indent should never use tabs #883: FILE: tools/virtiofsd/fuse_lowlevel.c:861: +^Iiov[0].iov_base = &out;$ ERROR: code indent should never use tabs #884: FILE: tools/virtiofsd/fuse_lowlevel.c:862: +^Iiov[0].iov_len = sizeof(struct fuse_out_header);$ ERROR: code indent should never use tabs #886: FILE: tools/virtiofsd/fuse_lowlevel.c:864: +^Iout.unique = req->unique;$ ERROR: code indent should never use tabs #887: FILE: tools/virtiofsd/fuse_lowlevel.c:865: +^Iout.error = 0;$ ERROR: code indent should never use tabs #889: FILE: tools/virtiofsd/fuse_lowlevel.c:867: +^Ires = fuse_send_data_iov(req->se, req->ch, iov, 1, bufv, flags);$ ERROR: code indent should never use tabs #890: FILE: tools/virtiofsd/fuse_lowlevel.c:868: +^Iif (res <= 0) {$ ERROR: code indent should never use tabs #891: FILE: tools/virtiofsd/fuse_lowlevel.c:869: +^I^Ifuse_free_req(req);$ ERROR: code indent should never use tabs #892: FILE: tools/virtiofsd/fuse_lowlevel.c:870: +^I^Ireturn res;$ ERROR: code indent should never use tabs #893: FILE: tools/virtiofsd/fuse_lowlevel.c:871: +^I} else {$ ERROR: code indent should never use tabs #894: FILE: tools/virtiofsd/fuse_lowlevel.c:872: +^I^Ireturn fuse_reply_err(req, res);$ ERROR: code indent should never use tabs #895: FILE: tools/virtiofsd/fuse_lowlevel.c:873: +^I}$ ERROR: code indent should never use tabs #900: FILE: tools/virtiofsd/fuse_lowlevel.c:878: +^Istruct fuse_statfs_out arg;$ ERROR: code indent should never use tabs #901: FILE: tools/virtiofsd/fuse_lowlevel.c:879: +^Isize_t size = req->se->conn.proto_minor < 4 ?$ ERROR: code indent should never use tabs #902: FILE: tools/virtiofsd/fuse_lowlevel.c:880: +^I^IFUSE_COMPAT_STATFS_SIZE : sizeof(arg);$ ERROR: code indent should never use tabs #904: FILE: tools/virtiofsd/fuse_lowlevel.c:882: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #905: FILE: tools/virtiofsd/fuse_lowlevel.c:883: +^Iconvert_statfs(stbuf, &arg.st);$ ERROR: code indent should never use tabs #907: FILE: tools/virtiofsd/fuse_lowlevel.c:885: +^Ireturn send_reply_ok(req, &arg, size);$ ERROR: code indent should never use tabs #912: FILE: tools/virtiofsd/fuse_lowlevel.c:890: +^Istruct fuse_getxattr_out arg;$ ERROR: code indent should never use tabs #914: FILE: tools/virtiofsd/fuse_lowlevel.c:892: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #915: FILE: tools/virtiofsd/fuse_lowlevel.c:893: +^Iarg.size = count;$ ERROR: code indent should never use tabs #917: FILE: tools/virtiofsd/fuse_lowlevel.c:895: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #922: FILE: tools/virtiofsd/fuse_lowlevel.c:900: +^Istruct fuse_lk_out arg;$ ERROR: code indent should never use tabs #924: FILE: tools/virtiofsd/fuse_lowlevel.c:902: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #925: FILE: tools/virtiofsd/fuse_lowlevel.c:903: +^Iarg.lk.type = lock->l_type;$ ERROR: code indent should never use tabs #926: FILE: tools/virtiofsd/fuse_lowlevel.c:904: +^Iif (lock->l_type != F_UNLCK) {$ ERROR: code indent should never use tabs #927: FILE: tools/virtiofsd/fuse_lowlevel.c:905: +^I^Iarg.lk.start = lock->l_start;$ ERROR: code indent should never use tabs #928: FILE: tools/virtiofsd/fuse_lowlevel.c:906: +^I^Iif (lock->l_len == 0)$ ERROR: braces {} are necessary for all arms of this statement #928: FILE: tools/virtiofsd/fuse_lowlevel.c:906: + if (lock->l_len == 0) [...] + else [...] ERROR: code indent should never use tabs #929: FILE: tools/virtiofsd/fuse_lowlevel.c:907: +^I^I^Iarg.lk.end = OFFSET_MAX;$ ERROR: code indent should never use tabs #930: FILE: tools/virtiofsd/fuse_lowlevel.c:908: +^I^Ielse$ ERROR: code indent should never use tabs #931: FILE: tools/virtiofsd/fuse_lowlevel.c:909: +^I^I^Iarg.lk.end = lock->l_start + lock->l_len - 1;$ ERROR: code indent should never use tabs #932: FILE: tools/virtiofsd/fuse_lowlevel.c:910: +^I}$ ERROR: code indent should never use tabs #933: FILE: tools/virtiofsd/fuse_lowlevel.c:911: +^Iarg.lk.pid = lock->l_pid;$ ERROR: code indent should never use tabs #934: FILE: tools/virtiofsd/fuse_lowlevel.c:912: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #939: FILE: tools/virtiofsd/fuse_lowlevel.c:917: +^Istruct fuse_bmap_out arg;$ ERROR: code indent should never use tabs #941: FILE: tools/virtiofsd/fuse_lowlevel.c:919: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #942: FILE: tools/virtiofsd/fuse_lowlevel.c:920: +^Iarg.block = idx;$ ERROR: code indent should never use tabs #944: FILE: tools/virtiofsd/fuse_lowlevel.c:922: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #948: FILE: tools/virtiofsd/fuse_lowlevel.c:926: +^I^I^I^I^I^I size_t count)$ ERROR: code indent should never use tabs #950: FILE: tools/virtiofsd/fuse_lowlevel.c:928: +^Istruct fuse_ioctl_iovec *fiov;$ ERROR: code indent should never use tabs #951: FILE: tools/virtiofsd/fuse_lowlevel.c:929: +^Isize_t i;$ ERROR: code indent should never use tabs #953: FILE: tools/virtiofsd/fuse_lowlevel.c:931: +^Ifiov = malloc(sizeof(fiov[0]) * count);$ ERROR: code indent should never use tabs #954: FILE: tools/virtiofsd/fuse_lowlevel.c:932: +^Iif (!fiov)$ ERROR: braces {} are necessary for all arms of this statement #954: FILE: tools/virtiofsd/fuse_lowlevel.c:932: + if (!fiov) [...] ERROR: code indent should never use tabs #955: FILE: tools/virtiofsd/fuse_lowlevel.c:933: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #957: FILE: tools/virtiofsd/fuse_lowlevel.c:935: +^Ifor (i = 0; i < count; i++) {$ ERROR: code indent should never use tabs #958: FILE: tools/virtiofsd/fuse_lowlevel.c:936: +^I^Ifiov[i].base = (uintptr_t) iov[i].iov_base;$ ERROR: code indent should never use tabs #959: FILE: tools/virtiofsd/fuse_lowlevel.c:937: +^I^Ifiov[i].len = iov[i].iov_len;$ ERROR: code indent should never use tabs #960: FILE: tools/virtiofsd/fuse_lowlevel.c:938: +^I}$ ERROR: code indent should never use tabs #962: FILE: tools/virtiofsd/fuse_lowlevel.c:940: +^Ireturn fiov;$ ERROR: code indent should never use tabs #966: FILE: tools/virtiofsd/fuse_lowlevel.c:944: +^I^I^I const struct iovec *in_iov, size_t in_count,$ ERROR: code indent should never use tabs #967: FILE: tools/virtiofsd/fuse_lowlevel.c:945: +^I^I^I const struct iovec *out_iov, size_t out_count)$ ERROR: code indent should never use tabs #969: FILE: tools/virtiofsd/fuse_lowlevel.c:947: +^Istruct fuse_ioctl_out arg;$ ERROR: code indent should never use tabs #970: FILE: tools/virtiofsd/fuse_lowlevel.c:948: +^Istruct fuse_ioctl_iovec *in_fiov = NULL;$ ERROR: code indent should never use tabs #971: FILE: tools/virtiofsd/fuse_lowlevel.c:949: +^Istruct fuse_ioctl_iovec *out_fiov = NULL;$ ERROR: code indent should never use tabs #972: FILE: tools/virtiofsd/fuse_lowlevel.c:950: +^Istruct iovec iov[4];$ ERROR: code indent should never use tabs #973: FILE: tools/virtiofsd/fuse_lowlevel.c:951: +^Isize_t count = 1;$ ERROR: code indent should never use tabs #974: FILE: tools/virtiofsd/fuse_lowlevel.c:952: +^Iint res;$ ERROR: code indent should never use tabs #976: FILE: tools/virtiofsd/fuse_lowlevel.c:954: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #977: FILE: tools/virtiofsd/fuse_lowlevel.c:955: +^Iarg.flags |= FUSE_IOCTL_RETRY;$ ERROR: code indent should never use tabs #978: FILE: tools/virtiofsd/fuse_lowlevel.c:956: +^Iarg.in_iovs = in_count;$ ERROR: code indent should never use tabs #979: FILE: tools/virtiofsd/fuse_lowlevel.c:957: +^Iarg.out_iovs = out_count;$ ERROR: code indent should never use tabs #980: FILE: tools/virtiofsd/fuse_lowlevel.c:958: +^Iiov[count].iov_base = &arg;$ ERROR: code indent should never use tabs #981: FILE: tools/virtiofsd/fuse_lowlevel.c:959: +^Iiov[count].iov_len = sizeof(arg);$ ERROR: code indent should never use tabs #982: FILE: tools/virtiofsd/fuse_lowlevel.c:960: +^Icount++;$ ERROR: code indent should never use tabs #984: FILE: tools/virtiofsd/fuse_lowlevel.c:962: +^Iif (req->se->conn.proto_minor < 16) {$ ERROR: code indent should never use tabs #985: FILE: tools/virtiofsd/fuse_lowlevel.c:963: +^I^Iif (in_count) {$ ERROR: code indent should never use tabs #986: FILE: tools/virtiofsd/fuse_lowlevel.c:964: +^I^I^Iiov[count].iov_base = (void *)in_iov;$ ERROR: code indent should never use tabs #987: FILE: tools/virtiofsd/fuse_lowlevel.c:965: +^I^I^Iiov[count].iov_len = sizeof(in_iov[0]) * in_count;$ ERROR: code indent should never use tabs #988: FILE: tools/virtiofsd/fuse_lowlevel.c:966: +^I^I^Icount++;$ ERROR: code indent should never use tabs #989: FILE: tools/virtiofsd/fuse_lowlevel.c:967: +^I^I}$ ERROR: code indent should never use tabs #991: FILE: tools/virtiofsd/fuse_lowlevel.c:969: +^I^Iif (out_count) {$ ERROR: code indent should never use tabs #992: FILE: tools/virtiofsd/fuse_lowlevel.c:970: +^I^I^Iiov[count].iov_base = (void *)out_iov;$ ERROR: code indent should never use tabs #993: FILE: tools/virtiofsd/fuse_lowlevel.c:971: +^I^I^Iiov[count].iov_len = sizeof(out_iov[0]) * out_count;$ ERROR: code indent should never use tabs #994: FILE: tools/virtiofsd/fuse_lowlevel.c:972: +^I^I^Icount++;$ ERROR: code indent should never use tabs #995: FILE: tools/virtiofsd/fuse_lowlevel.c:973: +^I^I}$ ERROR: code indent should never use tabs #996: FILE: tools/virtiofsd/fuse_lowlevel.c:974: +^I} else {$ ERROR: code indent should never use tabs #997: FILE: tools/virtiofsd/fuse_lowlevel.c:975: +^I^I/* Can't handle non-compat 64bit ioctls on 32bit */$ ERROR: code indent should never use tabs #998: FILE: tools/virtiofsd/fuse_lowlevel.c:976: +^I^Iif (sizeof(void *) == 4 && req->ioctl_64bit) {$ ERROR: code indent should never use tabs #999: FILE: tools/virtiofsd/fuse_lowlevel.c:977: +^I^I^Ires = fuse_reply_err(req, EINVAL);$ ERROR: code indent should never use tabs #1000: FILE: tools/virtiofsd/fuse_lowlevel.c:978: +^I^I^Igoto out;$ ERROR: code indent should never use tabs #1001: FILE: tools/virtiofsd/fuse_lowlevel.c:979: +^I^I}$ ERROR: code indent should never use tabs #1003: FILE: tools/virtiofsd/fuse_lowlevel.c:981: +^I^Iif (in_count) {$ ERROR: code indent should never use tabs #1004: FILE: tools/virtiofsd/fuse_lowlevel.c:982: +^I^I^Iin_fiov = fuse_ioctl_iovec_copy(in_iov, in_count);$ ERROR: code indent should never use tabs #1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983: +^I^I^Iif (!in_fiov)$ ERROR: braces {} are necessary for all arms of this statement #1005: FILE: tools/virtiofsd/fuse_lowlevel.c:983: + if (!in_fiov) [...] ERROR: code indent should never use tabs #1006: FILE: tools/virtiofsd/fuse_lowlevel.c:984: +^I^I^I^Igoto enomem;$ ERROR: code indent should never use tabs #1008: FILE: tools/virtiofsd/fuse_lowlevel.c:986: +^I^I^Iiov[count].iov_base = (void *)in_fiov;$ ERROR: code indent should never use tabs #1009: FILE: tools/virtiofsd/fuse_lowlevel.c:987: +^I^I^Iiov[count].iov_len = sizeof(in_fiov[0]) * in_count;$ ERROR: code indent should never use tabs #1010: FILE: tools/virtiofsd/fuse_lowlevel.c:988: +^I^I^Icount++;$ ERROR: code indent should never use tabs #1011: FILE: tools/virtiofsd/fuse_lowlevel.c:989: +^I^I}$ ERROR: code indent should never use tabs #1012: FILE: tools/virtiofsd/fuse_lowlevel.c:990: +^I^Iif (out_count) {$ ERROR: code indent should never use tabs #1013: FILE: tools/virtiofsd/fuse_lowlevel.c:991: +^I^I^Iout_fiov = fuse_ioctl_iovec_copy(out_iov, out_count);$ ERROR: code indent should never use tabs #1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992: +^I^I^Iif (!out_fiov)$ ERROR: braces {} are necessary for all arms of this statement #1014: FILE: tools/virtiofsd/fuse_lowlevel.c:992: + if (!out_fiov) [...] ERROR: code indent should never use tabs #1015: FILE: tools/virtiofsd/fuse_lowlevel.c:993: +^I^I^I^Igoto enomem;$ ERROR: code indent should never use tabs #1017: FILE: tools/virtiofsd/fuse_lowlevel.c:995: +^I^I^Iiov[count].iov_base = (void *)out_fiov;$ ERROR: code indent should never use tabs #1018: FILE: tools/virtiofsd/fuse_lowlevel.c:996: +^I^I^Iiov[count].iov_len = sizeof(out_fiov[0]) * out_count;$ ERROR: code indent should never use tabs #1019: FILE: tools/virtiofsd/fuse_lowlevel.c:997: +^I^I^Icount++;$ ERROR: code indent should never use tabs #1020: FILE: tools/virtiofsd/fuse_lowlevel.c:998: +^I^I}$ ERROR: code indent should never use tabs #1021: FILE: tools/virtiofsd/fuse_lowlevel.c:999: +^I}$ ERROR: code indent should never use tabs #1023: FILE: tools/virtiofsd/fuse_lowlevel.c:1001: +^Ires = send_reply_iov(req, 0, iov, count);$ ERROR: code indent should never use tabs #1025: FILE: tools/virtiofsd/fuse_lowlevel.c:1003: +^Ifree(in_fiov);$ ERROR: code indent should never use tabs #1026: FILE: tools/virtiofsd/fuse_lowlevel.c:1004: +^Ifree(out_fiov);$ ERROR: code indent should never use tabs #1028: FILE: tools/virtiofsd/fuse_lowlevel.c:1006: +^Ireturn res;$ ERROR: code indent should never use tabs #1031: FILE: tools/virtiofsd/fuse_lowlevel.c:1009: +^Ires = fuse_reply_err(req, ENOMEM);$ ERROR: code indent should never use tabs #1032: FILE: tools/virtiofsd/fuse_lowlevel.c:1010: +^Igoto out;$ ERROR: code indent should never use tabs #1037: FILE: tools/virtiofsd/fuse_lowlevel.c:1015: +^Istruct fuse_ioctl_out arg;$ ERROR: code indent should never use tabs #1038: FILE: tools/virtiofsd/fuse_lowlevel.c:1016: +^Istruct iovec iov[3];$ ERROR: code indent should never use tabs #1039: FILE: tools/virtiofsd/fuse_lowlevel.c:1017: +^Isize_t count = 1;$ ERROR: code indent should never use tabs #1041: FILE: tools/virtiofsd/fuse_lowlevel.c:1019: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #1042: FILE: tools/virtiofsd/fuse_lowlevel.c:1020: +^Iarg.result = result;$ ERROR: code indent should never use tabs #1043: FILE: tools/virtiofsd/fuse_lowlevel.c:1021: +^Iiov[count].iov_base = &arg;$ ERROR: code indent should never use tabs #1044: FILE: tools/virtiofsd/fuse_lowlevel.c:1022: +^Iiov[count].iov_len = sizeof(arg);$ ERROR: code indent should never use tabs #1045: FILE: tools/virtiofsd/fuse_lowlevel.c:1023: +^Icount++;$ ERROR: code indent should never use tabs #1047: FILE: tools/virtiofsd/fuse_lowlevel.c:1025: +^Iif (size) {$ ERROR: code indent should never use tabs #1048: FILE: tools/virtiofsd/fuse_lowlevel.c:1026: +^I^Iiov[count].iov_base = (char *) buf;$ ERROR: code indent should never use tabs #1049: FILE: tools/virtiofsd/fuse_lowlevel.c:1027: +^I^Iiov[count].iov_len = size;$ ERROR: code indent should never use tabs #1050: FILE: tools/virtiofsd/fuse_lowlevel.c:1028: +^I^Icount++;$ ERROR: code indent should never use tabs #1051: FILE: tools/virtiofsd/fuse_lowlevel.c:1029: +^I}$ ERROR: code indent should never use tabs #1053: FILE: tools/virtiofsd/fuse_lowlevel.c:1031: +^Ireturn send_reply_iov(req, 0, iov, count);$ ERROR: code indent should never use tabs #1057: FILE: tools/virtiofsd/fuse_lowlevel.c:1035: +^I^I^I int count)$ ERROR: code indent should never use tabs #1059: FILE: tools/virtiofsd/fuse_lowlevel.c:1037: +^Istruct iovec *padded_iov;$ ERROR: code indent should never use tabs #1060: FILE: tools/virtiofsd/fuse_lowlevel.c:1038: +^Istruct fuse_ioctl_out arg;$ ERROR: code indent should never use tabs #1061: FILE: tools/virtiofsd/fuse_lowlevel.c:1039: +^Iint res;$ ERROR: code indent should never use tabs #1063: FILE: tools/virtiofsd/fuse_lowlevel.c:1041: +^Ipadded_iov = malloc((count + 2) * sizeof(struct iovec));$ ERROR: code indent should never use tabs #1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042: +^Iif (padded_iov == NULL)$ ERROR: braces {} are necessary for all arms of this statement #1064: FILE: tools/virtiofsd/fuse_lowlevel.c:1042: + if (padded_iov == NULL) [...] ERROR: code indent should never use tabs #1065: FILE: tools/virtiofsd/fuse_lowlevel.c:1043: +^I^Ireturn fuse_reply_err(req, ENOMEM);$ ERROR: code indent should never use tabs #1067: FILE: tools/virtiofsd/fuse_lowlevel.c:1045: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #1068: FILE: tools/virtiofsd/fuse_lowlevel.c:1046: +^Iarg.result = result;$ ERROR: code indent should never use tabs #1069: FILE: tools/virtiofsd/fuse_lowlevel.c:1047: +^Ipadded_iov[1].iov_base = &arg;$ ERROR: code indent should never use tabs #1070: FILE: tools/virtiofsd/fuse_lowlevel.c:1048: +^Ipadded_iov[1].iov_len = sizeof(arg);$ ERROR: code indent should never use tabs #1072: FILE: tools/virtiofsd/fuse_lowlevel.c:1050: +^Imemcpy(&padded_iov[2], iov, count * sizeof(struct iovec));$ ERROR: code indent should never use tabs #1074: FILE: tools/virtiofsd/fuse_lowlevel.c:1052: +^Ires = send_reply_iov(req, 0, padded_iov, count + 2);$ ERROR: code indent should never use tabs #1075: FILE: tools/virtiofsd/fuse_lowlevel.c:1053: +^Ifree(padded_iov);$ ERROR: code indent should never use tabs #1077: FILE: tools/virtiofsd/fuse_lowlevel.c:1055: +^Ireturn res;$ ERROR: code indent should never use tabs #1082: FILE: tools/virtiofsd/fuse_lowlevel.c:1060: +^Istruct fuse_poll_out arg;$ ERROR: code indent should never use tabs #1084: FILE: tools/virtiofsd/fuse_lowlevel.c:1062: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #1085: FILE: tools/virtiofsd/fuse_lowlevel.c:1063: +^Iarg.revents = revents;$ ERROR: code indent should never use tabs #1087: FILE: tools/virtiofsd/fuse_lowlevel.c:1065: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #1092: FILE: tools/virtiofsd/fuse_lowlevel.c:1070: +^Istruct fuse_lseek_out arg;$ ERROR: code indent should never use tabs #1094: FILE: tools/virtiofsd/fuse_lowlevel.c:1072: +^Imemset(&arg, 0, sizeof(arg));$ ERROR: code indent should never use tabs #1095: FILE: tools/virtiofsd/fuse_lowlevel.c:1073: +^Iarg.offset = off;$ ERROR: code indent should never use tabs #1097: FILE: tools/virtiofsd/fuse_lowlevel.c:1075: +^Ireturn send_reply_ok(req, &arg, sizeof(arg));$ ERROR: code indent should never use tabs #1102: FILE: tools/virtiofsd/fuse_lowlevel.c:1080: +^Ichar *name = (char *) inarg;$ ERROR: code indent should never use tabs #1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082: +^Iif (req->se->op.lookup)$ ERROR: braces {} are necessary for all arms of this statement #1104: FILE: tools/virtiofsd/fuse_lowlevel.c:1082: + if (req->se->op.lookup) [...] + else [...] ERROR: code indent should never use tabs #1105: FILE: tools/virtiofsd/fuse_lowlevel.c:1083: +^I^Ireq->se->op.lookup(req, nodeid, name);$ ERROR: code indent should never use tabs #1106: FILE: tools/virtiofsd/fuse_lowlevel.c:1084: +^Ielse$ ERROR: code indent should never use tabs #1107: FILE: tools/virtiofsd/fuse_lowlevel.c:1085: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1112: FILE: tools/virtiofsd/fuse_lowlevel.c:1090: +^Istruct fuse_forget_in *arg = (struct fuse_forget_in *) inarg;$ ERROR: code indent should never use tabs #1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092: +^Iif (req->se->op.forget)$ ERROR: braces {} are necessary for all arms of this statement #1114: FILE: tools/virtiofsd/fuse_lowlevel.c:1092: + if (req->se->op.forget) [...] + else [...] ERROR: code indent should never use tabs #1115: FILE: tools/virtiofsd/fuse_lowlevel.c:1093: +^I^Ireq->se->op.forget(req, nodeid, arg->nlookup);$ ERROR: code indent should never use tabs #1116: FILE: tools/virtiofsd/fuse_lowlevel.c:1094: +^Ielse$ ERROR: code indent should never use tabs #1117: FILE: tools/virtiofsd/fuse_lowlevel.c:1095: +^I^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #1121: FILE: tools/virtiofsd/fuse_lowlevel.c:1099: +^I^I^I const void *inarg)$ ERROR: code indent should never use tabs #1123: FILE: tools/virtiofsd/fuse_lowlevel.c:1101: +^Istruct fuse_batch_forget_in *arg = (void *) inarg;$ ERROR: code indent should never use tabs #1124: FILE: tools/virtiofsd/fuse_lowlevel.c:1102: +^Istruct fuse_forget_one *param = (void *) PARAM(arg);$ ERROR: code indent should never use tabs #1125: FILE: tools/virtiofsd/fuse_lowlevel.c:1103: +^Iunsigned int i;$ ERROR: code indent should never use tabs #1127: FILE: tools/virtiofsd/fuse_lowlevel.c:1105: +^I(void) nodeid;$ ERROR: code indent should never use tabs #1129: FILE: tools/virtiofsd/fuse_lowlevel.c:1107: +^Iif (req->se->op.forget_multi) {$ ERROR: code indent should never use tabs #1130: FILE: tools/virtiofsd/fuse_lowlevel.c:1108: +^I^Ireq->se->op.forget_multi(req, arg->count,$ ERROR: code indent should never use tabs #1131: FILE: tools/virtiofsd/fuse_lowlevel.c:1109: +^I^I^I^I (struct fuse_forget_data *) param);$ ERROR: code indent should never use tabs #1132: FILE: tools/virtiofsd/fuse_lowlevel.c:1110: +^I} else if (req->se->op.forget) {$ ERROR: code indent should never use tabs #1133: FILE: tools/virtiofsd/fuse_lowlevel.c:1111: +^I^Ifor (i = 0; i < arg->count; i++) {$ ERROR: code indent should never use tabs #1134: FILE: tools/virtiofsd/fuse_lowlevel.c:1112: +^I^I^Istruct fuse_forget_one *forget = ¶m[i];$ ERROR: code indent should never use tabs #1135: FILE: tools/virtiofsd/fuse_lowlevel.c:1113: +^I^I^Istruct fuse_req *dummy_req;$ ERROR: code indent should never use tabs #1137: FILE: tools/virtiofsd/fuse_lowlevel.c:1115: +^I^I^Idummy_req = fuse_ll_alloc_req(req->se);$ ERROR: code indent should never use tabs #1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116: +^I^I^Iif (dummy_req == NULL)$ ERROR: braces {} are necessary for all arms of this statement #1138: FILE: tools/virtiofsd/fuse_lowlevel.c:1116: + if (dummy_req == NULL) [...] ERROR: code indent should never use tabs #1139: FILE: tools/virtiofsd/fuse_lowlevel.c:1117: +^I^I^I^Ibreak;$ ERROR: code indent should never use tabs #1141: FILE: tools/virtiofsd/fuse_lowlevel.c:1119: +^I^I^Idummy_req->unique = req->unique;$ ERROR: code indent should never use tabs #1142: FILE: tools/virtiofsd/fuse_lowlevel.c:1120: +^I^I^Idummy_req->ctx = req->ctx;$ ERROR: code indent should never use tabs #1143: FILE: tools/virtiofsd/fuse_lowlevel.c:1121: +^I^I^Idummy_req->ch = NULL;$ ERROR: code indent should never use tabs #1145: FILE: tools/virtiofsd/fuse_lowlevel.c:1123: +^I^I^Ireq->se->op.forget(dummy_req, forget->nodeid,$ ERROR: code indent should never use tabs #1146: FILE: tools/virtiofsd/fuse_lowlevel.c:1124: +^I^I^I^I^I forget->nlookup);$ ERROR: code indent should never use tabs #1147: FILE: tools/virtiofsd/fuse_lowlevel.c:1125: +^I^I}$ ERROR: code indent should never use tabs #1148: FILE: tools/virtiofsd/fuse_lowlevel.c:1126: +^I^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #1149: FILE: tools/virtiofsd/fuse_lowlevel.c:1127: +^I} else {$ ERROR: code indent should never use tabs #1150: FILE: tools/virtiofsd/fuse_lowlevel.c:1128: +^I^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #1151: FILE: tools/virtiofsd/fuse_lowlevel.c:1129: +^I}$ ERROR: code indent should never use tabs #1156: FILE: tools/virtiofsd/fuse_lowlevel.c:1134: +^Istruct fuse_file_info *fip = NULL;$ ERROR: code indent should never use tabs #1157: FILE: tools/virtiofsd/fuse_lowlevel.c:1135: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1159: FILE: tools/virtiofsd/fuse_lowlevel.c:1137: +^Iif (req->se->conn.proto_minor >= 9) {$ ERROR: code indent should never use tabs #1160: FILE: tools/virtiofsd/fuse_lowlevel.c:1138: +^I^Istruct fuse_getattr_in *arg = (struct fuse_getattr_in *) inarg;$ ERROR: code indent should never use tabs #1162: FILE: tools/virtiofsd/fuse_lowlevel.c:1140: +^I^Iif (arg->getattr_flags & FUSE_GETATTR_FH) {$ ERROR: code indent should never use tabs #1163: FILE: tools/virtiofsd/fuse_lowlevel.c:1141: +^I^I^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1164: FILE: tools/virtiofsd/fuse_lowlevel.c:1142: +^I^I^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1165: FILE: tools/virtiofsd/fuse_lowlevel.c:1143: +^I^I^Ifip = &fi;$ ERROR: code indent should never use tabs #1166: FILE: tools/virtiofsd/fuse_lowlevel.c:1144: +^I^I}$ ERROR: code indent should never use tabs #1167: FILE: tools/virtiofsd/fuse_lowlevel.c:1145: +^I}$ ERROR: code indent should never use tabs #1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147: +^Iif (req->se->op.getattr)$ ERROR: braces {} are necessary for all arms of this statement #1169: FILE: tools/virtiofsd/fuse_lowlevel.c:1147: + if (req->se->op.getattr) [...] + else [...] ERROR: code indent should never use tabs #1170: FILE: tools/virtiofsd/fuse_lowlevel.c:1148: +^I^Ireq->se->op.getattr(req, nodeid, fip);$ ERROR: code indent should never use tabs #1171: FILE: tools/virtiofsd/fuse_lowlevel.c:1149: +^Ielse$ ERROR: code indent should never use tabs #1172: FILE: tools/virtiofsd/fuse_lowlevel.c:1150: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1177: FILE: tools/virtiofsd/fuse_lowlevel.c:1155: +^Istruct fuse_setattr_in *arg = (struct fuse_setattr_in *) inarg;$ ERROR: code indent should never use tabs #1179: FILE: tools/virtiofsd/fuse_lowlevel.c:1157: +^Iif (req->se->op.setattr) {$ ERROR: code indent should never use tabs #1180: FILE: tools/virtiofsd/fuse_lowlevel.c:1158: +^I^Istruct fuse_file_info *fi = NULL;$ ERROR: code indent should never use tabs #1181: FILE: tools/virtiofsd/fuse_lowlevel.c:1159: +^I^Istruct fuse_file_info fi_store;$ ERROR: code indent should never use tabs #1182: FILE: tools/virtiofsd/fuse_lowlevel.c:1160: +^I^Istruct stat stbuf;$ ERROR: code indent should never use tabs #1183: FILE: tools/virtiofsd/fuse_lowlevel.c:1161: +^I^Imemset(&stbuf, 0, sizeof(stbuf));$ ERROR: code indent should never use tabs #1184: FILE: tools/virtiofsd/fuse_lowlevel.c:1162: +^I^Iconvert_attr(arg, &stbuf);$ ERROR: code indent should never use tabs #1185: FILE: tools/virtiofsd/fuse_lowlevel.c:1163: +^I^Iif (arg->valid & FATTR_FH) {$ ERROR: code indent should never use tabs #1186: FILE: tools/virtiofsd/fuse_lowlevel.c:1164: +^I^I^Iarg->valid &= ~FATTR_FH;$ ERROR: code indent should never use tabs #1187: FILE: tools/virtiofsd/fuse_lowlevel.c:1165: +^I^I^Imemset(&fi_store, 0, sizeof(fi_store));$ ERROR: code indent should never use tabs #1188: FILE: tools/virtiofsd/fuse_lowlevel.c:1166: +^I^I^Ifi = &fi_store;$ ERROR: code indent should never use tabs #1189: FILE: tools/virtiofsd/fuse_lowlevel.c:1167: +^I^I^Ifi->fh = arg->fh;$ ERROR: code indent should never use tabs #1190: FILE: tools/virtiofsd/fuse_lowlevel.c:1168: +^I^I}$ ERROR: code indent should never use tabs #1191: FILE: tools/virtiofsd/fuse_lowlevel.c:1169: +^I^Iarg->valid &=$ ERROR: code indent should never use tabs #1192: FILE: tools/virtiofsd/fuse_lowlevel.c:1170: +^I^I^IFUSE_SET_ATTR_MODE^I|$ ERROR: code indent should never use tabs #1193: FILE: tools/virtiofsd/fuse_lowlevel.c:1171: +^I^I^IFUSE_SET_ATTR_UID^I|$ ERROR: code indent should never use tabs #1194: FILE: tools/virtiofsd/fuse_lowlevel.c:1172: +^I^I^IFUSE_SET_ATTR_GID^I|$ ERROR: code indent should never use tabs #1195: FILE: tools/virtiofsd/fuse_lowlevel.c:1173: +^I^I^IFUSE_SET_ATTR_SIZE^I|$ ERROR: code indent should never use tabs #1196: FILE: tools/virtiofsd/fuse_lowlevel.c:1174: +^I^I^IFUSE_SET_ATTR_ATIME^I|$ ERROR: code indent should never use tabs #1197: FILE: tools/virtiofsd/fuse_lowlevel.c:1175: +^I^I^IFUSE_SET_ATTR_MTIME^I|$ ERROR: code indent should never use tabs #1198: FILE: tools/virtiofsd/fuse_lowlevel.c:1176: +^I^I^IFUSE_SET_ATTR_ATIME_NOW^I|$ ERROR: code indent should never use tabs #1199: FILE: tools/virtiofsd/fuse_lowlevel.c:1177: +^I^I^IFUSE_SET_ATTR_MTIME_NOW |$ ERROR: code indent should never use tabs #1200: FILE: tools/virtiofsd/fuse_lowlevel.c:1178: +^I^I^IFUSE_SET_ATTR_CTIME;$ ERROR: code indent should never use tabs #1202: FILE: tools/virtiofsd/fuse_lowlevel.c:1180: +^I^Ireq->se->op.setattr(req, nodeid, &stbuf, arg->valid, fi);$ ERROR: code indent should never use tabs #1203: FILE: tools/virtiofsd/fuse_lowlevel.c:1181: +^I} else$ ERROR: code indent should never use tabs #1204: FILE: tools/virtiofsd/fuse_lowlevel.c:1182: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1209: FILE: tools/virtiofsd/fuse_lowlevel.c:1187: +^Istruct fuse_access_in *arg = (struct fuse_access_in *) inarg;$ ERROR: code indent should never use tabs #1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189: +^Iif (req->se->op.access)$ ERROR: braces {} are necessary for all arms of this statement #1211: FILE: tools/virtiofsd/fuse_lowlevel.c:1189: + if (req->se->op.access) [...] + else [...] ERROR: code indent should never use tabs #1212: FILE: tools/virtiofsd/fuse_lowlevel.c:1190: +^I^Ireq->se->op.access(req, nodeid, arg->mask);$ ERROR: code indent should never use tabs #1213: FILE: tools/virtiofsd/fuse_lowlevel.c:1191: +^Ielse$ ERROR: code indent should never use tabs #1214: FILE: tools/virtiofsd/fuse_lowlevel.c:1192: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1219: FILE: tools/virtiofsd/fuse_lowlevel.c:1197: +^I(void) inarg;$ ERROR: code indent should never use tabs #1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199: +^Iif (req->se->op.readlink)$ ERROR: braces {} are necessary for all arms of this statement #1221: FILE: tools/virtiofsd/fuse_lowlevel.c:1199: + if (req->se->op.readlink) [...] + else [...] ERROR: code indent should never use tabs #1222: FILE: tools/virtiofsd/fuse_lowlevel.c:1200: +^I^Ireq->se->op.readlink(req, nodeid);$ ERROR: code indent should never use tabs #1223: FILE: tools/virtiofsd/fuse_lowlevel.c:1201: +^Ielse$ ERROR: code indent should never use tabs #1224: FILE: tools/virtiofsd/fuse_lowlevel.c:1202: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1229: FILE: tools/virtiofsd/fuse_lowlevel.c:1207: +^Istruct fuse_mknod_in *arg = (struct fuse_mknod_in *) inarg;$ ERROR: code indent should never use tabs #1230: FILE: tools/virtiofsd/fuse_lowlevel.c:1208: +^Ichar *name = PARAM(arg);$ ERROR: code indent should never use tabs #1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210: +^Iif (req->se->conn.proto_minor >= 12)$ ERROR: braces {} are necessary for all arms of this statement #1232: FILE: tools/virtiofsd/fuse_lowlevel.c:1210: + if (req->se->conn.proto_minor >= 12) [...] + else [...] ERROR: code indent should never use tabs #1233: FILE: tools/virtiofsd/fuse_lowlevel.c:1211: +^I^Ireq->ctx.umask = arg->umask;$ ERROR: code indent should never use tabs #1234: FILE: tools/virtiofsd/fuse_lowlevel.c:1212: +^Ielse$ ERROR: code indent should never use tabs #1235: FILE: tools/virtiofsd/fuse_lowlevel.c:1213: +^I^Iname = (char *) inarg + FUSE_COMPAT_MKNOD_IN_SIZE;$ ERROR: code indent should never use tabs #1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215: +^Iif (req->se->op.mknod)$ ERROR: braces {} are necessary for all arms of this statement #1237: FILE: tools/virtiofsd/fuse_lowlevel.c:1215: + if (req->se->op.mknod) [...] + else [...] ERROR: code indent should never use tabs #1238: FILE: tools/virtiofsd/fuse_lowlevel.c:1216: +^I^Ireq->se->op.mknod(req, nodeid, name, arg->mode, arg->rdev);$ ERROR: code indent should never use tabs #1239: FILE: tools/virtiofsd/fuse_lowlevel.c:1217: +^Ielse$ ERROR: code indent should never use tabs #1240: FILE: tools/virtiofsd/fuse_lowlevel.c:1218: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1245: FILE: tools/virtiofsd/fuse_lowlevel.c:1223: +^Istruct fuse_mkdir_in *arg = (struct fuse_mkdir_in *) inarg;$ ERROR: code indent should never use tabs #1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225: +^Iif (req->se->conn.proto_minor >= 12)$ ERROR: braces {} are necessary for all arms of this statement #1247: FILE: tools/virtiofsd/fuse_lowlevel.c:1225: + if (req->se->conn.proto_minor >= 12) [...] ERROR: code indent should never use tabs #1248: FILE: tools/virtiofsd/fuse_lowlevel.c:1226: +^I^Ireq->ctx.umask = arg->umask;$ ERROR: code indent should never use tabs #1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228: +^Iif (req->se->op.mkdir)$ ERROR: braces {} are necessary for all arms of this statement #1250: FILE: tools/virtiofsd/fuse_lowlevel.c:1228: + if (req->se->op.mkdir) [...] + else [...] ERROR: code indent should never use tabs #1251: FILE: tools/virtiofsd/fuse_lowlevel.c:1229: +^I^Ireq->se->op.mkdir(req, nodeid, PARAM(arg), arg->mode);$ ERROR: code indent should never use tabs #1252: FILE: tools/virtiofsd/fuse_lowlevel.c:1230: +^Ielse$ ERROR: code indent should never use tabs #1253: FILE: tools/virtiofsd/fuse_lowlevel.c:1231: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1258: FILE: tools/virtiofsd/fuse_lowlevel.c:1236: +^Ichar *name = (char *) inarg;$ ERROR: code indent should never use tabs #1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238: +^Iif (req->se->op.unlink)$ ERROR: braces {} are necessary for all arms of this statement #1260: FILE: tools/virtiofsd/fuse_lowlevel.c:1238: + if (req->se->op.unlink) [...] + else [...] ERROR: code indent should never use tabs #1261: FILE: tools/virtiofsd/fuse_lowlevel.c:1239: +^I^Ireq->se->op.unlink(req, nodeid, name);$ ERROR: code indent should never use tabs #1262: FILE: tools/virtiofsd/fuse_lowlevel.c:1240: +^Ielse$ ERROR: code indent should never use tabs #1263: FILE: tools/virtiofsd/fuse_lowlevel.c:1241: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1268: FILE: tools/virtiofsd/fuse_lowlevel.c:1246: +^Ichar *name = (char *) inarg;$ ERROR: code indent should never use tabs #1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248: +^Iif (req->se->op.rmdir)$ ERROR: braces {} are necessary for all arms of this statement #1270: FILE: tools/virtiofsd/fuse_lowlevel.c:1248: + if (req->se->op.rmdir) [...] + else [...] ERROR: code indent should never use tabs #1271: FILE: tools/virtiofsd/fuse_lowlevel.c:1249: +^I^Ireq->se->op.rmdir(req, nodeid, name);$ ERROR: code indent should never use tabs #1272: FILE: tools/virtiofsd/fuse_lowlevel.c:1250: +^Ielse$ ERROR: code indent should never use tabs #1273: FILE: tools/virtiofsd/fuse_lowlevel.c:1251: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1278: FILE: tools/virtiofsd/fuse_lowlevel.c:1256: +^Ichar *name = (char *) inarg;$ ERROR: code indent should never use tabs #1279: FILE: tools/virtiofsd/fuse_lowlevel.c:1257: +^Ichar *linkname = ((char *) inarg) + strlen((char *) inarg) + 1;$ ERROR: code indent should never use tabs #1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259: +^Iif (req->se->op.symlink)$ ERROR: braces {} are necessary for all arms of this statement #1281: FILE: tools/virtiofsd/fuse_lowlevel.c:1259: + if (req->se->op.symlink) [...] + else [...] ERROR: code indent should never use tabs #1282: FILE: tools/virtiofsd/fuse_lowlevel.c:1260: +^I^Ireq->se->op.symlink(req, linkname, nodeid, name);$ ERROR: code indent should never use tabs #1283: FILE: tools/virtiofsd/fuse_lowlevel.c:1261: +^Ielse$ ERROR: code indent should never use tabs #1284: FILE: tools/virtiofsd/fuse_lowlevel.c:1262: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1289: FILE: tools/virtiofsd/fuse_lowlevel.c:1267: +^Istruct fuse_rename_in *arg = (struct fuse_rename_in *) inarg;$ ERROR: code indent should never use tabs #1290: FILE: tools/virtiofsd/fuse_lowlevel.c:1268: +^Ichar *oldname = PARAM(arg);$ ERROR: code indent should never use tabs #1291: FILE: tools/virtiofsd/fuse_lowlevel.c:1269: +^Ichar *newname = oldname + strlen(oldname) + 1;$ ERROR: code indent should never use tabs #1293: FILE: tools/virtiofsd/fuse_lowlevel.c:1271: +^Iif (req->se->op.rename)$ ERROR: code indent should never use tabs #1294: FILE: tools/virtiofsd/fuse_lowlevel.c:1272: +^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$ ERROR: code indent should never use tabs #1295: FILE: tools/virtiofsd/fuse_lowlevel.c:1273: +^I^I^I^I 0);$ ERROR: code indent should never use tabs #1296: FILE: tools/virtiofsd/fuse_lowlevel.c:1274: +^Ielse$ ERROR: code indent should never use tabs #1297: FILE: tools/virtiofsd/fuse_lowlevel.c:1275: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1302: FILE: tools/virtiofsd/fuse_lowlevel.c:1280: +^Istruct fuse_rename2_in *arg = (struct fuse_rename2_in *) inarg;$ ERROR: code indent should never use tabs #1303: FILE: tools/virtiofsd/fuse_lowlevel.c:1281: +^Ichar *oldname = PARAM(arg);$ ERROR: code indent should never use tabs #1304: FILE: tools/virtiofsd/fuse_lowlevel.c:1282: +^Ichar *newname = oldname + strlen(oldname) + 1;$ ERROR: code indent should never use tabs #1306: FILE: tools/virtiofsd/fuse_lowlevel.c:1284: +^Iif (req->se->op.rename)$ ERROR: code indent should never use tabs #1307: FILE: tools/virtiofsd/fuse_lowlevel.c:1285: +^I^Ireq->se->op.rename(req, nodeid, oldname, arg->newdir, newname,$ ERROR: code indent should never use tabs #1308: FILE: tools/virtiofsd/fuse_lowlevel.c:1286: +^I^I^I^I arg->flags);$ ERROR: code indent should never use tabs #1309: FILE: tools/virtiofsd/fuse_lowlevel.c:1287: +^Ielse$ ERROR: code indent should never use tabs #1310: FILE: tools/virtiofsd/fuse_lowlevel.c:1288: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1315: FILE: tools/virtiofsd/fuse_lowlevel.c:1293: +^Istruct fuse_link_in *arg = (struct fuse_link_in *) inarg;$ ERROR: code indent should never use tabs #1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295: +^Iif (req->se->op.link)$ ERROR: braces {} are necessary for all arms of this statement #1317: FILE: tools/virtiofsd/fuse_lowlevel.c:1295: + if (req->se->op.link) [...] + else [...] ERROR: code indent should never use tabs #1318: FILE: tools/virtiofsd/fuse_lowlevel.c:1296: +^I^Ireq->se->op.link(req, arg->oldnodeid, nodeid, PARAM(arg));$ ERROR: code indent should never use tabs #1319: FILE: tools/virtiofsd/fuse_lowlevel.c:1297: +^Ielse$ ERROR: code indent should never use tabs #1320: FILE: tools/virtiofsd/fuse_lowlevel.c:1298: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1325: FILE: tools/virtiofsd/fuse_lowlevel.c:1303: +^Istruct fuse_create_in *arg = (struct fuse_create_in *) inarg;$ ERROR: code indent should never use tabs #1327: FILE: tools/virtiofsd/fuse_lowlevel.c:1305: +^Iif (req->se->op.create) {$ ERROR: code indent should never use tabs #1328: FILE: tools/virtiofsd/fuse_lowlevel.c:1306: +^I^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1329: FILE: tools/virtiofsd/fuse_lowlevel.c:1307: +^I^Ichar *name = PARAM(arg);$ ERROR: code indent should never use tabs #1331: FILE: tools/virtiofsd/fuse_lowlevel.c:1309: +^I^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1332: FILE: tools/virtiofsd/fuse_lowlevel.c:1310: +^I^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312: +^I^Iif (req->se->conn.proto_minor >= 12)$ ERROR: braces {} are necessary for all arms of this statement #1334: FILE: tools/virtiofsd/fuse_lowlevel.c:1312: + if (req->se->conn.proto_minor >= 12) [...] + else [...] ERROR: code indent should never use tabs #1335: FILE: tools/virtiofsd/fuse_lowlevel.c:1313: +^I^I^Ireq->ctx.umask = arg->umask;$ ERROR: code indent should never use tabs #1336: FILE: tools/virtiofsd/fuse_lowlevel.c:1314: +^I^Ielse$ ERROR: code indent should never use tabs #1337: FILE: tools/virtiofsd/fuse_lowlevel.c:1315: +^I^I^Iname = (char *) inarg + sizeof(struct fuse_open_in);$ ERROR: code indent should never use tabs #1339: FILE: tools/virtiofsd/fuse_lowlevel.c:1317: +^I^Ireq->se->op.create(req, nodeid, name, arg->mode, &fi);$ ERROR: code indent should never use tabs #1340: FILE: tools/virtiofsd/fuse_lowlevel.c:1318: +^I} else$ ERROR: code indent should never use tabs #1341: FILE: tools/virtiofsd/fuse_lowlevel.c:1319: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1346: FILE: tools/virtiofsd/fuse_lowlevel.c:1324: +^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$ ERROR: code indent should never use tabs #1347: FILE: tools/virtiofsd/fuse_lowlevel.c:1325: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1349: FILE: tools/virtiofsd/fuse_lowlevel.c:1327: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1350: FILE: tools/virtiofsd/fuse_lowlevel.c:1328: +^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330: +^Iif (req->se->op.open)$ ERROR: braces {} are necessary for all arms of this statement #1352: FILE: tools/virtiofsd/fuse_lowlevel.c:1330: + if (req->se->op.open) [...] + else [...] ERROR: code indent should never use tabs #1353: FILE: tools/virtiofsd/fuse_lowlevel.c:1331: +^I^Ireq->se->op.open(req, nodeid, &fi);$ ERROR: code indent should never use tabs #1354: FILE: tools/virtiofsd/fuse_lowlevel.c:1332: +^Ielse$ ERROR: code indent should never use tabs #1355: FILE: tools/virtiofsd/fuse_lowlevel.c:1333: +^I^Ifuse_reply_open(req, &fi);$ ERROR: code indent should never use tabs #1360: FILE: tools/virtiofsd/fuse_lowlevel.c:1338: +^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$ ERROR: code indent should never use tabs #1362: FILE: tools/virtiofsd/fuse_lowlevel.c:1340: +^Iif (req->se->op.read) {$ ERROR: code indent should never use tabs #1363: FILE: tools/virtiofsd/fuse_lowlevel.c:1341: +^I^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1365: FILE: tools/virtiofsd/fuse_lowlevel.c:1343: +^I^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1366: FILE: tools/virtiofsd/fuse_lowlevel.c:1344: +^I^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1367: FILE: tools/virtiofsd/fuse_lowlevel.c:1345: +^I^Iif (req->se->conn.proto_minor >= 9) {$ ERROR: code indent should never use tabs #1368: FILE: tools/virtiofsd/fuse_lowlevel.c:1346: +^I^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1369: FILE: tools/virtiofsd/fuse_lowlevel.c:1347: +^I^I^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1370: FILE: tools/virtiofsd/fuse_lowlevel.c:1348: +^I^I}$ ERROR: code indent should never use tabs #1371: FILE: tools/virtiofsd/fuse_lowlevel.c:1349: +^I^Ireq->se->op.read(req, nodeid, arg->size, arg->offset, &fi);$ ERROR: code indent should never use tabs #1372: FILE: tools/virtiofsd/fuse_lowlevel.c:1350: +^I} else$ ERROR: code indent should never use tabs #1373: FILE: tools/virtiofsd/fuse_lowlevel.c:1351: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1378: FILE: tools/virtiofsd/fuse_lowlevel.c:1356: +^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$ ERROR: code indent should never use tabs #1379: FILE: tools/virtiofsd/fuse_lowlevel.c:1357: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1380: FILE: tools/virtiofsd/fuse_lowlevel.c:1358: +^Ichar *param;$ ERROR: code indent should never use tabs #1382: FILE: tools/virtiofsd/fuse_lowlevel.c:1360: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1383: FILE: tools/virtiofsd/fuse_lowlevel.c:1361: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1384: FILE: tools/virtiofsd/fuse_lowlevel.c:1362: +^Ifi.writepage = (arg->write_flags & FUSE_WRITE_CACHE) != 0;$ ERROR: code indent should never use tabs #1386: FILE: tools/virtiofsd/fuse_lowlevel.c:1364: +^Iif (req->se->conn.proto_minor < 9) {$ ERROR: code indent should never use tabs #1387: FILE: tools/virtiofsd/fuse_lowlevel.c:1365: +^I^Iparam = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$ ERROR: code indent should never use tabs #1388: FILE: tools/virtiofsd/fuse_lowlevel.c:1366: +^I} else {$ ERROR: code indent should never use tabs #1389: FILE: tools/virtiofsd/fuse_lowlevel.c:1367: +^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1390: FILE: tools/virtiofsd/fuse_lowlevel.c:1368: +^I^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1391: FILE: tools/virtiofsd/fuse_lowlevel.c:1369: +^I^Iparam = PARAM(arg);$ ERROR: code indent should never use tabs #1392: FILE: tools/virtiofsd/fuse_lowlevel.c:1370: +^I}$ ERROR: code indent should never use tabs #1394: FILE: tools/virtiofsd/fuse_lowlevel.c:1372: +^Iif (req->se->op.write)$ ERROR: code indent should never use tabs #1395: FILE: tools/virtiofsd/fuse_lowlevel.c:1373: +^I^Ireq->se->op.write(req, nodeid, param, arg->size,$ ERROR: code indent should never use tabs #1396: FILE: tools/virtiofsd/fuse_lowlevel.c:1374: +^I^I^I^I arg->offset, &fi);$ ERROR: code indent should never use tabs #1397: FILE: tools/virtiofsd/fuse_lowlevel.c:1375: +^Ielse$ ERROR: code indent should never use tabs #1398: FILE: tools/virtiofsd/fuse_lowlevel.c:1376: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1402: FILE: tools/virtiofsd/fuse_lowlevel.c:1380: +^I^I^I const struct fuse_buf *ibuf)$ ERROR: code indent should never use tabs #1404: FILE: tools/virtiofsd/fuse_lowlevel.c:1382: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #1405: FILE: tools/virtiofsd/fuse_lowlevel.c:1383: +^Istruct fuse_bufvec bufv = {$ ERROR: code indent should never use tabs #1406: FILE: tools/virtiofsd/fuse_lowlevel.c:1384: +^I^I.buf[0] = *ibuf,$ ERROR: code indent should never use tabs #1407: FILE: tools/virtiofsd/fuse_lowlevel.c:1385: +^I^I.count = 1,$ ERROR: code indent should never use tabs #1408: FILE: tools/virtiofsd/fuse_lowlevel.c:1386: +^I};$ ERROR: code indent should never use tabs #1409: FILE: tools/virtiofsd/fuse_lowlevel.c:1387: +^Istruct fuse_write_in *arg = (struct fuse_write_in *) inarg;$ ERROR: code indent should never use tabs #1410: FILE: tools/virtiofsd/fuse_lowlevel.c:1388: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1412: FILE: tools/virtiofsd/fuse_lowlevel.c:1390: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1413: FILE: tools/virtiofsd/fuse_lowlevel.c:1391: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1414: FILE: tools/virtiofsd/fuse_lowlevel.c:1392: +^Ifi.writepage = arg->write_flags & FUSE_WRITE_CACHE;$ ERROR: code indent should never use tabs #1416: FILE: tools/virtiofsd/fuse_lowlevel.c:1394: +^Iif (se->conn.proto_minor < 9) {$ ERROR: code indent should never use tabs #1417: FILE: tools/virtiofsd/fuse_lowlevel.c:1395: +^I^Ibufv.buf[0].mem = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE;$ ERROR: code indent should never use tabs #1418: FILE: tools/virtiofsd/fuse_lowlevel.c:1396: +^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$ ERROR: code indent should never use tabs #1419: FILE: tools/virtiofsd/fuse_lowlevel.c:1397: +^I^I^IFUSE_COMPAT_WRITE_IN_SIZE;$ ERROR: code indent should never use tabs #1420: FILE: tools/virtiofsd/fuse_lowlevel.c:1398: +^I^Iassert(!(bufv.buf[0].flags & FUSE_BUF_IS_FD));$ ERROR: code indent should never use tabs #1421: FILE: tools/virtiofsd/fuse_lowlevel.c:1399: +^I} else {$ ERROR: code indent should never use tabs #1422: FILE: tools/virtiofsd/fuse_lowlevel.c:1400: +^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1423: FILE: tools/virtiofsd/fuse_lowlevel.c:1401: +^I^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402: +^I^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$ ERROR: braces {} are necessary for all arms of this statement #1424: FILE: tools/virtiofsd/fuse_lowlevel.c:1402: + if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD)) [...] ERROR: code indent should never use tabs #1425: FILE: tools/virtiofsd/fuse_lowlevel.c:1403: +^I^I^Ibufv.buf[0].mem = PARAM(arg);$ ERROR: code indent should never use tabs #1427: FILE: tools/virtiofsd/fuse_lowlevel.c:1405: +^I^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$ ERROR: code indent should never use tabs #1428: FILE: tools/virtiofsd/fuse_lowlevel.c:1406: +^I^I^Isizeof(struct fuse_write_in);$ ERROR: code indent should never use tabs #1429: FILE: tools/virtiofsd/fuse_lowlevel.c:1407: +^I}$ ERROR: code indent should never use tabs #1430: FILE: tools/virtiofsd/fuse_lowlevel.c:1408: +^Iif (bufv.buf[0].size < arg->size) {$ WARNING: line over 80 characters #1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409: + fuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too small\n"); ERROR: code indent should never use tabs #1431: FILE: tools/virtiofsd/fuse_lowlevel.c:1409: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: do_write_buf: buffer size too small\n");$ ERROR: code indent should never use tabs #1432: FILE: tools/virtiofsd/fuse_lowlevel.c:1410: +^I^Ifuse_reply_err(req, EIO);$ ERROR: code indent should never use tabs #1433: FILE: tools/virtiofsd/fuse_lowlevel.c:1411: +^I^Igoto out;$ ERROR: code indent should never use tabs #1434: FILE: tools/virtiofsd/fuse_lowlevel.c:1412: +^I}$ ERROR: code indent should never use tabs #1435: FILE: tools/virtiofsd/fuse_lowlevel.c:1413: +^Ibufv.buf[0].size = arg->size;$ ERROR: code indent should never use tabs #1437: FILE: tools/virtiofsd/fuse_lowlevel.c:1415: +^Ise->op.write_buf(req, nodeid, &bufv, arg->offset, &fi);$ ERROR: code indent should never use tabs #1440: FILE: tools/virtiofsd/fuse_lowlevel.c:1418: +^I/* Need to reset the pipe if ->write_buf() didn't consume all data */$ ERROR: code indent should never use tabs #1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419: +^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$ ERROR: braces {} are necessary for all arms of this statement #1441: FILE: tools/virtiofsd/fuse_lowlevel.c:1419: + if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count) [...] ERROR: code indent should never use tabs #1442: FILE: tools/virtiofsd/fuse_lowlevel.c:1420: +^I^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #1447: FILE: tools/virtiofsd/fuse_lowlevel.c:1425: +^Istruct fuse_flush_in *arg = (struct fuse_flush_in *) inarg;$ ERROR: code indent should never use tabs #1448: FILE: tools/virtiofsd/fuse_lowlevel.c:1426: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1450: FILE: tools/virtiofsd/fuse_lowlevel.c:1428: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1451: FILE: tools/virtiofsd/fuse_lowlevel.c:1429: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1452: FILE: tools/virtiofsd/fuse_lowlevel.c:1430: +^Ifi.flush = 1;$ ERROR: code indent should never use tabs #1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431: +^Iif (req->se->conn.proto_minor >= 7)$ ERROR: braces {} are necessary for all arms of this statement #1453: FILE: tools/virtiofsd/fuse_lowlevel.c:1431: + if (req->se->conn.proto_minor >= 7) [...] ERROR: code indent should never use tabs #1454: FILE: tools/virtiofsd/fuse_lowlevel.c:1432: +^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434: +^Iif (req->se->op.flush)$ ERROR: braces {} are necessary for all arms of this statement #1456: FILE: tools/virtiofsd/fuse_lowlevel.c:1434: + if (req->se->op.flush) [...] + else [...] ERROR: code indent should never use tabs #1457: FILE: tools/virtiofsd/fuse_lowlevel.c:1435: +^I^Ireq->se->op.flush(req, nodeid, &fi);$ ERROR: code indent should never use tabs #1458: FILE: tools/virtiofsd/fuse_lowlevel.c:1436: +^Ielse$ ERROR: code indent should never use tabs #1459: FILE: tools/virtiofsd/fuse_lowlevel.c:1437: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1464: FILE: tools/virtiofsd/fuse_lowlevel.c:1442: +^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$ ERROR: code indent should never use tabs #1465: FILE: tools/virtiofsd/fuse_lowlevel.c:1443: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1467: FILE: tools/virtiofsd/fuse_lowlevel.c:1445: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1468: FILE: tools/virtiofsd/fuse_lowlevel.c:1446: +^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1469: FILE: tools/virtiofsd/fuse_lowlevel.c:1447: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1470: FILE: tools/virtiofsd/fuse_lowlevel.c:1448: +^Iif (req->se->conn.proto_minor >= 8) {$ ERROR: code indent should never use tabs #1471: FILE: tools/virtiofsd/fuse_lowlevel.c:1449: +^I^Ifi.flush = (arg->release_flags & FUSE_RELEASE_FLUSH) ? 1 : 0;$ ERROR: code indent should never use tabs #1472: FILE: tools/virtiofsd/fuse_lowlevel.c:1450: +^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1473: FILE: tools/virtiofsd/fuse_lowlevel.c:1451: +^I}$ ERROR: code indent should never use tabs #1474: FILE: tools/virtiofsd/fuse_lowlevel.c:1452: +^Iif (arg->release_flags & FUSE_RELEASE_FLOCK_UNLOCK) {$ ERROR: code indent should never use tabs #1475: FILE: tools/virtiofsd/fuse_lowlevel.c:1453: +^I^Ifi.flock_release = 1;$ ERROR: code indent should never use tabs #1476: FILE: tools/virtiofsd/fuse_lowlevel.c:1454: +^I^Ifi.lock_owner = arg->lock_owner;$ ERROR: code indent should never use tabs #1477: FILE: tools/virtiofsd/fuse_lowlevel.c:1455: +^I}$ ERROR: code indent should never use tabs #1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457: +^Iif (req->se->op.release)$ ERROR: braces {} are necessary for all arms of this statement #1479: FILE: tools/virtiofsd/fuse_lowlevel.c:1457: + if (req->se->op.release) [...] + else [...] ERROR: code indent should never use tabs #1480: FILE: tools/virtiofsd/fuse_lowlevel.c:1458: +^I^Ireq->se->op.release(req, nodeid, &fi);$ ERROR: code indent should never use tabs #1481: FILE: tools/virtiofsd/fuse_lowlevel.c:1459: +^Ielse$ ERROR: code indent should never use tabs #1482: FILE: tools/virtiofsd/fuse_lowlevel.c:1460: +^I^Ifuse_reply_err(req, 0);$ ERROR: code indent should never use tabs #1487: FILE: tools/virtiofsd/fuse_lowlevel.c:1465: +^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$ ERROR: code indent should never use tabs #1488: FILE: tools/virtiofsd/fuse_lowlevel.c:1466: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1489: FILE: tools/virtiofsd/fuse_lowlevel.c:1467: +^Iint datasync = arg->fsync_flags & 1;$ ERROR: code indent should never use tabs #1491: FILE: tools/virtiofsd/fuse_lowlevel.c:1469: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1492: FILE: tools/virtiofsd/fuse_lowlevel.c:1470: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472: +^Iif (req->se->op.fsync)$ ERROR: braces {} are necessary for all arms of this statement #1494: FILE: tools/virtiofsd/fuse_lowlevel.c:1472: + if (req->se->op.fsync) [...] + else [...] ERROR: code indent should never use tabs #1495: FILE: tools/virtiofsd/fuse_lowlevel.c:1473: +^I^Ireq->se->op.fsync(req, nodeid, datasync, &fi);$ ERROR: code indent should never use tabs #1496: FILE: tools/virtiofsd/fuse_lowlevel.c:1474: +^Ielse$ ERROR: code indent should never use tabs #1497: FILE: tools/virtiofsd/fuse_lowlevel.c:1475: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1502: FILE: tools/virtiofsd/fuse_lowlevel.c:1480: +^Istruct fuse_open_in *arg = (struct fuse_open_in *) inarg;$ ERROR: code indent should never use tabs #1503: FILE: tools/virtiofsd/fuse_lowlevel.c:1481: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1505: FILE: tools/virtiofsd/fuse_lowlevel.c:1483: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1506: FILE: tools/virtiofsd/fuse_lowlevel.c:1484: +^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486: +^Iif (req->se->op.opendir)$ ERROR: braces {} are necessary for all arms of this statement #1508: FILE: tools/virtiofsd/fuse_lowlevel.c:1486: + if (req->se->op.opendir) [...] + else [...] ERROR: code indent should never use tabs #1509: FILE: tools/virtiofsd/fuse_lowlevel.c:1487: +^I^Ireq->se->op.opendir(req, nodeid, &fi);$ ERROR: code indent should never use tabs #1510: FILE: tools/virtiofsd/fuse_lowlevel.c:1488: +^Ielse$ ERROR: code indent should never use tabs #1511: FILE: tools/virtiofsd/fuse_lowlevel.c:1489: +^I^Ifuse_reply_open(req, &fi);$ ERROR: code indent should never use tabs #1516: FILE: tools/virtiofsd/fuse_lowlevel.c:1494: +^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$ ERROR: code indent should never use tabs #1517: FILE: tools/virtiofsd/fuse_lowlevel.c:1495: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1519: FILE: tools/virtiofsd/fuse_lowlevel.c:1497: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1520: FILE: tools/virtiofsd/fuse_lowlevel.c:1498: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500: +^Iif (req->se->op.readdir)$ ERROR: braces {} are necessary for all arms of this statement #1522: FILE: tools/virtiofsd/fuse_lowlevel.c:1500: + if (req->se->op.readdir) [...] + else [...] ERROR: code indent should never use tabs #1523: FILE: tools/virtiofsd/fuse_lowlevel.c:1501: +^I^Ireq->se->op.readdir(req, nodeid, arg->size, arg->offset, &fi);$ ERROR: code indent should never use tabs #1524: FILE: tools/virtiofsd/fuse_lowlevel.c:1502: +^Ielse$ ERROR: code indent should never use tabs #1525: FILE: tools/virtiofsd/fuse_lowlevel.c:1503: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1530: FILE: tools/virtiofsd/fuse_lowlevel.c:1508: +^Istruct fuse_read_in *arg = (struct fuse_read_in *) inarg;$ ERROR: code indent should never use tabs #1531: FILE: tools/virtiofsd/fuse_lowlevel.c:1509: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1533: FILE: tools/virtiofsd/fuse_lowlevel.c:1511: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1534: FILE: tools/virtiofsd/fuse_lowlevel.c:1512: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514: +^Iif (req->se->op.readdirplus)$ ERROR: braces {} are necessary for all arms of this statement #1536: FILE: tools/virtiofsd/fuse_lowlevel.c:1514: + if (req->se->op.readdirplus) [...] + else [...] WARNING: line over 80 characters #1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515: + req->se->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi); ERROR: code indent should never use tabs #1537: FILE: tools/virtiofsd/fuse_lowlevel.c:1515: +^I^Ireq->se->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi);$ ERROR: code indent should never use tabs #1538: FILE: tools/virtiofsd/fuse_lowlevel.c:1516: +^Ielse$ ERROR: code indent should never use tabs #1539: FILE: tools/virtiofsd/fuse_lowlevel.c:1517: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1544: FILE: tools/virtiofsd/fuse_lowlevel.c:1522: +^Istruct fuse_release_in *arg = (struct fuse_release_in *) inarg;$ ERROR: code indent should never use tabs #1545: FILE: tools/virtiofsd/fuse_lowlevel.c:1523: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1547: FILE: tools/virtiofsd/fuse_lowlevel.c:1525: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1548: FILE: tools/virtiofsd/fuse_lowlevel.c:1526: +^Ifi.flags = arg->flags;$ ERROR: code indent should never use tabs #1549: FILE: tools/virtiofsd/fuse_lowlevel.c:1527: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529: +^Iif (req->se->op.releasedir)$ ERROR: braces {} are necessary for all arms of this statement #1551: FILE: tools/virtiofsd/fuse_lowlevel.c:1529: + if (req->se->op.releasedir) [...] + else [...] ERROR: code indent should never use tabs #1552: FILE: tools/virtiofsd/fuse_lowlevel.c:1530: +^I^Ireq->se->op.releasedir(req, nodeid, &fi);$ ERROR: code indent should never use tabs #1553: FILE: tools/virtiofsd/fuse_lowlevel.c:1531: +^Ielse$ ERROR: code indent should never use tabs #1554: FILE: tools/virtiofsd/fuse_lowlevel.c:1532: +^I^Ifuse_reply_err(req, 0);$ ERROR: code indent should never use tabs #1559: FILE: tools/virtiofsd/fuse_lowlevel.c:1537: +^Istruct fuse_fsync_in *arg = (struct fuse_fsync_in *) inarg;$ ERROR: code indent should never use tabs #1560: FILE: tools/virtiofsd/fuse_lowlevel.c:1538: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1561: FILE: tools/virtiofsd/fuse_lowlevel.c:1539: +^Iint datasync = arg->fsync_flags & 1;$ ERROR: code indent should never use tabs #1563: FILE: tools/virtiofsd/fuse_lowlevel.c:1541: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1564: FILE: tools/virtiofsd/fuse_lowlevel.c:1542: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544: +^Iif (req->se->op.fsyncdir)$ ERROR: braces {} are necessary for all arms of this statement #1566: FILE: tools/virtiofsd/fuse_lowlevel.c:1544: + if (req->se->op.fsyncdir) [...] + else [...] ERROR: code indent should never use tabs #1567: FILE: tools/virtiofsd/fuse_lowlevel.c:1545: +^I^Ireq->se->op.fsyncdir(req, nodeid, datasync, &fi);$ ERROR: code indent should never use tabs #1568: FILE: tools/virtiofsd/fuse_lowlevel.c:1546: +^Ielse$ ERROR: code indent should never use tabs #1569: FILE: tools/virtiofsd/fuse_lowlevel.c:1547: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1574: FILE: tools/virtiofsd/fuse_lowlevel.c:1552: +^I(void) nodeid;$ ERROR: code indent should never use tabs #1575: FILE: tools/virtiofsd/fuse_lowlevel.c:1553: +^I(void) inarg;$ ERROR: code indent should never use tabs #1577: FILE: tools/virtiofsd/fuse_lowlevel.c:1555: +^Iif (req->se->op.statfs)$ ERROR: code indent should never use tabs #1578: FILE: tools/virtiofsd/fuse_lowlevel.c:1556: +^I^Ireq->se->op.statfs(req, nodeid);$ ERROR: code indent should never use tabs #1579: FILE: tools/virtiofsd/fuse_lowlevel.c:1557: +^Ielse {$ ERROR: code indent should never use tabs #1580: FILE: tools/virtiofsd/fuse_lowlevel.c:1558: +^I^Istruct statvfs buf = {$ ERROR: code indent should never use tabs #1581: FILE: tools/virtiofsd/fuse_lowlevel.c:1559: +^I^I^I.f_namemax = 255,$ ERROR: code indent should never use tabs #1582: FILE: tools/virtiofsd/fuse_lowlevel.c:1560: +^I^I^I.f_bsize = 512,$ ERROR: code indent should never use tabs #1583: FILE: tools/virtiofsd/fuse_lowlevel.c:1561: +^I^I};$ ERROR: code indent should never use tabs #1584: FILE: tools/virtiofsd/fuse_lowlevel.c:1562: +^I^Ifuse_reply_statfs(req, &buf);$ ERROR: code indent should never use tabs #1585: FILE: tools/virtiofsd/fuse_lowlevel.c:1563: +^I}$ ERROR: code indent should never use tabs #1590: FILE: tools/virtiofsd/fuse_lowlevel.c:1568: +^Istruct fuse_setxattr_in *arg = (struct fuse_setxattr_in *) inarg;$ ERROR: code indent should never use tabs #1591: FILE: tools/virtiofsd/fuse_lowlevel.c:1569: +^Ichar *name = PARAM(arg);$ ERROR: code indent should never use tabs #1592: FILE: tools/virtiofsd/fuse_lowlevel.c:1570: +^Ichar *value = name + strlen(name) + 1;$ ERROR: code indent should never use tabs #1594: FILE: tools/virtiofsd/fuse_lowlevel.c:1572: +^Iif (req->se->op.setxattr)$ ERROR: code indent should never use tabs #1595: FILE: tools/virtiofsd/fuse_lowlevel.c:1573: +^I^Ireq->se->op.setxattr(req, nodeid, name, value, arg->size,$ ERROR: code indent should never use tabs #1596: FILE: tools/virtiofsd/fuse_lowlevel.c:1574: +^I^I^I^I arg->flags);$ ERROR: code indent should never use tabs #1597: FILE: tools/virtiofsd/fuse_lowlevel.c:1575: +^Ielse$ ERROR: code indent should never use tabs #1598: FILE: tools/virtiofsd/fuse_lowlevel.c:1576: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1603: FILE: tools/virtiofsd/fuse_lowlevel.c:1581: +^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$ ERROR: code indent should never use tabs #1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583: +^Iif (req->se->op.getxattr)$ ERROR: braces {} are necessary for all arms of this statement #1605: FILE: tools/virtiofsd/fuse_lowlevel.c:1583: + if (req->se->op.getxattr) [...] + else [...] ERROR: code indent should never use tabs #1606: FILE: tools/virtiofsd/fuse_lowlevel.c:1584: +^I^Ireq->se->op.getxattr(req, nodeid, PARAM(arg), arg->size);$ ERROR: code indent should never use tabs #1607: FILE: tools/virtiofsd/fuse_lowlevel.c:1585: +^Ielse$ ERROR: code indent should never use tabs #1608: FILE: tools/virtiofsd/fuse_lowlevel.c:1586: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1613: FILE: tools/virtiofsd/fuse_lowlevel.c:1591: +^Istruct fuse_getxattr_in *arg = (struct fuse_getxattr_in *) inarg;$ ERROR: code indent should never use tabs #1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593: +^Iif (req->se->op.listxattr)$ ERROR: braces {} are necessary for all arms of this statement #1615: FILE: tools/virtiofsd/fuse_lowlevel.c:1593: + if (req->se->op.listxattr) [...] + else [...] ERROR: code indent should never use tabs #1616: FILE: tools/virtiofsd/fuse_lowlevel.c:1594: +^I^Ireq->se->op.listxattr(req, nodeid, arg->size);$ ERROR: code indent should never use tabs #1617: FILE: tools/virtiofsd/fuse_lowlevel.c:1595: +^Ielse$ ERROR: code indent should never use tabs #1618: FILE: tools/virtiofsd/fuse_lowlevel.c:1596: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1623: FILE: tools/virtiofsd/fuse_lowlevel.c:1601: +^Ichar *name = (char *) inarg;$ ERROR: code indent should never use tabs #1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603: +^Iif (req->se->op.removexattr)$ ERROR: braces {} are necessary for all arms of this statement #1625: FILE: tools/virtiofsd/fuse_lowlevel.c:1603: + if (req->se->op.removexattr) [...] + else [...] ERROR: code indent should never use tabs #1626: FILE: tools/virtiofsd/fuse_lowlevel.c:1604: +^I^Ireq->se->op.removexattr(req, nodeid, name);$ ERROR: code indent should never use tabs #1627: FILE: tools/virtiofsd/fuse_lowlevel.c:1605: +^Ielse$ ERROR: code indent should never use tabs #1628: FILE: tools/virtiofsd/fuse_lowlevel.c:1606: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1632: FILE: tools/virtiofsd/fuse_lowlevel.c:1610: +^I^I^I^I struct flock *flock)$ ERROR: code indent should never use tabs #1634: FILE: tools/virtiofsd/fuse_lowlevel.c:1612: +^Imemset(flock, 0, sizeof(struct flock));$ ERROR: code indent should never use tabs #1635: FILE: tools/virtiofsd/fuse_lowlevel.c:1613: +^Iflock->l_type = fl->type;$ ERROR: code indent should never use tabs #1636: FILE: tools/virtiofsd/fuse_lowlevel.c:1614: +^Iflock->l_whence = SEEK_SET;$ ERROR: code indent should never use tabs #1637: FILE: tools/virtiofsd/fuse_lowlevel.c:1615: +^Iflock->l_start = fl->start;$ ERROR: code indent should never use tabs #1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616: +^Iif (fl->end == OFFSET_MAX)$ ERROR: braces {} are necessary for all arms of this statement #1638: FILE: tools/virtiofsd/fuse_lowlevel.c:1616: + if (fl->end == OFFSET_MAX) [...] + else [...] ERROR: code indent should never use tabs #1639: FILE: tools/virtiofsd/fuse_lowlevel.c:1617: +^I^Iflock->l_len = 0;$ ERROR: code indent should never use tabs #1640: FILE: tools/virtiofsd/fuse_lowlevel.c:1618: +^Ielse$ ERROR: code indent should never use tabs #1641: FILE: tools/virtiofsd/fuse_lowlevel.c:1619: +^I^Iflock->l_len = fl->end - fl->start + 1;$ ERROR: code indent should never use tabs #1642: FILE: tools/virtiofsd/fuse_lowlevel.c:1620: +^Iflock->l_pid = fl->pid;$ ERROR: code indent should never use tabs #1647: FILE: tools/virtiofsd/fuse_lowlevel.c:1625: +^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$ ERROR: code indent should never use tabs #1648: FILE: tools/virtiofsd/fuse_lowlevel.c:1626: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1649: FILE: tools/virtiofsd/fuse_lowlevel.c:1627: +^Istruct flock flock;$ ERROR: code indent should never use tabs #1651: FILE: tools/virtiofsd/fuse_lowlevel.c:1629: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1652: FILE: tools/virtiofsd/fuse_lowlevel.c:1630: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1653: FILE: tools/virtiofsd/fuse_lowlevel.c:1631: +^Ifi.lock_owner = arg->owner;$ ERROR: code indent should never use tabs #1655: FILE: tools/virtiofsd/fuse_lowlevel.c:1633: +^Iconvert_fuse_file_lock(&arg->lk, &flock);$ ERROR: code indent should never use tabs #1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634: +^Iif (req->se->op.getlk)$ ERROR: braces {} are necessary for all arms of this statement #1656: FILE: tools/virtiofsd/fuse_lowlevel.c:1634: + if (req->se->op.getlk) [...] + else [...] ERROR: code indent should never use tabs #1657: FILE: tools/virtiofsd/fuse_lowlevel.c:1635: +^I^Ireq->se->op.getlk(req, nodeid, &fi, &flock);$ ERROR: code indent should never use tabs #1658: FILE: tools/virtiofsd/fuse_lowlevel.c:1636: +^Ielse$ ERROR: code indent should never use tabs #1659: FILE: tools/virtiofsd/fuse_lowlevel.c:1637: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1663: FILE: tools/virtiofsd/fuse_lowlevel.c:1641: +^I^I^I const void *inarg, int sleep)$ ERROR: code indent should never use tabs #1665: FILE: tools/virtiofsd/fuse_lowlevel.c:1643: +^Istruct fuse_lk_in *arg = (struct fuse_lk_in *) inarg;$ ERROR: code indent should never use tabs #1666: FILE: tools/virtiofsd/fuse_lowlevel.c:1644: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1667: FILE: tools/virtiofsd/fuse_lowlevel.c:1645: +^Istruct flock flock;$ ERROR: code indent should never use tabs #1669: FILE: tools/virtiofsd/fuse_lowlevel.c:1647: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1670: FILE: tools/virtiofsd/fuse_lowlevel.c:1648: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1671: FILE: tools/virtiofsd/fuse_lowlevel.c:1649: +^Ifi.lock_owner = arg->owner;$ ERROR: code indent should never use tabs #1673: FILE: tools/virtiofsd/fuse_lowlevel.c:1651: +^Iif (arg->lk_flags & FUSE_LK_FLOCK) {$ ERROR: code indent should never use tabs #1674: FILE: tools/virtiofsd/fuse_lowlevel.c:1652: +^I^Iint op = 0;$ ERROR: code indent should never use tabs #1676: FILE: tools/virtiofsd/fuse_lowlevel.c:1654: +^I^Iswitch (arg->lk.type) {$ ERROR: code indent should never use tabs #1677: FILE: tools/virtiofsd/fuse_lowlevel.c:1655: +^I^Icase F_RDLCK:$ ERROR: code indent should never use tabs #1678: FILE: tools/virtiofsd/fuse_lowlevel.c:1656: +^I^I^Iop = LOCK_SH;$ ERROR: code indent should never use tabs #1679: FILE: tools/virtiofsd/fuse_lowlevel.c:1657: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1680: FILE: tools/virtiofsd/fuse_lowlevel.c:1658: +^I^Icase F_WRLCK:$ ERROR: code indent should never use tabs #1681: FILE: tools/virtiofsd/fuse_lowlevel.c:1659: +^I^I^Iop = LOCK_EX;$ ERROR: code indent should never use tabs #1682: FILE: tools/virtiofsd/fuse_lowlevel.c:1660: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1683: FILE: tools/virtiofsd/fuse_lowlevel.c:1661: +^I^Icase F_UNLCK:$ ERROR: code indent should never use tabs #1684: FILE: tools/virtiofsd/fuse_lowlevel.c:1662: +^I^I^Iop = LOCK_UN;$ ERROR: code indent should never use tabs #1685: FILE: tools/virtiofsd/fuse_lowlevel.c:1663: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1686: FILE: tools/virtiofsd/fuse_lowlevel.c:1664: +^I^I}$ ERROR: code indent should never use tabs #1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665: +^I^Iif (!sleep)$ ERROR: braces {} are necessary for all arms of this statement #1687: FILE: tools/virtiofsd/fuse_lowlevel.c:1665: + if (!sleep) [...] ERROR: code indent should never use tabs #1688: FILE: tools/virtiofsd/fuse_lowlevel.c:1666: +^I^I^Iop |= LOCK_NB;$ ERROR: code indent should never use tabs #1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668: +^I^Iif (req->se->op.flock)$ ERROR: braces {} are necessary for all arms of this statement #1690: FILE: tools/virtiofsd/fuse_lowlevel.c:1668: + if (req->se->op.flock) [...] + else [...] ERROR: code indent should never use tabs #1691: FILE: tools/virtiofsd/fuse_lowlevel.c:1669: +^I^I^Ireq->se->op.flock(req, nodeid, &fi, op);$ ERROR: code indent should never use tabs #1692: FILE: tools/virtiofsd/fuse_lowlevel.c:1670: +^I^Ielse$ ERROR: code indent should never use tabs #1693: FILE: tools/virtiofsd/fuse_lowlevel.c:1671: +^I^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1694: FILE: tools/virtiofsd/fuse_lowlevel.c:1672: +^I} else {$ ERROR: code indent should never use tabs #1695: FILE: tools/virtiofsd/fuse_lowlevel.c:1673: +^I^Iconvert_fuse_file_lock(&arg->lk, &flock);$ ERROR: code indent should never use tabs #1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674: +^I^Iif (req->se->op.setlk)$ ERROR: braces {} are necessary for all arms of this statement #1696: FILE: tools/virtiofsd/fuse_lowlevel.c:1674: + if (req->se->op.setlk) [...] + else [...] ERROR: code indent should never use tabs #1697: FILE: tools/virtiofsd/fuse_lowlevel.c:1675: +^I^I^Ireq->se->op.setlk(req, nodeid, &fi, &flock, sleep);$ ERROR: code indent should never use tabs #1698: FILE: tools/virtiofsd/fuse_lowlevel.c:1676: +^I^Ielse$ ERROR: code indent should never use tabs #1699: FILE: tools/virtiofsd/fuse_lowlevel.c:1677: +^I^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1700: FILE: tools/virtiofsd/fuse_lowlevel.c:1678: +^I}$ ERROR: code indent should never use tabs #1705: FILE: tools/virtiofsd/fuse_lowlevel.c:1683: +^Ido_setlk_common(req, nodeid, inarg, 0);$ ERROR: code indent should never use tabs #1710: FILE: tools/virtiofsd/fuse_lowlevel.c:1688: +^Ido_setlk_common(req, nodeid, inarg, 1);$ ERROR: code indent should never use tabs #1715: FILE: tools/virtiofsd/fuse_lowlevel.c:1693: +^Istruct fuse_req *curr;$ ERROR: code indent should never use tabs #1717: FILE: tools/virtiofsd/fuse_lowlevel.c:1695: +^Ifor (curr = se->list.next; curr != &se->list; curr = curr->next) {$ ERROR: code indent should never use tabs #1718: FILE: tools/virtiofsd/fuse_lowlevel.c:1696: +^I^Iif (curr->unique == req->u.i.unique) {$ ERROR: code indent should never use tabs #1719: FILE: tools/virtiofsd/fuse_lowlevel.c:1697: +^I^I^Ifuse_interrupt_func_t func;$ ERROR: code indent should never use tabs #1720: FILE: tools/virtiofsd/fuse_lowlevel.c:1698: +^I^I^Ivoid *data;$ ERROR: code indent should never use tabs #1722: FILE: tools/virtiofsd/fuse_lowlevel.c:1700: +^I^I^Icurr->ctr++;$ ERROR: code indent should never use tabs #1723: FILE: tools/virtiofsd/fuse_lowlevel.c:1701: +^I^I^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #1725: FILE: tools/virtiofsd/fuse_lowlevel.c:1703: +^I^I^I/* Ugh, ugly locking */$ ERROR: code indent should never use tabs #1726: FILE: tools/virtiofsd/fuse_lowlevel.c:1704: +^I^I^Ipthread_mutex_lock(&curr->lock);$ ERROR: code indent should never use tabs #1727: FILE: tools/virtiofsd/fuse_lowlevel.c:1705: +^I^I^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #1728: FILE: tools/virtiofsd/fuse_lowlevel.c:1706: +^I^I^Icurr->interrupted = 1;$ ERROR: code indent should never use tabs #1729: FILE: tools/virtiofsd/fuse_lowlevel.c:1707: +^I^I^Ifunc = curr->u.ni.func;$ ERROR: code indent should never use tabs #1730: FILE: tools/virtiofsd/fuse_lowlevel.c:1708: +^I^I^Idata = curr->u.ni.data;$ ERROR: code indent should never use tabs #1731: FILE: tools/virtiofsd/fuse_lowlevel.c:1709: +^I^I^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710: +^I^I^Iif (func)$ ERROR: braces {} are necessary for all arms of this statement #1732: FILE: tools/virtiofsd/fuse_lowlevel.c:1710: + if (func) [...] ERROR: code indent should never use tabs #1733: FILE: tools/virtiofsd/fuse_lowlevel.c:1711: +^I^I^I^Ifunc(curr, data);$ ERROR: code indent should never use tabs #1734: FILE: tools/virtiofsd/fuse_lowlevel.c:1712: +^I^I^Ipthread_mutex_unlock(&curr->lock);$ ERROR: code indent should never use tabs #1736: FILE: tools/virtiofsd/fuse_lowlevel.c:1714: +^I^I^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #1737: FILE: tools/virtiofsd/fuse_lowlevel.c:1715: +^I^I^Icurr->ctr--;$ ERROR: code indent should never use tabs #1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716: +^I^I^Iif (!curr->ctr)$ ERROR: braces {} are necessary for all arms of this statement #1738: FILE: tools/virtiofsd/fuse_lowlevel.c:1716: + if (!curr->ctr) [...] ERROR: code indent should never use tabs #1739: FILE: tools/virtiofsd/fuse_lowlevel.c:1717: +^I^I^I^Idestroy_req(curr);$ ERROR: code indent should never use tabs #1741: FILE: tools/virtiofsd/fuse_lowlevel.c:1719: +^I^I^Ireturn 1;$ ERROR: code indent should never use tabs #1742: FILE: tools/virtiofsd/fuse_lowlevel.c:1720: +^I^I}$ ERROR: code indent should never use tabs #1743: FILE: tools/virtiofsd/fuse_lowlevel.c:1721: +^I}$ ERROR: code indent should never use tabs #1744: FILE: tools/virtiofsd/fuse_lowlevel.c:1722: +^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$ ERROR: code indent should never use tabs #1745: FILE: tools/virtiofsd/fuse_lowlevel.c:1723: +^I curr = curr->next) {$ ERROR: code indent should never use tabs #1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724: +^I^Iif (curr->u.i.unique == req->u.i.unique)$ ERROR: braces {} are necessary for all arms of this statement #1746: FILE: tools/virtiofsd/fuse_lowlevel.c:1724: + if (curr->u.i.unique == req->u.i.unique) [...] ERROR: code indent should never use tabs #1747: FILE: tools/virtiofsd/fuse_lowlevel.c:1725: +^I^I^Ireturn 1;$ ERROR: code indent should never use tabs #1748: FILE: tools/virtiofsd/fuse_lowlevel.c:1726: +^I}$ ERROR: code indent should never use tabs #1749: FILE: tools/virtiofsd/fuse_lowlevel.c:1727: +^Ireturn 0;$ ERROR: code indent should never use tabs #1754: FILE: tools/virtiofsd/fuse_lowlevel.c:1732: +^Istruct fuse_interrupt_in *arg = (struct fuse_interrupt_in *) inarg;$ ERROR: code indent should never use tabs #1755: FILE: tools/virtiofsd/fuse_lowlevel.c:1733: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #1757: FILE: tools/virtiofsd/fuse_lowlevel.c:1735: +^I(void) nodeid;$ ERROR: code indent should never use tabs #1758: FILE: tools/virtiofsd/fuse_lowlevel.c:1736: +^Iif (se->debug)$ ERROR: code indent should never use tabs #1759: FILE: tools/virtiofsd/fuse_lowlevel.c:1737: +^I^Ifuse_log(FUSE_LOG_DEBUG, "INTERRUPT: %llu\n",$ ERROR: code indent should never use tabs #1760: FILE: tools/virtiofsd/fuse_lowlevel.c:1738: +^I^I^I(unsigned long long) arg->unique);$ ERROR: code indent should never use tabs #1762: FILE: tools/virtiofsd/fuse_lowlevel.c:1740: +^Ireq->u.i.unique = arg->unique;$ ERROR: code indent should never use tabs #1764: FILE: tools/virtiofsd/fuse_lowlevel.c:1742: +^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743: +^Iif (find_interrupted(se, req))$ ERROR: braces {} are necessary for all arms of this statement #1765: FILE: tools/virtiofsd/fuse_lowlevel.c:1743: + if (find_interrupted(se, req)) [...] + else [...] ERROR: code indent should never use tabs #1766: FILE: tools/virtiofsd/fuse_lowlevel.c:1744: +^I^Idestroy_req(req);$ ERROR: code indent should never use tabs #1767: FILE: tools/virtiofsd/fuse_lowlevel.c:1745: +^Ielse$ ERROR: code indent should never use tabs #1768: FILE: tools/virtiofsd/fuse_lowlevel.c:1746: +^I^Ilist_add_req(req, &se->interrupts);$ ERROR: code indent should never use tabs #1769: FILE: tools/virtiofsd/fuse_lowlevel.c:1747: +^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #1773: FILE: tools/virtiofsd/fuse_lowlevel.c:1751: +^I^I^I^I^Istruct fuse_req *req)$ ERROR: code indent should never use tabs #1775: FILE: tools/virtiofsd/fuse_lowlevel.c:1753: +^Istruct fuse_req *curr;$ ERROR: code indent should never use tabs #1777: FILE: tools/virtiofsd/fuse_lowlevel.c:1755: +^Ifor (curr = se->interrupts.next; curr != &se->interrupts;$ ERROR: code indent should never use tabs #1778: FILE: tools/virtiofsd/fuse_lowlevel.c:1756: +^I curr = curr->next) {$ ERROR: code indent should never use tabs #1779: FILE: tools/virtiofsd/fuse_lowlevel.c:1757: +^I^Iif (curr->u.i.unique == req->unique) {$ ERROR: code indent should never use tabs #1780: FILE: tools/virtiofsd/fuse_lowlevel.c:1758: +^I^I^Ireq->interrupted = 1;$ ERROR: code indent should never use tabs #1781: FILE: tools/virtiofsd/fuse_lowlevel.c:1759: +^I^I^Ilist_del_req(curr);$ ERROR: code indent should never use tabs #1782: FILE: tools/virtiofsd/fuse_lowlevel.c:1760: +^I^I^Ifree(curr);$ ERROR: code indent should never use tabs #1783: FILE: tools/virtiofsd/fuse_lowlevel.c:1761: +^I^I^Ireturn NULL;$ ERROR: code indent should never use tabs #1784: FILE: tools/virtiofsd/fuse_lowlevel.c:1762: +^I^I}$ ERROR: code indent should never use tabs #1785: FILE: tools/virtiofsd/fuse_lowlevel.c:1763: +^I}$ ERROR: code indent should never use tabs #1786: FILE: tools/virtiofsd/fuse_lowlevel.c:1764: +^Icurr = se->interrupts.next;$ ERROR: code indent should never use tabs #1787: FILE: tools/virtiofsd/fuse_lowlevel.c:1765: +^Iif (curr != &se->interrupts) {$ ERROR: code indent should never use tabs #1788: FILE: tools/virtiofsd/fuse_lowlevel.c:1766: +^I^Ilist_del_req(curr);$ ERROR: code indent should never use tabs #1789: FILE: tools/virtiofsd/fuse_lowlevel.c:1767: +^I^Ilist_init_req(curr);$ ERROR: code indent should never use tabs #1790: FILE: tools/virtiofsd/fuse_lowlevel.c:1768: +^I^Ireturn curr;$ ERROR: code indent should never use tabs #1791: FILE: tools/virtiofsd/fuse_lowlevel.c:1769: +^I} else$ ERROR: code indent should never use tabs #1792: FILE: tools/virtiofsd/fuse_lowlevel.c:1770: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #1797: FILE: tools/virtiofsd/fuse_lowlevel.c:1775: +^Istruct fuse_bmap_in *arg = (struct fuse_bmap_in *) inarg;$ ERROR: code indent should never use tabs #1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777: +^Iif (req->se->op.bmap)$ ERROR: braces {} are necessary for all arms of this statement #1799: FILE: tools/virtiofsd/fuse_lowlevel.c:1777: + if (req->se->op.bmap) [...] + else [...] ERROR: code indent should never use tabs #1800: FILE: tools/virtiofsd/fuse_lowlevel.c:1778: +^I^Ireq->se->op.bmap(req, nodeid, arg->blocksize, arg->block);$ ERROR: code indent should never use tabs #1801: FILE: tools/virtiofsd/fuse_lowlevel.c:1779: +^Ielse$ ERROR: code indent should never use tabs #1802: FILE: tools/virtiofsd/fuse_lowlevel.c:1780: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1807: FILE: tools/virtiofsd/fuse_lowlevel.c:1785: +^Istruct fuse_ioctl_in *arg = (struct fuse_ioctl_in *) inarg;$ ERROR: code indent should never use tabs #1808: FILE: tools/virtiofsd/fuse_lowlevel.c:1786: +^Iunsigned int flags = arg->flags;$ ERROR: code indent should never use tabs #1809: FILE: tools/virtiofsd/fuse_lowlevel.c:1787: +^Ivoid *in_buf = arg->in_size ? PARAM(arg) : NULL;$ ERROR: code indent should never use tabs #1810: FILE: tools/virtiofsd/fuse_lowlevel.c:1788: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1812: FILE: tools/virtiofsd/fuse_lowlevel.c:1790: +^Iif (flags & FUSE_IOCTL_DIR &&$ ERROR: code indent should never use tabs #1813: FILE: tools/virtiofsd/fuse_lowlevel.c:1791: +^I !(req->se->conn.want & FUSE_CAP_IOCTL_DIR)) {$ ERROR: code indent should never use tabs #1814: FILE: tools/virtiofsd/fuse_lowlevel.c:1792: +^I^Ifuse_reply_err(req, ENOTTY);$ ERROR: code indent should never use tabs #1815: FILE: tools/virtiofsd/fuse_lowlevel.c:1793: +^I^Ireturn;$ ERROR: code indent should never use tabs #1816: FILE: tools/virtiofsd/fuse_lowlevel.c:1794: +^I}$ ERROR: code indent should never use tabs #1818: FILE: tools/virtiofsd/fuse_lowlevel.c:1796: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1819: FILE: tools/virtiofsd/fuse_lowlevel.c:1797: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1821: FILE: tools/virtiofsd/fuse_lowlevel.c:1799: +^Iif (sizeof(void *) == 4 && req->se->conn.proto_minor >= 16 &&$ ERROR: code indent should never use tabs #1822: FILE: tools/virtiofsd/fuse_lowlevel.c:1800: +^I !(flags & FUSE_IOCTL_32BIT)) {$ ERROR: code indent should never use tabs #1823: FILE: tools/virtiofsd/fuse_lowlevel.c:1801: +^I^Ireq->ioctl_64bit = 1;$ ERROR: code indent should never use tabs #1824: FILE: tools/virtiofsd/fuse_lowlevel.c:1802: +^I}$ ERROR: code indent should never use tabs #1826: FILE: tools/virtiofsd/fuse_lowlevel.c:1804: +^Iif (req->se->op.ioctl)$ ERROR: code indent should never use tabs #1827: FILE: tools/virtiofsd/fuse_lowlevel.c:1805: +^I^Ireq->se->op.ioctl(req, nodeid, arg->cmd,$ ERROR: code indent should never use tabs #1828: FILE: tools/virtiofsd/fuse_lowlevel.c:1806: +^I^I^I^I (void *)(uintptr_t)arg->arg, &fi, flags,$ ERROR: code indent should never use tabs #1829: FILE: tools/virtiofsd/fuse_lowlevel.c:1807: +^I^I^I^I in_buf, arg->in_size, arg->out_size);$ ERROR: code indent should never use tabs #1830: FILE: tools/virtiofsd/fuse_lowlevel.c:1808: +^Ielse$ ERROR: code indent should never use tabs #1831: FILE: tools/virtiofsd/fuse_lowlevel.c:1809: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1836: FILE: tools/virtiofsd/fuse_lowlevel.c:1814: +^Ifree(ph);$ ERROR: code indent should never use tabs #1841: FILE: tools/virtiofsd/fuse_lowlevel.c:1819: +^Istruct fuse_poll_in *arg = (struct fuse_poll_in *) inarg;$ ERROR: code indent should never use tabs #1842: FILE: tools/virtiofsd/fuse_lowlevel.c:1820: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1844: FILE: tools/virtiofsd/fuse_lowlevel.c:1822: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1845: FILE: tools/virtiofsd/fuse_lowlevel.c:1823: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1846: FILE: tools/virtiofsd/fuse_lowlevel.c:1824: +^Ifi.poll_events = arg->events;$ ERROR: code indent should never use tabs #1848: FILE: tools/virtiofsd/fuse_lowlevel.c:1826: +^Iif (req->se->op.poll) {$ ERROR: code indent should never use tabs #1849: FILE: tools/virtiofsd/fuse_lowlevel.c:1827: +^I^Istruct fuse_pollhandle *ph = NULL;$ ERROR: code indent should never use tabs #1851: FILE: tools/virtiofsd/fuse_lowlevel.c:1829: +^I^Iif (arg->flags & FUSE_POLL_SCHEDULE_NOTIFY) {$ ERROR: code indent should never use tabs #1852: FILE: tools/virtiofsd/fuse_lowlevel.c:1830: +^I^I^Iph = malloc(sizeof(struct fuse_pollhandle));$ ERROR: code indent should never use tabs #1853: FILE: tools/virtiofsd/fuse_lowlevel.c:1831: +^I^I^Iif (ph == NULL) {$ ERROR: code indent should never use tabs #1854: FILE: tools/virtiofsd/fuse_lowlevel.c:1832: +^I^I^I^Ifuse_reply_err(req, ENOMEM);$ ERROR: code indent should never use tabs #1855: FILE: tools/virtiofsd/fuse_lowlevel.c:1833: +^I^I^I^Ireturn;$ ERROR: code indent should never use tabs #1856: FILE: tools/virtiofsd/fuse_lowlevel.c:1834: +^I^I^I}$ ERROR: code indent should never use tabs #1857: FILE: tools/virtiofsd/fuse_lowlevel.c:1835: +^I^I^Iph->kh = arg->kh;$ ERROR: code indent should never use tabs #1858: FILE: tools/virtiofsd/fuse_lowlevel.c:1836: +^I^I^Iph->se = req->se;$ ERROR: code indent should never use tabs #1859: FILE: tools/virtiofsd/fuse_lowlevel.c:1837: +^I^I}$ ERROR: code indent should never use tabs #1861: FILE: tools/virtiofsd/fuse_lowlevel.c:1839: +^I^Ireq->se->op.poll(req, nodeid, &fi, ph);$ ERROR: code indent should never use tabs #1862: FILE: tools/virtiofsd/fuse_lowlevel.c:1840: +^I} else {$ ERROR: code indent should never use tabs #1863: FILE: tools/virtiofsd/fuse_lowlevel.c:1841: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1864: FILE: tools/virtiofsd/fuse_lowlevel.c:1842: +^I}$ ERROR: code indent should never use tabs #1869: FILE: tools/virtiofsd/fuse_lowlevel.c:1847: +^Istruct fuse_fallocate_in *arg = (struct fuse_fallocate_in *) inarg;$ ERROR: code indent should never use tabs #1870: FILE: tools/virtiofsd/fuse_lowlevel.c:1848: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1872: FILE: tools/virtiofsd/fuse_lowlevel.c:1850: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1873: FILE: tools/virtiofsd/fuse_lowlevel.c:1851: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853: +^Iif (req->se->op.fallocate)$ ERROR: braces {} are necessary for all arms of this statement #1875: FILE: tools/virtiofsd/fuse_lowlevel.c:1853: + if (req->se->op.fallocate) [...] + else [...] ERROR: line over 90 characters #1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854: + req->se->op.fallocate(req, nodeid, arg->mode, arg->offset, arg->length, &fi); ERROR: code indent should never use tabs #1876: FILE: tools/virtiofsd/fuse_lowlevel.c:1854: +^I^Ireq->se->op.fallocate(req, nodeid, arg->mode, arg->offset, arg->length, &fi);$ ERROR: code indent should never use tabs #1877: FILE: tools/virtiofsd/fuse_lowlevel.c:1855: +^Ielse$ ERROR: code indent should never use tabs #1878: FILE: tools/virtiofsd/fuse_lowlevel.c:1856: +^I^Ifuse_reply_err(req, ENOSYS);$ WARNING: line over 80 characters #1881: FILE: tools/virtiofsd/fuse_lowlevel.c:1859: +static void do_copy_file_range(fuse_req_t req, fuse_ino_t nodeid_in, const void *inarg) WARNING: line over 80 characters #1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861: + struct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in *) inarg; ERROR: code indent should never use tabs #1883: FILE: tools/virtiofsd/fuse_lowlevel.c:1861: +^Istruct fuse_copy_file_range_in *arg = (struct fuse_copy_file_range_in *) inarg;$ ERROR: code indent should never use tabs #1884: FILE: tools/virtiofsd/fuse_lowlevel.c:1862: +^Istruct fuse_file_info fi_in, fi_out;$ ERROR: code indent should never use tabs #1886: FILE: tools/virtiofsd/fuse_lowlevel.c:1864: +^Imemset(&fi_in, 0, sizeof(fi_in));$ ERROR: code indent should never use tabs #1887: FILE: tools/virtiofsd/fuse_lowlevel.c:1865: +^Ifi_in.fh = arg->fh_in;$ ERROR: code indent should never use tabs #1889: FILE: tools/virtiofsd/fuse_lowlevel.c:1867: +^Imemset(&fi_out, 0, sizeof(fi_out));$ ERROR: code indent should never use tabs #1890: FILE: tools/virtiofsd/fuse_lowlevel.c:1868: +^Ifi_out.fh = arg->fh_out;$ ERROR: code indent should never use tabs #1893: FILE: tools/virtiofsd/fuse_lowlevel.c:1871: +^Iif (req->se->op.copy_file_range)$ ERROR: code indent should never use tabs #1894: FILE: tools/virtiofsd/fuse_lowlevel.c:1872: +^I^Ireq->se->op.copy_file_range(req, nodeid_in, arg->off_in,$ ERROR: code indent should never use tabs #1895: FILE: tools/virtiofsd/fuse_lowlevel.c:1873: +^I^I^I^I^I &fi_in, arg->nodeid_out,$ ERROR: code indent should never use tabs #1896: FILE: tools/virtiofsd/fuse_lowlevel.c:1874: +^I^I^I^I^I arg->off_out, &fi_out, arg->len,$ ERROR: code indent should never use tabs #1897: FILE: tools/virtiofsd/fuse_lowlevel.c:1875: +^I^I^I^I^I arg->flags);$ ERROR: code indent should never use tabs #1898: FILE: tools/virtiofsd/fuse_lowlevel.c:1876: +^Ielse$ ERROR: code indent should never use tabs #1899: FILE: tools/virtiofsd/fuse_lowlevel.c:1877: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1904: FILE: tools/virtiofsd/fuse_lowlevel.c:1882: +^Istruct fuse_lseek_in *arg = (struct fuse_lseek_in *) inarg;$ ERROR: code indent should never use tabs #1905: FILE: tools/virtiofsd/fuse_lowlevel.c:1883: +^Istruct fuse_file_info fi;$ ERROR: code indent should never use tabs #1907: FILE: tools/virtiofsd/fuse_lowlevel.c:1885: +^Imemset(&fi, 0, sizeof(fi));$ ERROR: code indent should never use tabs #1908: FILE: tools/virtiofsd/fuse_lowlevel.c:1886: +^Ifi.fh = arg->fh;$ ERROR: code indent should never use tabs #1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888: +^Iif (req->se->op.lseek)$ ERROR: braces {} are necessary for all arms of this statement #1910: FILE: tools/virtiofsd/fuse_lowlevel.c:1888: + if (req->se->op.lseek) [...] + else [...] ERROR: code indent should never use tabs #1911: FILE: tools/virtiofsd/fuse_lowlevel.c:1889: +^I^Ireq->se->op.lseek(req, nodeid, arg->offset, arg->whence, &fi);$ ERROR: code indent should never use tabs #1912: FILE: tools/virtiofsd/fuse_lowlevel.c:1890: +^Ielse$ ERROR: code indent should never use tabs #1913: FILE: tools/virtiofsd/fuse_lowlevel.c:1891: +^I^Ifuse_reply_err(req, ENOSYS);$ ERROR: code indent should never use tabs #1918: FILE: tools/virtiofsd/fuse_lowlevel.c:1896: +^Istruct fuse_init_in *arg = (struct fuse_init_in *) inarg;$ ERROR: code indent should never use tabs #1919: FILE: tools/virtiofsd/fuse_lowlevel.c:1897: +^Istruct fuse_init_out outarg;$ ERROR: code indent should never use tabs #1920: FILE: tools/virtiofsd/fuse_lowlevel.c:1898: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #1921: FILE: tools/virtiofsd/fuse_lowlevel.c:1899: +^Isize_t bufsize = se->bufsize;$ ERROR: code indent should never use tabs #1922: FILE: tools/virtiofsd/fuse_lowlevel.c:1900: +^Isize_t outargsize = sizeof(outarg);$ ERROR: code indent should never use tabs #1924: FILE: tools/virtiofsd/fuse_lowlevel.c:1902: +^I(void) nodeid;$ ERROR: code indent should never use tabs #1925: FILE: tools/virtiofsd/fuse_lowlevel.c:1903: +^Iif (se->debug) {$ WARNING: line over 80 characters #1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904: + fuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, arg->minor); ERROR: code indent should never use tabs #1926: FILE: tools/virtiofsd/fuse_lowlevel.c:1904: +^I^Ifuse_log(FUSE_LOG_DEBUG, "INIT: %u.%u\n", arg->major, arg->minor);$ ERROR: code indent should never use tabs #1927: FILE: tools/virtiofsd/fuse_lowlevel.c:1905: +^I^Iif (arg->major == 7 && arg->minor >= 6) {$ ERROR: code indent should never use tabs #1928: FILE: tools/virtiofsd/fuse_lowlevel.c:1906: +^I^I^Ifuse_log(FUSE_LOG_DEBUG, "flags=0x%08x\n", arg->flags);$ ERROR: code indent should never use tabs #1929: FILE: tools/virtiofsd/fuse_lowlevel.c:1907: +^I^I^Ifuse_log(FUSE_LOG_DEBUG, "max_readahead=0x%08x\n",$ ERROR: code indent should never use tabs #1930: FILE: tools/virtiofsd/fuse_lowlevel.c:1908: +^I^I^I^Iarg->max_readahead);$ ERROR: code indent should never use tabs #1931: FILE: tools/virtiofsd/fuse_lowlevel.c:1909: +^I^I}$ ERROR: code indent should never use tabs #1932: FILE: tools/virtiofsd/fuse_lowlevel.c:1910: +^I}$ ERROR: code indent should never use tabs #1933: FILE: tools/virtiofsd/fuse_lowlevel.c:1911: +^Ise->conn.proto_major = arg->major;$ ERROR: code indent should never use tabs #1934: FILE: tools/virtiofsd/fuse_lowlevel.c:1912: +^Ise->conn.proto_minor = arg->minor;$ ERROR: code indent should never use tabs #1935: FILE: tools/virtiofsd/fuse_lowlevel.c:1913: +^Ise->conn.capable = 0;$ ERROR: code indent should never use tabs #1936: FILE: tools/virtiofsd/fuse_lowlevel.c:1914: +^Ise->conn.want = 0;$ ERROR: code indent should never use tabs #1938: FILE: tools/virtiofsd/fuse_lowlevel.c:1916: +^Imemset(&outarg, 0, sizeof(outarg));$ ERROR: code indent should never use tabs #1939: FILE: tools/virtiofsd/fuse_lowlevel.c:1917: +^Ioutarg.major = FUSE_KERNEL_VERSION;$ ERROR: code indent should never use tabs #1940: FILE: tools/virtiofsd/fuse_lowlevel.c:1918: +^Ioutarg.minor = FUSE_KERNEL_MINOR_VERSION;$ ERROR: code indent should never use tabs #1942: FILE: tools/virtiofsd/fuse_lowlevel.c:1920: +^Iif (arg->major < 7) {$ WARNING: line over 80 characters #1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921: + fuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: %u.%u\n", ERROR: code indent should never use tabs #1943: FILE: tools/virtiofsd/fuse_lowlevel.c:1921: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unsupported protocol version: %u.%u\n",$ ERROR: code indent should never use tabs #1944: FILE: tools/virtiofsd/fuse_lowlevel.c:1922: +^I^I^Iarg->major, arg->minor);$ ERROR: code indent should never use tabs #1945: FILE: tools/virtiofsd/fuse_lowlevel.c:1923: +^I^Ifuse_reply_err(req, EPROTO);$ ERROR: code indent should never use tabs #1946: FILE: tools/virtiofsd/fuse_lowlevel.c:1924: +^I^Ireturn;$ ERROR: code indent should never use tabs #1947: FILE: tools/virtiofsd/fuse_lowlevel.c:1925: +^I}$ ERROR: code indent should never use tabs #1949: FILE: tools/virtiofsd/fuse_lowlevel.c:1927: +^Iif (arg->major > 7) {$ ERROR: code indent should never use tabs #1950: FILE: tools/virtiofsd/fuse_lowlevel.c:1928: +^I^I/* Wait for a second INIT request with a 7.X version */$ ERROR: code indent should never use tabs #1951: FILE: tools/virtiofsd/fuse_lowlevel.c:1929: +^I^Isend_reply_ok(req, &outarg, sizeof(outarg));$ ERROR: code indent should never use tabs #1952: FILE: tools/virtiofsd/fuse_lowlevel.c:1930: +^I^Ireturn;$ ERROR: code indent should never use tabs #1953: FILE: tools/virtiofsd/fuse_lowlevel.c:1931: +^I}$ ERROR: code indent should never use tabs #1955: FILE: tools/virtiofsd/fuse_lowlevel.c:1933: +^Iif (arg->minor >= 6) {$ ERROR: code indent should never use tabs #1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934: +^I^Iif (arg->max_readahead < se->conn.max_readahead)$ ERROR: braces {} are necessary for all arms of this statement #1956: FILE: tools/virtiofsd/fuse_lowlevel.c:1934: + if (arg->max_readahead < se->conn.max_readahead) [...] ERROR: code indent should never use tabs #1957: FILE: tools/virtiofsd/fuse_lowlevel.c:1935: +^I^I^Ise->conn.max_readahead = arg->max_readahead;$ ERROR: code indent should never use tabs #1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936: +^I^Iif (arg->flags & FUSE_ASYNC_READ)$ ERROR: braces {} are necessary for all arms of this statement #1958: FILE: tools/virtiofsd/fuse_lowlevel.c:1936: + if (arg->flags & FUSE_ASYNC_READ) [...] ERROR: code indent should never use tabs #1959: FILE: tools/virtiofsd/fuse_lowlevel.c:1937: +^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_READ;$ ERROR: code indent should never use tabs #1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938: +^I^Iif (arg->flags & FUSE_POSIX_LOCKS)$ ERROR: braces {} are necessary for all arms of this statement #1960: FILE: tools/virtiofsd/fuse_lowlevel.c:1938: + if (arg->flags & FUSE_POSIX_LOCKS) [...] ERROR: code indent should never use tabs #1961: FILE: tools/virtiofsd/fuse_lowlevel.c:1939: +^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_LOCKS;$ ERROR: code indent should never use tabs #1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940: +^I^Iif (arg->flags & FUSE_ATOMIC_O_TRUNC)$ ERROR: braces {} are necessary for all arms of this statement #1962: FILE: tools/virtiofsd/fuse_lowlevel.c:1940: + if (arg->flags & FUSE_ATOMIC_O_TRUNC) [...] ERROR: code indent should never use tabs #1963: FILE: tools/virtiofsd/fuse_lowlevel.c:1941: +^I^I^Ise->conn.capable |= FUSE_CAP_ATOMIC_O_TRUNC;$ ERROR: code indent should never use tabs #1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942: +^I^Iif (arg->flags & FUSE_EXPORT_SUPPORT)$ ERROR: braces {} are necessary for all arms of this statement #1964: FILE: tools/virtiofsd/fuse_lowlevel.c:1942: + if (arg->flags & FUSE_EXPORT_SUPPORT) [...] ERROR: code indent should never use tabs #1965: FILE: tools/virtiofsd/fuse_lowlevel.c:1943: +^I^I^Ise->conn.capable |= FUSE_CAP_EXPORT_SUPPORT;$ ERROR: code indent should never use tabs #1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944: +^I^Iif (arg->flags & FUSE_DONT_MASK)$ ERROR: braces {} are necessary for all arms of this statement #1966: FILE: tools/virtiofsd/fuse_lowlevel.c:1944: + if (arg->flags & FUSE_DONT_MASK) [...] ERROR: code indent should never use tabs #1967: FILE: tools/virtiofsd/fuse_lowlevel.c:1945: +^I^I^Ise->conn.capable |= FUSE_CAP_DONT_MASK;$ ERROR: code indent should never use tabs #1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946: +^I^Iif (arg->flags & FUSE_FLOCK_LOCKS)$ ERROR: braces {} are necessary for all arms of this statement #1968: FILE: tools/virtiofsd/fuse_lowlevel.c:1946: + if (arg->flags & FUSE_FLOCK_LOCKS) [...] ERROR: code indent should never use tabs #1969: FILE: tools/virtiofsd/fuse_lowlevel.c:1947: +^I^I^Ise->conn.capable |= FUSE_CAP_FLOCK_LOCKS;$ ERROR: code indent should never use tabs #1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948: +^I^Iif (arg->flags & FUSE_AUTO_INVAL_DATA)$ ERROR: braces {} are necessary for all arms of this statement #1970: FILE: tools/virtiofsd/fuse_lowlevel.c:1948: + if (arg->flags & FUSE_AUTO_INVAL_DATA) [...] ERROR: code indent should never use tabs #1971: FILE: tools/virtiofsd/fuse_lowlevel.c:1949: +^I^I^Ise->conn.capable |= FUSE_CAP_AUTO_INVAL_DATA;$ ERROR: code indent should never use tabs #1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950: +^I^Iif (arg->flags & FUSE_DO_READDIRPLUS)$ ERROR: braces {} are necessary for all arms of this statement #1972: FILE: tools/virtiofsd/fuse_lowlevel.c:1950: + if (arg->flags & FUSE_DO_READDIRPLUS) [...] ERROR: code indent should never use tabs #1973: FILE: tools/virtiofsd/fuse_lowlevel.c:1951: +^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS;$ ERROR: code indent should never use tabs #1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952: +^I^Iif (arg->flags & FUSE_READDIRPLUS_AUTO)$ ERROR: braces {} are necessary for all arms of this statement #1974: FILE: tools/virtiofsd/fuse_lowlevel.c:1952: + if (arg->flags & FUSE_READDIRPLUS_AUTO) [...] ERROR: code indent should never use tabs #1975: FILE: tools/virtiofsd/fuse_lowlevel.c:1953: +^I^I^Ise->conn.capable |= FUSE_CAP_READDIRPLUS_AUTO;$ ERROR: code indent should never use tabs #1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954: +^I^Iif (arg->flags & FUSE_ASYNC_DIO)$ ERROR: braces {} are necessary for all arms of this statement #1976: FILE: tools/virtiofsd/fuse_lowlevel.c:1954: + if (arg->flags & FUSE_ASYNC_DIO) [...] ERROR: code indent should never use tabs #1977: FILE: tools/virtiofsd/fuse_lowlevel.c:1955: +^I^I^Ise->conn.capable |= FUSE_CAP_ASYNC_DIO;$ ERROR: code indent should never use tabs #1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956: +^I^Iif (arg->flags & FUSE_WRITEBACK_CACHE)$ ERROR: braces {} are necessary for all arms of this statement #1978: FILE: tools/virtiofsd/fuse_lowlevel.c:1956: + if (arg->flags & FUSE_WRITEBACK_CACHE) [...] ERROR: code indent should never use tabs #1979: FILE: tools/virtiofsd/fuse_lowlevel.c:1957: +^I^I^Ise->conn.capable |= FUSE_CAP_WRITEBACK_CACHE;$ ERROR: code indent should never use tabs #1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958: +^I^Iif (arg->flags & FUSE_NO_OPEN_SUPPORT)$ ERROR: braces {} are necessary for all arms of this statement #1980: FILE: tools/virtiofsd/fuse_lowlevel.c:1958: + if (arg->flags & FUSE_NO_OPEN_SUPPORT) [...] ERROR: code indent should never use tabs #1981: FILE: tools/virtiofsd/fuse_lowlevel.c:1959: +^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPEN_SUPPORT;$ ERROR: code indent should never use tabs #1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960: +^I^Iif (arg->flags & FUSE_PARALLEL_DIROPS)$ ERROR: braces {} are necessary for all arms of this statement #1982: FILE: tools/virtiofsd/fuse_lowlevel.c:1960: + if (arg->flags & FUSE_PARALLEL_DIROPS) [...] ERROR: code indent should never use tabs #1983: FILE: tools/virtiofsd/fuse_lowlevel.c:1961: +^I^I^Ise->conn.capable |= FUSE_CAP_PARALLEL_DIROPS;$ ERROR: code indent should never use tabs #1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962: +^I^Iif (arg->flags & FUSE_POSIX_ACL)$ ERROR: braces {} are necessary for all arms of this statement #1984: FILE: tools/virtiofsd/fuse_lowlevel.c:1962: + if (arg->flags & FUSE_POSIX_ACL) [...] ERROR: code indent should never use tabs #1985: FILE: tools/virtiofsd/fuse_lowlevel.c:1963: +^I^I^Ise->conn.capable |= FUSE_CAP_POSIX_ACL;$ ERROR: code indent should never use tabs #1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964: +^I^Iif (arg->flags & FUSE_HANDLE_KILLPRIV)$ ERROR: braces {} are necessary for all arms of this statement #1986: FILE: tools/virtiofsd/fuse_lowlevel.c:1964: + if (arg->flags & FUSE_HANDLE_KILLPRIV) [...] ERROR: code indent should never use tabs #1987: FILE: tools/virtiofsd/fuse_lowlevel.c:1965: +^I^I^Ise->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;$ ERROR: code indent should never use tabs #1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966: +^I^Iif (arg->flags & FUSE_NO_OPENDIR_SUPPORT)$ ERROR: braces {} are necessary for all arms of this statement #1988: FILE: tools/virtiofsd/fuse_lowlevel.c:1966: + if (arg->flags & FUSE_NO_OPENDIR_SUPPORT) [...] ERROR: code indent should never use tabs #1989: FILE: tools/virtiofsd/fuse_lowlevel.c:1967: +^I^I^Ise->conn.capable |= FUSE_CAP_NO_OPENDIR_SUPPORT;$ ERROR: code indent should never use tabs #1990: FILE: tools/virtiofsd/fuse_lowlevel.c:1968: +^I^Iif (!(arg->flags & FUSE_MAX_PAGES)) {$ ERROR: code indent should never use tabs #1991: FILE: tools/virtiofsd/fuse_lowlevel.c:1969: +^I^I^Isize_t max_bufsize =$ ERROR: code indent should never use tabs #1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970: +^I^I^I^IFUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()$ ERROR: use qemu_real_host_page_size instead of getpagesize() #1992: FILE: tools/virtiofsd/fuse_lowlevel.c:1970: + FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() ERROR: code indent should never use tabs #1993: FILE: tools/virtiofsd/fuse_lowlevel.c:1971: +^I^I^I^I+ FUSE_BUFFER_HEADER_SIZE;$ ERROR: code indent should never use tabs #1994: FILE: tools/virtiofsd/fuse_lowlevel.c:1972: +^I^I^Iif (bufsize > max_bufsize) {$ ERROR: code indent should never use tabs #1995: FILE: tools/virtiofsd/fuse_lowlevel.c:1973: +^I^I^I^Ibufsize = max_bufsize;$ ERROR: code indent should never use tabs #1996: FILE: tools/virtiofsd/fuse_lowlevel.c:1974: +^I^I^I}$ ERROR: code indent should never use tabs #1997: FILE: tools/virtiofsd/fuse_lowlevel.c:1975: +^I^I}$ ERROR: code indent should never use tabs #1998: FILE: tools/virtiofsd/fuse_lowlevel.c:1976: +^I} else {$ ERROR: code indent should never use tabs #1999: FILE: tools/virtiofsd/fuse_lowlevel.c:1977: +^I^Ise->conn.max_readahead = 0;$ ERROR: code indent should never use tabs #2000: FILE: tools/virtiofsd/fuse_lowlevel.c:1978: +^I}$ ERROR: code indent should never use tabs #2002: FILE: tools/virtiofsd/fuse_lowlevel.c:1980: +^Iif (se->conn.proto_minor >= 14) {$ WARNING: line over 80 characters #2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983: + se->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE; ERROR: code indent should never use tabs #2005: FILE: tools/virtiofsd/fuse_lowlevel.c:1983: +^I^Ise->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE;$ ERROR: code indent should never use tabs #2007: FILE: tools/virtiofsd/fuse_lowlevel.c:1985: +^I^Ise->conn.capable |= FUSE_CAP_SPLICE_READ;$ ERROR: code indent should never use tabs #2009: FILE: tools/virtiofsd/fuse_lowlevel.c:1987: +^I}$ ERROR: code indent should never use tabs #2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988: +^Iif (se->conn.proto_minor >= 18)$ ERROR: braces {} are necessary for all arms of this statement #2010: FILE: tools/virtiofsd/fuse_lowlevel.c:1988: + if (se->conn.proto_minor >= 18) [...] ERROR: code indent should never use tabs #2011: FILE: tools/virtiofsd/fuse_lowlevel.c:1989: +^I^Ise->conn.capable |= FUSE_CAP_IOCTL_DIR;$ ERROR: code indent should never use tabs #2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991: +^I/* Default settings for modern filesystems.$ WARNING: Block comments use a leading /* on a separate line #2013: FILE: tools/virtiofsd/fuse_lowlevel.c:1991: + /* Default settings for modern filesystems. ERROR: code indent should never use tabs #2014: FILE: tools/virtiofsd/fuse_lowlevel.c:1992: +^I *$ ERROR: code indent should never use tabs #2015: FILE: tools/virtiofsd/fuse_lowlevel.c:1993: +^I * Most of these capabilities were disabled by default in$ ERROR: code indent should never use tabs #2016: FILE: tools/virtiofsd/fuse_lowlevel.c:1994: +^I * libfuse2 for backwards compatibility reasons. In libfuse3,$ ERROR: code indent should never use tabs #2017: FILE: tools/virtiofsd/fuse_lowlevel.c:1995: +^I * we can finally enable them by default (as long as they're$ ERROR: code indent should never use tabs #2018: FILE: tools/virtiofsd/fuse_lowlevel.c:1996: +^I * supported by the kernel).$ ERROR: code indent should never use tabs #2019: FILE: tools/virtiofsd/fuse_lowlevel.c:1997: +^I */$ ERROR: Macros with complex values should be enclosed in parenthesis #2020: FILE: tools/virtiofsd/fuse_lowlevel.c:1998: +#define LL_SET_DEFAULT(cond, cap) \ + if ((cond) && (se->conn.capable & (cap))) \ + se->conn.want |= (cap) ERROR: code indent should never use tabs #2021: FILE: tools/virtiofsd/fuse_lowlevel.c:1999: +^Iif ((cond) && (se->conn.capable & (cap))) \$ ERROR: code indent should never use tabs #2022: FILE: tools/virtiofsd/fuse_lowlevel.c:2000: +^I^Ise->conn.want |= (cap)$ ERROR: code indent should never use tabs #2023: FILE: tools/virtiofsd/fuse_lowlevel.c:2001: +^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_READ);$ ERROR: code indent should never use tabs #2024: FILE: tools/virtiofsd/fuse_lowlevel.c:2002: +^ILL_SET_DEFAULT(1, FUSE_CAP_PARALLEL_DIROPS);$ ERROR: code indent should never use tabs #2025: FILE: tools/virtiofsd/fuse_lowlevel.c:2003: +^ILL_SET_DEFAULT(1, FUSE_CAP_AUTO_INVAL_DATA);$ ERROR: code indent should never use tabs #2026: FILE: tools/virtiofsd/fuse_lowlevel.c:2004: +^ILL_SET_DEFAULT(1, FUSE_CAP_HANDLE_KILLPRIV);$ ERROR: code indent should never use tabs #2027: FILE: tools/virtiofsd/fuse_lowlevel.c:2005: +^ILL_SET_DEFAULT(1, FUSE_CAP_ASYNC_DIO);$ ERROR: code indent should never use tabs #2028: FILE: tools/virtiofsd/fuse_lowlevel.c:2006: +^ILL_SET_DEFAULT(1, FUSE_CAP_IOCTL_DIR);$ ERROR: code indent should never use tabs #2029: FILE: tools/virtiofsd/fuse_lowlevel.c:2007: +^ILL_SET_DEFAULT(1, FUSE_CAP_ATOMIC_O_TRUNC);$ ERROR: code indent should never use tabs #2030: FILE: tools/virtiofsd/fuse_lowlevel.c:2008: +^ILL_SET_DEFAULT(se->op.write_buf, FUSE_CAP_SPLICE_READ);$ ERROR: code indent should never use tabs #2031: FILE: tools/virtiofsd/fuse_lowlevel.c:2009: +^ILL_SET_DEFAULT(se->op.getlk && se->op.setlk,$ ERROR: code indent should never use tabs #2032: FILE: tools/virtiofsd/fuse_lowlevel.c:2010: +^I^I FUSE_CAP_POSIX_LOCKS);$ ERROR: code indent should never use tabs #2033: FILE: tools/virtiofsd/fuse_lowlevel.c:2011: +^ILL_SET_DEFAULT(se->op.flock, FUSE_CAP_FLOCK_LOCKS);$ ERROR: code indent should never use tabs #2034: FILE: tools/virtiofsd/fuse_lowlevel.c:2012: +^ILL_SET_DEFAULT(se->op.readdirplus, FUSE_CAP_READDIRPLUS);$ ERROR: code indent should never use tabs #2035: FILE: tools/virtiofsd/fuse_lowlevel.c:2013: +^ILL_SET_DEFAULT(se->op.readdirplus && se->op.readdir,$ ERROR: code indent should never use tabs #2036: FILE: tools/virtiofsd/fuse_lowlevel.c:2014: +^I^I FUSE_CAP_READDIRPLUS_AUTO);$ ERROR: code indent should never use tabs #2037: FILE: tools/virtiofsd/fuse_lowlevel.c:2015: +^Ise->conn.time_gran = 1;$ ERROR: trailing whitespace #2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016: +^I$ ERROR: code indent should never use tabs #2038: FILE: tools/virtiofsd/fuse_lowlevel.c:2016: +^I$ ERROR: code indent should never use tabs #2039: FILE: tools/virtiofsd/fuse_lowlevel.c:2017: +^Iif (bufsize < FUSE_MIN_READ_BUFFER) {$ WARNING: line over 80 characters #2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018: + fuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: %zu\n", ERROR: code indent should never use tabs #2040: FILE: tools/virtiofsd/fuse_lowlevel.c:2018: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: buffer size too small: %zu\n",$ ERROR: code indent should never use tabs #2041: FILE: tools/virtiofsd/fuse_lowlevel.c:2019: +^I^I^Ibufsize);$ ERROR: code indent should never use tabs #2042: FILE: tools/virtiofsd/fuse_lowlevel.c:2020: +^I^Ibufsize = FUSE_MIN_READ_BUFFER;$ ERROR: code indent should never use tabs #2043: FILE: tools/virtiofsd/fuse_lowlevel.c:2021: +^I}$ ERROR: code indent should never use tabs #2044: FILE: tools/virtiofsd/fuse_lowlevel.c:2022: +^Ise->bufsize = bufsize;$ ERROR: code indent should never use tabs #2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024: +^Iif (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)$ ERROR: braces {} are necessary for all arms of this statement #2046: FILE: tools/virtiofsd/fuse_lowlevel.c:2024: + if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE) [...] ERROR: code indent should never use tabs #2047: FILE: tools/virtiofsd/fuse_lowlevel.c:2025: +^I^Ise->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE;$ ERROR: code indent should never use tabs #2049: FILE: tools/virtiofsd/fuse_lowlevel.c:2027: +^Ise->got_init = 1;$ ERROR: code indent should never use tabs #2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028: +^Iif (se->op.init)$ ERROR: braces {} are necessary for all arms of this statement #2050: FILE: tools/virtiofsd/fuse_lowlevel.c:2028: + if (se->op.init) [...] ERROR: code indent should never use tabs #2051: FILE: tools/virtiofsd/fuse_lowlevel.c:2029: +^I^Ise->op.init(se->userdata, &se->conn);$ ERROR: code indent should never use tabs #2053: FILE: tools/virtiofsd/fuse_lowlevel.c:2031: +^Iif (se->conn.want & (~se->conn.capable)) {$ WARNING: line over 80 characters #2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032: + fuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities " ERROR: code indent should never use tabs #2054: FILE: tools/virtiofsd/fuse_lowlevel.c:2032: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: filesystem requested capabilities "$ ERROR: code indent should never use tabs #2055: FILE: tools/virtiofsd/fuse_lowlevel.c:2033: +^I^I^I"0x%x that are not supported by kernel, aborting.\n",$ ERROR: code indent should never use tabs #2056: FILE: tools/virtiofsd/fuse_lowlevel.c:2034: +^I^I^Ise->conn.want & (~se->conn.capable));$ ERROR: code indent should never use tabs #2057: FILE: tools/virtiofsd/fuse_lowlevel.c:2035: +^I^Ifuse_reply_err(req, EPROTO);$ ERROR: code indent should never use tabs #2058: FILE: tools/virtiofsd/fuse_lowlevel.c:2036: +^I^Ise->error = -EPROTO;$ ERROR: code indent should never use tabs #2059: FILE: tools/virtiofsd/fuse_lowlevel.c:2037: +^I^Ifuse_session_exit(se);$ ERROR: code indent should never use tabs #2060: FILE: tools/virtiofsd/fuse_lowlevel.c:2038: +^I^Ireturn;$ ERROR: code indent should never use tabs #2061: FILE: tools/virtiofsd/fuse_lowlevel.c:2039: +^I}$ ERROR: code indent should never use tabs #2063: FILE: tools/virtiofsd/fuse_lowlevel.c:2041: +^Iunsigned max_read_mo = get_max_read(se->mo);$ ERROR: code indent should never use tabs #2064: FILE: tools/virtiofsd/fuse_lowlevel.c:2042: +^Iif (se->conn.max_read != max_read_mo) {$ WARNING: line over 80 characters #2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043: + fuse_log(FUSE_LOG_ERR, "fuse: error: init() and fuse_session_new() " ERROR: code indent should never use tabs #2065: FILE: tools/virtiofsd/fuse_lowlevel.c:2043: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: error: init() and fuse_session_new() "$ ERROR: code indent should never use tabs #2066: FILE: tools/virtiofsd/fuse_lowlevel.c:2044: +^I^I^I"requested different maximum read size (%u vs %u)\n",$ ERROR: code indent should never use tabs #2067: FILE: tools/virtiofsd/fuse_lowlevel.c:2045: +^I^I^Ise->conn.max_read, max_read_mo);$ ERROR: code indent should never use tabs #2068: FILE: tools/virtiofsd/fuse_lowlevel.c:2046: +^I^Ifuse_reply_err(req, EPROTO);$ ERROR: code indent should never use tabs #2069: FILE: tools/virtiofsd/fuse_lowlevel.c:2047: +^I^Ise->error = -EPROTO;$ ERROR: code indent should never use tabs #2070: FILE: tools/virtiofsd/fuse_lowlevel.c:2048: +^I^Ifuse_session_exit(se);$ ERROR: code indent should never use tabs #2071: FILE: tools/virtiofsd/fuse_lowlevel.c:2049: +^I^Ireturn;$ ERROR: code indent should never use tabs #2072: FILE: tools/virtiofsd/fuse_lowlevel.c:2050: +^I}$ ERROR: code indent should never use tabs #2074: FILE: tools/virtiofsd/fuse_lowlevel.c:2052: +^Iif (se->conn.max_write < bufsize - FUSE_BUFFER_HEADER_SIZE) {$ ERROR: code indent should never use tabs #2075: FILE: tools/virtiofsd/fuse_lowlevel.c:2053: +^I^Ise->bufsize = se->conn.max_write + FUSE_BUFFER_HEADER_SIZE;$ ERROR: code indent should never use tabs #2076: FILE: tools/virtiofsd/fuse_lowlevel.c:2054: +^I}$ ERROR: code indent should never use tabs #2077: FILE: tools/virtiofsd/fuse_lowlevel.c:2055: +^Iif (arg->flags & FUSE_MAX_PAGES) {$ ERROR: code indent should never use tabs #2078: FILE: tools/virtiofsd/fuse_lowlevel.c:2056: +^I^Ioutarg.flags |= FUSE_MAX_PAGES;$ ERROR: code indent should never use tabs #2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057: +^I^Ioutarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;$ ERROR: use qemu_real_host_page_size instead of getpagesize() #2079: FILE: tools/virtiofsd/fuse_lowlevel.c:2057: + outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1; ERROR: code indent should never use tabs #2080: FILE: tools/virtiofsd/fuse_lowlevel.c:2058: +^I}$ ERROR: code indent should never use tabs #2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060: +^I/* Always enable big writes, this is superseded$ WARNING: Block comments use a leading /* on a separate line #2082: FILE: tools/virtiofsd/fuse_lowlevel.c:2060: + /* Always enable big writes, this is superseded ERROR: code indent should never use tabs #2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061: +^I by the max_write option */$ WARNING: Block comments use * on subsequent lines #2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061: + /* Always enable big writes, this is superseded + by the max_write option */ WARNING: Block comments use a trailing */ on a separate line #2083: FILE: tools/virtiofsd/fuse_lowlevel.c:2061: + by the max_write option */ ERROR: code indent should never use tabs #2084: FILE: tools/virtiofsd/fuse_lowlevel.c:2062: +^Ioutarg.flags |= FUSE_BIG_WRITES;$ ERROR: code indent should never use tabs #2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064: +^Iif (se->conn.want & FUSE_CAP_ASYNC_READ)$ ERROR: braces {} are necessary for all arms of this statement #2086: FILE: tools/virtiofsd/fuse_lowlevel.c:2064: + if (se->conn.want & FUSE_CAP_ASYNC_READ) [...] ERROR: code indent should never use tabs #2087: FILE: tools/virtiofsd/fuse_lowlevel.c:2065: +^I^Ioutarg.flags |= FUSE_ASYNC_READ;$ ERROR: code indent should never use tabs #2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066: +^Iif (se->conn.want & FUSE_CAP_POSIX_LOCKS)$ ERROR: braces {} are necessary for all arms of this statement #2088: FILE: tools/virtiofsd/fuse_lowlevel.c:2066: + if (se->conn.want & FUSE_CAP_POSIX_LOCKS) [...] ERROR: code indent should never use tabs #2089: FILE: tools/virtiofsd/fuse_lowlevel.c:2067: +^I^Ioutarg.flags |= FUSE_POSIX_LOCKS;$ ERROR: code indent should never use tabs #2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068: +^Iif (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC)$ ERROR: braces {} are necessary for all arms of this statement #2090: FILE: tools/virtiofsd/fuse_lowlevel.c:2068: + if (se->conn.want & FUSE_CAP_ATOMIC_O_TRUNC) [...] ERROR: code indent should never use tabs #2091: FILE: tools/virtiofsd/fuse_lowlevel.c:2069: +^I^Ioutarg.flags |= FUSE_ATOMIC_O_TRUNC;$ ERROR: code indent should never use tabs #2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070: +^Iif (se->conn.want & FUSE_CAP_EXPORT_SUPPORT)$ ERROR: braces {} are necessary for all arms of this statement #2092: FILE: tools/virtiofsd/fuse_lowlevel.c:2070: + if (se->conn.want & FUSE_CAP_EXPORT_SUPPORT) [...] ERROR: code indent should never use tabs #2093: FILE: tools/virtiofsd/fuse_lowlevel.c:2071: +^I^Ioutarg.flags |= FUSE_EXPORT_SUPPORT;$ ERROR: code indent should never use tabs #2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072: +^Iif (se->conn.want & FUSE_CAP_DONT_MASK)$ ERROR: braces {} are necessary for all arms of this statement #2094: FILE: tools/virtiofsd/fuse_lowlevel.c:2072: + if (se->conn.want & FUSE_CAP_DONT_MASK) [...] ERROR: code indent should never use tabs #2095: FILE: tools/virtiofsd/fuse_lowlevel.c:2073: +^I^Ioutarg.flags |= FUSE_DONT_MASK;$ ERROR: code indent should never use tabs #2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074: +^Iif (se->conn.want & FUSE_CAP_FLOCK_LOCKS)$ ERROR: braces {} are necessary for all arms of this statement #2096: FILE: tools/virtiofsd/fuse_lowlevel.c:2074: + if (se->conn.want & FUSE_CAP_FLOCK_LOCKS) [...] ERROR: code indent should never use tabs #2097: FILE: tools/virtiofsd/fuse_lowlevel.c:2075: +^I^Ioutarg.flags |= FUSE_FLOCK_LOCKS;$ ERROR: code indent should never use tabs #2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076: +^Iif (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA)$ ERROR: braces {} are necessary for all arms of this statement #2098: FILE: tools/virtiofsd/fuse_lowlevel.c:2076: + if (se->conn.want & FUSE_CAP_AUTO_INVAL_DATA) [...] ERROR: code indent should never use tabs #2099: FILE: tools/virtiofsd/fuse_lowlevel.c:2077: +^I^Ioutarg.flags |= FUSE_AUTO_INVAL_DATA;$ ERROR: code indent should never use tabs #2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078: +^Iif (se->conn.want & FUSE_CAP_READDIRPLUS)$ ERROR: braces {} are necessary for all arms of this statement #2100: FILE: tools/virtiofsd/fuse_lowlevel.c:2078: + if (se->conn.want & FUSE_CAP_READDIRPLUS) [...] ERROR: code indent should never use tabs #2101: FILE: tools/virtiofsd/fuse_lowlevel.c:2079: +^I^Ioutarg.flags |= FUSE_DO_READDIRPLUS;$ ERROR: code indent should never use tabs #2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080: +^Iif (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO)$ ERROR: braces {} are necessary for all arms of this statement #2102: FILE: tools/virtiofsd/fuse_lowlevel.c:2080: + if (se->conn.want & FUSE_CAP_READDIRPLUS_AUTO) [...] ERROR: code indent should never use tabs #2103: FILE: tools/virtiofsd/fuse_lowlevel.c:2081: +^I^Ioutarg.flags |= FUSE_READDIRPLUS_AUTO;$ ERROR: code indent should never use tabs #2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082: +^Iif (se->conn.want & FUSE_CAP_ASYNC_DIO)$ ERROR: braces {} are necessary for all arms of this statement #2104: FILE: tools/virtiofsd/fuse_lowlevel.c:2082: + if (se->conn.want & FUSE_CAP_ASYNC_DIO) [...] ERROR: code indent should never use tabs #2105: FILE: tools/virtiofsd/fuse_lowlevel.c:2083: +^I^Ioutarg.flags |= FUSE_ASYNC_DIO;$ ERROR: code indent should never use tabs #2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084: +^Iif (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)$ ERROR: braces {} are necessary for all arms of this statement #2106: FILE: tools/virtiofsd/fuse_lowlevel.c:2084: + if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE) [...] ERROR: code indent should never use tabs #2107: FILE: tools/virtiofsd/fuse_lowlevel.c:2085: +^I^Ioutarg.flags |= FUSE_WRITEBACK_CACHE;$ ERROR: code indent should never use tabs #2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086: +^Iif (se->conn.want & FUSE_CAP_POSIX_ACL)$ ERROR: braces {} are necessary for all arms of this statement #2108: FILE: tools/virtiofsd/fuse_lowlevel.c:2086: + if (se->conn.want & FUSE_CAP_POSIX_ACL) [...] ERROR: code indent should never use tabs #2109: FILE: tools/virtiofsd/fuse_lowlevel.c:2087: +^I^Ioutarg.flags |= FUSE_POSIX_ACL;$ ERROR: code indent should never use tabs #2110: FILE: tools/virtiofsd/fuse_lowlevel.c:2088: +^Ioutarg.max_readahead = se->conn.max_readahead;$ ERROR: code indent should never use tabs #2111: FILE: tools/virtiofsd/fuse_lowlevel.c:2089: +^Ioutarg.max_write = se->conn.max_write;$ ERROR: code indent should never use tabs #2112: FILE: tools/virtiofsd/fuse_lowlevel.c:2090: +^Iif (se->conn.proto_minor >= 13) {$ ERROR: code indent should never use tabs #2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091: +^I^Iif (se->conn.max_background >= (1 << 16))$ ERROR: braces {} are necessary for all arms of this statement #2113: FILE: tools/virtiofsd/fuse_lowlevel.c:2091: + if (se->conn.max_background >= (1 << 16)) [...] ERROR: code indent should never use tabs #2114: FILE: tools/virtiofsd/fuse_lowlevel.c:2092: +^I^I^Ise->conn.max_background = (1 << 16) - 1;$ ERROR: code indent should never use tabs #2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093: +^I^Iif (se->conn.congestion_threshold > se->conn.max_background)$ ERROR: braces {} are necessary for all arms of this statement #2115: FILE: tools/virtiofsd/fuse_lowlevel.c:2093: + if (se->conn.congestion_threshold > se->conn.max_background) [...] ERROR: code indent should never use tabs #2116: FILE: tools/virtiofsd/fuse_lowlevel.c:2094: +^I^I^Ise->conn.congestion_threshold = se->conn.max_background;$ ERROR: code indent should never use tabs #2117: FILE: tools/virtiofsd/fuse_lowlevel.c:2095: +^I^Iif (!se->conn.congestion_threshold) {$ ERROR: code indent should never use tabs #2118: FILE: tools/virtiofsd/fuse_lowlevel.c:2096: +^I^I^Ise->conn.congestion_threshold =$ ERROR: code indent should never use tabs #2119: FILE: tools/virtiofsd/fuse_lowlevel.c:2097: +^I^I^I^Ise->conn.max_background * 3 / 4;$ ERROR: code indent should never use tabs #2120: FILE: tools/virtiofsd/fuse_lowlevel.c:2098: +^I^I}$ ERROR: code indent should never use tabs #2122: FILE: tools/virtiofsd/fuse_lowlevel.c:2100: +^I^Ioutarg.max_background = se->conn.max_background;$ ERROR: code indent should never use tabs #2123: FILE: tools/virtiofsd/fuse_lowlevel.c:2101: +^I^Ioutarg.congestion_threshold = se->conn.congestion_threshold;$ ERROR: code indent should never use tabs #2124: FILE: tools/virtiofsd/fuse_lowlevel.c:2102: +^I}$ ERROR: code indent should never use tabs #2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103: +^Iif (se->conn.proto_minor >= 23)$ ERROR: braces {} are necessary for all arms of this statement #2125: FILE: tools/virtiofsd/fuse_lowlevel.c:2103: + if (se->conn.proto_minor >= 23) [...] ERROR: code indent should never use tabs #2126: FILE: tools/virtiofsd/fuse_lowlevel.c:2104: +^I^Ioutarg.time_gran = se->conn.time_gran;$ ERROR: code indent should never use tabs #2128: FILE: tools/virtiofsd/fuse_lowlevel.c:2106: +^Iif (se->debug) {$ WARNING: line over 80 characters #2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107: + fuse_log(FUSE_LOG_DEBUG, " INIT: %u.%u\n", outarg.major, outarg.minor); ERROR: code indent should never use tabs #2129: FILE: tools/virtiofsd/fuse_lowlevel.c:2107: +^I^Ifuse_log(FUSE_LOG_DEBUG, " INIT: %u.%u\n", outarg.major, outarg.minor);$ ERROR: code indent should never use tabs #2130: FILE: tools/virtiofsd/fuse_lowlevel.c:2108: +^I^Ifuse_log(FUSE_LOG_DEBUG, " flags=0x%08x\n", outarg.flags);$ ERROR: code indent should never use tabs #2131: FILE: tools/virtiofsd/fuse_lowlevel.c:2109: +^I^Ifuse_log(FUSE_LOG_DEBUG, " max_readahead=0x%08x\n",$ ERROR: code indent should never use tabs #2132: FILE: tools/virtiofsd/fuse_lowlevel.c:2110: +^I^I^Ioutarg.max_readahead);$ WARNING: line over 80 characters #2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111: + fuse_log(FUSE_LOG_DEBUG, " max_write=0x%08x\n", outarg.max_write); ERROR: code indent should never use tabs #2133: FILE: tools/virtiofsd/fuse_lowlevel.c:2111: +^I^Ifuse_log(FUSE_LOG_DEBUG, " max_write=0x%08x\n", outarg.max_write);$ ERROR: code indent should never use tabs #2134: FILE: tools/virtiofsd/fuse_lowlevel.c:2112: +^I^Ifuse_log(FUSE_LOG_DEBUG, " max_background=%i\n",$ ERROR: code indent should never use tabs #2135: FILE: tools/virtiofsd/fuse_lowlevel.c:2113: +^I^I^Ioutarg.max_background);$ ERROR: code indent should never use tabs #2136: FILE: tools/virtiofsd/fuse_lowlevel.c:2114: +^I^Ifuse_log(FUSE_LOG_DEBUG, " congestion_threshold=%i\n",$ ERROR: code indent should never use tabs #2137: FILE: tools/virtiofsd/fuse_lowlevel.c:2115: +^I^I^Ioutarg.congestion_threshold);$ ERROR: code indent should never use tabs #2138: FILE: tools/virtiofsd/fuse_lowlevel.c:2116: +^I^Ifuse_log(FUSE_LOG_DEBUG, " time_gran=%u\n",$ ERROR: code indent should never use tabs #2139: FILE: tools/virtiofsd/fuse_lowlevel.c:2117: +^I^I^Ioutarg.time_gran);$ ERROR: code indent should never use tabs #2140: FILE: tools/virtiofsd/fuse_lowlevel.c:2118: +^I}$ ERROR: code indent should never use tabs #2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119: +^Iif (arg->minor < 5)$ ERROR: braces {} are necessary for all arms of this statement #2141: FILE: tools/virtiofsd/fuse_lowlevel.c:2119: + if (arg->minor < 5) [...] + else if (arg->minor < 23) [...] ERROR: code indent should never use tabs #2142: FILE: tools/virtiofsd/fuse_lowlevel.c:2120: +^I^Ioutargsize = FUSE_COMPAT_INIT_OUT_SIZE;$ ERROR: code indent should never use tabs #2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121: +^Ielse if (arg->minor < 23)$ ERROR: braces {} are necessary for all arms of this statement #2143: FILE: tools/virtiofsd/fuse_lowlevel.c:2121: + else if (arg->minor < 23) [...] ERROR: code indent should never use tabs #2144: FILE: tools/virtiofsd/fuse_lowlevel.c:2122: +^I^Ioutargsize = FUSE_COMPAT_22_INIT_OUT_SIZE;$ ERROR: code indent should never use tabs #2146: FILE: tools/virtiofsd/fuse_lowlevel.c:2124: +^Isend_reply_ok(req, &outarg, outargsize);$ ERROR: code indent should never use tabs #2151: FILE: tools/virtiofsd/fuse_lowlevel.c:2129: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #2153: FILE: tools/virtiofsd/fuse_lowlevel.c:2131: +^I(void) nodeid;$ ERROR: code indent should never use tabs #2154: FILE: tools/virtiofsd/fuse_lowlevel.c:2132: +^I(void) inarg;$ ERROR: code indent should never use tabs #2156: FILE: tools/virtiofsd/fuse_lowlevel.c:2134: +^Ise->got_destroy = 1;$ ERROR: code indent should never use tabs #2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135: +^Iif (se->op.destroy)$ ERROR: braces {} are necessary for all arms of this statement #2157: FILE: tools/virtiofsd/fuse_lowlevel.c:2135: + if (se->op.destroy) [...] ERROR: code indent should never use tabs #2158: FILE: tools/virtiofsd/fuse_lowlevel.c:2136: +^I^Ise->op.destroy(se->userdata);$ ERROR: code indent should never use tabs #2160: FILE: tools/virtiofsd/fuse_lowlevel.c:2138: +^Isend_reply_ok(req, NULL, 0);$ ERROR: code indent should never use tabs #2165: FILE: tools/virtiofsd/fuse_lowlevel.c:2143: +^Istruct fuse_notify_req *prev = nreq->prev;$ ERROR: code indent should never use tabs #2166: FILE: tools/virtiofsd/fuse_lowlevel.c:2144: +^Istruct fuse_notify_req *next = nreq->next;$ ERROR: code indent should never use tabs #2167: FILE: tools/virtiofsd/fuse_lowlevel.c:2145: +^Iprev->next = next;$ ERROR: code indent should never use tabs #2168: FILE: tools/virtiofsd/fuse_lowlevel.c:2146: +^Inext->prev = prev;$ ERROR: code indent should never use tabs #2172: FILE: tools/virtiofsd/fuse_lowlevel.c:2150: +^I^I^I struct fuse_notify_req *next)$ ERROR: code indent should never use tabs #2174: FILE: tools/virtiofsd/fuse_lowlevel.c:2152: +^Istruct fuse_notify_req *prev = next->prev;$ ERROR: code indent should never use tabs #2175: FILE: tools/virtiofsd/fuse_lowlevel.c:2153: +^Inreq->next = next;$ ERROR: code indent should never use tabs #2176: FILE: tools/virtiofsd/fuse_lowlevel.c:2154: +^Inreq->prev = prev;$ ERROR: code indent should never use tabs #2177: FILE: tools/virtiofsd/fuse_lowlevel.c:2155: +^Iprev->next = nreq;$ ERROR: code indent should never use tabs #2178: FILE: tools/virtiofsd/fuse_lowlevel.c:2156: +^Inext->prev = nreq;$ ERROR: code indent should never use tabs #2183: FILE: tools/virtiofsd/fuse_lowlevel.c:2161: +^Inreq->next = nreq;$ ERROR: code indent should never use tabs #2184: FILE: tools/virtiofsd/fuse_lowlevel.c:2162: +^Inreq->prev = nreq;$ ERROR: code indent should never use tabs #2188: FILE: tools/virtiofsd/fuse_lowlevel.c:2166: +^I^I^I const void *inarg, const struct fuse_buf *buf)$ ERROR: code indent should never use tabs #2190: FILE: tools/virtiofsd/fuse_lowlevel.c:2168: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #2191: FILE: tools/virtiofsd/fuse_lowlevel.c:2169: +^Istruct fuse_notify_req *nreq;$ ERROR: code indent should never use tabs #2192: FILE: tools/virtiofsd/fuse_lowlevel.c:2170: +^Istruct fuse_notify_req *head;$ ERROR: code indent should never use tabs #2194: FILE: tools/virtiofsd/fuse_lowlevel.c:2172: +^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #2195: FILE: tools/virtiofsd/fuse_lowlevel.c:2173: +^Ihead = &se->notify_list;$ ERROR: code indent should never use tabs #2196: FILE: tools/virtiofsd/fuse_lowlevel.c:2174: +^Ifor (nreq = head->next; nreq != head; nreq = nreq->next) {$ ERROR: code indent should never use tabs #2197: FILE: tools/virtiofsd/fuse_lowlevel.c:2175: +^I^Iif (nreq->unique == req->unique) {$ ERROR: code indent should never use tabs #2198: FILE: tools/virtiofsd/fuse_lowlevel.c:2176: +^I^I^Ilist_del_nreq(nreq);$ ERROR: code indent should never use tabs #2199: FILE: tools/virtiofsd/fuse_lowlevel.c:2177: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #2200: FILE: tools/virtiofsd/fuse_lowlevel.c:2178: +^I^I}$ ERROR: code indent should never use tabs #2201: FILE: tools/virtiofsd/fuse_lowlevel.c:2179: +^I}$ ERROR: code indent should never use tabs #2202: FILE: tools/virtiofsd/fuse_lowlevel.c:2180: +^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182: +^Iif (nreq != head)$ ERROR: braces {} are necessary for all arms of this statement #2204: FILE: tools/virtiofsd/fuse_lowlevel.c:2182: + if (nreq != head) [...] ERROR: code indent should never use tabs #2205: FILE: tools/virtiofsd/fuse_lowlevel.c:2183: +^I^Inreq->reply(nreq, req, nodeid, inarg, buf);$ ERROR: code indent should never use tabs #2209: FILE: tools/virtiofsd/fuse_lowlevel.c:2187: +^I^I^I struct iovec *iov, int count)$ ERROR: code indent should never use tabs #2211: FILE: tools/virtiofsd/fuse_lowlevel.c:2189: +^Istruct fuse_out_header out;$ ERROR: code indent should never use tabs #2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191: +^Iif (!se->got_init)$ ERROR: braces {} are necessary for all arms of this statement #2213: FILE: tools/virtiofsd/fuse_lowlevel.c:2191: + if (!se->got_init) [...] ERROR: code indent should never use tabs #2214: FILE: tools/virtiofsd/fuse_lowlevel.c:2192: +^I^Ireturn -ENOTCONN;$ ERROR: code indent should never use tabs #2216: FILE: tools/virtiofsd/fuse_lowlevel.c:2194: +^Iout.unique = 0;$ ERROR: code indent should never use tabs #2217: FILE: tools/virtiofsd/fuse_lowlevel.c:2195: +^Iout.error = notify_code;$ ERROR: code indent should never use tabs #2218: FILE: tools/virtiofsd/fuse_lowlevel.c:2196: +^Iiov[0].iov_base = &out;$ ERROR: code indent should never use tabs #2219: FILE: tools/virtiofsd/fuse_lowlevel.c:2197: +^Iiov[0].iov_len = sizeof(struct fuse_out_header);$ ERROR: code indent should never use tabs #2221: FILE: tools/virtiofsd/fuse_lowlevel.c:2199: +^Ireturn fuse_send_msg(se, NULL, iov, count);$ ERROR: code indent should never use tabs #2226: FILE: tools/virtiofsd/fuse_lowlevel.c:2204: +^Iif (ph != NULL) {$ ERROR: code indent should never use tabs #2227: FILE: tools/virtiofsd/fuse_lowlevel.c:2205: +^I^Istruct fuse_notify_poll_wakeup_out outarg;$ ERROR: code indent should never use tabs #2228: FILE: tools/virtiofsd/fuse_lowlevel.c:2206: +^I^Istruct iovec iov[2];$ ERROR: code indent should never use tabs #2230: FILE: tools/virtiofsd/fuse_lowlevel.c:2208: +^I^Ioutarg.kh = ph->kh;$ ERROR: code indent should never use tabs #2232: FILE: tools/virtiofsd/fuse_lowlevel.c:2210: +^I^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2233: FILE: tools/virtiofsd/fuse_lowlevel.c:2211: +^I^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2235: FILE: tools/virtiofsd/fuse_lowlevel.c:2213: +^I^Ireturn send_notify_iov(ph->se, FUSE_NOTIFY_POLL, iov, 2);$ ERROR: code indent should never use tabs #2236: FILE: tools/virtiofsd/fuse_lowlevel.c:2214: +^I} else {$ ERROR: code indent should never use tabs #2237: FILE: tools/virtiofsd/fuse_lowlevel.c:2215: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #2238: FILE: tools/virtiofsd/fuse_lowlevel.c:2216: +^I}$ ERROR: code indent should never use tabs #2242: FILE: tools/virtiofsd/fuse_lowlevel.c:2220: +^I^I^I^I off_t off, off_t len)$ ERROR: code indent should never use tabs #2244: FILE: tools/virtiofsd/fuse_lowlevel.c:2222: +^Istruct fuse_notify_inval_inode_out outarg;$ ERROR: code indent should never use tabs #2245: FILE: tools/virtiofsd/fuse_lowlevel.c:2223: +^Istruct iovec iov[2];$ ERROR: code indent should never use tabs #2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225: +^Iif (!se)$ ERROR: braces {} are necessary for all arms of this statement #2247: FILE: tools/virtiofsd/fuse_lowlevel.c:2225: + if (!se) [...] ERROR: code indent should never use tabs #2248: FILE: tools/virtiofsd/fuse_lowlevel.c:2226: +^I^Ireturn -EINVAL;$ ERROR: code indent should never use tabs #2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228: +^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$ ERROR: braces {} are necessary for all arms of this statement #2250: FILE: tools/virtiofsd/fuse_lowlevel.c:2228: + if (se->conn.proto_major < 6 || se->conn.proto_minor < 12) [...] ERROR: code indent should never use tabs #2251: FILE: tools/virtiofsd/fuse_lowlevel.c:2229: +^I^Ireturn -ENOSYS;$ ERROR: trailing whitespace #2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230: +^I$ ERROR: code indent should never use tabs #2252: FILE: tools/virtiofsd/fuse_lowlevel.c:2230: +^I$ ERROR: code indent should never use tabs #2253: FILE: tools/virtiofsd/fuse_lowlevel.c:2231: +^Ioutarg.ino = ino;$ ERROR: code indent should never use tabs #2254: FILE: tools/virtiofsd/fuse_lowlevel.c:2232: +^Ioutarg.off = off;$ ERROR: code indent should never use tabs #2255: FILE: tools/virtiofsd/fuse_lowlevel.c:2233: +^Ioutarg.len = len;$ ERROR: code indent should never use tabs #2257: FILE: tools/virtiofsd/fuse_lowlevel.c:2235: +^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2258: FILE: tools/virtiofsd/fuse_lowlevel.c:2236: +^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2260: FILE: tools/virtiofsd/fuse_lowlevel.c:2238: +^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_INODE, iov, 2);$ ERROR: code indent should never use tabs #2264: FILE: tools/virtiofsd/fuse_lowlevel.c:2242: +^I^I^I^I const char *name, size_t namelen)$ ERROR: code indent should never use tabs #2266: FILE: tools/virtiofsd/fuse_lowlevel.c:2244: +^Istruct fuse_notify_inval_entry_out outarg;$ ERROR: code indent should never use tabs #2267: FILE: tools/virtiofsd/fuse_lowlevel.c:2245: +^Istruct iovec iov[3];$ ERROR: code indent should never use tabs #2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247: +^Iif (!se)$ ERROR: braces {} are necessary for all arms of this statement #2269: FILE: tools/virtiofsd/fuse_lowlevel.c:2247: + if (!se) [...] ERROR: code indent should never use tabs #2270: FILE: tools/virtiofsd/fuse_lowlevel.c:2248: +^I^Ireturn -EINVAL;$ ERROR: trailing whitespace #2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249: +^I$ ERROR: code indent should never use tabs #2271: FILE: tools/virtiofsd/fuse_lowlevel.c:2249: +^I$ ERROR: code indent should never use tabs #2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250: +^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 12)$ ERROR: braces {} are necessary for all arms of this statement #2272: FILE: tools/virtiofsd/fuse_lowlevel.c:2250: + if (se->conn.proto_major < 6 || se->conn.proto_minor < 12) [...] ERROR: code indent should never use tabs #2273: FILE: tools/virtiofsd/fuse_lowlevel.c:2251: +^I^Ireturn -ENOSYS;$ ERROR: code indent should never use tabs #2275: FILE: tools/virtiofsd/fuse_lowlevel.c:2253: +^Ioutarg.parent = parent;$ ERROR: code indent should never use tabs #2276: FILE: tools/virtiofsd/fuse_lowlevel.c:2254: +^Ioutarg.namelen = namelen;$ ERROR: code indent should never use tabs #2277: FILE: tools/virtiofsd/fuse_lowlevel.c:2255: +^Ioutarg.padding = 0;$ ERROR: code indent should never use tabs #2279: FILE: tools/virtiofsd/fuse_lowlevel.c:2257: +^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2280: FILE: tools/virtiofsd/fuse_lowlevel.c:2258: +^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2281: FILE: tools/virtiofsd/fuse_lowlevel.c:2259: +^Iiov[2].iov_base = (void *)name;$ ERROR: code indent should never use tabs #2282: FILE: tools/virtiofsd/fuse_lowlevel.c:2260: +^Iiov[2].iov_len = namelen + 1;$ ERROR: code indent should never use tabs #2284: FILE: tools/virtiofsd/fuse_lowlevel.c:2262: +^Ireturn send_notify_iov(se, FUSE_NOTIFY_INVAL_ENTRY, iov, 3);$ ERROR: code indent should never use tabs #2288: FILE: tools/virtiofsd/fuse_lowlevel.c:2266: +^I^I^I^Ifuse_ino_t parent, fuse_ino_t child,$ ERROR: code indent should never use tabs #2289: FILE: tools/virtiofsd/fuse_lowlevel.c:2267: +^I^I^I^Iconst char *name, size_t namelen)$ ERROR: code indent should never use tabs #2291: FILE: tools/virtiofsd/fuse_lowlevel.c:2269: +^Istruct fuse_notify_delete_out outarg;$ ERROR: code indent should never use tabs #2292: FILE: tools/virtiofsd/fuse_lowlevel.c:2270: +^Istruct iovec iov[3];$ ERROR: code indent should never use tabs #2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272: +^Iif (!se)$ ERROR: braces {} are necessary for all arms of this statement #2294: FILE: tools/virtiofsd/fuse_lowlevel.c:2272: + if (!se) [...] ERROR: code indent should never use tabs #2295: FILE: tools/virtiofsd/fuse_lowlevel.c:2273: +^I^Ireturn -EINVAL;$ ERROR: code indent should never use tabs #2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275: +^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 18)$ ERROR: braces {} are necessary for all arms of this statement #2297: FILE: tools/virtiofsd/fuse_lowlevel.c:2275: + if (se->conn.proto_major < 6 || se->conn.proto_minor < 18) [...] ERROR: code indent should never use tabs #2298: FILE: tools/virtiofsd/fuse_lowlevel.c:2276: +^I^Ireturn -ENOSYS;$ ERROR: code indent should never use tabs #2300: FILE: tools/virtiofsd/fuse_lowlevel.c:2278: +^Ioutarg.parent = parent;$ ERROR: code indent should never use tabs #2301: FILE: tools/virtiofsd/fuse_lowlevel.c:2279: +^Ioutarg.child = child;$ ERROR: code indent should never use tabs #2302: FILE: tools/virtiofsd/fuse_lowlevel.c:2280: +^Ioutarg.namelen = namelen;$ ERROR: code indent should never use tabs #2303: FILE: tools/virtiofsd/fuse_lowlevel.c:2281: +^Ioutarg.padding = 0;$ ERROR: code indent should never use tabs #2305: FILE: tools/virtiofsd/fuse_lowlevel.c:2283: +^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2306: FILE: tools/virtiofsd/fuse_lowlevel.c:2284: +^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2307: FILE: tools/virtiofsd/fuse_lowlevel.c:2285: +^Iiov[2].iov_base = (void *)name;$ ERROR: code indent should never use tabs #2308: FILE: tools/virtiofsd/fuse_lowlevel.c:2286: +^Iiov[2].iov_len = namelen + 1;$ ERROR: code indent should never use tabs #2310: FILE: tools/virtiofsd/fuse_lowlevel.c:2288: +^Ireturn send_notify_iov(se, FUSE_NOTIFY_DELETE, iov, 3);$ ERROR: code indent should never use tabs #2314: FILE: tools/virtiofsd/fuse_lowlevel.c:2292: +^I^I^I off_t offset, struct fuse_bufvec *bufv,$ ERROR: code indent should never use tabs #2315: FILE: tools/virtiofsd/fuse_lowlevel.c:2293: +^I^I^I enum fuse_buf_copy_flags flags)$ ERROR: code indent should never use tabs #2317: FILE: tools/virtiofsd/fuse_lowlevel.c:2295: +^Istruct fuse_out_header out;$ ERROR: code indent should never use tabs #2318: FILE: tools/virtiofsd/fuse_lowlevel.c:2296: +^Istruct fuse_notify_store_out outarg;$ ERROR: code indent should never use tabs #2319: FILE: tools/virtiofsd/fuse_lowlevel.c:2297: +^Istruct iovec iov[3];$ ERROR: code indent should never use tabs #2320: FILE: tools/virtiofsd/fuse_lowlevel.c:2298: +^Isize_t size = fuse_buf_size(bufv);$ ERROR: code indent should never use tabs #2321: FILE: tools/virtiofsd/fuse_lowlevel.c:2299: +^Iint res;$ ERROR: code indent should never use tabs #2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301: +^Iif (!se)$ ERROR: braces {} are necessary for all arms of this statement #2323: FILE: tools/virtiofsd/fuse_lowlevel.c:2301: + if (!se) [...] ERROR: code indent should never use tabs #2324: FILE: tools/virtiofsd/fuse_lowlevel.c:2302: +^I^Ireturn -EINVAL;$ ERROR: code indent should never use tabs #2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304: +^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$ ERROR: braces {} are necessary for all arms of this statement #2326: FILE: tools/virtiofsd/fuse_lowlevel.c:2304: + if (se->conn.proto_major < 6 || se->conn.proto_minor < 15) [...] ERROR: code indent should never use tabs #2327: FILE: tools/virtiofsd/fuse_lowlevel.c:2305: +^I^Ireturn -ENOSYS;$ ERROR: code indent should never use tabs #2329: FILE: tools/virtiofsd/fuse_lowlevel.c:2307: +^Iout.unique = 0;$ ERROR: code indent should never use tabs #2330: FILE: tools/virtiofsd/fuse_lowlevel.c:2308: +^Iout.error = FUSE_NOTIFY_STORE;$ ERROR: code indent should never use tabs #2332: FILE: tools/virtiofsd/fuse_lowlevel.c:2310: +^Ioutarg.nodeid = ino;$ ERROR: code indent should never use tabs #2333: FILE: tools/virtiofsd/fuse_lowlevel.c:2311: +^Ioutarg.offset = offset;$ ERROR: code indent should never use tabs #2334: FILE: tools/virtiofsd/fuse_lowlevel.c:2312: +^Ioutarg.size = size;$ ERROR: code indent should never use tabs #2335: FILE: tools/virtiofsd/fuse_lowlevel.c:2313: +^Ioutarg.padding = 0;$ ERROR: code indent should never use tabs #2337: FILE: tools/virtiofsd/fuse_lowlevel.c:2315: +^Iiov[0].iov_base = &out;$ ERROR: code indent should never use tabs #2338: FILE: tools/virtiofsd/fuse_lowlevel.c:2316: +^Iiov[0].iov_len = sizeof(out);$ ERROR: code indent should never use tabs #2339: FILE: tools/virtiofsd/fuse_lowlevel.c:2317: +^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2340: FILE: tools/virtiofsd/fuse_lowlevel.c:2318: +^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2342: FILE: tools/virtiofsd/fuse_lowlevel.c:2320: +^Ires = fuse_send_data_iov(se, NULL, iov, 2, bufv, flags);$ ERROR: code indent should never use tabs #2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321: +^Iif (res > 0)$ ERROR: braces {} are necessary for all arms of this statement #2343: FILE: tools/virtiofsd/fuse_lowlevel.c:2321: + if (res > 0) [...] ERROR: code indent should never use tabs #2344: FILE: tools/virtiofsd/fuse_lowlevel.c:2322: +^I^Ires = -res;$ ERROR: code indent should never use tabs #2346: FILE: tools/virtiofsd/fuse_lowlevel.c:2324: +^Ireturn res;$ ERROR: code indent should never use tabs #2350: FILE: tools/virtiofsd/fuse_lowlevel.c:2328: +^Istruct fuse_notify_req nreq;$ ERROR: code indent should never use tabs #2351: FILE: tools/virtiofsd/fuse_lowlevel.c:2329: +^Ivoid *cookie;$ ERROR: code indent should never use tabs #2355: FILE: tools/virtiofsd/fuse_lowlevel.c:2333: +^I^I^I^I fuse_req_t req, fuse_ino_t ino,$ ERROR: code indent should never use tabs #2356: FILE: tools/virtiofsd/fuse_lowlevel.c:2334: +^I^I^I^I const void *inarg,$ ERROR: code indent should never use tabs #2357: FILE: tools/virtiofsd/fuse_lowlevel.c:2335: +^I^I^I^I const struct fuse_buf *ibuf)$ ERROR: code indent should never use tabs #2359: FILE: tools/virtiofsd/fuse_lowlevel.c:2337: +^Istruct fuse_session *se = req->se;$ ERROR: code indent should never use tabs #2360: FILE: tools/virtiofsd/fuse_lowlevel.c:2338: +^Istruct fuse_retrieve_req *rreq =$ ERROR: code indent should never use tabs #2361: FILE: tools/virtiofsd/fuse_lowlevel.c:2339: +^I^Icontainer_of(nreq, struct fuse_retrieve_req, nreq);$ ERROR: code indent should never use tabs #2362: FILE: tools/virtiofsd/fuse_lowlevel.c:2340: +^Iconst struct fuse_notify_retrieve_in *arg = inarg;$ ERROR: code indent should never use tabs #2363: FILE: tools/virtiofsd/fuse_lowlevel.c:2341: +^Istruct fuse_bufvec bufv = {$ ERROR: code indent should never use tabs #2364: FILE: tools/virtiofsd/fuse_lowlevel.c:2342: +^I^I.buf[0] = *ibuf,$ ERROR: code indent should never use tabs #2365: FILE: tools/virtiofsd/fuse_lowlevel.c:2343: +^I^I.count = 1,$ ERROR: code indent should never use tabs #2366: FILE: tools/virtiofsd/fuse_lowlevel.c:2344: +^I};$ ERROR: code indent should never use tabs #2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346: +^Iif (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))$ ERROR: braces {} are necessary for all arms of this statement #2368: FILE: tools/virtiofsd/fuse_lowlevel.c:2346: + if (!(bufv.buf[0].flags & FUSE_BUF_IS_FD)) [...] ERROR: code indent should never use tabs #2369: FILE: tools/virtiofsd/fuse_lowlevel.c:2347: +^I^Ibufv.buf[0].mem = PARAM(arg);$ ERROR: code indent should never use tabs #2371: FILE: tools/virtiofsd/fuse_lowlevel.c:2349: +^Ibufv.buf[0].size -= sizeof(struct fuse_in_header) +$ ERROR: code indent should never use tabs #2372: FILE: tools/virtiofsd/fuse_lowlevel.c:2350: +^I^Isizeof(struct fuse_notify_retrieve_in);$ ERROR: code indent should never use tabs #2374: FILE: tools/virtiofsd/fuse_lowlevel.c:2352: +^Iif (bufv.buf[0].size < arg->size) {$ WARNING: line over 80 characters #2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353: + fuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too small\n"); ERROR: code indent should never use tabs #2375: FILE: tools/virtiofsd/fuse_lowlevel.c:2353: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: retrieve reply: buffer size too small\n");$ ERROR: code indent should never use tabs #2376: FILE: tools/virtiofsd/fuse_lowlevel.c:2354: +^I^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #2377: FILE: tools/virtiofsd/fuse_lowlevel.c:2355: +^I^Igoto out;$ ERROR: code indent should never use tabs #2378: FILE: tools/virtiofsd/fuse_lowlevel.c:2356: +^I}$ ERROR: code indent should never use tabs #2379: FILE: tools/virtiofsd/fuse_lowlevel.c:2357: +^Ibufv.buf[0].size = arg->size;$ ERROR: code indent should never use tabs #2381: FILE: tools/virtiofsd/fuse_lowlevel.c:2359: +^Iif (se->op.retrieve_reply) {$ ERROR: code indent should never use tabs #2382: FILE: tools/virtiofsd/fuse_lowlevel.c:2360: +^I^Ise->op.retrieve_reply(req, rreq->cookie, ino,$ ERROR: code indent should never use tabs #2383: FILE: tools/virtiofsd/fuse_lowlevel.c:2361: +^I^I^I^I^I arg->offset, &bufv);$ ERROR: code indent should never use tabs #2384: FILE: tools/virtiofsd/fuse_lowlevel.c:2362: +^I} else {$ ERROR: code indent should never use tabs #2385: FILE: tools/virtiofsd/fuse_lowlevel.c:2363: +^I^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #2386: FILE: tools/virtiofsd/fuse_lowlevel.c:2364: +^I}$ ERROR: code indent should never use tabs #2388: FILE: tools/virtiofsd/fuse_lowlevel.c:2366: +^Ifree(rreq);$ ERROR: code indent should never use tabs #2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367: +^Iif ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count)$ ERROR: braces {} are necessary for all arms of this statement #2389: FILE: tools/virtiofsd/fuse_lowlevel.c:2367: + if ((ibuf->flags & FUSE_BUF_IS_FD) && bufv.idx < bufv.count) [...] ERROR: code indent should never use tabs #2390: FILE: tools/virtiofsd/fuse_lowlevel.c:2368: +^I^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #2394: FILE: tools/virtiofsd/fuse_lowlevel.c:2372: +^I^I^I^I size_t size, off_t offset, void *cookie)$ ERROR: code indent should never use tabs #2396: FILE: tools/virtiofsd/fuse_lowlevel.c:2374: +^Istruct fuse_notify_retrieve_out outarg;$ ERROR: code indent should never use tabs #2397: FILE: tools/virtiofsd/fuse_lowlevel.c:2375: +^Istruct iovec iov[2];$ ERROR: code indent should never use tabs #2398: FILE: tools/virtiofsd/fuse_lowlevel.c:2376: +^Istruct fuse_retrieve_req *rreq;$ ERROR: code indent should never use tabs #2399: FILE: tools/virtiofsd/fuse_lowlevel.c:2377: +^Iint err;$ ERROR: code indent should never use tabs #2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379: +^Iif (!se)$ ERROR: braces {} are necessary for all arms of this statement #2401: FILE: tools/virtiofsd/fuse_lowlevel.c:2379: + if (!se) [...] ERROR: code indent should never use tabs #2402: FILE: tools/virtiofsd/fuse_lowlevel.c:2380: +^I^Ireturn -EINVAL;$ ERROR: code indent should never use tabs #2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382: +^Iif (se->conn.proto_major < 6 || se->conn.proto_minor < 15)$ ERROR: braces {} are necessary for all arms of this statement #2404: FILE: tools/virtiofsd/fuse_lowlevel.c:2382: + if (se->conn.proto_major < 6 || se->conn.proto_minor < 15) [...] ERROR: code indent should never use tabs #2405: FILE: tools/virtiofsd/fuse_lowlevel.c:2383: +^I^Ireturn -ENOSYS;$ ERROR: code indent should never use tabs #2407: FILE: tools/virtiofsd/fuse_lowlevel.c:2385: +^Irreq = malloc(sizeof(*rreq));$ ERROR: code indent should never use tabs #2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386: +^Iif (rreq == NULL)$ ERROR: braces {} are necessary for all arms of this statement #2408: FILE: tools/virtiofsd/fuse_lowlevel.c:2386: + if (rreq == NULL) [...] ERROR: code indent should never use tabs #2409: FILE: tools/virtiofsd/fuse_lowlevel.c:2387: +^I^Ireturn -ENOMEM;$ ERROR: code indent should never use tabs #2411: FILE: tools/virtiofsd/fuse_lowlevel.c:2389: +^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #2412: FILE: tools/virtiofsd/fuse_lowlevel.c:2390: +^Irreq->cookie = cookie;$ ERROR: code indent should never use tabs #2413: FILE: tools/virtiofsd/fuse_lowlevel.c:2391: +^Irreq->nreq.unique = se->notify_ctr++;$ ERROR: code indent should never use tabs #2414: FILE: tools/virtiofsd/fuse_lowlevel.c:2392: +^Irreq->nreq.reply = fuse_ll_retrieve_reply;$ ERROR: code indent should never use tabs #2415: FILE: tools/virtiofsd/fuse_lowlevel.c:2393: +^Ilist_add_nreq(&rreq->nreq, &se->notify_list);$ ERROR: code indent should never use tabs #2416: FILE: tools/virtiofsd/fuse_lowlevel.c:2394: +^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #2418: FILE: tools/virtiofsd/fuse_lowlevel.c:2396: +^Ioutarg.notify_unique = rreq->nreq.unique;$ ERROR: code indent should never use tabs #2419: FILE: tools/virtiofsd/fuse_lowlevel.c:2397: +^Ioutarg.nodeid = ino;$ ERROR: code indent should never use tabs #2420: FILE: tools/virtiofsd/fuse_lowlevel.c:2398: +^Ioutarg.offset = offset;$ ERROR: code indent should never use tabs #2421: FILE: tools/virtiofsd/fuse_lowlevel.c:2399: +^Ioutarg.size = size;$ ERROR: code indent should never use tabs #2422: FILE: tools/virtiofsd/fuse_lowlevel.c:2400: +^Ioutarg.padding = 0;$ ERROR: code indent should never use tabs #2424: FILE: tools/virtiofsd/fuse_lowlevel.c:2402: +^Iiov[1].iov_base = &outarg;$ ERROR: code indent should never use tabs #2425: FILE: tools/virtiofsd/fuse_lowlevel.c:2403: +^Iiov[1].iov_len = sizeof(outarg);$ ERROR: code indent should never use tabs #2427: FILE: tools/virtiofsd/fuse_lowlevel.c:2405: +^Ierr = send_notify_iov(se, FUSE_NOTIFY_RETRIEVE, iov, 2);$ ERROR: code indent should never use tabs #2428: FILE: tools/virtiofsd/fuse_lowlevel.c:2406: +^Iif (err) {$ ERROR: code indent should never use tabs #2429: FILE: tools/virtiofsd/fuse_lowlevel.c:2407: +^I^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #2430: FILE: tools/virtiofsd/fuse_lowlevel.c:2408: +^I^Ilist_del_nreq(&rreq->nreq);$ ERROR: code indent should never use tabs #2431: FILE: tools/virtiofsd/fuse_lowlevel.c:2409: +^I^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #2432: FILE: tools/virtiofsd/fuse_lowlevel.c:2410: +^I^Ifree(rreq);$ ERROR: code indent should never use tabs #2433: FILE: tools/virtiofsd/fuse_lowlevel.c:2411: +^I}$ ERROR: code indent should never use tabs #2435: FILE: tools/virtiofsd/fuse_lowlevel.c:2413: +^Ireturn err;$ ERROR: code indent should never use tabs #2440: FILE: tools/virtiofsd/fuse_lowlevel.c:2418: +^Ireturn req->se->userdata;$ ERROR: code indent should never use tabs #2445: FILE: tools/virtiofsd/fuse_lowlevel.c:2423: +^Ireturn &req->ctx;$ ERROR: code indent should never use tabs #2449: FILE: tools/virtiofsd/fuse_lowlevel.c:2427: +^I^I^I void *data)$ ERROR: code indent should never use tabs #2451: FILE: tools/virtiofsd/fuse_lowlevel.c:2429: +^Ipthread_mutex_lock(&req->lock);$ ERROR: code indent should never use tabs #2452: FILE: tools/virtiofsd/fuse_lowlevel.c:2430: +^Ipthread_mutex_lock(&req->se->lock);$ ERROR: code indent should never use tabs #2453: FILE: tools/virtiofsd/fuse_lowlevel.c:2431: +^Ireq->u.ni.func = func;$ ERROR: code indent should never use tabs #2454: FILE: tools/virtiofsd/fuse_lowlevel.c:2432: +^Ireq->u.ni.data = data;$ ERROR: code indent should never use tabs #2455: FILE: tools/virtiofsd/fuse_lowlevel.c:2433: +^Ipthread_mutex_unlock(&req->se->lock);$ ERROR: code indent should never use tabs #2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434: +^Iif (req->interrupted && func)$ ERROR: braces {} are necessary for all arms of this statement #2456: FILE: tools/virtiofsd/fuse_lowlevel.c:2434: + if (req->interrupted && func) [...] ERROR: code indent should never use tabs #2457: FILE: tools/virtiofsd/fuse_lowlevel.c:2435: +^I^Ifunc(req, data);$ ERROR: code indent should never use tabs #2458: FILE: tools/virtiofsd/fuse_lowlevel.c:2436: +^Ipthread_mutex_unlock(&req->lock);$ ERROR: code indent should never use tabs #2463: FILE: tools/virtiofsd/fuse_lowlevel.c:2441: +^Iint interrupted;$ ERROR: code indent should never use tabs #2465: FILE: tools/virtiofsd/fuse_lowlevel.c:2443: +^Ipthread_mutex_lock(&req->se->lock);$ ERROR: code indent should never use tabs #2466: FILE: tools/virtiofsd/fuse_lowlevel.c:2444: +^Iinterrupted = req->interrupted;$ ERROR: code indent should never use tabs #2467: FILE: tools/virtiofsd/fuse_lowlevel.c:2445: +^Ipthread_mutex_unlock(&req->se->lock);$ ERROR: code indent should never use tabs #2469: FILE: tools/virtiofsd/fuse_lowlevel.c:2447: +^Ireturn interrupted;$ ERROR: code indent should never use tabs #2473: FILE: tools/virtiofsd/fuse_lowlevel.c:2451: +^Ivoid (*func)(fuse_req_t, fuse_ino_t, const void *);$ ERROR: code indent should never use tabs #2474: FILE: tools/virtiofsd/fuse_lowlevel.c:2452: +^Iconst char *name;$ ERROR: code indent should never use tabs #2476: FILE: tools/virtiofsd/fuse_lowlevel.c:2454: +^I[FUSE_LOOKUP]^I = { do_lookup, "LOOKUP"^I },$ ERROR: code indent should never use tabs #2477: FILE: tools/virtiofsd/fuse_lowlevel.c:2455: +^I[FUSE_FORGET]^I = { do_forget, "FORGET"^I },$ ERROR: code indent should never use tabs #2478: FILE: tools/virtiofsd/fuse_lowlevel.c:2456: +^I[FUSE_GETATTR]^I = { do_getattr, "GETATTR" },$ ERROR: code indent should never use tabs #2479: FILE: tools/virtiofsd/fuse_lowlevel.c:2457: +^I[FUSE_SETATTR]^I = { do_setattr, "SETATTR" },$ ERROR: code indent should never use tabs #2480: FILE: tools/virtiofsd/fuse_lowlevel.c:2458: +^I[FUSE_READLINK]^I = { do_readlink, "READLINK" },$ ERROR: code indent should never use tabs #2481: FILE: tools/virtiofsd/fuse_lowlevel.c:2459: +^I[FUSE_SYMLINK]^I = { do_symlink, "SYMLINK" },$ ERROR: code indent should never use tabs #2482: FILE: tools/virtiofsd/fuse_lowlevel.c:2460: +^I[FUSE_MKNOD]^I = { do_mknod, "MKNOD"^I },$ ERROR: code indent should never use tabs #2483: FILE: tools/virtiofsd/fuse_lowlevel.c:2461: +^I[FUSE_MKDIR]^I = { do_mkdir, "MKDIR"^I },$ ERROR: code indent should never use tabs #2484: FILE: tools/virtiofsd/fuse_lowlevel.c:2462: +^I[FUSE_UNLINK]^I = { do_unlink, "UNLINK"^I },$ ERROR: code indent should never use tabs #2485: FILE: tools/virtiofsd/fuse_lowlevel.c:2463: +^I[FUSE_RMDIR]^I = { do_rmdir, "RMDIR"^I },$ ERROR: code indent should never use tabs #2486: FILE: tools/virtiofsd/fuse_lowlevel.c:2464: +^I[FUSE_RENAME]^I = { do_rename, "RENAME"^I },$ ERROR: code indent should never use tabs #2487: FILE: tools/virtiofsd/fuse_lowlevel.c:2465: +^I[FUSE_LINK]^I = { do_link,^I "LINK"^I },$ ERROR: code indent should never use tabs #2488: FILE: tools/virtiofsd/fuse_lowlevel.c:2466: +^I[FUSE_OPEN]^I = { do_open,^I "OPEN"^I },$ ERROR: code indent should never use tabs #2489: FILE: tools/virtiofsd/fuse_lowlevel.c:2467: +^I[FUSE_READ]^I = { do_read,^I "READ"^I },$ ERROR: code indent should never use tabs #2490: FILE: tools/virtiofsd/fuse_lowlevel.c:2468: +^I[FUSE_WRITE]^I = { do_write, "WRITE"^I },$ ERROR: code indent should never use tabs #2491: FILE: tools/virtiofsd/fuse_lowlevel.c:2469: +^I[FUSE_STATFS]^I = { do_statfs, "STATFS"^I },$ ERROR: code indent should never use tabs #2492: FILE: tools/virtiofsd/fuse_lowlevel.c:2470: +^I[FUSE_RELEASE]^I = { do_release, "RELEASE" },$ ERROR: code indent should never use tabs #2493: FILE: tools/virtiofsd/fuse_lowlevel.c:2471: +^I[FUSE_FSYNC]^I = { do_fsync, "FSYNC"^I },$ ERROR: code indent should never use tabs #2494: FILE: tools/virtiofsd/fuse_lowlevel.c:2472: +^I[FUSE_SETXATTR]^I = { do_setxattr, "SETXATTR" },$ ERROR: code indent should never use tabs #2495: FILE: tools/virtiofsd/fuse_lowlevel.c:2473: +^I[FUSE_GETXATTR]^I = { do_getxattr, "GETXATTR" },$ ERROR: code indent should never use tabs #2496: FILE: tools/virtiofsd/fuse_lowlevel.c:2474: +^I[FUSE_LISTXATTR] = { do_listxattr, "LISTXATTR" },$ ERROR: code indent should never use tabs #2497: FILE: tools/virtiofsd/fuse_lowlevel.c:2475: +^I[FUSE_REMOVEXATTR] = { do_removexattr, "REMOVEXATTR" },$ ERROR: code indent should never use tabs #2498: FILE: tools/virtiofsd/fuse_lowlevel.c:2476: +^I[FUSE_FLUSH]^I = { do_flush, "FLUSH"^I },$ ERROR: code indent should never use tabs #2499: FILE: tools/virtiofsd/fuse_lowlevel.c:2477: +^I[FUSE_INIT]^I = { do_init,^I "INIT"^I },$ ERROR: code indent should never use tabs #2500: FILE: tools/virtiofsd/fuse_lowlevel.c:2478: +^I[FUSE_OPENDIR]^I = { do_opendir, "OPENDIR" },$ ERROR: code indent should never use tabs #2501: FILE: tools/virtiofsd/fuse_lowlevel.c:2479: +^I[FUSE_READDIR]^I = { do_readdir, "READDIR" },$ ERROR: code indent should never use tabs #2502: FILE: tools/virtiofsd/fuse_lowlevel.c:2480: +^I[FUSE_RELEASEDIR] = { do_releasedir, "RELEASEDIR" },$ ERROR: code indent should never use tabs #2503: FILE: tools/virtiofsd/fuse_lowlevel.c:2481: +^I[FUSE_FSYNCDIR]^I = { do_fsyncdir, "FSYNCDIR" },$ ERROR: code indent should never use tabs #2504: FILE: tools/virtiofsd/fuse_lowlevel.c:2482: +^I[FUSE_GETLK]^I = { do_getlk, "GETLK"^I },$ ERROR: code indent should never use tabs #2505: FILE: tools/virtiofsd/fuse_lowlevel.c:2483: +^I[FUSE_SETLK]^I = { do_setlk, "SETLK"^I },$ ERROR: code indent should never use tabs #2506: FILE: tools/virtiofsd/fuse_lowlevel.c:2484: +^I[FUSE_SETLKW]^I = { do_setlkw, "SETLKW"^I },$ ERROR: code indent should never use tabs #2507: FILE: tools/virtiofsd/fuse_lowlevel.c:2485: +^I[FUSE_ACCESS]^I = { do_access, "ACCESS"^I },$ ERROR: code indent should never use tabs #2508: FILE: tools/virtiofsd/fuse_lowlevel.c:2486: +^I[FUSE_CREATE]^I = { do_create, "CREATE"^I },$ ERROR: code indent should never use tabs #2509: FILE: tools/virtiofsd/fuse_lowlevel.c:2487: +^I[FUSE_INTERRUPT] = { do_interrupt, "INTERRUPT" },$ ERROR: code indent should never use tabs #2510: FILE: tools/virtiofsd/fuse_lowlevel.c:2488: +^I[FUSE_BMAP]^I = { do_bmap,^I "BMAP"^I },$ ERROR: code indent should never use tabs #2511: FILE: tools/virtiofsd/fuse_lowlevel.c:2489: +^I[FUSE_IOCTL]^I = { do_ioctl, "IOCTL"^I },$ ERROR: code indent should never use tabs #2512: FILE: tools/virtiofsd/fuse_lowlevel.c:2490: +^I[FUSE_POLL]^I = { do_poll, "POLL"^I },$ ERROR: code indent should never use tabs #2513: FILE: tools/virtiofsd/fuse_lowlevel.c:2491: +^I[FUSE_FALLOCATE] = { do_fallocate, "FALLOCATE" },$ ERROR: code indent should never use tabs #2514: FILE: tools/virtiofsd/fuse_lowlevel.c:2492: +^I[FUSE_DESTROY]^I = { do_destroy, "DESTROY" },$ ERROR: code indent should never use tabs #2515: FILE: tools/virtiofsd/fuse_lowlevel.c:2493: +^I[FUSE_NOTIFY_REPLY] = { (void *) 1, "NOTIFY_REPLY" },$ ERROR: code indent should never use tabs #2516: FILE: tools/virtiofsd/fuse_lowlevel.c:2494: +^I[FUSE_BATCH_FORGET] = { do_batch_forget, "BATCH_FORGET" },$ ERROR: code indent should never use tabs #2517: FILE: tools/virtiofsd/fuse_lowlevel.c:2495: +^I[FUSE_READDIRPLUS] = { do_readdirplus,^I"READDIRPLUS"},$ ERROR: code indent should never use tabs #2518: FILE: tools/virtiofsd/fuse_lowlevel.c:2496: +^I[FUSE_RENAME2] = { do_rename2, "RENAME2" },$ ERROR: code indent should never use tabs #2519: FILE: tools/virtiofsd/fuse_lowlevel.c:2497: +^I[FUSE_COPY_FILE_RANGE] = { do_copy_file_range, "COPY_FILE_RANGE" },$ ERROR: code indent should never use tabs #2520: FILE: tools/virtiofsd/fuse_lowlevel.c:2498: +^I[FUSE_LSEEK]^I = { do_lseek, "LSEEK"^I },$ ERROR: code indent should never use tabs #2521: FILE: tools/virtiofsd/fuse_lowlevel.c:2499: +^I[CUSE_INIT]^I = { cuse_lowlevel_init, "CUSE_INIT" },$ ERROR: code indent should never use tabs #2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506: +^Iif (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name)$ ERROR: braces {} are necessary for all arms of this statement #2528: FILE: tools/virtiofsd/fuse_lowlevel.c:2506: + if (opcode >= FUSE_MAXOP || !fuse_ll_ops[opcode].name) [...] + else [...] ERROR: code indent should never use tabs #2529: FILE: tools/virtiofsd/fuse_lowlevel.c:2507: +^I^Ireturn "???";$ ERROR: code indent should never use tabs #2530: FILE: tools/virtiofsd/fuse_lowlevel.c:2508: +^Ielse$ ERROR: code indent should never use tabs #2531: FILE: tools/virtiofsd/fuse_lowlevel.c:2509: +^I^Ireturn fuse_ll_ops[opcode].name;$ ERROR: code indent should never use tabs #2535: FILE: tools/virtiofsd/fuse_lowlevel.c:2513: +^I^I^I^I struct fuse_bufvec *src)$ ERROR: code indent should never use tabs #2537: FILE: tools/virtiofsd/fuse_lowlevel.c:2515: +^Issize_t res = fuse_buf_copy(dst, src, 0);$ ERROR: code indent should never use tabs #2538: FILE: tools/virtiofsd/fuse_lowlevel.c:2516: +^Iif (res < 0) {$ WARNING: line over 80 characters #2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517: + fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res)); ERROR: code indent should never use tabs #2539: FILE: tools/virtiofsd/fuse_lowlevel.c:2517: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res));$ ERROR: code indent should never use tabs #2540: FILE: tools/virtiofsd/fuse_lowlevel.c:2518: +^I^Ireturn res;$ ERROR: code indent should never use tabs #2541: FILE: tools/virtiofsd/fuse_lowlevel.c:2519: +^I}$ ERROR: code indent should never use tabs #2542: FILE: tools/virtiofsd/fuse_lowlevel.c:2520: +^Iif ((size_t)res < fuse_buf_size(dst)) {$ ERROR: code indent should never use tabs #2543: FILE: tools/virtiofsd/fuse_lowlevel.c:2521: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$ ERROR: code indent should never use tabs #2544: FILE: tools/virtiofsd/fuse_lowlevel.c:2522: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #2545: FILE: tools/virtiofsd/fuse_lowlevel.c:2523: +^I}$ ERROR: code indent should never use tabs #2546: FILE: tools/virtiofsd/fuse_lowlevel.c:2524: +^Ireturn 0;$ ERROR: code indent should never use tabs #2550: FILE: tools/virtiofsd/fuse_lowlevel.c:2528: +^I^I^I const struct fuse_buf *buf)$ ERROR: code indent should never use tabs #2552: FILE: tools/virtiofsd/fuse_lowlevel.c:2530: +^Ifuse_session_process_buf_int(se, buf, NULL);$ WARNING: line over 80 characters #2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534: + const struct fuse_buf *buf, struct fuse_chan *ch) ERROR: code indent should never use tabs #2556: FILE: tools/virtiofsd/fuse_lowlevel.c:2534: +^I^I^I^I const struct fuse_buf *buf, struct fuse_chan *ch)$ ERROR: code indent should never use tabs #2558: FILE: tools/virtiofsd/fuse_lowlevel.c:2536: +^Iconst size_t write_header_size = sizeof(struct fuse_in_header) +$ ERROR: code indent should never use tabs #2559: FILE: tools/virtiofsd/fuse_lowlevel.c:2537: +^I^Isizeof(struct fuse_write_in);$ ERROR: code indent should never use tabs #2560: FILE: tools/virtiofsd/fuse_lowlevel.c:2538: +^Istruct fuse_bufvec bufv = { .buf[0] = *buf, .count = 1 };$ ERROR: code indent should never use tabs #2561: FILE: tools/virtiofsd/fuse_lowlevel.c:2539: +^Istruct fuse_bufvec tmpbuf = FUSE_BUFVEC_INIT(write_header_size);$ ERROR: code indent should never use tabs #2562: FILE: tools/virtiofsd/fuse_lowlevel.c:2540: +^Istruct fuse_in_header *in;$ ERROR: code indent should never use tabs #2563: FILE: tools/virtiofsd/fuse_lowlevel.c:2541: +^Iconst void *inarg;$ ERROR: code indent should never use tabs #2564: FILE: tools/virtiofsd/fuse_lowlevel.c:2542: +^Istruct fuse_req *req;$ ERROR: code indent should never use tabs #2565: FILE: tools/virtiofsd/fuse_lowlevel.c:2543: +^Ivoid *mbuf = NULL;$ ERROR: code indent should never use tabs #2566: FILE: tools/virtiofsd/fuse_lowlevel.c:2544: +^Iint err;$ ERROR: code indent should never use tabs #2567: FILE: tools/virtiofsd/fuse_lowlevel.c:2545: +^Iint res;$ ERROR: code indent should never use tabs #2569: FILE: tools/virtiofsd/fuse_lowlevel.c:2547: +^Iif (buf->flags & FUSE_BUF_IS_FD) {$ ERROR: code indent should never use tabs #2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548: +^I^Iif (buf->size < tmpbuf.buf[0].size)$ ERROR: braces {} are necessary for all arms of this statement #2570: FILE: tools/virtiofsd/fuse_lowlevel.c:2548: + if (buf->size < tmpbuf.buf[0].size) [...] ERROR: code indent should never use tabs #2571: FILE: tools/virtiofsd/fuse_lowlevel.c:2549: +^I^I^Itmpbuf.buf[0].size = buf->size;$ ERROR: code indent should never use tabs #2573: FILE: tools/virtiofsd/fuse_lowlevel.c:2551: +^I^Imbuf = malloc(tmpbuf.buf[0].size);$ ERROR: code indent should never use tabs #2574: FILE: tools/virtiofsd/fuse_lowlevel.c:2552: +^I^Iif (mbuf == NULL) {$ WARNING: line over 80 characters #2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553: + fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate header\n"); ERROR: code indent should never use tabs #2575: FILE: tools/virtiofsd/fuse_lowlevel.c:2553: +^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate header\n");$ ERROR: code indent should never use tabs #2576: FILE: tools/virtiofsd/fuse_lowlevel.c:2554: +^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #2577: FILE: tools/virtiofsd/fuse_lowlevel.c:2555: +^I^I}$ ERROR: code indent should never use tabs #2578: FILE: tools/virtiofsd/fuse_lowlevel.c:2556: +^I^Itmpbuf.buf[0].mem = mbuf;$ ERROR: code indent should never use tabs #2580: FILE: tools/virtiofsd/fuse_lowlevel.c:2558: +^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$ ERROR: code indent should never use tabs #2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559: +^I^Iif (res < 0)$ ERROR: braces {} are necessary for all arms of this statement #2581: FILE: tools/virtiofsd/fuse_lowlevel.c:2559: + if (res < 0) [...] ERROR: code indent should never use tabs #2582: FILE: tools/virtiofsd/fuse_lowlevel.c:2560: +^I^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #2584: FILE: tools/virtiofsd/fuse_lowlevel.c:2562: +^I^Iin = mbuf;$ ERROR: code indent should never use tabs #2585: FILE: tools/virtiofsd/fuse_lowlevel.c:2563: +^I} else {$ ERROR: code indent should never use tabs #2586: FILE: tools/virtiofsd/fuse_lowlevel.c:2564: +^I^Iin = buf->mem;$ ERROR: code indent should never use tabs #2587: FILE: tools/virtiofsd/fuse_lowlevel.c:2565: +^I}$ ERROR: code indent should never use tabs #2589: FILE: tools/virtiofsd/fuse_lowlevel.c:2567: +^Iif (se->debug) {$ ERROR: code indent should never use tabs #2590: FILE: tools/virtiofsd/fuse_lowlevel.c:2568: +^I^Ifuse_log(FUSE_LOG_DEBUG,$ ERROR: code indent should never use tabs #2591: FILE: tools/virtiofsd/fuse_lowlevel.c:2569: +^I^I^I"unique: %llu, opcode: %s (%i), nodeid: %llu, insize: %zu, pid: %u\n",$ ERROR: code indent should never use tabs #2592: FILE: tools/virtiofsd/fuse_lowlevel.c:2570: +^I^I^I(unsigned long long) in->unique,$ ERROR: code indent should never use tabs #2593: FILE: tools/virtiofsd/fuse_lowlevel.c:2571: +^I^I^Iopname((enum fuse_opcode) in->opcode), in->opcode,$ ERROR: code indent should never use tabs #2594: FILE: tools/virtiofsd/fuse_lowlevel.c:2572: +^I^I^I(unsigned long long) in->nodeid, buf->size, in->pid);$ ERROR: code indent should never use tabs #2595: FILE: tools/virtiofsd/fuse_lowlevel.c:2573: +^I}$ ERROR: code indent should never use tabs #2597: FILE: tools/virtiofsd/fuse_lowlevel.c:2575: +^Ireq = fuse_ll_alloc_req(se);$ ERROR: code indent should never use tabs #2598: FILE: tools/virtiofsd/fuse_lowlevel.c:2576: +^Iif (req == NULL) {$ ERROR: code indent should never use tabs #2599: FILE: tools/virtiofsd/fuse_lowlevel.c:2577: +^I^Istruct fuse_out_header out = {$ ERROR: code indent should never use tabs #2600: FILE: tools/virtiofsd/fuse_lowlevel.c:2578: +^I^I^I.unique = in->unique,$ ERROR: code indent should never use tabs #2601: FILE: tools/virtiofsd/fuse_lowlevel.c:2579: +^I^I^I.error = -ENOMEM,$ ERROR: code indent should never use tabs #2602: FILE: tools/virtiofsd/fuse_lowlevel.c:2580: +^I^I};$ ERROR: code indent should never use tabs #2603: FILE: tools/virtiofsd/fuse_lowlevel.c:2581: +^I^Istruct iovec iov = {$ ERROR: code indent should never use tabs #2604: FILE: tools/virtiofsd/fuse_lowlevel.c:2582: +^I^I^I.iov_base = &out,$ ERROR: code indent should never use tabs #2605: FILE: tools/virtiofsd/fuse_lowlevel.c:2583: +^I^I^I.iov_len = sizeof(struct fuse_out_header),$ ERROR: code indent should never use tabs #2606: FILE: tools/virtiofsd/fuse_lowlevel.c:2584: +^I^I};$ ERROR: code indent should never use tabs #2608: FILE: tools/virtiofsd/fuse_lowlevel.c:2586: +^I^Ifuse_send_msg(se, ch, &iov, 1);$ ERROR: code indent should never use tabs #2609: FILE: tools/virtiofsd/fuse_lowlevel.c:2587: +^I^Igoto clear_pipe;$ ERROR: code indent should never use tabs #2610: FILE: tools/virtiofsd/fuse_lowlevel.c:2588: +^I}$ ERROR: code indent should never use tabs #2612: FILE: tools/virtiofsd/fuse_lowlevel.c:2590: +^Ireq->unique = in->unique;$ ERROR: code indent should never use tabs #2613: FILE: tools/virtiofsd/fuse_lowlevel.c:2591: +^Ireq->ctx.uid = in->uid;$ ERROR: code indent should never use tabs #2614: FILE: tools/virtiofsd/fuse_lowlevel.c:2592: +^Ireq->ctx.gid = in->gid;$ ERROR: code indent should never use tabs #2615: FILE: tools/virtiofsd/fuse_lowlevel.c:2593: +^Ireq->ctx.pid = in->pid;$ ERROR: code indent should never use tabs #2616: FILE: tools/virtiofsd/fuse_lowlevel.c:2594: +^Ireq->ch = ch ? fuse_chan_get(ch) : NULL;$ ERROR: code indent should never use tabs #2618: FILE: tools/virtiofsd/fuse_lowlevel.c:2596: +^Ierr = EIO;$ ERROR: code indent should never use tabs #2619: FILE: tools/virtiofsd/fuse_lowlevel.c:2597: +^Iif (!se->got_init) {$ ERROR: code indent should never use tabs #2620: FILE: tools/virtiofsd/fuse_lowlevel.c:2598: +^I^Ienum fuse_opcode expected;$ ERROR: code indent should never use tabs #2622: FILE: tools/virtiofsd/fuse_lowlevel.c:2600: +^I^Iexpected = se->cuse_data ? CUSE_INIT : FUSE_INIT;$ ERROR: code indent should never use tabs #2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601: +^I^Iif (in->opcode != expected)$ ERROR: braces {} are necessary for all arms of this statement #2623: FILE: tools/virtiofsd/fuse_lowlevel.c:2601: + if (in->opcode != expected) [...] ERROR: code indent should never use tabs #2624: FILE: tools/virtiofsd/fuse_lowlevel.c:2602: +^I^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603: +^I} else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT)$ ERROR: braces {} are necessary for all arms of this statement #2625: FILE: tools/virtiofsd/fuse_lowlevel.c:2603: + } else if (in->opcode == FUSE_INIT || in->opcode == CUSE_INIT) [...] ERROR: code indent should never use tabs #2626: FILE: tools/virtiofsd/fuse_lowlevel.c:2604: +^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2628: FILE: tools/virtiofsd/fuse_lowlevel.c:2606: +^Ierr = EACCES;$ ERROR: code indent should never use tabs #2629: FILE: tools/virtiofsd/fuse_lowlevel.c:2607: +^I/* Implement -o allow_root */$ ERROR: code indent should never use tabs #2630: FILE: tools/virtiofsd/fuse_lowlevel.c:2608: +^Iif (se->deny_others && in->uid != se->owner && in->uid != 0 &&$ ERROR: code indent should never use tabs #2631: FILE: tools/virtiofsd/fuse_lowlevel.c:2609: +^I^I in->opcode != FUSE_INIT && in->opcode != FUSE_READ &&$ ERROR: code indent should never use tabs #2632: FILE: tools/virtiofsd/fuse_lowlevel.c:2610: +^I^I in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC &&$ ERROR: code indent should never use tabs #2633: FILE: tools/virtiofsd/fuse_lowlevel.c:2611: +^I^I in->opcode != FUSE_RELEASE && in->opcode != FUSE_READDIR &&$ ERROR: code indent should never use tabs #2634: FILE: tools/virtiofsd/fuse_lowlevel.c:2612: +^I^I in->opcode != FUSE_FSYNCDIR && in->opcode != FUSE_RELEASEDIR &&$ ERROR: code indent should never use tabs #2635: FILE: tools/virtiofsd/fuse_lowlevel.c:2613: +^I^I in->opcode != FUSE_NOTIFY_REPLY &&$ ERROR: code indent should never use tabs #2636: FILE: tools/virtiofsd/fuse_lowlevel.c:2614: +^I^I in->opcode != FUSE_READDIRPLUS)$ ERROR: code indent should never use tabs #2637: FILE: tools/virtiofsd/fuse_lowlevel.c:2615: +^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2639: FILE: tools/virtiofsd/fuse_lowlevel.c:2617: +^Ierr = ENOSYS;$ ERROR: code indent should never use tabs #2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618: +^Iif (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)$ ERROR: braces {} are necessary for all arms of this statement #2640: FILE: tools/virtiofsd/fuse_lowlevel.c:2618: + if (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func) [...] ERROR: code indent should never use tabs #2641: FILE: tools/virtiofsd/fuse_lowlevel.c:2619: +^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2642: FILE: tools/virtiofsd/fuse_lowlevel.c:2620: +^Iif (in->opcode != FUSE_INTERRUPT) {$ ERROR: code indent should never use tabs #2643: FILE: tools/virtiofsd/fuse_lowlevel.c:2621: +^I^Istruct fuse_req *intr;$ ERROR: code indent should never use tabs #2644: FILE: tools/virtiofsd/fuse_lowlevel.c:2622: +^I^Ipthread_mutex_lock(&se->lock);$ ERROR: code indent should never use tabs #2645: FILE: tools/virtiofsd/fuse_lowlevel.c:2623: +^I^Iintr = check_interrupt(se, req);$ ERROR: code indent should never use tabs #2646: FILE: tools/virtiofsd/fuse_lowlevel.c:2624: +^I^Ilist_add_req(req, &se->list);$ ERROR: code indent should never use tabs #2647: FILE: tools/virtiofsd/fuse_lowlevel.c:2625: +^I^Ipthread_mutex_unlock(&se->lock);$ ERROR: code indent should never use tabs #2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626: +^I^Iif (intr)$ ERROR: braces {} are necessary for all arms of this statement #2648: FILE: tools/virtiofsd/fuse_lowlevel.c:2626: + if (intr) [...] ERROR: code indent should never use tabs #2649: FILE: tools/virtiofsd/fuse_lowlevel.c:2627: +^I^I^Ifuse_reply_err(intr, EAGAIN);$ ERROR: code indent should never use tabs #2650: FILE: tools/virtiofsd/fuse_lowlevel.c:2628: +^I}$ ERROR: code indent should never use tabs #2652: FILE: tools/virtiofsd/fuse_lowlevel.c:2630: +^Iif ((buf->flags & FUSE_BUF_IS_FD) && write_header_size < buf->size &&$ ERROR: code indent should never use tabs #2653: FILE: tools/virtiofsd/fuse_lowlevel.c:2631: +^I (in->opcode != FUSE_WRITE || !se->op.write_buf) &&$ ERROR: code indent should never use tabs #2654: FILE: tools/virtiofsd/fuse_lowlevel.c:2632: +^I in->opcode != FUSE_NOTIFY_REPLY) {$ ERROR: code indent should never use tabs #2655: FILE: tools/virtiofsd/fuse_lowlevel.c:2633: +^I^Ivoid *newmbuf;$ ERROR: code indent should never use tabs #2657: FILE: tools/virtiofsd/fuse_lowlevel.c:2635: +^I^Ierr = ENOMEM;$ ERROR: code indent should never use tabs #2658: FILE: tools/virtiofsd/fuse_lowlevel.c:2636: +^I^Inewmbuf = realloc(mbuf, buf->size);$ ERROR: code indent should never use tabs #2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637: +^I^Iif (newmbuf == NULL)$ ERROR: braces {} are necessary for all arms of this statement #2659: FILE: tools/virtiofsd/fuse_lowlevel.c:2637: + if (newmbuf == NULL) [...] ERROR: code indent should never use tabs #2660: FILE: tools/virtiofsd/fuse_lowlevel.c:2638: +^I^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2661: FILE: tools/virtiofsd/fuse_lowlevel.c:2639: +^I^Imbuf = newmbuf;$ ERROR: code indent should never use tabs #2663: FILE: tools/virtiofsd/fuse_lowlevel.c:2641: +^I^Itmpbuf = FUSE_BUFVEC_INIT(buf->size - write_header_size);$ ERROR: code indent should never use tabs #2664: FILE: tools/virtiofsd/fuse_lowlevel.c:2642: +^I^Itmpbuf.buf[0].mem = (char *)mbuf + write_header_size;$ ERROR: code indent should never use tabs #2666: FILE: tools/virtiofsd/fuse_lowlevel.c:2644: +^I^Ires = fuse_ll_copy_from_pipe(&tmpbuf, &bufv);$ ERROR: code indent should never use tabs #2667: FILE: tools/virtiofsd/fuse_lowlevel.c:2645: +^I^Ierr = -res;$ ERROR: code indent should never use tabs #2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646: +^I^Iif (res < 0)$ ERROR: braces {} are necessary for all arms of this statement #2668: FILE: tools/virtiofsd/fuse_lowlevel.c:2646: + if (res < 0) [...] ERROR: code indent should never use tabs #2669: FILE: tools/virtiofsd/fuse_lowlevel.c:2647: +^I^I^Igoto reply_err;$ ERROR: code indent should never use tabs #2671: FILE: tools/virtiofsd/fuse_lowlevel.c:2649: +^I^Iin = mbuf;$ ERROR: code indent should never use tabs #2672: FILE: tools/virtiofsd/fuse_lowlevel.c:2650: +^I}$ ERROR: code indent should never use tabs #2674: FILE: tools/virtiofsd/fuse_lowlevel.c:2652: +^Iinarg = (void *) &in[1];$ ERROR: code indent should never use tabs #2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653: +^Iif (in->opcode == FUSE_WRITE && se->op.write_buf)$ ERROR: braces {} are necessary for all arms of this statement #2675: FILE: tools/virtiofsd/fuse_lowlevel.c:2653: + if (in->opcode == FUSE_WRITE && se->op.write_buf) [...] + else if (in->opcode == FUSE_NOTIFY_REPLY) [...] + else [...] ERROR: code indent should never use tabs #2676: FILE: tools/virtiofsd/fuse_lowlevel.c:2654: +^I^Ido_write_buf(req, in->nodeid, inarg, buf);$ ERROR: code indent should never use tabs #2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655: +^Ielse if (in->opcode == FUSE_NOTIFY_REPLY)$ ERROR: braces {} are necessary for all arms of this statement #2677: FILE: tools/virtiofsd/fuse_lowlevel.c:2655: + else if (in->opcode == FUSE_NOTIFY_REPLY) [...] + else [...] ERROR: code indent should never use tabs #2678: FILE: tools/virtiofsd/fuse_lowlevel.c:2656: +^I^Ido_notify_reply(req, in->nodeid, inarg, buf);$ ERROR: code indent should never use tabs #2679: FILE: tools/virtiofsd/fuse_lowlevel.c:2657: +^Ielse$ ERROR: code indent should never use tabs #2680: FILE: tools/virtiofsd/fuse_lowlevel.c:2658: +^I^Ifuse_ll_ops[in->opcode].func(req, in->nodeid, inarg);$ ERROR: code indent should never use tabs #2683: FILE: tools/virtiofsd/fuse_lowlevel.c:2661: +^Ifree(mbuf);$ ERROR: code indent should never use tabs #2684: FILE: tools/virtiofsd/fuse_lowlevel.c:2662: +^Ireturn;$ ERROR: code indent should never use tabs #2687: FILE: tools/virtiofsd/fuse_lowlevel.c:2665: +^Ifuse_reply_err(req, err);$ ERROR: code indent should never use tabs #2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667: +^Iif (buf->flags & FUSE_BUF_IS_FD)$ ERROR: braces {} are necessary for all arms of this statement #2689: FILE: tools/virtiofsd/fuse_lowlevel.c:2667: + if (buf->flags & FUSE_BUF_IS_FD) [...] ERROR: code indent should never use tabs #2690: FILE: tools/virtiofsd/fuse_lowlevel.c:2668: +^I^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #2691: FILE: tools/virtiofsd/fuse_lowlevel.c:2669: +^Igoto out_free;$ ERROR: space required after that ',' (ctx:VxV) #2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672: +#define LL_OPTION(n,o,v) \ ^ ERROR: space required after that ',' (ctx:VxV) #2694: FILE: tools/virtiofsd/fuse_lowlevel.c:2672: +#define LL_OPTION(n,o,v) \ ^ ERROR: code indent should never use tabs #2695: FILE: tools/virtiofsd/fuse_lowlevel.c:2673: +^I{ n, offsetof(struct fuse_session, o), v }$ ERROR: code indent should never use tabs #2698: FILE: tools/virtiofsd/fuse_lowlevel.c:2676: +^ILL_OPTION("debug", debug, 1),$ ERROR: code indent should never use tabs #2699: FILE: tools/virtiofsd/fuse_lowlevel.c:2677: +^ILL_OPTION("-d", debug, 1),$ ERROR: code indent should never use tabs #2700: FILE: tools/virtiofsd/fuse_lowlevel.c:2678: +^ILL_OPTION("--debug", debug, 1),$ ERROR: code indent should never use tabs #2701: FILE: tools/virtiofsd/fuse_lowlevel.c:2679: +^ILL_OPTION("allow_root", deny_others, 1),$ ERROR: code indent should never use tabs #2702: FILE: tools/virtiofsd/fuse_lowlevel.c:2680: +^IFUSE_OPT_END$ ERROR: code indent should never use tabs #2707: FILE: tools/virtiofsd/fuse_lowlevel.c:2685: +^Iprintf("using FUSE kernel interface version %i.%i\n",$ ERROR: code indent should never use tabs #2708: FILE: tools/virtiofsd/fuse_lowlevel.c:2686: +^I FUSE_KERNEL_VERSION, FUSE_KERNEL_MINOR_VERSION);$ ERROR: code indent should never use tabs #2709: FILE: tools/virtiofsd/fuse_lowlevel.c:2687: +^Ifuse_mount_version();$ ERROR: code indent should never use tabs #2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692: +^I/* These are not all options, but the ones that are$ WARNING: Block comments use a leading /* on a separate line #2714: FILE: tools/virtiofsd/fuse_lowlevel.c:2692: + /* These are not all options, but the ones that are ERROR: code indent should never use tabs #2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693: +^I potentially of interest to an end-user */$ WARNING: Block comments use * on subsequent lines #2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693: + /* These are not all options, but the ones that are + potentially of interest to an end-user */ WARNING: Block comments use a trailing */ on a separate line #2715: FILE: tools/virtiofsd/fuse_lowlevel.c:2693: + potentially of interest to an end-user */ ERROR: code indent should never use tabs #2716: FILE: tools/virtiofsd/fuse_lowlevel.c:2694: +^Iprintf($ ERROR: code indent should never use tabs #2724: FILE: tools/virtiofsd/fuse_lowlevel.c:2702: +^Istruct fuse_ll_pipe *llp;$ ERROR: code indent should never use tabs #2726: FILE: tools/virtiofsd/fuse_lowlevel.c:2704: +^Iif (se->got_init && !se->got_destroy) {$ ERROR: code indent should never use tabs #2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705: +^I^Iif (se->op.destroy)$ ERROR: braces {} are necessary for all arms of this statement #2727: FILE: tools/virtiofsd/fuse_lowlevel.c:2705: + if (se->op.destroy) [...] ERROR: code indent should never use tabs #2728: FILE: tools/virtiofsd/fuse_lowlevel.c:2706: +^I^I^Ise->op.destroy(se->userdata);$ ERROR: code indent should never use tabs #2729: FILE: tools/virtiofsd/fuse_lowlevel.c:2707: +^I}$ ERROR: code indent should never use tabs #2730: FILE: tools/virtiofsd/fuse_lowlevel.c:2708: +^Illp = pthread_getspecific(se->pipe_key);$ ERROR: code indent should never use tabs #2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709: +^Iif (llp != NULL)$ ERROR: braces {} are necessary for all arms of this statement #2731: FILE: tools/virtiofsd/fuse_lowlevel.c:2709: + if (llp != NULL) [...] ERROR: code indent should never use tabs #2732: FILE: tools/virtiofsd/fuse_lowlevel.c:2710: +^I^Ifuse_ll_pipe_free(llp);$ ERROR: code indent should never use tabs #2733: FILE: tools/virtiofsd/fuse_lowlevel.c:2711: +^Ipthread_key_delete(se->pipe_key);$ ERROR: code indent should never use tabs #2734: FILE: tools/virtiofsd/fuse_lowlevel.c:2712: +^Ipthread_mutex_destroy(&se->lock);$ ERROR: code indent should never use tabs #2735: FILE: tools/virtiofsd/fuse_lowlevel.c:2713: +^Ifree(se->cuse_data);$ ERROR: code indent should never use tabs #2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714: +^Iif (se->fd != -1)$ ERROR: braces {} are necessary for all arms of this statement #2736: FILE: tools/virtiofsd/fuse_lowlevel.c:2714: + if (se->fd != -1) [...] ERROR: code indent should never use tabs #2737: FILE: tools/virtiofsd/fuse_lowlevel.c:2715: +^I^Iclose(se->fd);$ ERROR: code indent should never use tabs #2738: FILE: tools/virtiofsd/fuse_lowlevel.c:2716: +^Idestroy_mount_opts(se->mo);$ ERROR: code indent should never use tabs #2739: FILE: tools/virtiofsd/fuse_lowlevel.c:2717: +^Ifree(se);$ ERROR: code indent should never use tabs #2745: FILE: tools/virtiofsd/fuse_lowlevel.c:2723: +^Istruct fuse_ll_pipe *llp = data;$ ERROR: code indent should never use tabs #2746: FILE: tools/virtiofsd/fuse_lowlevel.c:2724: +^Ifuse_ll_pipe_free(llp);$ ERROR: code indent should never use tabs #2751: FILE: tools/virtiofsd/fuse_lowlevel.c:2729: +^Ireturn fuse_session_receive_buf_int(se, buf, NULL);$ ERROR: code indent should never use tabs #2755: FILE: tools/virtiofsd/fuse_lowlevel.c:2733: +^I^I^I^I struct fuse_chan *ch)$ ERROR: code indent should never use tabs #2757: FILE: tools/virtiofsd/fuse_lowlevel.c:2735: +^Iint err;$ ERROR: code indent should never use tabs #2758: FILE: tools/virtiofsd/fuse_lowlevel.c:2736: +^Issize_t res;$ ERROR: code indent should never use tabs #2760: FILE: tools/virtiofsd/fuse_lowlevel.c:2738: +^Isize_t bufsize = se->bufsize;$ ERROR: code indent should never use tabs #2761: FILE: tools/virtiofsd/fuse_lowlevel.c:2739: +^Istruct fuse_ll_pipe *llp;$ ERROR: code indent should never use tabs #2762: FILE: tools/virtiofsd/fuse_lowlevel.c:2740: +^Istruct fuse_buf tmpbuf;$ WARNING: line over 80 characters #2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742: + if (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ)) ERROR: code indent should never use tabs #2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742: +^Iif (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ))$ ERROR: braces {} are necessary for all arms of this statement #2764: FILE: tools/virtiofsd/fuse_lowlevel.c:2742: + if (se->conn.proto_minor < 14 || !(se->conn.want & FUSE_CAP_SPLICE_READ)) [...] ERROR: code indent should never use tabs #2765: FILE: tools/virtiofsd/fuse_lowlevel.c:2743: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #2767: FILE: tools/virtiofsd/fuse_lowlevel.c:2745: +^Illp = fuse_ll_get_pipe(se);$ ERROR: code indent should never use tabs #2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746: +^Iif (llp == NULL)$ ERROR: braces {} are necessary for all arms of this statement #2768: FILE: tools/virtiofsd/fuse_lowlevel.c:2746: + if (llp == NULL) [...] ERROR: code indent should never use tabs #2769: FILE: tools/virtiofsd/fuse_lowlevel.c:2747: +^I^Igoto fallback;$ ERROR: code indent should never use tabs #2771: FILE: tools/virtiofsd/fuse_lowlevel.c:2749: +^Iif (llp->size < bufsize) {$ ERROR: code indent should never use tabs #2772: FILE: tools/virtiofsd/fuse_lowlevel.c:2750: +^I^Iif (llp->can_grow) {$ ERROR: code indent should never use tabs #2773: FILE: tools/virtiofsd/fuse_lowlevel.c:2751: +^I^I^Ires = fcntl(llp->pipe[0], F_SETPIPE_SZ, bufsize);$ ERROR: code indent should never use tabs #2774: FILE: tools/virtiofsd/fuse_lowlevel.c:2752: +^I^I^Iif (res == -1) {$ ERROR: code indent should never use tabs #2775: FILE: tools/virtiofsd/fuse_lowlevel.c:2753: +^I^I^I^Illp->can_grow = 0;$ ERROR: code indent should never use tabs #2776: FILE: tools/virtiofsd/fuse_lowlevel.c:2754: +^I^I^I^Ires = grow_pipe_to_max(llp->pipe[0]);$ ERROR: code indent should never use tabs #2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755: +^I^I^I^Iif (res > 0)$ ERROR: braces {} are necessary for all arms of this statement #2777: FILE: tools/virtiofsd/fuse_lowlevel.c:2755: + if (res > 0) [...] ERROR: code indent should never use tabs #2778: FILE: tools/virtiofsd/fuse_lowlevel.c:2756: +^I^I^I^I^Illp->size = res;$ ERROR: code indent should never use tabs #2779: FILE: tools/virtiofsd/fuse_lowlevel.c:2757: +^I^I^I^Igoto fallback;$ ERROR: code indent should never use tabs #2780: FILE: tools/virtiofsd/fuse_lowlevel.c:2758: +^I^I^I}$ ERROR: code indent should never use tabs #2781: FILE: tools/virtiofsd/fuse_lowlevel.c:2759: +^I^I^Illp->size = res;$ ERROR: code indent should never use tabs #2782: FILE: tools/virtiofsd/fuse_lowlevel.c:2760: +^I^I}$ ERROR: code indent should never use tabs #2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761: +^I^Iif (llp->size < bufsize)$ ERROR: braces {} are necessary for all arms of this statement #2783: FILE: tools/virtiofsd/fuse_lowlevel.c:2761: + if (llp->size < bufsize) [...] ERROR: code indent should never use tabs #2784: FILE: tools/virtiofsd/fuse_lowlevel.c:2762: +^I^I^Igoto fallback;$ ERROR: code indent should never use tabs #2785: FILE: tools/virtiofsd/fuse_lowlevel.c:2763: +^I}$ ERROR: code indent should never use tabs #2787: FILE: tools/virtiofsd/fuse_lowlevel.c:2765: +^Ires = splice(ch ? ch->fd : se->fd,$ ERROR: code indent should never use tabs #2788: FILE: tools/virtiofsd/fuse_lowlevel.c:2766: +^I^I NULL, llp->pipe[1], NULL, bufsize, 0);$ ERROR: code indent should never use tabs #2789: FILE: tools/virtiofsd/fuse_lowlevel.c:2767: +^Ierr = errno;$ ERROR: code indent should never use tabs #2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769: +^Iif (fuse_session_exited(se))$ ERROR: braces {} are necessary for all arms of this statement #2791: FILE: tools/virtiofsd/fuse_lowlevel.c:2769: + if (fuse_session_exited(se)) [...] ERROR: code indent should never use tabs #2792: FILE: tools/virtiofsd/fuse_lowlevel.c:2770: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #2794: FILE: tools/virtiofsd/fuse_lowlevel.c:2772: +^Iif (res == -1) {$ ERROR: code indent should never use tabs #2795: FILE: tools/virtiofsd/fuse_lowlevel.c:2773: +^I^Iif (err == ENODEV) {$ ERROR: code indent should never use tabs #2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774: +^I^I^I/* Filesystem was unmounted, or connection was aborted$ WARNING: Block comments use a leading /* on a separate line #2796: FILE: tools/virtiofsd/fuse_lowlevel.c:2774: + /* Filesystem was unmounted, or connection was aborted ERROR: code indent should never use tabs #2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775: +^I^I^I via /sys/fs/fuse/connections */$ WARNING: Block comments use * on subsequent lines #2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775: + /* Filesystem was unmounted, or connection was aborted + via /sys/fs/fuse/connections */ WARNING: Block comments use a trailing */ on a separate line #2797: FILE: tools/virtiofsd/fuse_lowlevel.c:2775: + via /sys/fs/fuse/connections */ ERROR: code indent should never use tabs #2798: FILE: tools/virtiofsd/fuse_lowlevel.c:2776: +^I^I^Ifuse_session_exit(se);$ ERROR: code indent should never use tabs #2799: FILE: tools/virtiofsd/fuse_lowlevel.c:2777: +^I^I^Ireturn 0;$ ERROR: code indent should never use tabs #2800: FILE: tools/virtiofsd/fuse_lowlevel.c:2778: +^I^I}$ ERROR: code indent should never use tabs #2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779: +^I^Iif (err != EINTR && err != EAGAIN)$ ERROR: braces {} are necessary for all arms of this statement #2801: FILE: tools/virtiofsd/fuse_lowlevel.c:2779: + if (err != EINTR && err != EAGAIN) [...] ERROR: code indent should never use tabs #2802: FILE: tools/virtiofsd/fuse_lowlevel.c:2780: +^I^I^Iperror("fuse: splice from device");$ ERROR: code indent should never use tabs #2803: FILE: tools/virtiofsd/fuse_lowlevel.c:2781: +^I^Ireturn -err;$ ERROR: code indent should never use tabs #2804: FILE: tools/virtiofsd/fuse_lowlevel.c:2782: +^I}$ ERROR: code indent should never use tabs #2806: FILE: tools/virtiofsd/fuse_lowlevel.c:2784: +^Iif (res < sizeof(struct fuse_in_header)) {$ ERROR: code indent should never use tabs #2807: FILE: tools/virtiofsd/fuse_lowlevel.c:2785: +^I^Ifuse_log(FUSE_LOG_ERR, "short splice from fuse device\n");$ ERROR: code indent should never use tabs #2808: FILE: tools/virtiofsd/fuse_lowlevel.c:2786: +^I^Ireturn -EIO;$ ERROR: code indent should never use tabs #2809: FILE: tools/virtiofsd/fuse_lowlevel.c:2787: +^I}$ ERROR: code indent should never use tabs #2811: FILE: tools/virtiofsd/fuse_lowlevel.c:2789: +^Itmpbuf = (struct fuse_buf) {$ ERROR: code indent should never use tabs #2812: FILE: tools/virtiofsd/fuse_lowlevel.c:2790: +^I^I.size = res,$ ERROR: code indent should never use tabs #2813: FILE: tools/virtiofsd/fuse_lowlevel.c:2791: +^I^I.flags = FUSE_BUF_IS_FD,$ ERROR: code indent should never use tabs #2814: FILE: tools/virtiofsd/fuse_lowlevel.c:2792: +^I^I.fd = llp->pipe[0],$ ERROR: code indent should never use tabs #2815: FILE: tools/virtiofsd/fuse_lowlevel.c:2793: +^I};$ ERROR: code indent should never use tabs #2817: FILE: tools/virtiofsd/fuse_lowlevel.c:2795: +^I/*$ ERROR: code indent should never use tabs #2818: FILE: tools/virtiofsd/fuse_lowlevel.c:2796: +^I * Don't bother with zero copy for small requests.$ ERROR: code indent should never use tabs #2819: FILE: tools/virtiofsd/fuse_lowlevel.c:2797: +^I * fuse_loop_mt() needs to check for FORGET so this more than$ ERROR: code indent should never use tabs #2820: FILE: tools/virtiofsd/fuse_lowlevel.c:2798: +^I * just an optimization.$ ERROR: code indent should never use tabs #2821: FILE: tools/virtiofsd/fuse_lowlevel.c:2799: +^I */$ ERROR: code indent should never use tabs #2822: FILE: tools/virtiofsd/fuse_lowlevel.c:2800: +^Iif (res < sizeof(struct fuse_in_header) +$ ERROR: code indent should never use tabs #2823: FILE: tools/virtiofsd/fuse_lowlevel.c:2801: +^I sizeof(struct fuse_write_in) + pagesize) {$ ERROR: code indent should never use tabs #2824: FILE: tools/virtiofsd/fuse_lowlevel.c:2802: +^I^Istruct fuse_bufvec src = { .buf[0] = tmpbuf, .count = 1 };$ ERROR: code indent should never use tabs #2825: FILE: tools/virtiofsd/fuse_lowlevel.c:2803: +^I^Istruct fuse_bufvec dst = { .count = 1 };$ ERROR: code indent should never use tabs #2827: FILE: tools/virtiofsd/fuse_lowlevel.c:2805: +^I^Iif (!buf->mem) {$ ERROR: code indent should never use tabs #2828: FILE: tools/virtiofsd/fuse_lowlevel.c:2806: +^I^I^Ibuf->mem = malloc(se->bufsize);$ ERROR: code indent should never use tabs #2829: FILE: tools/virtiofsd/fuse_lowlevel.c:2807: +^I^I^Iif (!buf->mem) {$ ERROR: code indent should never use tabs #2830: FILE: tools/virtiofsd/fuse_lowlevel.c:2808: +^I^I^I^Ifuse_log(FUSE_LOG_ERR,$ ERROR: code indent should never use tabs #2831: FILE: tools/virtiofsd/fuse_lowlevel.c:2809: +^I^I^I^I^I"fuse: failed to allocate read buffer\n");$ ERROR: code indent should never use tabs #2832: FILE: tools/virtiofsd/fuse_lowlevel.c:2810: +^I^I^I^Ireturn -ENOMEM;$ ERROR: code indent should never use tabs #2833: FILE: tools/virtiofsd/fuse_lowlevel.c:2811: +^I^I^I}$ ERROR: code indent should never use tabs #2834: FILE: tools/virtiofsd/fuse_lowlevel.c:2812: +^I^I}$ ERROR: code indent should never use tabs #2835: FILE: tools/virtiofsd/fuse_lowlevel.c:2813: +^I^Ibuf->size = se->bufsize;$ ERROR: code indent should never use tabs #2836: FILE: tools/virtiofsd/fuse_lowlevel.c:2814: +^I^Ibuf->flags = 0;$ ERROR: code indent should never use tabs #2837: FILE: tools/virtiofsd/fuse_lowlevel.c:2815: +^I^Idst.buf[0] = *buf;$ ERROR: code indent should never use tabs #2839: FILE: tools/virtiofsd/fuse_lowlevel.c:2817: +^I^Ires = fuse_buf_copy(&dst, &src, 0);$ ERROR: code indent should never use tabs #2840: FILE: tools/virtiofsd/fuse_lowlevel.c:2818: +^I^Iif (res < 0) {$ ERROR: code indent should never use tabs #2841: FILE: tools/virtiofsd/fuse_lowlevel.c:2819: +^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n",$ ERROR: code indent should never use tabs #2842: FILE: tools/virtiofsd/fuse_lowlevel.c:2820: +^I^I^I^Istrerror(-res));$ ERROR: code indent should never use tabs #2843: FILE: tools/virtiofsd/fuse_lowlevel.c:2821: +^I^I^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #2844: FILE: tools/virtiofsd/fuse_lowlevel.c:2822: +^I^I^Ireturn res;$ ERROR: code indent should never use tabs #2845: FILE: tools/virtiofsd/fuse_lowlevel.c:2823: +^I^I}$ ERROR: code indent should never use tabs #2846: FILE: tools/virtiofsd/fuse_lowlevel.c:2824: +^I^Iif (res < tmpbuf.size) {$ WARNING: line over 80 characters #2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825: + fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n"); ERROR: code indent should never use tabs #2847: FILE: tools/virtiofsd/fuse_lowlevel.c:2825: +^I^I^Ifuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: short read\n");$ ERROR: code indent should never use tabs #2848: FILE: tools/virtiofsd/fuse_lowlevel.c:2826: +^I^I^Ifuse_ll_clear_pipe(se);$ ERROR: code indent should never use tabs #2849: FILE: tools/virtiofsd/fuse_lowlevel.c:2827: +^I^I^Ireturn -EIO;$ ERROR: code indent should never use tabs #2850: FILE: tools/virtiofsd/fuse_lowlevel.c:2828: +^I^I}$ ERROR: code indent should never use tabs #2851: FILE: tools/virtiofsd/fuse_lowlevel.c:2829: +^I^Iassert(res == tmpbuf.size);$ ERROR: code indent should never use tabs #2853: FILE: tools/virtiofsd/fuse_lowlevel.c:2831: +^I} else {$ ERROR: code indent should never use tabs #2854: FILE: tools/virtiofsd/fuse_lowlevel.c:2832: +^I^I/* Don't overwrite buf->mem, as that would cause a leak */$ ERROR: code indent should never use tabs #2855: FILE: tools/virtiofsd/fuse_lowlevel.c:2833: +^I^Ibuf->fd = tmpbuf.fd;$ ERROR: code indent should never use tabs #2856: FILE: tools/virtiofsd/fuse_lowlevel.c:2834: +^I^Ibuf->flags = tmpbuf.flags;$ ERROR: code indent should never use tabs #2857: FILE: tools/virtiofsd/fuse_lowlevel.c:2835: +^I}$ ERROR: code indent should never use tabs #2858: FILE: tools/virtiofsd/fuse_lowlevel.c:2836: +^Ibuf->size = tmpbuf.size;$ ERROR: code indent should never use tabs #2860: FILE: tools/virtiofsd/fuse_lowlevel.c:2838: +^Ireturn res;$ ERROR: code indent should never use tabs #2864: FILE: tools/virtiofsd/fuse_lowlevel.c:2842: +^Iif (!buf->mem) {$ ERROR: code indent should never use tabs #2865: FILE: tools/virtiofsd/fuse_lowlevel.c:2843: +^I^Ibuf->mem = malloc(se->bufsize);$ ERROR: code indent should never use tabs #2866: FILE: tools/virtiofsd/fuse_lowlevel.c:2844: +^I^Iif (!buf->mem) {$ ERROR: code indent should never use tabs #2867: FILE: tools/virtiofsd/fuse_lowlevel.c:2845: +^I^I^Ifuse_log(FUSE_LOG_ERR,$ ERROR: code indent should never use tabs #2868: FILE: tools/virtiofsd/fuse_lowlevel.c:2846: +^I^I^I^I"fuse: failed to allocate read buffer\n");$ ERROR: code indent should never use tabs #2869: FILE: tools/virtiofsd/fuse_lowlevel.c:2847: +^I^I^Ireturn -ENOMEM;$ ERROR: code indent should never use tabs #2870: FILE: tools/virtiofsd/fuse_lowlevel.c:2848: +^I^I}$ ERROR: code indent should never use tabs #2871: FILE: tools/virtiofsd/fuse_lowlevel.c:2849: +^I}$ ERROR: code indent should never use tabs #2874: FILE: tools/virtiofsd/fuse_lowlevel.c:2852: +^Ires = read(ch ? ch->fd : se->fd, buf->mem, se->bufsize);$ ERROR: code indent should never use tabs #2875: FILE: tools/virtiofsd/fuse_lowlevel.c:2853: +^Ierr = errno;$ ERROR: code indent should never use tabs #2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855: +^Iif (fuse_session_exited(se))$ ERROR: braces {} are necessary for all arms of this statement #2877: FILE: tools/virtiofsd/fuse_lowlevel.c:2855: + if (fuse_session_exited(se)) [...] ERROR: code indent should never use tabs #2878: FILE: tools/virtiofsd/fuse_lowlevel.c:2856: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #2879: FILE: tools/virtiofsd/fuse_lowlevel.c:2857: +^Iif (res == -1) {$ ERROR: code indent should never use tabs #2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858: +^I^I/* ENOENT means the operation was interrupted, it's safe$ WARNING: Block comments use a leading /* on a separate line #2880: FILE: tools/virtiofsd/fuse_lowlevel.c:2858: + /* ENOENT means the operation was interrupted, it's safe ERROR: code indent should never use tabs #2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859: +^I^I to restart */$ WARNING: Block comments use * on subsequent lines #2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859: + /* ENOENT means the operation was interrupted, it's safe + to restart */ WARNING: Block comments use a trailing */ on a separate line #2881: FILE: tools/virtiofsd/fuse_lowlevel.c:2859: + to restart */ ERROR: code indent should never use tabs #2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860: +^I^Iif (err == ENOENT)$ ERROR: braces {} are necessary for all arms of this statement #2882: FILE: tools/virtiofsd/fuse_lowlevel.c:2860: + if (err == ENOENT) [...] ERROR: code indent should never use tabs #2883: FILE: tools/virtiofsd/fuse_lowlevel.c:2861: +^I^I^Igoto restart;$ ERROR: code indent should never use tabs #2885: FILE: tools/virtiofsd/fuse_lowlevel.c:2863: +^I^Iif (err == ENODEV) {$ ERROR: code indent should never use tabs #2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864: +^I^I^I/* Filesystem was unmounted, or connection was aborted$ WARNING: Block comments use a leading /* on a separate line #2886: FILE: tools/virtiofsd/fuse_lowlevel.c:2864: + /* Filesystem was unmounted, or connection was aborted ERROR: code indent should never use tabs #2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865: +^I^I^I via /sys/fs/fuse/connections */$ WARNING: Block comments use * on subsequent lines #2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865: + /* Filesystem was unmounted, or connection was aborted + via /sys/fs/fuse/connections */ WARNING: Block comments use a trailing */ on a separate line #2887: FILE: tools/virtiofsd/fuse_lowlevel.c:2865: + via /sys/fs/fuse/connections */ ERROR: code indent should never use tabs #2888: FILE: tools/virtiofsd/fuse_lowlevel.c:2866: +^I^I^Ifuse_session_exit(se);$ ERROR: code indent should never use tabs #2889: FILE: tools/virtiofsd/fuse_lowlevel.c:2867: +^I^I^Ireturn 0;$ ERROR: code indent should never use tabs #2890: FILE: tools/virtiofsd/fuse_lowlevel.c:2868: +^I^I}$ ERROR: code indent should never use tabs #2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869: +^I^I/* Errors occurring during normal operation: EINTR (read$ WARNING: Block comments use a leading /* on a separate line #2891: FILE: tools/virtiofsd/fuse_lowlevel.c:2869: + /* Errors occurring during normal operation: EINTR (read ERROR: code indent should never use tabs #2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870: +^I^I interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem$ WARNING: Block comments use * on subsequent lines #2892: FILE: tools/virtiofsd/fuse_lowlevel.c:2870: + /* Errors occurring during normal operation: EINTR (read + interrupted), EAGAIN (nonblocking I/O), ENODEV (filesystem ERROR: code indent should never use tabs #2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871: +^I^I umounted) */$ WARNING: Block comments use a trailing */ on a separate line #2893: FILE: tools/virtiofsd/fuse_lowlevel.c:2871: + umounted) */ ERROR: code indent should never use tabs #2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872: +^I^Iif (err != EINTR && err != EAGAIN)$ ERROR: braces {} are necessary for all arms of this statement #2894: FILE: tools/virtiofsd/fuse_lowlevel.c:2872: + if (err != EINTR && err != EAGAIN) [...] ERROR: code indent should never use tabs #2895: FILE: tools/virtiofsd/fuse_lowlevel.c:2873: +^I^I^Iperror("fuse: reading device");$ ERROR: code indent should never use tabs #2896: FILE: tools/virtiofsd/fuse_lowlevel.c:2874: +^I^Ireturn -err;$ ERROR: code indent should never use tabs #2897: FILE: tools/virtiofsd/fuse_lowlevel.c:2875: +^I}$ ERROR: code indent should never use tabs #2898: FILE: tools/virtiofsd/fuse_lowlevel.c:2876: +^Iif ((size_t) res < sizeof(struct fuse_in_header)) {$ ERROR: code indent should never use tabs #2899: FILE: tools/virtiofsd/fuse_lowlevel.c:2877: +^I^Ifuse_log(FUSE_LOG_ERR, "short read on fuse device\n");$ ERROR: code indent should never use tabs #2900: FILE: tools/virtiofsd/fuse_lowlevel.c:2878: +^I^Ireturn -EIO;$ ERROR: code indent should never use tabs #2901: FILE: tools/virtiofsd/fuse_lowlevel.c:2879: +^I}$ ERROR: code indent should never use tabs #2903: FILE: tools/virtiofsd/fuse_lowlevel.c:2881: +^Ibuf->size = res;$ ERROR: code indent should never use tabs #2905: FILE: tools/virtiofsd/fuse_lowlevel.c:2883: +^Ireturn res;$ ERROR: code indent should never use tabs #2909: FILE: tools/virtiofsd/fuse_lowlevel.c:2887: +^I^I^I^I const struct fuse_lowlevel_ops *op,$ ERROR: code indent should never use tabs #2910: FILE: tools/virtiofsd/fuse_lowlevel.c:2888: +^I^I^I^I size_t op_size, void *userdata)$ ERROR: code indent should never use tabs #2912: FILE: tools/virtiofsd/fuse_lowlevel.c:2890: +^Iint err;$ ERROR: code indent should never use tabs #2913: FILE: tools/virtiofsd/fuse_lowlevel.c:2891: +^Istruct fuse_session *se;$ ERROR: code indent should never use tabs #2914: FILE: tools/virtiofsd/fuse_lowlevel.c:2892: +^Istruct mount_opts *mo;$ ERROR: code indent should never use tabs #2916: FILE: tools/virtiofsd/fuse_lowlevel.c:2894: +^Iif (sizeof(struct fuse_lowlevel_ops) < op_size) {$ ERROR: line over 90 characters #2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895: + fuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some operations may not work\n"); ERROR: code indent should never use tabs #2917: FILE: tools/virtiofsd/fuse_lowlevel.c:2895: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: library too old, some operations may not work\n");$ ERROR: code indent should never use tabs #2918: FILE: tools/virtiofsd/fuse_lowlevel.c:2896: +^I^Iop_size = sizeof(struct fuse_lowlevel_ops);$ ERROR: code indent should never use tabs #2919: FILE: tools/virtiofsd/fuse_lowlevel.c:2897: +^I}$ ERROR: code indent should never use tabs #2921: FILE: tools/virtiofsd/fuse_lowlevel.c:2899: +^Iif (args->argc == 0) {$ ERROR: line over 90 characters #2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900: + fuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to fuse_session_new().\n"); ERROR: code indent should never use tabs #2922: FILE: tools/virtiofsd/fuse_lowlevel.c:2900: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: empty argv passed to fuse_session_new().\n");$ ERROR: code indent should never use tabs #2923: FILE: tools/virtiofsd/fuse_lowlevel.c:2901: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #2924: FILE: tools/virtiofsd/fuse_lowlevel.c:2902: +^I}$ ERROR: code indent should never use tabs #2926: FILE: tools/virtiofsd/fuse_lowlevel.c:2904: +^Ise = (struct fuse_session *) calloc(1, sizeof(struct fuse_session));$ ERROR: code indent should never use tabs #2927: FILE: tools/virtiofsd/fuse_lowlevel.c:2905: +^Iif (se == NULL) {$ WARNING: line over 80 characters #2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906: + fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n"); ERROR: code indent should never use tabs #2928: FILE: tools/virtiofsd/fuse_lowlevel.c:2906: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n");$ ERROR: code indent should never use tabs #2929: FILE: tools/virtiofsd/fuse_lowlevel.c:2907: +^I^Igoto out1;$ ERROR: code indent should never use tabs #2930: FILE: tools/virtiofsd/fuse_lowlevel.c:2908: +^I}$ ERROR: code indent should never use tabs #2931: FILE: tools/virtiofsd/fuse_lowlevel.c:2909: +^Ise->fd = -1;$ ERROR: code indent should never use tabs #2932: FILE: tools/virtiofsd/fuse_lowlevel.c:2910: +^Ise->conn.max_write = UINT_MAX;$ ERROR: code indent should never use tabs #2933: FILE: tools/virtiofsd/fuse_lowlevel.c:2911: +^Ise->conn.max_readahead = UINT_MAX;$ ERROR: code indent should never use tabs #2935: FILE: tools/virtiofsd/fuse_lowlevel.c:2913: +^I/* Parse options */$ ERROR: code indent should never use tabs #2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914: +^Iif(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)$ ERROR: space required before the open parenthesis '(' #2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914: + if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1) ERROR: braces {} are necessary for all arms of this statement #2936: FILE: tools/virtiofsd/fuse_lowlevel.c:2914: + if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1) [...] ERROR: code indent should never use tabs #2937: FILE: tools/virtiofsd/fuse_lowlevel.c:2915: +^I^Igoto out2;$ ERROR: code indent should never use tabs #2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916: +^Iif(se->deny_others) {$ ERROR: space required before the open parenthesis '(' #2938: FILE: tools/virtiofsd/fuse_lowlevel.c:2916: + if(se->deny_others) { ERROR: code indent should never use tabs #2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917: +^I^I/* Allowing access only by root is done by instructing$ WARNING: Block comments use a leading /* on a separate line #2939: FILE: tools/virtiofsd/fuse_lowlevel.c:2917: + /* Allowing access only by root is done by instructing ERROR: code indent should never use tabs #2940: FILE: tools/virtiofsd/fuse_lowlevel.c:2918: +^I^I * kernel to allow access by everyone, and then restricting$ ERROR: code indent should never use tabs #2941: FILE: tools/virtiofsd/fuse_lowlevel.c:2919: +^I^I * access to root and mountpoint owner in libfuse.$ ERROR: code indent should never use tabs #2942: FILE: tools/virtiofsd/fuse_lowlevel.c:2920: +^I^I */$ ERROR: code indent should never use tabs #2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921: +^I^I// We may be adding the option a second time, but$ ERROR: do not use C99 // comments #2943: FILE: tools/virtiofsd/fuse_lowlevel.c:2921: + // We may be adding the option a second time, but ERROR: code indent should never use tabs #2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922: +^I^I// that doesn't hurt.$ ERROR: do not use C99 // comments #2944: FILE: tools/virtiofsd/fuse_lowlevel.c:2922: + // that doesn't hurt. ERROR: code indent should never use tabs #2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923: +^I^Iif(fuse_opt_add_arg(args, "-oallow_other") == -1)$ ERROR: space required before the open parenthesis '(' #2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923: + if(fuse_opt_add_arg(args, "-oallow_other") == -1) ERROR: braces {} are necessary for all arms of this statement #2945: FILE: tools/virtiofsd/fuse_lowlevel.c:2923: + if(fuse_opt_add_arg(args, "-oallow_other") == -1) [...] ERROR: code indent should never use tabs #2946: FILE: tools/virtiofsd/fuse_lowlevel.c:2924: +^I^I^Igoto out2;$ ERROR: code indent should never use tabs #2947: FILE: tools/virtiofsd/fuse_lowlevel.c:2925: +^I}$ ERROR: code indent should never use tabs #2948: FILE: tools/virtiofsd/fuse_lowlevel.c:2926: +^Imo = parse_mount_opts(args);$ ERROR: code indent should never use tabs #2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927: +^Iif (mo == NULL)$ ERROR: braces {} are necessary for all arms of this statement #2949: FILE: tools/virtiofsd/fuse_lowlevel.c:2927: + if (mo == NULL) [...] ERROR: code indent should never use tabs #2950: FILE: tools/virtiofsd/fuse_lowlevel.c:2928: +^I^Igoto out3;$ ERROR: code indent should never use tabs #2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930: +^Iif(args->argc == 1 &&$ ERROR: space required before the open parenthesis '(' #2952: FILE: tools/virtiofsd/fuse_lowlevel.c:2930: + if(args->argc == 1 && ERROR: code indent should never use tabs #2953: FILE: tools/virtiofsd/fuse_lowlevel.c:2931: +^I args->argv[0][0] == '-') {$ WARNING: line over 80 characters #2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932: + fuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an option, but " ERROR: code indent should never use tabs #2954: FILE: tools/virtiofsd/fuse_lowlevel.c:2932: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: warning: argv[0] looks like an option, but "$ ERROR: code indent should never use tabs #2955: FILE: tools/virtiofsd/fuse_lowlevel.c:2933: +^I^I^I"will be ignored\n");$ ERROR: code indent should never use tabs #2956: FILE: tools/virtiofsd/fuse_lowlevel.c:2934: +^I} else if (args->argc != 1) {$ ERROR: code indent should never use tabs #2957: FILE: tools/virtiofsd/fuse_lowlevel.c:2935: +^I^Iint i;$ ERROR: code indent should never use tabs #2958: FILE: tools/virtiofsd/fuse_lowlevel.c:2936: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: unknown option(s): `");$ ERROR: code indent should never use tabs #2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937: +^I^Ifor(i = 1; i < args->argc-1; i++)$ ERROR: spaces required around that '-' (ctx:VxV) #2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937: + for(i = 1; i < args->argc-1; i++) ^ ERROR: space required before the open parenthesis '(' #2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937: + for(i = 1; i < args->argc-1; i++) ERROR: braces {} are necessary for all arms of this statement #2959: FILE: tools/virtiofsd/fuse_lowlevel.c:2937: + for(i = 1; i < args->argc-1; i++) [...] ERROR: code indent should never use tabs #2960: FILE: tools/virtiofsd/fuse_lowlevel.c:2938: +^I^I^Ifuse_log(FUSE_LOG_ERR, "%s ", args->argv[i]);$ ERROR: code indent should never use tabs #2961: FILE: tools/virtiofsd/fuse_lowlevel.c:2939: +^I^Ifuse_log(FUSE_LOG_ERR, "%s'\n", args->argv[i]);$ ERROR: code indent should never use tabs #2962: FILE: tools/virtiofsd/fuse_lowlevel.c:2940: +^I^Igoto out4;$ ERROR: code indent should never use tabs #2963: FILE: tools/virtiofsd/fuse_lowlevel.c:2941: +^I}$ ERROR: code indent should never use tabs #2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943: +^Iif (se->debug)$ ERROR: braces {} are necessary for all arms of this statement #2965: FILE: tools/virtiofsd/fuse_lowlevel.c:2943: + if (se->debug) [...] WARNING: line over 80 characters #2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944: + fuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", PACKAGE_VERSION); ERROR: code indent should never use tabs #2966: FILE: tools/virtiofsd/fuse_lowlevel.c:2944: +^I^Ifuse_log(FUSE_LOG_DEBUG, "FUSE library version: %s\n", PACKAGE_VERSION);$ ERROR: code indent should never use tabs #2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946: +^Ise->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +$ ERROR: use qemu_real_host_page_size instead of getpagesize() #2968: FILE: tools/virtiofsd/fuse_lowlevel.c:2946: + se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() + ERROR: code indent should never use tabs #2969: FILE: tools/virtiofsd/fuse_lowlevel.c:2947: +^I^IFUSE_BUFFER_HEADER_SIZE;$ ERROR: code indent should never use tabs #2971: FILE: tools/virtiofsd/fuse_lowlevel.c:2949: +^Ilist_init_req(&se->list);$ ERROR: code indent should never use tabs #2972: FILE: tools/virtiofsd/fuse_lowlevel.c:2950: +^Ilist_init_req(&se->interrupts);$ ERROR: code indent should never use tabs #2973: FILE: tools/virtiofsd/fuse_lowlevel.c:2951: +^Ilist_init_nreq(&se->notify_list);$ ERROR: code indent should never use tabs #2974: FILE: tools/virtiofsd/fuse_lowlevel.c:2952: +^Ise->notify_ctr = 1;$ ERROR: code indent should never use tabs #2975: FILE: tools/virtiofsd/fuse_lowlevel.c:2953: +^Ifuse_mutex_init(&se->lock);$ ERROR: code indent should never use tabs #2977: FILE: tools/virtiofsd/fuse_lowlevel.c:2955: +^Ierr = pthread_key_create(&se->pipe_key, fuse_ll_pipe_destructor);$ ERROR: code indent should never use tabs #2978: FILE: tools/virtiofsd/fuse_lowlevel.c:2956: +^Iif (err) {$ WARNING: line over 80 characters #2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957: + fuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific key: %s\n", ERROR: code indent should never use tabs #2979: FILE: tools/virtiofsd/fuse_lowlevel.c:2957: +^I^Ifuse_log(FUSE_LOG_ERR, "fuse: failed to create thread specific key: %s\n",$ ERROR: code indent should never use tabs #2980: FILE: tools/virtiofsd/fuse_lowlevel.c:2958: +^I^I^Istrerror(err));$ ERROR: code indent should never use tabs #2981: FILE: tools/virtiofsd/fuse_lowlevel.c:2959: +^I^Igoto out5;$ ERROR: code indent should never use tabs #2982: FILE: tools/virtiofsd/fuse_lowlevel.c:2960: +^I}$ ERROR: code indent should never use tabs #2984: FILE: tools/virtiofsd/fuse_lowlevel.c:2962: +^Imemcpy(&se->op, op, op_size);$ ERROR: code indent should never use tabs #2985: FILE: tools/virtiofsd/fuse_lowlevel.c:2963: +^Ise->owner = getuid();$ ERROR: code indent should never use tabs #2986: FILE: tools/virtiofsd/fuse_lowlevel.c:2964: +^Ise->userdata = userdata;$ ERROR: code indent should never use tabs #2988: FILE: tools/virtiofsd/fuse_lowlevel.c:2966: +^Ise->mo = mo;$ ERROR: code indent should never use tabs #2989: FILE: tools/virtiofsd/fuse_lowlevel.c:2967: +^Ireturn se;$ ERROR: code indent should never use tabs #2992: FILE: tools/virtiofsd/fuse_lowlevel.c:2970: +^Ipthread_mutex_destroy(&se->lock);$ ERROR: code indent should never use tabs #2994: FILE: tools/virtiofsd/fuse_lowlevel.c:2972: +^Ifuse_opt_free_args(args);$ ERROR: code indent should never use tabs #2996: FILE: tools/virtiofsd/fuse_lowlevel.c:2974: +^Ifree(mo);$ ERROR: code indent should never use tabs #2998: FILE: tools/virtiofsd/fuse_lowlevel.c:2976: +^Ifree(se);$ ERROR: code indent should never use tabs #3000: FILE: tools/virtiofsd/fuse_lowlevel.c:2978: +^Ireturn NULL;$ ERROR: code indent should never use tabs #3005: FILE: tools/virtiofsd/fuse_lowlevel.c:2983: +^Iint fd;$ ERROR: code indent should never use tabs #3007: FILE: tools/virtiofsd/fuse_lowlevel.c:2985: +^I/*$ ERROR: code indent should never use tabs #3008: FILE: tools/virtiofsd/fuse_lowlevel.c:2986: +^I * Make sure file descriptors 0, 1 and 2 are open, otherwise chaos$ ERROR: code indent should never use tabs #3009: FILE: tools/virtiofsd/fuse_lowlevel.c:2987: +^I * would ensue.$ ERROR: code indent should never use tabs #3010: FILE: tools/virtiofsd/fuse_lowlevel.c:2988: +^I */$ ERROR: code indent should never use tabs #3011: FILE: tools/virtiofsd/fuse_lowlevel.c:2989: +^Ido {$ ERROR: code indent should never use tabs #3012: FILE: tools/virtiofsd/fuse_lowlevel.c:2990: +^I^Ifd = open("/dev/null", O_RDWR);$ ERROR: code indent should never use tabs #3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991: +^I^Iif (fd > 2)$ ERROR: braces {} are necessary for all arms of this statement #3013: FILE: tools/virtiofsd/fuse_lowlevel.c:2991: + if (fd > 2) [...] ERROR: code indent should never use tabs #3014: FILE: tools/virtiofsd/fuse_lowlevel.c:2992: +^I^I^Iclose(fd);$ ERROR: code indent should never use tabs #3015: FILE: tools/virtiofsd/fuse_lowlevel.c:2993: +^I} while (fd >= 0 && fd <= 2);$ ERROR: code indent should never use tabs #3017: FILE: tools/virtiofsd/fuse_lowlevel.c:2995: +^I/*$ ERROR: code indent should never use tabs #3018: FILE: tools/virtiofsd/fuse_lowlevel.c:2996: +^I * To allow FUSE daemons to run without privileges, the caller may open$ ERROR: code indent should never use tabs #3019: FILE: tools/virtiofsd/fuse_lowlevel.c:2997: +^I * /dev/fuse before launching the file system and pass on the file$ ERROR: code indent should never use tabs #3020: FILE: tools/virtiofsd/fuse_lowlevel.c:2998: +^I * descriptor by specifying /dev/fd/N as the mount point. Note that the$ ERROR: code indent should never use tabs #3021: FILE: tools/virtiofsd/fuse_lowlevel.c:2999: +^I * parent process takes care of performing the mount in this case.$ ERROR: code indent should never use tabs #3022: FILE: tools/virtiofsd/fuse_lowlevel.c:3000: +^I */$ ERROR: code indent should never use tabs #3023: FILE: tools/virtiofsd/fuse_lowlevel.c:3001: +^Ifd = fuse_mnt_parse_fuse_fd(mountpoint);$ ERROR: code indent should never use tabs #3024: FILE: tools/virtiofsd/fuse_lowlevel.c:3002: +^Iif (fd != -1) {$ ERROR: code indent should never use tabs #3025: FILE: tools/virtiofsd/fuse_lowlevel.c:3003: +^I^Iif (fcntl(fd, F_GETFD) == -1) {$ ERROR: code indent should never use tabs #3026: FILE: tools/virtiofsd/fuse_lowlevel.c:3004: +^I^I^Ifuse_log(FUSE_LOG_ERR,$ ERROR: code indent should never use tabs #3027: FILE: tools/virtiofsd/fuse_lowlevel.c:3005: +^I^I^I^I"fuse: Invalid file descriptor /dev/fd/%u\n",$ ERROR: code indent should never use tabs #3028: FILE: tools/virtiofsd/fuse_lowlevel.c:3006: +^I^I^I^Ifd);$ ERROR: code indent should never use tabs #3029: FILE: tools/virtiofsd/fuse_lowlevel.c:3007: +^I^I^Ireturn -1;$ ERROR: code indent should never use tabs #3030: FILE: tools/virtiofsd/fuse_lowlevel.c:3008: +^I^I}$ ERROR: code indent should never use tabs #3031: FILE: tools/virtiofsd/fuse_lowlevel.c:3009: +^I^Ise->fd = fd;$ ERROR: code indent should never use tabs #3032: FILE: tools/virtiofsd/fuse_lowlevel.c:3010: +^I^Ireturn 0;$ ERROR: code indent should never use tabs #3033: FILE: tools/virtiofsd/fuse_lowlevel.c:3011: +^I}$ ERROR: code indent should never use tabs #3035: FILE: tools/virtiofsd/fuse_lowlevel.c:3013: +^I/* Open channel */$ ERROR: code indent should never use tabs #3036: FILE: tools/virtiofsd/fuse_lowlevel.c:3014: +^Ifd = fuse_kern_mount(mountpoint, se->mo);$ ERROR: code indent should never use tabs #3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015: +^Iif (fd == -1)$ ERROR: braces {} are necessary for all arms of this statement #3037: FILE: tools/virtiofsd/fuse_lowlevel.c:3015: + if (fd == -1) [...] ERROR: code indent should never use tabs #3038: FILE: tools/virtiofsd/fuse_lowlevel.c:3016: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #3039: FILE: tools/virtiofsd/fuse_lowlevel.c:3017: +^Ise->fd = fd;$ ERROR: code indent should never use tabs #3041: FILE: tools/virtiofsd/fuse_lowlevel.c:3019: +^I/* Save mountpoint */$ ERROR: code indent should never use tabs #3042: FILE: tools/virtiofsd/fuse_lowlevel.c:3020: +^Ise->mountpoint = strdup(mountpoint);$ ERROR: code indent should never use tabs #3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021: +^Iif (se->mountpoint == NULL)$ ERROR: braces {} are necessary for all arms of this statement #3043: FILE: tools/virtiofsd/fuse_lowlevel.c:3021: + if (se->mountpoint == NULL) [...] ERROR: code indent should never use tabs #3044: FILE: tools/virtiofsd/fuse_lowlevel.c:3022: +^I^Igoto error_out;$ ERROR: code indent should never use tabs #3046: FILE: tools/virtiofsd/fuse_lowlevel.c:3024: +^Ireturn 0;$ ERROR: code indent should never use tabs #3049: FILE: tools/virtiofsd/fuse_lowlevel.c:3027: +^Ifuse_kern_unmount(mountpoint, fd);$ ERROR: code indent should never use tabs #3050: FILE: tools/virtiofsd/fuse_lowlevel.c:3028: +^Ireturn -1;$ ERROR: code indent should never use tabs #3055: FILE: tools/virtiofsd/fuse_lowlevel.c:3033: +^Ireturn se->fd;$ ERROR: code indent should never use tabs #3060: FILE: tools/virtiofsd/fuse_lowlevel.c:3038: +^Iif (se->mountpoint != NULL) {$ ERROR: code indent should never use tabs #3061: FILE: tools/virtiofsd/fuse_lowlevel.c:3039: +^I^Ifuse_kern_unmount(se->mountpoint, se->fd);$ ERROR: code indent should never use tabs #3062: FILE: tools/virtiofsd/fuse_lowlevel.c:3040: +^I^Ifree(se->mountpoint);$ ERROR: code indent should never use tabs #3063: FILE: tools/virtiofsd/fuse_lowlevel.c:3041: +^I^Ise->mountpoint = NULL;$ ERROR: code indent should never use tabs #3064: FILE: tools/virtiofsd/fuse_lowlevel.c:3042: +^I}$ ERROR: code indent should never use tabs #3070: FILE: tools/virtiofsd/fuse_lowlevel.c:3048: +^Ichar *buf;$ ERROR: code indent should never use tabs #3071: FILE: tools/virtiofsd/fuse_lowlevel.c:3049: +^Isize_t bufsize = 1024;$ ERROR: code indent should never use tabs #3072: FILE: tools/virtiofsd/fuse_lowlevel.c:3050: +^Ichar path[128];$ ERROR: code indent should never use tabs #3073: FILE: tools/virtiofsd/fuse_lowlevel.c:3051: +^Iint ret;$ ERROR: code indent should never use tabs #3074: FILE: tools/virtiofsd/fuse_lowlevel.c:3052: +^Iint fd;$ ERROR: code indent should never use tabs #3075: FILE: tools/virtiofsd/fuse_lowlevel.c:3053: +^Iunsigned long pid = req->ctx.pid;$ ERROR: code indent should never use tabs #3076: FILE: tools/virtiofsd/fuse_lowlevel.c:3054: +^Ichar *s;$ ERROR: code indent should never use tabs #3078: FILE: tools/virtiofsd/fuse_lowlevel.c:3056: +^Isprintf(path, "/proc/%lu/task/%lu/status", pid, pid);$ ERROR: code indent should never use tabs #3081: FILE: tools/virtiofsd/fuse_lowlevel.c:3059: +^Ibuf = malloc(bufsize);$ ERROR: code indent should never use tabs #3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060: +^Iif (buf == NULL)$ ERROR: braces {} are necessary for all arms of this statement #3082: FILE: tools/virtiofsd/fuse_lowlevel.c:3060: + if (buf == NULL) [...] ERROR: code indent should never use tabs #3083: FILE: tools/virtiofsd/fuse_lowlevel.c:3061: +^I^Ireturn -ENOMEM;$ ERROR: code indent should never use tabs #3085: FILE: tools/virtiofsd/fuse_lowlevel.c:3063: +^Iret = -EIO;$ ERROR: code indent should never use tabs #3086: FILE: tools/virtiofsd/fuse_lowlevel.c:3064: +^Ifd = open(path, O_RDONLY);$ ERROR: code indent should never use tabs #3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065: +^Iif (fd == -1)$ ERROR: braces {} are necessary for all arms of this statement #3087: FILE: tools/virtiofsd/fuse_lowlevel.c:3065: + if (fd == -1) [...] ERROR: code indent should never use tabs #3088: FILE: tools/virtiofsd/fuse_lowlevel.c:3066: +^I^Igoto out_free;$ ERROR: code indent should never use tabs #3090: FILE: tools/virtiofsd/fuse_lowlevel.c:3068: +^Iret = read(fd, buf, bufsize);$ ERROR: code indent should never use tabs #3091: FILE: tools/virtiofsd/fuse_lowlevel.c:3069: +^Iclose(fd);$ ERROR: code indent should never use tabs #3092: FILE: tools/virtiofsd/fuse_lowlevel.c:3070: +^Iif (ret < 0) {$ ERROR: code indent should never use tabs #3093: FILE: tools/virtiofsd/fuse_lowlevel.c:3071: +^I^Iret = -EIO;$ ERROR: code indent should never use tabs #3094: FILE: tools/virtiofsd/fuse_lowlevel.c:3072: +^I^Igoto out_free;$ ERROR: code indent should never use tabs #3095: FILE: tools/virtiofsd/fuse_lowlevel.c:3073: +^I}$ ERROR: code indent should never use tabs #3097: FILE: tools/virtiofsd/fuse_lowlevel.c:3075: +^Iif ((size_t)ret == bufsize) {$ ERROR: code indent should never use tabs #3098: FILE: tools/virtiofsd/fuse_lowlevel.c:3076: +^I^Ifree(buf);$ ERROR: code indent should never use tabs #3099: FILE: tools/virtiofsd/fuse_lowlevel.c:3077: +^I^Ibufsize *= 4;$ ERROR: code indent should never use tabs #3100: FILE: tools/virtiofsd/fuse_lowlevel.c:3078: +^I^Igoto retry;$ ERROR: code indent should never use tabs #3101: FILE: tools/virtiofsd/fuse_lowlevel.c:3079: +^I}$ ERROR: code indent should never use tabs #3103: FILE: tools/virtiofsd/fuse_lowlevel.c:3081: +^Iret = -EIO;$ ERROR: code indent should never use tabs #3104: FILE: tools/virtiofsd/fuse_lowlevel.c:3082: +^Is = strstr(buf, "\nGroups:");$ ERROR: code indent should never use tabs #3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083: +^Iif (s == NULL)$ ERROR: braces {} are necessary for all arms of this statement #3105: FILE: tools/virtiofsd/fuse_lowlevel.c:3083: + if (s == NULL) [...] ERROR: code indent should never use tabs #3106: FILE: tools/virtiofsd/fuse_lowlevel.c:3084: +^I^Igoto out_free;$ ERROR: code indent should never use tabs #3108: FILE: tools/virtiofsd/fuse_lowlevel.c:3086: +^Is += 8;$ ERROR: code indent should never use tabs #3109: FILE: tools/virtiofsd/fuse_lowlevel.c:3087: +^Iret = 0;$ ERROR: code indent should never use tabs #3110: FILE: tools/virtiofsd/fuse_lowlevel.c:3088: +^Iwhile (1) {$ ERROR: code indent should never use tabs #3111: FILE: tools/virtiofsd/fuse_lowlevel.c:3089: +^I^Ichar *end;$ ERROR: code indent should never use tabs #3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090: +^I^Iunsigned long val = strtoul(s, &end, 0);$ ERROR: consider using qemu_strtoul in preference to strtoul #3112: FILE: tools/virtiofsd/fuse_lowlevel.c:3090: + unsigned long val = strtoul(s, &end, 0); ERROR: code indent should never use tabs #3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091: +^I^Iif (end == s)$ ERROR: braces {} are necessary for all arms of this statement #3113: FILE: tools/virtiofsd/fuse_lowlevel.c:3091: + if (end == s) [...] ERROR: code indent should never use tabs #3114: FILE: tools/virtiofsd/fuse_lowlevel.c:3092: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #3116: FILE: tools/virtiofsd/fuse_lowlevel.c:3094: +^I^Is = end;$ ERROR: code indent should never use tabs #3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095: +^I^Iif (ret < size)$ ERROR: braces {} are necessary for all arms of this statement #3117: FILE: tools/virtiofsd/fuse_lowlevel.c:3095: + if (ret < size) [...] ERROR: code indent should never use tabs #3118: FILE: tools/virtiofsd/fuse_lowlevel.c:3096: +^I^I^Ilist[ret] = val;$ ERROR: code indent should never use tabs #3119: FILE: tools/virtiofsd/fuse_lowlevel.c:3097: +^I^Iret++;$ ERROR: code indent should never use tabs #3120: FILE: tools/virtiofsd/fuse_lowlevel.c:3098: +^I}$ ERROR: code indent should never use tabs #3123: FILE: tools/virtiofsd/fuse_lowlevel.c:3101: +^Ifree(buf);$ ERROR: code indent should never use tabs #3124: FILE: tools/virtiofsd/fuse_lowlevel.c:3102: +^Ireturn ret;$ ERROR: code indent should never use tabs #3132: FILE: tools/virtiofsd/fuse_lowlevel.c:3110: +^I(void) req; (void) size; (void) list;$ ERROR: code indent should never use tabs #3133: FILE: tools/virtiofsd/fuse_lowlevel.c:3111: +^Ireturn -ENOSYS;$ ERROR: code indent should never use tabs #3139: FILE: tools/virtiofsd/fuse_lowlevel.c:3117: +^Ise->exited = 1;$ ERROR: code indent should never use tabs #3144: FILE: tools/virtiofsd/fuse_lowlevel.c:3122: +^Ise->exited = 0;$ ERROR: code indent should never use tabs #3145: FILE: tools/virtiofsd/fuse_lowlevel.c:3123: +^Ise->error = 0;$ ERROR: code indent should never use tabs #3150: FILE: tools/virtiofsd/fuse_lowlevel.c:3128: +^Ireturn se->exited;$ total: 2338 errors, 57 warnings, 3129 lines checked Patch 4/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 5/108 Checking commit b0e96343f9cf (virtiofsd: Add passthrough_ll) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #23: new file mode 100644 WARNING: Block comments use * on subsequent lines #29: FILE: tools/virtiofsd/passthrough_ll.c:2: +/* + FUSE: Filesystem in Userspace WARNING: Block comments use a leading /* on a separate line #36: FILE: tools/virtiofsd/passthrough_ll.c:9: +/** @file WARNING: line over 80 characters #58: FILE: tools/virtiofsd/passthrough_ll.c:31: + * gcc -Wall passthrough_ll.c `pkg-config fuse3 --cflags --libs` -o passthrough_ll WARNING: Block comments use a leading /* on a separate line #87: FILE: tools/virtiofsd/passthrough_ll.c:60: +/* We are re-using pointers to our `struct lo_inode` and `struct WARNING: Block comments use * on subsequent lines #88: FILE: tools/virtiofsd/passthrough_ll.c:61: +/* We are re-using pointers to our `struct lo_inode` and `struct + lo_dirp` elements as inodes. This means that we must be able to WARNING: Block comments use a trailing */ on a separate line #90: FILE: tools/virtiofsd/passthrough_ll.c:63: + incantation checks this condition at compile time. */ ERROR: line over 90 characters #91: FILE: tools/virtiofsd/passthrough_ll.c:64: +#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus WARNING: architecture specific defines should be avoided #91: FILE: tools/virtiofsd/passthrough_ll.c:64: +#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus ERROR: code indent should never use tabs #93: FILE: tools/virtiofsd/passthrough_ll.c:66: +^I "fuse_ino_t too small to hold uintptr_t values!");$ ERROR: code indent should never use tabs #96: FILE: tools/virtiofsd/passthrough_ll.c:69: +^I{ unsigned _uintptr_to_must_hold_fuse_ino_t:$ ERROR: code indent should never use tabs #97: FILE: tools/virtiofsd/passthrough_ll.c:70: +^I^I^I((sizeof(fuse_ino_t) >= sizeof(uintptr_t)) ? 1 : -1); };$ ERROR: code indent should never use tabs #101: FILE: tools/virtiofsd/passthrough_ll.c:74: +^Istruct lo_inode *next; /* protected by lo->mutex */$ ERROR: code indent should never use tabs #102: FILE: tools/virtiofsd/passthrough_ll.c:75: +^Istruct lo_inode *prev; /* protected by lo->mutex */$ ERROR: code indent should never use tabs #103: FILE: tools/virtiofsd/passthrough_ll.c:76: +^Iint fd;$ ERROR: code indent should never use tabs #104: FILE: tools/virtiofsd/passthrough_ll.c:77: +^Ibool is_symlink;$ ERROR: code indent should never use tabs #105: FILE: tools/virtiofsd/passthrough_ll.c:78: +^Iino_t ino;$ ERROR: code indent should never use tabs #106: FILE: tools/virtiofsd/passthrough_ll.c:79: +^Idev_t dev;$ ERROR: code indent should never use tabs #107: FILE: tools/virtiofsd/passthrough_ll.c:80: +^Iuint64_t refcount; /* protected by lo->mutex */$ ERROR: code indent should never use tabs #111: FILE: tools/virtiofsd/passthrough_ll.c:84: +^ICACHE_NEVER,$ ERROR: code indent should never use tabs #112: FILE: tools/virtiofsd/passthrough_ll.c:85: +^ICACHE_NORMAL,$ ERROR: code indent should never use tabs #113: FILE: tools/virtiofsd/passthrough_ll.c:86: +^ICACHE_ALWAYS,$ ERROR: code indent should never use tabs #117: FILE: tools/virtiofsd/passthrough_ll.c:90: +^Ipthread_mutex_t mutex;$ ERROR: code indent should never use tabs #118: FILE: tools/virtiofsd/passthrough_ll.c:91: +^Iint debug;$ ERROR: code indent should never use tabs #119: FILE: tools/virtiofsd/passthrough_ll.c:92: +^Iint writeback;$ ERROR: code indent should never use tabs #120: FILE: tools/virtiofsd/passthrough_ll.c:93: +^Iint flock;$ ERROR: code indent should never use tabs #121: FILE: tools/virtiofsd/passthrough_ll.c:94: +^Iint xattr;$ ERROR: code indent should never use tabs #122: FILE: tools/virtiofsd/passthrough_ll.c:95: +^Iconst char *source;$ ERROR: code indent should never use tabs #123: FILE: tools/virtiofsd/passthrough_ll.c:96: +^Idouble timeout;$ ERROR: code indent should never use tabs #124: FILE: tools/virtiofsd/passthrough_ll.c:97: +^Iint cache;$ ERROR: code indent should never use tabs #125: FILE: tools/virtiofsd/passthrough_ll.c:98: +^Iint timeout_set;$ ERROR: code indent should never use tabs #126: FILE: tools/virtiofsd/passthrough_ll.c:99: +^Istruct lo_inode root; /* protected by lo->mutex */$ ERROR: code indent should never use tabs #130: FILE: tools/virtiofsd/passthrough_ll.c:103: +^I{ "writeback",$ ERROR: code indent should never use tabs #131: FILE: tools/virtiofsd/passthrough_ll.c:104: +^I offsetof(struct lo_data, writeback), 1 },$ ERROR: code indent should never use tabs #132: FILE: tools/virtiofsd/passthrough_ll.c:105: +^I{ "no_writeback",$ ERROR: code indent should never use tabs #133: FILE: tools/virtiofsd/passthrough_ll.c:106: +^I offsetof(struct lo_data, writeback), 0 },$ ERROR: code indent should never use tabs #134: FILE: tools/virtiofsd/passthrough_ll.c:107: +^I{ "source=%s",$ ERROR: code indent should never use tabs #135: FILE: tools/virtiofsd/passthrough_ll.c:108: +^I offsetof(struct lo_data, source), 0 },$ ERROR: code indent should never use tabs #136: FILE: tools/virtiofsd/passthrough_ll.c:109: +^I{ "flock",$ ERROR: code indent should never use tabs #137: FILE: tools/virtiofsd/passthrough_ll.c:110: +^I offsetof(struct lo_data, flock), 1 },$ ERROR: code indent should never use tabs #138: FILE: tools/virtiofsd/passthrough_ll.c:111: +^I{ "no_flock",$ ERROR: code indent should never use tabs #139: FILE: tools/virtiofsd/passthrough_ll.c:112: +^I offsetof(struct lo_data, flock), 0 },$ ERROR: code indent should never use tabs #140: FILE: tools/virtiofsd/passthrough_ll.c:113: +^I{ "xattr",$ ERROR: code indent should never use tabs #141: FILE: tools/virtiofsd/passthrough_ll.c:114: +^I offsetof(struct lo_data, xattr), 1 },$ ERROR: code indent should never use tabs #142: FILE: tools/virtiofsd/passthrough_ll.c:115: +^I{ "no_xattr",$ ERROR: code indent should never use tabs #143: FILE: tools/virtiofsd/passthrough_ll.c:116: +^I offsetof(struct lo_data, xattr), 0 },$ ERROR: code indent should never use tabs #144: FILE: tools/virtiofsd/passthrough_ll.c:117: +^I{ "timeout=%lf",$ ERROR: code indent should never use tabs #145: FILE: tools/virtiofsd/passthrough_ll.c:118: +^I offsetof(struct lo_data, timeout), 0 },$ ERROR: code indent should never use tabs #146: FILE: tools/virtiofsd/passthrough_ll.c:119: +^I{ "timeout=",$ ERROR: code indent should never use tabs #147: FILE: tools/virtiofsd/passthrough_ll.c:120: +^I offsetof(struct lo_data, timeout_set), 1 },$ ERROR: code indent should never use tabs #148: FILE: tools/virtiofsd/passthrough_ll.c:121: +^I{ "cache=never",$ ERROR: code indent should never use tabs #149: FILE: tools/virtiofsd/passthrough_ll.c:122: +^I offsetof(struct lo_data, cache), CACHE_NEVER },$ ERROR: code indent should never use tabs #150: FILE: tools/virtiofsd/passthrough_ll.c:123: +^I{ "cache=auto",$ ERROR: code indent should never use tabs #151: FILE: tools/virtiofsd/passthrough_ll.c:124: +^I offsetof(struct lo_data, cache), CACHE_NORMAL },$ ERROR: code indent should never use tabs #152: FILE: tools/virtiofsd/passthrough_ll.c:125: +^I{ "cache=always",$ ERROR: code indent should never use tabs #153: FILE: tools/virtiofsd/passthrough_ll.c:126: +^I offsetof(struct lo_data, cache), CACHE_ALWAYS },$ ERROR: code indent should never use tabs #155: FILE: tools/virtiofsd/passthrough_ll.c:128: +^IFUSE_OPT_END$ ERROR: code indent should never use tabs #160: FILE: tools/virtiofsd/passthrough_ll.c:133: +^Ireturn (struct lo_data *) fuse_req_userdata(req);$ ERROR: code indent should never use tabs #165: FILE: tools/virtiofsd/passthrough_ll.c:138: +^Iif (ino == FUSE_ROOT_ID)$ ERROR: braces {} are necessary for all arms of this statement #165: FILE: tools/virtiofsd/passthrough_ll.c:138: + if (ino == FUSE_ROOT_ID) [...] + else [...] ERROR: code indent should never use tabs #166: FILE: tools/virtiofsd/passthrough_ll.c:139: +^I^Ireturn &lo_data(req)->root;$ ERROR: code indent should never use tabs #167: FILE: tools/virtiofsd/passthrough_ll.c:140: +^Ielse$ ERROR: code indent should never use tabs #168: FILE: tools/virtiofsd/passthrough_ll.c:141: +^I^Ireturn (struct lo_inode *) (uintptr_t) ino;$ ERROR: code indent should never use tabs #173: FILE: tools/virtiofsd/passthrough_ll.c:146: +^Ireturn lo_inode(req, ino)->fd;$ ERROR: code indent should never use tabs #178: FILE: tools/virtiofsd/passthrough_ll.c:151: +^Ireturn lo_data(req)->debug != 0;$ ERROR: code indent should never use tabs #182: FILE: tools/virtiofsd/passthrough_ll.c:155: +^I^I struct fuse_conn_info *conn)$ ERROR: code indent should never use tabs #184: FILE: tools/virtiofsd/passthrough_ll.c:157: +^Istruct lo_data *lo = (struct lo_data*) userdata;$ ERROR: "(foo*)" should be "(foo *)" #184: FILE: tools/virtiofsd/passthrough_ll.c:157: + struct lo_data *lo = (struct lo_data*) userdata; ERROR: code indent should never use tabs #186: FILE: tools/virtiofsd/passthrough_ll.c:159: +^Iif(conn->capable & FUSE_CAP_EXPORT_SUPPORT)$ ERROR: space required before the open parenthesis '(' #186: FILE: tools/virtiofsd/passthrough_ll.c:159: + if(conn->capable & FUSE_CAP_EXPORT_SUPPORT) ERROR: braces {} are necessary for all arms of this statement #186: FILE: tools/virtiofsd/passthrough_ll.c:159: + if(conn->capable & FUSE_CAP_EXPORT_SUPPORT) [...] ERROR: code indent should never use tabs #187: FILE: tools/virtiofsd/passthrough_ll.c:160: +^I^Iconn->want |= FUSE_CAP_EXPORT_SUPPORT;$ ERROR: code indent should never use tabs #189: FILE: tools/virtiofsd/passthrough_ll.c:162: +^Iif (lo->writeback &&$ ERROR: code indent should never use tabs #190: FILE: tools/virtiofsd/passthrough_ll.c:163: +^I conn->capable & FUSE_CAP_WRITEBACK_CACHE) {$ ERROR: code indent should never use tabs #191: FILE: tools/virtiofsd/passthrough_ll.c:164: +^I^Iif (lo->debug)$ ERROR: braces {} are necessary for all arms of this statement #191: FILE: tools/virtiofsd/passthrough_ll.c:164: + if (lo->debug) [...] WARNING: line over 80 characters #192: FILE: tools/virtiofsd/passthrough_ll.c:165: + fuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n"); ERROR: code indent should never use tabs #192: FILE: tools/virtiofsd/passthrough_ll.c:165: +^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");$ ERROR: code indent should never use tabs #193: FILE: tools/virtiofsd/passthrough_ll.c:166: +^I^Iconn->want |= FUSE_CAP_WRITEBACK_CACHE;$ ERROR: code indent should never use tabs #194: FILE: tools/virtiofsd/passthrough_ll.c:167: +^I}$ ERROR: code indent should never use tabs #195: FILE: tools/virtiofsd/passthrough_ll.c:168: +^Iif (lo->flock && conn->capable & FUSE_CAP_FLOCK_LOCKS) {$ ERROR: code indent should never use tabs #196: FILE: tools/virtiofsd/passthrough_ll.c:169: +^I^Iif (lo->debug)$ ERROR: braces {} are necessary for all arms of this statement #196: FILE: tools/virtiofsd/passthrough_ll.c:169: + if (lo->debug) [...] WARNING: line over 80 characters #197: FILE: tools/virtiofsd/passthrough_ll.c:170: + fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n"); ERROR: code indent should never use tabs #197: FILE: tools/virtiofsd/passthrough_ll.c:170: +^I^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");$ ERROR: code indent should never use tabs #198: FILE: tools/virtiofsd/passthrough_ll.c:171: +^I^Iconn->want |= FUSE_CAP_FLOCK_LOCKS;$ ERROR: code indent should never use tabs #199: FILE: tools/virtiofsd/passthrough_ll.c:172: +^I}$ ERROR: code indent should never use tabs #203: FILE: tools/virtiofsd/passthrough_ll.c:176: +^I^I^I struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #205: FILE: tools/virtiofsd/passthrough_ll.c:178: +^Iint res;$ ERROR: code indent should never use tabs #206: FILE: tools/virtiofsd/passthrough_ll.c:179: +^Istruct stat buf;$ ERROR: code indent should never use tabs #207: FILE: tools/virtiofsd/passthrough_ll.c:180: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #209: FILE: tools/virtiofsd/passthrough_ll.c:182: +^I(void) fi;$ WARNING: line over 80 characters #211: FILE: tools/virtiofsd/passthrough_ll.c:184: + res = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW); ERROR: code indent should never use tabs #211: FILE: tools/virtiofsd/passthrough_ll.c:184: +^Ires = fstatat(lo_fd(req, ino), "", &buf, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$ ERROR: code indent should never use tabs #212: FILE: tools/virtiofsd/passthrough_ll.c:185: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #212: FILE: tools/virtiofsd/passthrough_ll.c:185: + if (res == -1) [...] ERROR: code indent should never use tabs #213: FILE: tools/virtiofsd/passthrough_ll.c:186: +^I^Ireturn (void) fuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #215: FILE: tools/virtiofsd/passthrough_ll.c:188: +^Ifuse_reply_attr(req, &buf, lo->timeout);$ ERROR: code indent should never use tabs #219: FILE: tools/virtiofsd/passthrough_ll.c:192: +^I^I^I^I const struct timespec *tv)$ ERROR: code indent should never use tabs #221: FILE: tools/virtiofsd/passthrough_ll.c:194: +^Iint res;$ ERROR: code indent should never use tabs #222: FILE: tools/virtiofsd/passthrough_ll.c:195: +^Ichar procname[64];$ ERROR: code indent should never use tabs #224: FILE: tools/virtiofsd/passthrough_ll.c:197: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #225: FILE: tools/virtiofsd/passthrough_ll.c:198: +^I^Ires = utimensat(inode->fd, "", tv,$ ERROR: code indent should never use tabs #226: FILE: tools/virtiofsd/passthrough_ll.c:199: +^I^I^I^IAT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$ ERROR: code indent should never use tabs #227: FILE: tools/virtiofsd/passthrough_ll.c:200: +^I^Iif (res == -1 && errno == EINVAL) {$ ERROR: code indent should never use tabs #228: FILE: tools/virtiofsd/passthrough_ll.c:201: +^I^I^I/* Sorry, no race free way to set times on symlink. */$ ERROR: code indent should never use tabs #229: FILE: tools/virtiofsd/passthrough_ll.c:202: +^I^I^Ierrno = EPERM;$ ERROR: code indent should never use tabs #230: FILE: tools/virtiofsd/passthrough_ll.c:203: +^I^I}$ ERROR: code indent should never use tabs #231: FILE: tools/virtiofsd/passthrough_ll.c:204: +^I^Ireturn res;$ ERROR: code indent should never use tabs #232: FILE: tools/virtiofsd/passthrough_ll.c:205: +^I}$ ERROR: code indent should never use tabs #233: FILE: tools/virtiofsd/passthrough_ll.c:206: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #235: FILE: tools/virtiofsd/passthrough_ll.c:208: +^Ireturn utimensat(AT_FDCWD, procname, tv, 0);$ ERROR: code indent should never use tabs #239: FILE: tools/virtiofsd/passthrough_ll.c:212: +^I^I int valid, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #241: FILE: tools/virtiofsd/passthrough_ll.c:214: +^Iint saverr;$ ERROR: code indent should never use tabs #242: FILE: tools/virtiofsd/passthrough_ll.c:215: +^Ichar procname[64];$ ERROR: code indent should never use tabs #243: FILE: tools/virtiofsd/passthrough_ll.c:216: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #244: FILE: tools/virtiofsd/passthrough_ll.c:217: +^Iint ifd = inode->fd;$ ERROR: code indent should never use tabs #245: FILE: tools/virtiofsd/passthrough_ll.c:218: +^Iint res;$ ERROR: code indent should never use tabs #247: FILE: tools/virtiofsd/passthrough_ll.c:220: +^Iif (valid & FUSE_SET_ATTR_MODE) {$ ERROR: code indent should never use tabs #248: FILE: tools/virtiofsd/passthrough_ll.c:221: +^I^Iif (fi) {$ ERROR: code indent should never use tabs #249: FILE: tools/virtiofsd/passthrough_ll.c:222: +^I^I^Ires = fchmod(fi->fh, attr->st_mode);$ ERROR: code indent should never use tabs #250: FILE: tools/virtiofsd/passthrough_ll.c:223: +^I^I} else {$ ERROR: code indent should never use tabs #251: FILE: tools/virtiofsd/passthrough_ll.c:224: +^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$ ERROR: code indent should never use tabs #252: FILE: tools/virtiofsd/passthrough_ll.c:225: +^I^I^Ires = chmod(procname, attr->st_mode);$ ERROR: code indent should never use tabs #253: FILE: tools/virtiofsd/passthrough_ll.c:226: +^I^I}$ ERROR: code indent should never use tabs #254: FILE: tools/virtiofsd/passthrough_ll.c:227: +^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #254: FILE: tools/virtiofsd/passthrough_ll.c:227: + if (res == -1) [...] ERROR: code indent should never use tabs #255: FILE: tools/virtiofsd/passthrough_ll.c:228: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #256: FILE: tools/virtiofsd/passthrough_ll.c:229: +^I}$ ERROR: code indent should never use tabs #257: FILE: tools/virtiofsd/passthrough_ll.c:230: +^Iif (valid & (FUSE_SET_ATTR_UID | FUSE_SET_ATTR_GID)) {$ ERROR: code indent should never use tabs #258: FILE: tools/virtiofsd/passthrough_ll.c:231: +^I^Iuid_t uid = (valid & FUSE_SET_ATTR_UID) ?$ ERROR: code indent should never use tabs #259: FILE: tools/virtiofsd/passthrough_ll.c:232: +^I^I^Iattr->st_uid : (uid_t) -1;$ ERROR: code indent should never use tabs #260: FILE: tools/virtiofsd/passthrough_ll.c:233: +^I^Igid_t gid = (valid & FUSE_SET_ATTR_GID) ?$ ERROR: code indent should never use tabs #261: FILE: tools/virtiofsd/passthrough_ll.c:234: +^I^I^Iattr->st_gid : (gid_t) -1;$ ERROR: code indent should never use tabs #263: FILE: tools/virtiofsd/passthrough_ll.c:236: +^I^Ires = fchownat(ifd, "", uid, gid,$ ERROR: code indent should never use tabs #264: FILE: tools/virtiofsd/passthrough_ll.c:237: +^I^I^I AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$ ERROR: code indent should never use tabs #265: FILE: tools/virtiofsd/passthrough_ll.c:238: +^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #265: FILE: tools/virtiofsd/passthrough_ll.c:238: + if (res == -1) [...] ERROR: code indent should never use tabs #266: FILE: tools/virtiofsd/passthrough_ll.c:239: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #267: FILE: tools/virtiofsd/passthrough_ll.c:240: +^I}$ ERROR: code indent should never use tabs #268: FILE: tools/virtiofsd/passthrough_ll.c:241: +^Iif (valid & FUSE_SET_ATTR_SIZE) {$ ERROR: code indent should never use tabs #269: FILE: tools/virtiofsd/passthrough_ll.c:242: +^I^Iif (fi) {$ ERROR: code indent should never use tabs #270: FILE: tools/virtiofsd/passthrough_ll.c:243: +^I^I^Ires = ftruncate(fi->fh, attr->st_size);$ ERROR: code indent should never use tabs #271: FILE: tools/virtiofsd/passthrough_ll.c:244: +^I^I} else {$ ERROR: code indent should never use tabs #272: FILE: tools/virtiofsd/passthrough_ll.c:245: +^I^I^Isprintf(procname, "/proc/self/fd/%i", ifd);$ ERROR: code indent should never use tabs #273: FILE: tools/virtiofsd/passthrough_ll.c:246: +^I^I^Ires = truncate(procname, attr->st_size);$ ERROR: code indent should never use tabs #274: FILE: tools/virtiofsd/passthrough_ll.c:247: +^I^I}$ ERROR: code indent should never use tabs #275: FILE: tools/virtiofsd/passthrough_ll.c:248: +^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #275: FILE: tools/virtiofsd/passthrough_ll.c:248: + if (res == -1) [...] ERROR: code indent should never use tabs #276: FILE: tools/virtiofsd/passthrough_ll.c:249: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #277: FILE: tools/virtiofsd/passthrough_ll.c:250: +^I}$ ERROR: code indent should never use tabs #278: FILE: tools/virtiofsd/passthrough_ll.c:251: +^Iif (valid & (FUSE_SET_ATTR_ATIME | FUSE_SET_ATTR_MTIME)) {$ ERROR: code indent should never use tabs #279: FILE: tools/virtiofsd/passthrough_ll.c:252: +^I^Istruct timespec tv[2];$ ERROR: code indent should never use tabs #281: FILE: tools/virtiofsd/passthrough_ll.c:254: +^I^Itv[0].tv_sec = 0;$ ERROR: code indent should never use tabs #282: FILE: tools/virtiofsd/passthrough_ll.c:255: +^I^Itv[1].tv_sec = 0;$ ERROR: code indent should never use tabs #283: FILE: tools/virtiofsd/passthrough_ll.c:256: +^I^Itv[0].tv_nsec = UTIME_OMIT;$ ERROR: code indent should never use tabs #284: FILE: tools/virtiofsd/passthrough_ll.c:257: +^I^Itv[1].tv_nsec = UTIME_OMIT;$ ERROR: code indent should never use tabs #286: FILE: tools/virtiofsd/passthrough_ll.c:259: +^I^Iif (valid & FUSE_SET_ATTR_ATIME_NOW)$ ERROR: braces {} are necessary for all arms of this statement #286: FILE: tools/virtiofsd/passthrough_ll.c:259: + if (valid & FUSE_SET_ATTR_ATIME_NOW) [...] + else if (valid & FUSE_SET_ATTR_ATIME) [...] ERROR: code indent should never use tabs #287: FILE: tools/virtiofsd/passthrough_ll.c:260: +^I^I^Itv[0].tv_nsec = UTIME_NOW;$ ERROR: code indent should never use tabs #288: FILE: tools/virtiofsd/passthrough_ll.c:261: +^I^Ielse if (valid & FUSE_SET_ATTR_ATIME)$ ERROR: braces {} are necessary for all arms of this statement #288: FILE: tools/virtiofsd/passthrough_ll.c:261: + else if (valid & FUSE_SET_ATTR_ATIME) [...] ERROR: code indent should never use tabs #289: FILE: tools/virtiofsd/passthrough_ll.c:262: +^I^I^Itv[0] = attr->st_atim;$ ERROR: code indent should never use tabs #291: FILE: tools/virtiofsd/passthrough_ll.c:264: +^I^Iif (valid & FUSE_SET_ATTR_MTIME_NOW)$ ERROR: braces {} are necessary for all arms of this statement #291: FILE: tools/virtiofsd/passthrough_ll.c:264: + if (valid & FUSE_SET_ATTR_MTIME_NOW) [...] + else if (valid & FUSE_SET_ATTR_MTIME) [...] ERROR: code indent should never use tabs #292: FILE: tools/virtiofsd/passthrough_ll.c:265: +^I^I^Itv[1].tv_nsec = UTIME_NOW;$ ERROR: code indent should never use tabs #293: FILE: tools/virtiofsd/passthrough_ll.c:266: +^I^Ielse if (valid & FUSE_SET_ATTR_MTIME)$ ERROR: braces {} are necessary for all arms of this statement #293: FILE: tools/virtiofsd/passthrough_ll.c:266: + else if (valid & FUSE_SET_ATTR_MTIME) [...] ERROR: code indent should never use tabs #294: FILE: tools/virtiofsd/passthrough_ll.c:267: +^I^I^Itv[1] = attr->st_mtim;$ ERROR: code indent should never use tabs #296: FILE: tools/virtiofsd/passthrough_ll.c:269: +^I^Iif (fi)$ ERROR: braces {} are necessary for all arms of this statement #296: FILE: tools/virtiofsd/passthrough_ll.c:269: + if (fi) [...] + else [...] ERROR: code indent should never use tabs #297: FILE: tools/virtiofsd/passthrough_ll.c:270: +^I^I^Ires = futimens(fi->fh, tv);$ ERROR: code indent should never use tabs #298: FILE: tools/virtiofsd/passthrough_ll.c:271: +^I^Ielse$ ERROR: code indent should never use tabs #299: FILE: tools/virtiofsd/passthrough_ll.c:272: +^I^I^Ires = utimensat_empty_nofollow(inode, tv);$ ERROR: code indent should never use tabs #300: FILE: tools/virtiofsd/passthrough_ll.c:273: +^I^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #300: FILE: tools/virtiofsd/passthrough_ll.c:273: + if (res == -1) [...] ERROR: code indent should never use tabs #301: FILE: tools/virtiofsd/passthrough_ll.c:274: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #302: FILE: tools/virtiofsd/passthrough_ll.c:275: +^I}$ ERROR: code indent should never use tabs #304: FILE: tools/virtiofsd/passthrough_ll.c:277: +^Ireturn lo_getattr(req, ino, fi);$ ERROR: code indent should never use tabs #307: FILE: tools/virtiofsd/passthrough_ll.c:280: +^Isaverr = errno;$ ERROR: code indent should never use tabs #308: FILE: tools/virtiofsd/passthrough_ll.c:281: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #313: FILE: tools/virtiofsd/passthrough_ll.c:286: +^Istruct lo_inode *p;$ ERROR: code indent should never use tabs #314: FILE: tools/virtiofsd/passthrough_ll.c:287: +^Istruct lo_inode *ret = NULL;$ ERROR: code indent should never use tabs #316: FILE: tools/virtiofsd/passthrough_ll.c:289: +^Ipthread_mutex_lock(&lo->mutex);$ ERROR: code indent should never use tabs #317: FILE: tools/virtiofsd/passthrough_ll.c:290: +^Ifor (p = lo->root.next; p != &lo->root; p = p->next) {$ ERROR: code indent should never use tabs #318: FILE: tools/virtiofsd/passthrough_ll.c:291: +^I^Iif (p->ino == st->st_ino && p->dev == st->st_dev) {$ ERROR: code indent should never use tabs #319: FILE: tools/virtiofsd/passthrough_ll.c:292: +^I^I^Iassert(p->refcount > 0);$ ERROR: code indent should never use tabs #320: FILE: tools/virtiofsd/passthrough_ll.c:293: +^I^I^Iret = p;$ ERROR: code indent should never use tabs #321: FILE: tools/virtiofsd/passthrough_ll.c:294: +^I^I^Iret->refcount++;$ ERROR: code indent should never use tabs #322: FILE: tools/virtiofsd/passthrough_ll.c:295: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #323: FILE: tools/virtiofsd/passthrough_ll.c:296: +^I^I}$ ERROR: code indent should never use tabs #324: FILE: tools/virtiofsd/passthrough_ll.c:297: +^I}$ ERROR: code indent should never use tabs #325: FILE: tools/virtiofsd/passthrough_ll.c:298: +^Ipthread_mutex_unlock(&lo->mutex);$ ERROR: code indent should never use tabs #326: FILE: tools/virtiofsd/passthrough_ll.c:299: +^Ireturn ret;$ ERROR: code indent should never use tabs #330: FILE: tools/virtiofsd/passthrough_ll.c:303: +^I^I^I struct fuse_entry_param *e)$ ERROR: code indent should never use tabs #332: FILE: tools/virtiofsd/passthrough_ll.c:305: +^Iint newfd;$ ERROR: code indent should never use tabs #333: FILE: tools/virtiofsd/passthrough_ll.c:306: +^Iint res;$ ERROR: code indent should never use tabs #334: FILE: tools/virtiofsd/passthrough_ll.c:307: +^Iint saverr;$ ERROR: code indent should never use tabs #335: FILE: tools/virtiofsd/passthrough_ll.c:308: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #336: FILE: tools/virtiofsd/passthrough_ll.c:309: +^Istruct lo_inode *inode;$ ERROR: code indent should never use tabs #338: FILE: tools/virtiofsd/passthrough_ll.c:311: +^Imemset(e, 0, sizeof(*e));$ ERROR: code indent should never use tabs #339: FILE: tools/virtiofsd/passthrough_ll.c:312: +^Ie->attr_timeout = lo->timeout;$ ERROR: code indent should never use tabs #340: FILE: tools/virtiofsd/passthrough_ll.c:313: +^Ie->entry_timeout = lo->timeout;$ ERROR: code indent should never use tabs #342: FILE: tools/virtiofsd/passthrough_ll.c:315: +^Inewfd = openat(lo_fd(req, parent), name, O_PATH | O_NOFOLLOW);$ ERROR: code indent should never use tabs #343: FILE: tools/virtiofsd/passthrough_ll.c:316: +^Iif (newfd == -1)$ ERROR: braces {} are necessary for all arms of this statement #343: FILE: tools/virtiofsd/passthrough_ll.c:316: + if (newfd == -1) [...] ERROR: code indent should never use tabs #344: FILE: tools/virtiofsd/passthrough_ll.c:317: +^I^Igoto out_err;$ ERROR: code indent should never use tabs #346: FILE: tools/virtiofsd/passthrough_ll.c:319: +^Ires = fstatat(newfd, "", &e->attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$ ERROR: code indent should never use tabs #347: FILE: tools/virtiofsd/passthrough_ll.c:320: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #347: FILE: tools/virtiofsd/passthrough_ll.c:320: + if (res == -1) [...] ERROR: code indent should never use tabs #348: FILE: tools/virtiofsd/passthrough_ll.c:321: +^I^Igoto out_err;$ ERROR: code indent should never use tabs #350: FILE: tools/virtiofsd/passthrough_ll.c:323: +^Iinode = lo_find(lo_data(req), &e->attr);$ ERROR: code indent should never use tabs #351: FILE: tools/virtiofsd/passthrough_ll.c:324: +^Iif (inode) {$ ERROR: code indent should never use tabs #352: FILE: tools/virtiofsd/passthrough_ll.c:325: +^I^Iclose(newfd);$ ERROR: code indent should never use tabs #353: FILE: tools/virtiofsd/passthrough_ll.c:326: +^I^Inewfd = -1;$ ERROR: code indent should never use tabs #354: FILE: tools/virtiofsd/passthrough_ll.c:327: +^I} else {$ ERROR: code indent should never use tabs #355: FILE: tools/virtiofsd/passthrough_ll.c:328: +^I^Istruct lo_inode *prev, *next;$ ERROR: code indent should never use tabs #357: FILE: tools/virtiofsd/passthrough_ll.c:330: +^I^Isaverr = ENOMEM;$ ERROR: code indent should never use tabs #358: FILE: tools/virtiofsd/passthrough_ll.c:331: +^I^Iinode = calloc(1, sizeof(struct lo_inode));$ ERROR: code indent should never use tabs #359: FILE: tools/virtiofsd/passthrough_ll.c:332: +^I^Iif (!inode)$ ERROR: braces {} are necessary for all arms of this statement #359: FILE: tools/virtiofsd/passthrough_ll.c:332: + if (!inode) [...] ERROR: code indent should never use tabs #360: FILE: tools/virtiofsd/passthrough_ll.c:333: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #362: FILE: tools/virtiofsd/passthrough_ll.c:335: +^I^Iinode->is_symlink = S_ISLNK(e->attr.st_mode);$ ERROR: code indent should never use tabs #363: FILE: tools/virtiofsd/passthrough_ll.c:336: +^I^Iinode->refcount = 1;$ ERROR: code indent should never use tabs #364: FILE: tools/virtiofsd/passthrough_ll.c:337: +^I^Iinode->fd = newfd;$ ERROR: code indent should never use tabs #365: FILE: tools/virtiofsd/passthrough_ll.c:338: +^I^Iinode->ino = e->attr.st_ino;$ ERROR: code indent should never use tabs #366: FILE: tools/virtiofsd/passthrough_ll.c:339: +^I^Iinode->dev = e->attr.st_dev;$ ERROR: code indent should never use tabs #368: FILE: tools/virtiofsd/passthrough_ll.c:341: +^I^Ipthread_mutex_lock(&lo->mutex);$ ERROR: code indent should never use tabs #369: FILE: tools/virtiofsd/passthrough_ll.c:342: +^I^Iprev = &lo->root;$ ERROR: code indent should never use tabs #370: FILE: tools/virtiofsd/passthrough_ll.c:343: +^I^Inext = prev->next;$ ERROR: code indent should never use tabs #371: FILE: tools/virtiofsd/passthrough_ll.c:344: +^I^Inext->prev = inode;$ ERROR: code indent should never use tabs #372: FILE: tools/virtiofsd/passthrough_ll.c:345: +^I^Iinode->next = next;$ ERROR: code indent should never use tabs #373: FILE: tools/virtiofsd/passthrough_ll.c:346: +^I^Iinode->prev = prev;$ ERROR: code indent should never use tabs #374: FILE: tools/virtiofsd/passthrough_ll.c:347: +^I^Iprev->next = inode;$ ERROR: code indent should never use tabs #375: FILE: tools/virtiofsd/passthrough_ll.c:348: +^I^Ipthread_mutex_unlock(&lo->mutex);$ ERROR: code indent should never use tabs #376: FILE: tools/virtiofsd/passthrough_ll.c:349: +^I}$ ERROR: code indent should never use tabs #377: FILE: tools/virtiofsd/passthrough_ll.c:350: +^Ie->ino = (uintptr_t) inode;$ ERROR: code indent should never use tabs #379: FILE: tools/virtiofsd/passthrough_ll.c:352: +^Iif (lo_debug(req))$ ERROR: code indent should never use tabs #380: FILE: tools/virtiofsd/passthrough_ll.c:353: +^I^Ifuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n",$ WARNING: line over 80 characters #381: FILE: tools/virtiofsd/passthrough_ll.c:354: + (unsigned long long) parent, name, (unsigned long long) e->ino); ERROR: code indent should never use tabs #381: FILE: tools/virtiofsd/passthrough_ll.c:354: +^I^I^I(unsigned long long) parent, name, (unsigned long long) e->ino);$ ERROR: code indent should never use tabs #383: FILE: tools/virtiofsd/passthrough_ll.c:356: +^Ireturn 0;$ ERROR: code indent should never use tabs #386: FILE: tools/virtiofsd/passthrough_ll.c:359: +^Isaverr = errno;$ ERROR: code indent should never use tabs #387: FILE: tools/virtiofsd/passthrough_ll.c:360: +^Iif (newfd != -1)$ ERROR: braces {} are necessary for all arms of this statement #387: FILE: tools/virtiofsd/passthrough_ll.c:360: + if (newfd != -1) [...] ERROR: code indent should never use tabs #388: FILE: tools/virtiofsd/passthrough_ll.c:361: +^I^Iclose(newfd);$ ERROR: code indent should never use tabs #389: FILE: tools/virtiofsd/passthrough_ll.c:362: +^Ireturn saverr;$ ERROR: code indent should never use tabs #394: FILE: tools/virtiofsd/passthrough_ll.c:367: +^Istruct fuse_entry_param e;$ ERROR: code indent should never use tabs #395: FILE: tools/virtiofsd/passthrough_ll.c:368: +^Iint err;$ ERROR: code indent should never use tabs #397: FILE: tools/virtiofsd/passthrough_ll.c:370: +^Iif (lo_debug(req))$ WARNING: line over 80 characters #398: FILE: tools/virtiofsd/passthrough_ll.c:371: + fuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", name=%s)\n", ERROR: code indent should never use tabs #398: FILE: tools/virtiofsd/passthrough_ll.c:371: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_lookup(parent=%" PRIu64 ", name=%s)\n",$ ERROR: code indent should never use tabs #399: FILE: tools/virtiofsd/passthrough_ll.c:372: +^I^I^Iparent, name);$ ERROR: code indent should never use tabs #401: FILE: tools/virtiofsd/passthrough_ll.c:374: +^Ierr = lo_do_lookup(req, parent, name, &e);$ ERROR: code indent should never use tabs #402: FILE: tools/virtiofsd/passthrough_ll.c:375: +^Iif (err)$ ERROR: braces {} are necessary for all arms of this statement #402: FILE: tools/virtiofsd/passthrough_ll.c:375: + if (err) [...] + else [...] ERROR: code indent should never use tabs #403: FILE: tools/virtiofsd/passthrough_ll.c:376: +^I^Ifuse_reply_err(req, err);$ ERROR: code indent should never use tabs #404: FILE: tools/virtiofsd/passthrough_ll.c:377: +^Ielse$ ERROR: code indent should never use tabs #405: FILE: tools/virtiofsd/passthrough_ll.c:378: +^I^Ifuse_reply_entry(req, &e);$ ERROR: code indent should never use tabs #409: FILE: tools/virtiofsd/passthrough_ll.c:382: +^I^I^I const char *name, mode_t mode, dev_t rdev,$ ERROR: code indent should never use tabs #410: FILE: tools/virtiofsd/passthrough_ll.c:383: +^I^I^I const char *link)$ ERROR: code indent should never use tabs #412: FILE: tools/virtiofsd/passthrough_ll.c:385: +^Iint res;$ ERROR: code indent should never use tabs #413: FILE: tools/virtiofsd/passthrough_ll.c:386: +^Iint saverr;$ ERROR: code indent should never use tabs #414: FILE: tools/virtiofsd/passthrough_ll.c:387: +^Istruct lo_inode *dir = lo_inode(req, parent);$ ERROR: code indent should never use tabs #415: FILE: tools/virtiofsd/passthrough_ll.c:388: +^Istruct fuse_entry_param e;$ ERROR: code indent should never use tabs #417: FILE: tools/virtiofsd/passthrough_ll.c:390: +^Isaverr = ENOMEM;$ ERROR: code indent should never use tabs #419: FILE: tools/virtiofsd/passthrough_ll.c:392: +^Ires = mknod_wrapper(dir->fd, name, link, mode, rdev);$ ERROR: code indent should never use tabs #421: FILE: tools/virtiofsd/passthrough_ll.c:394: +^Isaverr = errno;$ ERROR: code indent should never use tabs #422: FILE: tools/virtiofsd/passthrough_ll.c:395: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #422: FILE: tools/virtiofsd/passthrough_ll.c:395: + if (res == -1) [...] ERROR: code indent should never use tabs #423: FILE: tools/virtiofsd/passthrough_ll.c:396: +^I^Igoto out;$ ERROR: code indent should never use tabs #425: FILE: tools/virtiofsd/passthrough_ll.c:398: +^Isaverr = lo_do_lookup(req, parent, name, &e);$ ERROR: code indent should never use tabs #426: FILE: tools/virtiofsd/passthrough_ll.c:399: +^Iif (saverr)$ ERROR: braces {} are necessary for all arms of this statement #426: FILE: tools/virtiofsd/passthrough_ll.c:399: + if (saverr) [...] ERROR: code indent should never use tabs #427: FILE: tools/virtiofsd/passthrough_ll.c:400: +^I^Igoto out;$ ERROR: code indent should never use tabs #429: FILE: tools/virtiofsd/passthrough_ll.c:402: +^Iif (lo_debug(req))$ ERROR: code indent should never use tabs #430: FILE: tools/virtiofsd/passthrough_ll.c:403: +^I^Ifuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n",$ WARNING: line over 80 characters #431: FILE: tools/virtiofsd/passthrough_ll.c:404: + (unsigned long long) parent, name, (unsigned long long) e.ino); ERROR: code indent should never use tabs #431: FILE: tools/virtiofsd/passthrough_ll.c:404: +^I^I^I(unsigned long long) parent, name, (unsigned long long) e.ino);$ ERROR: code indent should never use tabs #433: FILE: tools/virtiofsd/passthrough_ll.c:406: +^Ifuse_reply_entry(req, &e);$ ERROR: code indent should never use tabs #434: FILE: tools/virtiofsd/passthrough_ll.c:407: +^Ireturn;$ ERROR: code indent should never use tabs #437: FILE: tools/virtiofsd/passthrough_ll.c:410: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #441: FILE: tools/virtiofsd/passthrough_ll.c:414: +^I^I const char *name, mode_t mode, dev_t rdev)$ ERROR: code indent should never use tabs #443: FILE: tools/virtiofsd/passthrough_ll.c:416: +^Ilo_mknod_symlink(req, parent, name, mode, rdev, NULL);$ ERROR: code indent should never use tabs #447: FILE: tools/virtiofsd/passthrough_ll.c:420: +^I^I mode_t mode)$ ERROR: code indent should never use tabs #449: FILE: tools/virtiofsd/passthrough_ll.c:422: +^Ilo_mknod_symlink(req, parent, name, S_IFDIR | mode, 0, NULL);$ ERROR: code indent should never use tabs #453: FILE: tools/virtiofsd/passthrough_ll.c:426: +^I^I fuse_ino_t parent, const char *name)$ ERROR: code indent should never use tabs #455: FILE: tools/virtiofsd/passthrough_ll.c:428: +^Ilo_mknod_symlink(req, parent, name, S_IFLNK, 0, link);$ ERROR: code indent should never use tabs #459: FILE: tools/virtiofsd/passthrough_ll.c:432: +^I^I^I^I const char *name)$ ERROR: code indent should never use tabs #461: FILE: tools/virtiofsd/passthrough_ll.c:434: +^Iint res;$ ERROR: code indent should never use tabs #462: FILE: tools/virtiofsd/passthrough_ll.c:435: +^Ichar procname[64];$ ERROR: code indent should never use tabs #464: FILE: tools/virtiofsd/passthrough_ll.c:437: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #465: FILE: tools/virtiofsd/passthrough_ll.c:438: +^I^Ires = linkat(inode->fd, "", dfd, name, AT_EMPTY_PATH);$ ERROR: code indent should never use tabs #466: FILE: tools/virtiofsd/passthrough_ll.c:439: +^I^Iif (res == -1 && (errno == ENOENT || errno == EINVAL)) {$ ERROR: code indent should never use tabs #467: FILE: tools/virtiofsd/passthrough_ll.c:440: +^I^I^I/* Sorry, no race free way to hard-link a symlink. */$ ERROR: code indent should never use tabs #468: FILE: tools/virtiofsd/passthrough_ll.c:441: +^I^I^Ierrno = EPERM;$ ERROR: code indent should never use tabs #469: FILE: tools/virtiofsd/passthrough_ll.c:442: +^I^I}$ ERROR: code indent should never use tabs #470: FILE: tools/virtiofsd/passthrough_ll.c:443: +^I^Ireturn res;$ ERROR: code indent should never use tabs #471: FILE: tools/virtiofsd/passthrough_ll.c:444: +^I}$ ERROR: code indent should never use tabs #473: FILE: tools/virtiofsd/passthrough_ll.c:446: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #475: FILE: tools/virtiofsd/passthrough_ll.c:448: +^Ireturn linkat(AT_FDCWD, procname, dfd, name, AT_SYMLINK_FOLLOW);$ ERROR: code indent should never use tabs #479: FILE: tools/virtiofsd/passthrough_ll.c:452: +^I^I const char *name)$ ERROR: code indent should never use tabs #481: FILE: tools/virtiofsd/passthrough_ll.c:454: +^Iint res;$ ERROR: code indent should never use tabs #482: FILE: tools/virtiofsd/passthrough_ll.c:455: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #483: FILE: tools/virtiofsd/passthrough_ll.c:456: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #484: FILE: tools/virtiofsd/passthrough_ll.c:457: +^Istruct fuse_entry_param e;$ ERROR: code indent should never use tabs #485: FILE: tools/virtiofsd/passthrough_ll.c:458: +^Iint saverr;$ ERROR: code indent should never use tabs #487: FILE: tools/virtiofsd/passthrough_ll.c:460: +^Imemset(&e, 0, sizeof(struct fuse_entry_param));$ ERROR: code indent should never use tabs #488: FILE: tools/virtiofsd/passthrough_ll.c:461: +^Ie.attr_timeout = lo->timeout;$ ERROR: code indent should never use tabs #489: FILE: tools/virtiofsd/passthrough_ll.c:462: +^Ie.entry_timeout = lo->timeout;$ ERROR: code indent should never use tabs #491: FILE: tools/virtiofsd/passthrough_ll.c:464: +^Ires = linkat_empty_nofollow(inode, lo_fd(req, parent), name);$ ERROR: code indent should never use tabs #492: FILE: tools/virtiofsd/passthrough_ll.c:465: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #492: FILE: tools/virtiofsd/passthrough_ll.c:465: + if (res == -1) [...] ERROR: code indent should never use tabs #493: FILE: tools/virtiofsd/passthrough_ll.c:466: +^I^Igoto out_err;$ WARNING: line over 80 characters #495: FILE: tools/virtiofsd/passthrough_ll.c:468: + res = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW); ERROR: code indent should never use tabs #495: FILE: tools/virtiofsd/passthrough_ll.c:468: +^Ires = fstatat(inode->fd, "", &e.attr, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);$ ERROR: code indent should never use tabs #496: FILE: tools/virtiofsd/passthrough_ll.c:469: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #496: FILE: tools/virtiofsd/passthrough_ll.c:469: + if (res == -1) [...] ERROR: code indent should never use tabs #497: FILE: tools/virtiofsd/passthrough_ll.c:470: +^I^Igoto out_err;$ ERROR: code indent should never use tabs #499: FILE: tools/virtiofsd/passthrough_ll.c:472: +^Ipthread_mutex_lock(&lo->mutex);$ ERROR: code indent should never use tabs #500: FILE: tools/virtiofsd/passthrough_ll.c:473: +^Iinode->refcount++;$ ERROR: code indent should never use tabs #501: FILE: tools/virtiofsd/passthrough_ll.c:474: +^Ipthread_mutex_unlock(&lo->mutex);$ ERROR: code indent should never use tabs #502: FILE: tools/virtiofsd/passthrough_ll.c:475: +^Ie.ino = (uintptr_t) inode;$ ERROR: code indent should never use tabs #504: FILE: tools/virtiofsd/passthrough_ll.c:477: +^Iif (lo_debug(req))$ ERROR: code indent should never use tabs #505: FILE: tools/virtiofsd/passthrough_ll.c:478: +^I^Ifuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n",$ ERROR: code indent should never use tabs #506: FILE: tools/virtiofsd/passthrough_ll.c:479: +^I^I^I(unsigned long long) parent, name,$ ERROR: code indent should never use tabs #507: FILE: tools/virtiofsd/passthrough_ll.c:480: +^I^I^I(unsigned long long) e.ino);$ ERROR: code indent should never use tabs #509: FILE: tools/virtiofsd/passthrough_ll.c:482: +^Ifuse_reply_entry(req, &e);$ ERROR: code indent should never use tabs #510: FILE: tools/virtiofsd/passthrough_ll.c:483: +^Ireturn;$ ERROR: code indent should never use tabs #513: FILE: tools/virtiofsd/passthrough_ll.c:486: +^Isaverr = errno;$ ERROR: code indent should never use tabs #514: FILE: tools/virtiofsd/passthrough_ll.c:487: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #519: FILE: tools/virtiofsd/passthrough_ll.c:492: +^Iint res;$ ERROR: code indent should never use tabs #521: FILE: tools/virtiofsd/passthrough_ll.c:494: +^Ires = unlinkat(lo_fd(req, parent), name, AT_REMOVEDIR);$ ERROR: code indent should never use tabs #523: FILE: tools/virtiofsd/passthrough_ll.c:496: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #527: FILE: tools/virtiofsd/passthrough_ll.c:500: +^I^I fuse_ino_t newparent, const char *newname,$ ERROR: code indent should never use tabs #528: FILE: tools/virtiofsd/passthrough_ll.c:501: +^I^I unsigned int flags)$ ERROR: code indent should never use tabs #530: FILE: tools/virtiofsd/passthrough_ll.c:503: +^Iint res;$ ERROR: code indent should never use tabs #532: FILE: tools/virtiofsd/passthrough_ll.c:505: +^Iif (flags) {$ ERROR: code indent should never use tabs #533: FILE: tools/virtiofsd/passthrough_ll.c:506: +^I^Ifuse_reply_err(req, EINVAL);$ ERROR: code indent should never use tabs #534: FILE: tools/virtiofsd/passthrough_ll.c:507: +^I^Ireturn;$ ERROR: code indent should never use tabs #535: FILE: tools/virtiofsd/passthrough_ll.c:508: +^I}$ ERROR: code indent should never use tabs #537: FILE: tools/virtiofsd/passthrough_ll.c:510: +^Ires = renameat(lo_fd(req, parent), name,$ ERROR: code indent should never use tabs #538: FILE: tools/virtiofsd/passthrough_ll.c:511: +^I^I^Ilo_fd(req, newparent), newname);$ ERROR: code indent should never use tabs #540: FILE: tools/virtiofsd/passthrough_ll.c:513: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #545: FILE: tools/virtiofsd/passthrough_ll.c:518: +^Iint res;$ ERROR: code indent should never use tabs #547: FILE: tools/virtiofsd/passthrough_ll.c:520: +^Ires = unlinkat(lo_fd(req, parent), name, 0);$ ERROR: code indent should never use tabs #549: FILE: tools/virtiofsd/passthrough_ll.c:522: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #554: FILE: tools/virtiofsd/passthrough_ll.c:527: +^Iif (!inode)$ ERROR: braces {} are necessary for all arms of this statement #554: FILE: tools/virtiofsd/passthrough_ll.c:527: + if (!inode) [...] ERROR: code indent should never use tabs #555: FILE: tools/virtiofsd/passthrough_ll.c:528: +^I^Ireturn;$ ERROR: code indent should never use tabs #557: FILE: tools/virtiofsd/passthrough_ll.c:530: +^Ipthread_mutex_lock(&lo->mutex);$ ERROR: code indent should never use tabs #558: FILE: tools/virtiofsd/passthrough_ll.c:531: +^Iassert(inode->refcount >= n);$ ERROR: code indent should never use tabs #559: FILE: tools/virtiofsd/passthrough_ll.c:532: +^Iinode->refcount -= n;$ ERROR: code indent should never use tabs #560: FILE: tools/virtiofsd/passthrough_ll.c:533: +^Iif (!inode->refcount) {$ ERROR: code indent should never use tabs #561: FILE: tools/virtiofsd/passthrough_ll.c:534: +^I^Istruct lo_inode *prev, *next;$ ERROR: code indent should never use tabs #563: FILE: tools/virtiofsd/passthrough_ll.c:536: +^I^Iprev = inode->prev;$ ERROR: code indent should never use tabs #564: FILE: tools/virtiofsd/passthrough_ll.c:537: +^I^Inext = inode->next;$ ERROR: code indent should never use tabs #565: FILE: tools/virtiofsd/passthrough_ll.c:538: +^I^Inext->prev = prev;$ ERROR: code indent should never use tabs #566: FILE: tools/virtiofsd/passthrough_ll.c:539: +^I^Iprev->next = next;$ ERROR: code indent should never use tabs #568: FILE: tools/virtiofsd/passthrough_ll.c:541: +^I^Ipthread_mutex_unlock(&lo->mutex);$ ERROR: code indent should never use tabs #569: FILE: tools/virtiofsd/passthrough_ll.c:542: +^I^Iclose(inode->fd);$ ERROR: code indent should never use tabs #570: FILE: tools/virtiofsd/passthrough_ll.c:543: +^I^Ifree(inode);$ ERROR: code indent should never use tabs #572: FILE: tools/virtiofsd/passthrough_ll.c:545: +^I} else {$ ERROR: code indent should never use tabs #573: FILE: tools/virtiofsd/passthrough_ll.c:546: +^I^Ipthread_mutex_unlock(&lo->mutex);$ ERROR: code indent should never use tabs #574: FILE: tools/virtiofsd/passthrough_ll.c:547: +^I}$ ERROR: code indent should never use tabs #579: FILE: tools/virtiofsd/passthrough_ll.c:552: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #580: FILE: tools/virtiofsd/passthrough_ll.c:553: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #582: FILE: tools/virtiofsd/passthrough_ll.c:555: +^Iif (lo_debug(req)) {$ ERROR: code indent should never use tabs #583: FILE: tools/virtiofsd/passthrough_ll.c:556: +^I^Ifuse_log(FUSE_LOG_DEBUG, " forget %lli %lli -%lli\n",$ ERROR: code indent should never use tabs #584: FILE: tools/virtiofsd/passthrough_ll.c:557: +^I^I^I(unsigned long long) ino,$ ERROR: code indent should never use tabs #585: FILE: tools/virtiofsd/passthrough_ll.c:558: +^I^I^I(unsigned long long) inode->refcount,$ ERROR: code indent should never use tabs #586: FILE: tools/virtiofsd/passthrough_ll.c:559: +^I^I^I(unsigned long long) nlookup);$ ERROR: code indent should never use tabs #587: FILE: tools/virtiofsd/passthrough_ll.c:560: +^I}$ ERROR: code indent should never use tabs #589: FILE: tools/virtiofsd/passthrough_ll.c:562: +^Iunref_inode(lo, inode, nlookup);$ ERROR: code indent should never use tabs #594: FILE: tools/virtiofsd/passthrough_ll.c:567: +^Ilo_forget_one(req, ino, nlookup);$ ERROR: code indent should never use tabs #595: FILE: tools/virtiofsd/passthrough_ll.c:568: +^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #599: FILE: tools/virtiofsd/passthrough_ll.c:572: +^I^I^I^Istruct fuse_forget_data *forgets)$ ERROR: code indent should never use tabs #601: FILE: tools/virtiofsd/passthrough_ll.c:574: +^Iint i;$ ERROR: code indent should never use tabs #603: FILE: tools/virtiofsd/passthrough_ll.c:576: +^Ifor (i = 0; i < count; i++)$ ERROR: braces {} are necessary for all arms of this statement #603: FILE: tools/virtiofsd/passthrough_ll.c:576: + for (i = 0; i < count; i++) [...] ERROR: code indent should never use tabs #604: FILE: tools/virtiofsd/passthrough_ll.c:577: +^I^Ilo_forget_one(req, forgets[i].ino, forgets[i].nlookup);$ ERROR: code indent should never use tabs #605: FILE: tools/virtiofsd/passthrough_ll.c:578: +^Ifuse_reply_none(req);$ ERROR: code indent should never use tabs #610: FILE: tools/virtiofsd/passthrough_ll.c:583: +^Ichar buf[PATH_MAX + 1];$ ERROR: code indent should never use tabs #611: FILE: tools/virtiofsd/passthrough_ll.c:584: +^Iint res;$ ERROR: code indent should never use tabs #613: FILE: tools/virtiofsd/passthrough_ll.c:586: +^Ires = readlinkat(lo_fd(req, ino), "", buf, sizeof(buf));$ ERROR: code indent should never use tabs #614: FILE: tools/virtiofsd/passthrough_ll.c:587: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #614: FILE: tools/virtiofsd/passthrough_ll.c:587: + if (res == -1) [...] ERROR: code indent should never use tabs #615: FILE: tools/virtiofsd/passthrough_ll.c:588: +^I^Ireturn (void) fuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #617: FILE: tools/virtiofsd/passthrough_ll.c:590: +^Iif (res == sizeof(buf))$ ERROR: braces {} are necessary for all arms of this statement #617: FILE: tools/virtiofsd/passthrough_ll.c:590: + if (res == sizeof(buf)) [...] ERROR: code indent should never use tabs #618: FILE: tools/virtiofsd/passthrough_ll.c:591: +^I^Ireturn (void) fuse_reply_err(req, ENAMETOOLONG);$ ERROR: code indent should never use tabs #620: FILE: tools/virtiofsd/passthrough_ll.c:593: +^Ibuf[res] = '\0';$ ERROR: code indent should never use tabs #622: FILE: tools/virtiofsd/passthrough_ll.c:595: +^Ifuse_reply_readlink(req, buf);$ ERROR: code indent should never use tabs #626: FILE: tools/virtiofsd/passthrough_ll.c:599: +^IDIR *dp;$ ERROR: code indent should never use tabs #627: FILE: tools/virtiofsd/passthrough_ll.c:600: +^Istruct dirent *entry;$ ERROR: code indent should never use tabs #628: FILE: tools/virtiofsd/passthrough_ll.c:601: +^Ioff_t offset;$ ERROR: code indent should never use tabs #633: FILE: tools/virtiofsd/passthrough_ll.c:606: +^Ireturn (struct lo_dirp *) (uintptr_t) fi->fh;$ WARNING: line over 80 characters #636: FILE: tools/virtiofsd/passthrough_ll.c:609: +static void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) ERROR: code indent should never use tabs #638: FILE: tools/virtiofsd/passthrough_ll.c:611: +^Iint error = ENOMEM;$ ERROR: code indent should never use tabs #639: FILE: tools/virtiofsd/passthrough_ll.c:612: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #640: FILE: tools/virtiofsd/passthrough_ll.c:613: +^Istruct lo_dirp *d;$ ERROR: code indent should never use tabs #641: FILE: tools/virtiofsd/passthrough_ll.c:614: +^Iint fd;$ ERROR: code indent should never use tabs #643: FILE: tools/virtiofsd/passthrough_ll.c:616: +^Id = calloc(1, sizeof(struct lo_dirp));$ ERROR: code indent should never use tabs #644: FILE: tools/virtiofsd/passthrough_ll.c:617: +^Iif (d == NULL)$ ERROR: braces {} are necessary for all arms of this statement #644: FILE: tools/virtiofsd/passthrough_ll.c:617: + if (d == NULL) [...] ERROR: code indent should never use tabs #645: FILE: tools/virtiofsd/passthrough_ll.c:618: +^I^Igoto out_err;$ ERROR: code indent should never use tabs #647: FILE: tools/virtiofsd/passthrough_ll.c:620: +^Ifd = openat(lo_fd(req, ino), ".", O_RDONLY);$ ERROR: code indent should never use tabs #648: FILE: tools/virtiofsd/passthrough_ll.c:621: +^Iif (fd == -1)$ ERROR: braces {} are necessary for all arms of this statement #648: FILE: tools/virtiofsd/passthrough_ll.c:621: + if (fd == -1) [...] ERROR: code indent should never use tabs #649: FILE: tools/virtiofsd/passthrough_ll.c:622: +^I^Igoto out_errno;$ ERROR: code indent should never use tabs #651: FILE: tools/virtiofsd/passthrough_ll.c:624: +^Id->dp = fdopendir(fd);$ ERROR: code indent should never use tabs #652: FILE: tools/virtiofsd/passthrough_ll.c:625: +^Iif (d->dp == NULL)$ ERROR: braces {} are necessary for all arms of this statement #652: FILE: tools/virtiofsd/passthrough_ll.c:625: + if (d->dp == NULL) [...] ERROR: code indent should never use tabs #653: FILE: tools/virtiofsd/passthrough_ll.c:626: +^I^Igoto out_errno;$ ERROR: code indent should never use tabs #655: FILE: tools/virtiofsd/passthrough_ll.c:628: +^Id->offset = 0;$ ERROR: code indent should never use tabs #656: FILE: tools/virtiofsd/passthrough_ll.c:629: +^Id->entry = NULL;$ ERROR: code indent should never use tabs #658: FILE: tools/virtiofsd/passthrough_ll.c:631: +^Ifi->fh = (uintptr_t) d;$ ERROR: code indent should never use tabs #659: FILE: tools/virtiofsd/passthrough_ll.c:632: +^Iif (lo->cache == CACHE_ALWAYS)$ ERROR: braces {} are necessary for all arms of this statement #659: FILE: tools/virtiofsd/passthrough_ll.c:632: + if (lo->cache == CACHE_ALWAYS) [...] ERROR: code indent should never use tabs #660: FILE: tools/virtiofsd/passthrough_ll.c:633: +^I^Ifi->keep_cache = 1;$ ERROR: code indent should never use tabs #661: FILE: tools/virtiofsd/passthrough_ll.c:634: +^Ifuse_reply_open(req, fi);$ ERROR: code indent should never use tabs #662: FILE: tools/virtiofsd/passthrough_ll.c:635: +^Ireturn;$ ERROR: code indent should never use tabs #665: FILE: tools/virtiofsd/passthrough_ll.c:638: +^Ierror = errno;$ ERROR: code indent should never use tabs #667: FILE: tools/virtiofsd/passthrough_ll.c:640: +^Iif (d) {$ ERROR: code indent should never use tabs #668: FILE: tools/virtiofsd/passthrough_ll.c:641: +^I^Iif (fd != -1)$ ERROR: braces {} are necessary for all arms of this statement #668: FILE: tools/virtiofsd/passthrough_ll.c:641: + if (fd != -1) [...] ERROR: code indent should never use tabs #669: FILE: tools/virtiofsd/passthrough_ll.c:642: +^I^I^Iclose(fd);$ ERROR: code indent should never use tabs #670: FILE: tools/virtiofsd/passthrough_ll.c:643: +^I^Ifree(d);$ ERROR: code indent should never use tabs #671: FILE: tools/virtiofsd/passthrough_ll.c:644: +^I}$ ERROR: code indent should never use tabs #672: FILE: tools/virtiofsd/passthrough_ll.c:645: +^Ifuse_reply_err(req, error);$ ERROR: code indent should never use tabs #677: FILE: tools/virtiofsd/passthrough_ll.c:650: +^Ireturn name[0] == '.' && (name[1] == '\0' ||$ ERROR: code indent should never use tabs #678: FILE: tools/virtiofsd/passthrough_ll.c:651: +^I^I^I^I (name[1] == '.' && name[2] == '\0'));$ ERROR: code indent should never use tabs #682: FILE: tools/virtiofsd/passthrough_ll.c:655: +^I^I^I off_t offset, struct fuse_file_info *fi, int plus)$ ERROR: code indent should never use tabs #684: FILE: tools/virtiofsd/passthrough_ll.c:657: +^Istruct lo_dirp *d = lo_dirp(fi);$ ERROR: code indent should never use tabs #685: FILE: tools/virtiofsd/passthrough_ll.c:658: +^Ichar *buf;$ ERROR: code indent should never use tabs #686: FILE: tools/virtiofsd/passthrough_ll.c:659: +^Ichar *p;$ ERROR: code indent should never use tabs #687: FILE: tools/virtiofsd/passthrough_ll.c:660: +^Isize_t rem = size;$ ERROR: code indent should never use tabs #688: FILE: tools/virtiofsd/passthrough_ll.c:661: +^Iint err;$ ERROR: code indent should never use tabs #690: FILE: tools/virtiofsd/passthrough_ll.c:663: +^I(void) ino;$ ERROR: code indent should never use tabs #692: FILE: tools/virtiofsd/passthrough_ll.c:665: +^Ibuf = calloc(1, size);$ ERROR: code indent should never use tabs #693: FILE: tools/virtiofsd/passthrough_ll.c:666: +^Iif (!buf) {$ ERROR: code indent should never use tabs #694: FILE: tools/virtiofsd/passthrough_ll.c:667: +^I^Ierr = ENOMEM;$ ERROR: code indent should never use tabs #695: FILE: tools/virtiofsd/passthrough_ll.c:668: +^I^Igoto error;$ ERROR: code indent should never use tabs #696: FILE: tools/virtiofsd/passthrough_ll.c:669: +^I}$ ERROR: code indent should never use tabs #697: FILE: tools/virtiofsd/passthrough_ll.c:670: +^Ip = buf;$ ERROR: code indent should never use tabs #699: FILE: tools/virtiofsd/passthrough_ll.c:672: +^Iif (offset != d->offset) {$ ERROR: code indent should never use tabs #700: FILE: tools/virtiofsd/passthrough_ll.c:673: +^I^Iseekdir(d->dp, offset);$ ERROR: code indent should never use tabs #701: FILE: tools/virtiofsd/passthrough_ll.c:674: +^I^Id->entry = NULL;$ ERROR: code indent should never use tabs #702: FILE: tools/virtiofsd/passthrough_ll.c:675: +^I^Id->offset = offset;$ ERROR: code indent should never use tabs #703: FILE: tools/virtiofsd/passthrough_ll.c:676: +^I}$ ERROR: code indent should never use tabs #704: FILE: tools/virtiofsd/passthrough_ll.c:677: +^Iwhile (1) {$ ERROR: code indent should never use tabs #705: FILE: tools/virtiofsd/passthrough_ll.c:678: +^I^Isize_t entsize;$ ERROR: code indent should never use tabs #706: FILE: tools/virtiofsd/passthrough_ll.c:679: +^I^Ioff_t nextoff;$ ERROR: code indent should never use tabs #707: FILE: tools/virtiofsd/passthrough_ll.c:680: +^I^Iconst char *name;$ ERROR: code indent should never use tabs #709: FILE: tools/virtiofsd/passthrough_ll.c:682: +^I^Iif (!d->entry) {$ ERROR: code indent should never use tabs #710: FILE: tools/virtiofsd/passthrough_ll.c:683: +^I^I^Ierrno = 0;$ ERROR: code indent should never use tabs #711: FILE: tools/virtiofsd/passthrough_ll.c:684: +^I^I^Id->entry = readdir(d->dp);$ ERROR: code indent should never use tabs #712: FILE: tools/virtiofsd/passthrough_ll.c:685: +^I^I^Iif (!d->entry) {$ ERROR: code indent should never use tabs #713: FILE: tools/virtiofsd/passthrough_ll.c:686: +^I^I^I^Iif (errno) { // Error$ ERROR: do not use C99 // comments #713: FILE: tools/virtiofsd/passthrough_ll.c:686: + if (errno) { // Error ERROR: trailing statements should be on next line #713: FILE: tools/virtiofsd/passthrough_ll.c:686: + if (errno) { // Error ERROR: code indent should never use tabs #714: FILE: tools/virtiofsd/passthrough_ll.c:687: +^I^I^I^I^Ierr = errno;$ ERROR: code indent should never use tabs #715: FILE: tools/virtiofsd/passthrough_ll.c:688: +^I^I^I^I^Igoto error;$ ERROR: code indent should never use tabs #716: FILE: tools/virtiofsd/passthrough_ll.c:689: +^I^I^I^I} else { // End of stream$ ERROR: do not use C99 // comments #716: FILE: tools/virtiofsd/passthrough_ll.c:689: + } else { // End of stream ERROR: trailing whitespace #717: FILE: tools/virtiofsd/passthrough_ll.c:690: +^I^I^I^I^Ibreak; $ ERROR: code indent should never use tabs #717: FILE: tools/virtiofsd/passthrough_ll.c:690: +^I^I^I^I^Ibreak; $ ERROR: code indent should never use tabs #718: FILE: tools/virtiofsd/passthrough_ll.c:691: +^I^I^I^I}$ ERROR: code indent should never use tabs #719: FILE: tools/virtiofsd/passthrough_ll.c:692: +^I^I^I}$ ERROR: code indent should never use tabs #720: FILE: tools/virtiofsd/passthrough_ll.c:693: +^I^I}$ ERROR: code indent should never use tabs #721: FILE: tools/virtiofsd/passthrough_ll.c:694: +^I^Inextoff = d->entry->d_off;$ ERROR: code indent should never use tabs #722: FILE: tools/virtiofsd/passthrough_ll.c:695: +^I^Iname = d->entry->d_name;$ ERROR: code indent should never use tabs #723: FILE: tools/virtiofsd/passthrough_ll.c:696: +^I^Ifuse_ino_t entry_ino = 0;$ ERROR: code indent should never use tabs #724: FILE: tools/virtiofsd/passthrough_ll.c:697: +^I^Iif (plus) {$ ERROR: code indent should never use tabs #725: FILE: tools/virtiofsd/passthrough_ll.c:698: +^I^I^Istruct fuse_entry_param e;$ ERROR: code indent should never use tabs #726: FILE: tools/virtiofsd/passthrough_ll.c:699: +^I^I^Iif (is_dot_or_dotdot(name)) {$ ERROR: code indent should never use tabs #727: FILE: tools/virtiofsd/passthrough_ll.c:700: +^I^I^I^Ie = (struct fuse_entry_param) {$ ERROR: code indent should never use tabs #728: FILE: tools/virtiofsd/passthrough_ll.c:701: +^I^I^I^I^I.attr.st_ino = d->entry->d_ino,$ ERROR: code indent should never use tabs #729: FILE: tools/virtiofsd/passthrough_ll.c:702: +^I^I^I^I^I.attr.st_mode = d->entry->d_type << 12,$ ERROR: code indent should never use tabs #730: FILE: tools/virtiofsd/passthrough_ll.c:703: +^I^I^I^I};$ ERROR: code indent should never use tabs #731: FILE: tools/virtiofsd/passthrough_ll.c:704: +^I^I^I} else {$ ERROR: code indent should never use tabs #732: FILE: tools/virtiofsd/passthrough_ll.c:705: +^I^I^I^Ierr = lo_do_lookup(req, ino, name, &e);$ ERROR: code indent should never use tabs #733: FILE: tools/virtiofsd/passthrough_ll.c:706: +^I^I^I^Iif (err)$ ERROR: braces {} are necessary for all arms of this statement #733: FILE: tools/virtiofsd/passthrough_ll.c:706: + if (err) [...] ERROR: code indent should never use tabs #734: FILE: tools/virtiofsd/passthrough_ll.c:707: +^I^I^I^I^Igoto error;$ ERROR: code indent should never use tabs #735: FILE: tools/virtiofsd/passthrough_ll.c:708: +^I^I^I^Ientry_ino = e.ino;$ ERROR: code indent should never use tabs #736: FILE: tools/virtiofsd/passthrough_ll.c:709: +^I^I^I}$ ERROR: code indent should never use tabs #738: FILE: tools/virtiofsd/passthrough_ll.c:711: +^I^I^Ientsize = fuse_add_direntry_plus(req, p, rem, name,$ ERROR: code indent should never use tabs #739: FILE: tools/virtiofsd/passthrough_ll.c:712: +^I^I^I^I^I^I^I &e, nextoff);$ ERROR: code indent should never use tabs #740: FILE: tools/virtiofsd/passthrough_ll.c:713: +^I^I} else {$ ERROR: code indent should never use tabs #741: FILE: tools/virtiofsd/passthrough_ll.c:714: +^I^I^Istruct stat st = {$ ERROR: code indent should never use tabs #742: FILE: tools/virtiofsd/passthrough_ll.c:715: +^I^I^I^I.st_ino = d->entry->d_ino,$ ERROR: code indent should never use tabs #743: FILE: tools/virtiofsd/passthrough_ll.c:716: +^I^I^I^I.st_mode = d->entry->d_type << 12,$ ERROR: code indent should never use tabs #744: FILE: tools/virtiofsd/passthrough_ll.c:717: +^I^I^I};$ ERROR: code indent should never use tabs #745: FILE: tools/virtiofsd/passthrough_ll.c:718: +^I^I^Ientsize = fuse_add_direntry(req, p, rem, name,$ ERROR: code indent should never use tabs #746: FILE: tools/virtiofsd/passthrough_ll.c:719: +^I^I^I^I^I^I &st, nextoff);$ ERROR: code indent should never use tabs #747: FILE: tools/virtiofsd/passthrough_ll.c:720: +^I^I}$ ERROR: code indent should never use tabs #748: FILE: tools/virtiofsd/passthrough_ll.c:721: +^I^Iif (entsize > rem) {$ ERROR: trailing whitespace #749: FILE: tools/virtiofsd/passthrough_ll.c:722: +^I^I^Iif (entry_ino != 0) $ ERROR: code indent should never use tabs #749: FILE: tools/virtiofsd/passthrough_ll.c:722: +^I^I^Iif (entry_ino != 0) $ ERROR: braces {} are necessary for all arms of this statement #749: FILE: tools/virtiofsd/passthrough_ll.c:722: + if (entry_ino != 0) [...] ERROR: code indent should never use tabs #750: FILE: tools/virtiofsd/passthrough_ll.c:723: +^I^I^I^Ilo_forget_one(req, entry_ino, 1);$ ERROR: code indent should never use tabs #751: FILE: tools/virtiofsd/passthrough_ll.c:724: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #752: FILE: tools/virtiofsd/passthrough_ll.c:725: +^I^I}$ ERROR: trailing whitespace #753: FILE: tools/virtiofsd/passthrough_ll.c:726: +^I^I$ ERROR: code indent should never use tabs #753: FILE: tools/virtiofsd/passthrough_ll.c:726: +^I^I$ ERROR: code indent should never use tabs #754: FILE: tools/virtiofsd/passthrough_ll.c:727: +^I^Ip += entsize;$ ERROR: code indent should never use tabs #755: FILE: tools/virtiofsd/passthrough_ll.c:728: +^I^Irem -= entsize;$ ERROR: code indent should never use tabs #757: FILE: tools/virtiofsd/passthrough_ll.c:730: +^I^Id->entry = NULL;$ ERROR: code indent should never use tabs #758: FILE: tools/virtiofsd/passthrough_ll.c:731: +^I^Id->offset = nextoff;$ ERROR: code indent should never use tabs #759: FILE: tools/virtiofsd/passthrough_ll.c:732: +^I}$ ERROR: do not use C99 // comments #763: FILE: tools/virtiofsd/passthrough_ll.c:736: + // If there's an error, we can only signal it if we haven't stored ERROR: do not use C99 // comments #764: FILE: tools/virtiofsd/passthrough_ll.c:737: + // any entries yet - otherwise we'd end up with wrong lookup ERROR: do not use C99 // comments #765: FILE: tools/virtiofsd/passthrough_ll.c:738: + // counts for the entries that are already in the buffer. So we ERROR: do not use C99 // comments #766: FILE: tools/virtiofsd/passthrough_ll.c:739: + // return what we've collected until that point. ERROR: braces {} are necessary for all arms of this statement #767: FILE: tools/virtiofsd/passthrough_ll.c:740: + if (err && rem == size) [...] + else [...] ERROR: code indent should never use tabs #768: FILE: tools/virtiofsd/passthrough_ll.c:741: +^I fuse_reply_err(req, err);$ ERROR: code indent should never use tabs #770: FILE: tools/virtiofsd/passthrough_ll.c:743: +^I fuse_reply_buf(req, buf, size - rem);$ ERROR: code indent should never use tabs #775: FILE: tools/virtiofsd/passthrough_ll.c:748: +^I^I off_t offset, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #777: FILE: tools/virtiofsd/passthrough_ll.c:750: +^Ilo_do_readdir(req, ino, size, offset, fi, 0);$ ERROR: code indent should never use tabs #781: FILE: tools/virtiofsd/passthrough_ll.c:754: +^I^I^I off_t offset, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #783: FILE: tools/virtiofsd/passthrough_ll.c:756: +^Ilo_do_readdir(req, ino, size, offset, fi, 1);$ WARNING: line over 80 characters #786: FILE: tools/virtiofsd/passthrough_ll.c:759: +static void lo_releasedir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) ERROR: code indent should never use tabs #788: FILE: tools/virtiofsd/passthrough_ll.c:761: +^Istruct lo_dirp *d = lo_dirp(fi);$ ERROR: code indent should never use tabs #789: FILE: tools/virtiofsd/passthrough_ll.c:762: +^I(void) ino;$ ERROR: code indent should never use tabs #790: FILE: tools/virtiofsd/passthrough_ll.c:763: +^Iclosedir(d->dp);$ ERROR: code indent should never use tabs #791: FILE: tools/virtiofsd/passthrough_ll.c:764: +^Ifree(d);$ ERROR: code indent should never use tabs #792: FILE: tools/virtiofsd/passthrough_ll.c:765: +^Ifuse_reply_err(req, 0);$ ERROR: code indent should never use tabs #796: FILE: tools/virtiofsd/passthrough_ll.c:769: +^I^I mode_t mode, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #798: FILE: tools/virtiofsd/passthrough_ll.c:771: +^Iint fd;$ ERROR: code indent should never use tabs #799: FILE: tools/virtiofsd/passthrough_ll.c:772: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #800: FILE: tools/virtiofsd/passthrough_ll.c:773: +^Istruct fuse_entry_param e;$ ERROR: code indent should never use tabs #801: FILE: tools/virtiofsd/passthrough_ll.c:774: +^Iint err;$ ERROR: code indent should never use tabs #803: FILE: tools/virtiofsd/passthrough_ll.c:776: +^Iif (lo_debug(req))$ WARNING: line over 80 characters #804: FILE: tools/virtiofsd/passthrough_ll.c:777: + fuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", name=%s)\n", ERROR: code indent should never use tabs #804: FILE: tools/virtiofsd/passthrough_ll.c:777: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_create(parent=%" PRIu64 ", name=%s)\n",$ ERROR: code indent should never use tabs #805: FILE: tools/virtiofsd/passthrough_ll.c:778: +^I^I^Iparent, name);$ ERROR: code indent should never use tabs #807: FILE: tools/virtiofsd/passthrough_ll.c:780: +^Ifd = openat(lo_fd(req, parent), name,$ ERROR: code indent should never use tabs #808: FILE: tools/virtiofsd/passthrough_ll.c:781: +^I^I (fi->flags | O_CREAT) & ~O_NOFOLLOW, mode);$ ERROR: code indent should never use tabs #809: FILE: tools/virtiofsd/passthrough_ll.c:782: +^Iif (fd == -1)$ ERROR: braces {} are necessary for all arms of this statement #809: FILE: tools/virtiofsd/passthrough_ll.c:782: + if (fd == -1) [...] ERROR: code indent should never use tabs #810: FILE: tools/virtiofsd/passthrough_ll.c:783: +^I^Ireturn (void) fuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #812: FILE: tools/virtiofsd/passthrough_ll.c:785: +^Ifi->fh = fd;$ ERROR: code indent should never use tabs #813: FILE: tools/virtiofsd/passthrough_ll.c:786: +^Iif (lo->cache == CACHE_NEVER)$ ERROR: braces {} are necessary for all arms of this statement #813: FILE: tools/virtiofsd/passthrough_ll.c:786: + if (lo->cache == CACHE_NEVER) [...] + else if (lo->cache == CACHE_ALWAYS) [...] ERROR: code indent should never use tabs #814: FILE: tools/virtiofsd/passthrough_ll.c:787: +^I^Ifi->direct_io = 1;$ ERROR: code indent should never use tabs #815: FILE: tools/virtiofsd/passthrough_ll.c:788: +^Ielse if (lo->cache == CACHE_ALWAYS)$ ERROR: braces {} are necessary for all arms of this statement #815: FILE: tools/virtiofsd/passthrough_ll.c:788: + else if (lo->cache == CACHE_ALWAYS) [...] ERROR: code indent should never use tabs #816: FILE: tools/virtiofsd/passthrough_ll.c:789: +^I^Ifi->keep_cache = 1;$ ERROR: code indent should never use tabs #818: FILE: tools/virtiofsd/passthrough_ll.c:791: +^Ierr = lo_do_lookup(req, parent, name, &e);$ ERROR: code indent should never use tabs #819: FILE: tools/virtiofsd/passthrough_ll.c:792: +^Iif (err)$ ERROR: braces {} are necessary for all arms of this statement #819: FILE: tools/virtiofsd/passthrough_ll.c:792: + if (err) [...] + else [...] ERROR: code indent should never use tabs #820: FILE: tools/virtiofsd/passthrough_ll.c:793: +^I^Ifuse_reply_err(req, err);$ ERROR: code indent should never use tabs #821: FILE: tools/virtiofsd/passthrough_ll.c:794: +^Ielse$ ERROR: code indent should never use tabs #822: FILE: tools/virtiofsd/passthrough_ll.c:795: +^I^Ifuse_reply_create(req, &e, fi);$ ERROR: code indent should never use tabs #826: FILE: tools/virtiofsd/passthrough_ll.c:799: +^I^I^Istruct fuse_file_info *fi)$ ERROR: code indent should never use tabs #828: FILE: tools/virtiofsd/passthrough_ll.c:801: +^Iint res;$ ERROR: code indent should never use tabs #829: FILE: tools/virtiofsd/passthrough_ll.c:802: +^Iint fd = dirfd(lo_dirp(fi)->dp);$ ERROR: code indent should never use tabs #830: FILE: tools/virtiofsd/passthrough_ll.c:803: +^I(void) ino;$ ERROR: code indent should never use tabs #831: FILE: tools/virtiofsd/passthrough_ll.c:804: +^Iif (datasync)$ ERROR: braces {} are necessary for all arms of this statement #831: FILE: tools/virtiofsd/passthrough_ll.c:804: + if (datasync) [...] + else [...] ERROR: code indent should never use tabs #832: FILE: tools/virtiofsd/passthrough_ll.c:805: +^I^Ires = fdatasync(fd);$ ERROR: code indent should never use tabs #833: FILE: tools/virtiofsd/passthrough_ll.c:806: +^Ielse$ ERROR: code indent should never use tabs #834: FILE: tools/virtiofsd/passthrough_ll.c:807: +^I^Ires = fsync(fd);$ ERROR: code indent should never use tabs #835: FILE: tools/virtiofsd/passthrough_ll.c:808: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #840: FILE: tools/virtiofsd/passthrough_ll.c:813: +^Iint fd;$ ERROR: code indent should never use tabs #841: FILE: tools/virtiofsd/passthrough_ll.c:814: +^Ichar buf[64];$ ERROR: code indent should never use tabs #842: FILE: tools/virtiofsd/passthrough_ll.c:815: +^Istruct lo_data *lo = lo_data(req);$ ERROR: code indent should never use tabs #844: FILE: tools/virtiofsd/passthrough_ll.c:817: +^Iif (lo_debug(req))$ ERROR: code indent should never use tabs #845: FILE: tools/virtiofsd/passthrough_ll.c:818: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n",$ ERROR: code indent should never use tabs #846: FILE: tools/virtiofsd/passthrough_ll.c:819: +^I^I^Iino, fi->flags);$ ERROR: code indent should never use tabs #848: FILE: tools/virtiofsd/passthrough_ll.c:821: +^I/* With writeback cache, kernel may send read requests even$ WARNING: Block comments use a leading /* on a separate line #848: FILE: tools/virtiofsd/passthrough_ll.c:821: + /* With writeback cache, kernel may send read requests even ERROR: code indent should never use tabs #849: FILE: tools/virtiofsd/passthrough_ll.c:822: +^I when userspace opened write-only */$ WARNING: Block comments use * on subsequent lines #849: FILE: tools/virtiofsd/passthrough_ll.c:822: + /* With writeback cache, kernel may send read requests even + when userspace opened write-only */ WARNING: Block comments use a trailing */ on a separate line #849: FILE: tools/virtiofsd/passthrough_ll.c:822: + when userspace opened write-only */ ERROR: code indent should never use tabs #850: FILE: tools/virtiofsd/passthrough_ll.c:823: +^Iif (lo->writeback && (fi->flags & O_ACCMODE) == O_WRONLY) {$ ERROR: code indent should never use tabs #851: FILE: tools/virtiofsd/passthrough_ll.c:824: +^I^Ifi->flags &= ~O_ACCMODE;$ ERROR: code indent should never use tabs #852: FILE: tools/virtiofsd/passthrough_ll.c:825: +^I^Ifi->flags |= O_RDWR;$ ERROR: code indent should never use tabs #853: FILE: tools/virtiofsd/passthrough_ll.c:826: +^I}$ ERROR: code indent should never use tabs #855: FILE: tools/virtiofsd/passthrough_ll.c:828: +^I/* With writeback cache, O_APPEND is handled by the kernel.$ WARNING: Block comments use a leading /* on a separate line #855: FILE: tools/virtiofsd/passthrough_ll.c:828: + /* With writeback cache, O_APPEND is handled by the kernel. ERROR: code indent should never use tabs #856: FILE: tools/virtiofsd/passthrough_ll.c:829: +^I This breaks atomicity (since the file may change in the$ WARNING: Block comments use * on subsequent lines #856: FILE: tools/virtiofsd/passthrough_ll.c:829: + /* With writeback cache, O_APPEND is handled by the kernel. + This breaks atomicity (since the file may change in the ERROR: code indent should never use tabs #857: FILE: tools/virtiofsd/passthrough_ll.c:830: +^I underlying filesystem, so that the kernel's idea of the$ ERROR: code indent should never use tabs #858: FILE: tools/virtiofsd/passthrough_ll.c:831: +^I end of the file isn't accurate anymore). In this example,$ ERROR: code indent should never use tabs #859: FILE: tools/virtiofsd/passthrough_ll.c:832: +^I we just accept that. A more rigorous filesystem may want$ ERROR: code indent should never use tabs #860: FILE: tools/virtiofsd/passthrough_ll.c:833: +^I to return an error here */$ WARNING: Block comments use a trailing */ on a separate line #860: FILE: tools/virtiofsd/passthrough_ll.c:833: + to return an error here */ ERROR: code indent should never use tabs #861: FILE: tools/virtiofsd/passthrough_ll.c:834: +^Iif (lo->writeback && (fi->flags & O_APPEND))$ ERROR: braces {} are necessary for all arms of this statement #861: FILE: tools/virtiofsd/passthrough_ll.c:834: + if (lo->writeback && (fi->flags & O_APPEND)) [...] ERROR: code indent should never use tabs #862: FILE: tools/virtiofsd/passthrough_ll.c:835: +^I^Ifi->flags &= ~O_APPEND;$ ERROR: code indent should never use tabs #864: FILE: tools/virtiofsd/passthrough_ll.c:837: +^Isprintf(buf, "/proc/self/fd/%i", lo_fd(req, ino));$ ERROR: code indent should never use tabs #865: FILE: tools/virtiofsd/passthrough_ll.c:838: +^Ifd = open(buf, fi->flags & ~O_NOFOLLOW);$ ERROR: code indent should never use tabs #866: FILE: tools/virtiofsd/passthrough_ll.c:839: +^Iif (fd == -1)$ ERROR: braces {} are necessary for all arms of this statement #866: FILE: tools/virtiofsd/passthrough_ll.c:839: + if (fd == -1) [...] ERROR: code indent should never use tabs #867: FILE: tools/virtiofsd/passthrough_ll.c:840: +^I^Ireturn (void) fuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #869: FILE: tools/virtiofsd/passthrough_ll.c:842: +^Ifi->fh = fd;$ ERROR: code indent should never use tabs #870: FILE: tools/virtiofsd/passthrough_ll.c:843: +^Iif (lo->cache == CACHE_NEVER)$ ERROR: braces {} are necessary for all arms of this statement #870: FILE: tools/virtiofsd/passthrough_ll.c:843: + if (lo->cache == CACHE_NEVER) [...] + else if (lo->cache == CACHE_ALWAYS) [...] ERROR: code indent should never use tabs #871: FILE: tools/virtiofsd/passthrough_ll.c:844: +^I^Ifi->direct_io = 1;$ ERROR: code indent should never use tabs #872: FILE: tools/virtiofsd/passthrough_ll.c:845: +^Ielse if (lo->cache == CACHE_ALWAYS)$ ERROR: braces {} are necessary for all arms of this statement #872: FILE: tools/virtiofsd/passthrough_ll.c:845: + else if (lo->cache == CACHE_ALWAYS) [...] ERROR: code indent should never use tabs #873: FILE: tools/virtiofsd/passthrough_ll.c:846: +^I^Ifi->keep_cache = 1;$ ERROR: code indent should never use tabs #874: FILE: tools/virtiofsd/passthrough_ll.c:847: +^Ifuse_reply_open(req, fi);$ WARNING: line over 80 characters #877: FILE: tools/virtiofsd/passthrough_ll.c:850: +static void lo_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) ERROR: code indent should never use tabs #879: FILE: tools/virtiofsd/passthrough_ll.c:852: +^I(void) ino;$ ERROR: code indent should never use tabs #881: FILE: tools/virtiofsd/passthrough_ll.c:854: +^Iclose(fi->fh);$ ERROR: code indent should never use tabs #882: FILE: tools/virtiofsd/passthrough_ll.c:855: +^Ifuse_reply_err(req, 0);$ ERROR: code indent should never use tabs #887: FILE: tools/virtiofsd/passthrough_ll.c:860: +^Iint res;$ ERROR: code indent should never use tabs #888: FILE: tools/virtiofsd/passthrough_ll.c:861: +^I(void) ino;$ ERROR: code indent should never use tabs #889: FILE: tools/virtiofsd/passthrough_ll.c:862: +^Ires = close(dup(fi->fh));$ ERROR: code indent should never use tabs #890: FILE: tools/virtiofsd/passthrough_ll.c:863: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #894: FILE: tools/virtiofsd/passthrough_ll.c:867: +^I^I struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #896: FILE: tools/virtiofsd/passthrough_ll.c:869: +^Iint res;$ ERROR: code indent should never use tabs #897: FILE: tools/virtiofsd/passthrough_ll.c:870: +^I(void) ino;$ ERROR: code indent should never use tabs #898: FILE: tools/virtiofsd/passthrough_ll.c:871: +^Iif (datasync)$ ERROR: braces {} are necessary for all arms of this statement #898: FILE: tools/virtiofsd/passthrough_ll.c:871: + if (datasync) [...] + else [...] ERROR: code indent should never use tabs #899: FILE: tools/virtiofsd/passthrough_ll.c:872: +^I^Ires = fdatasync(fi->fh);$ ERROR: code indent should never use tabs #900: FILE: tools/virtiofsd/passthrough_ll.c:873: +^Ielse$ ERROR: code indent should never use tabs #901: FILE: tools/virtiofsd/passthrough_ll.c:874: +^I^Ires = fsync(fi->fh);$ ERROR: code indent should never use tabs #902: FILE: tools/virtiofsd/passthrough_ll.c:875: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #906: FILE: tools/virtiofsd/passthrough_ll.c:879: +^I^I off_t offset, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #908: FILE: tools/virtiofsd/passthrough_ll.c:881: +^Istruct fuse_bufvec buf = FUSE_BUFVEC_INIT(size);$ ERROR: code indent should never use tabs #910: FILE: tools/virtiofsd/passthrough_ll.c:883: +^Iif (lo_debug(req))$ ERROR: code indent should never use tabs #911: FILE: tools/virtiofsd/passthrough_ll.c:884: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_read(ino=%" PRIu64 ", size=%zd, "$ ERROR: code indent should never use tabs #912: FILE: tools/virtiofsd/passthrough_ll.c:885: +^I^I^I"off=%lu)\n", ino, size, (unsigned long) offset);$ ERROR: code indent should never use tabs #914: FILE: tools/virtiofsd/passthrough_ll.c:887: +^Ibuf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$ ERROR: code indent should never use tabs #915: FILE: tools/virtiofsd/passthrough_ll.c:888: +^Ibuf.buf[0].fd = fi->fh;$ ERROR: code indent should never use tabs #916: FILE: tools/virtiofsd/passthrough_ll.c:889: +^Ibuf.buf[0].pos = offset;$ ERROR: code indent should never use tabs #918: FILE: tools/virtiofsd/passthrough_ll.c:891: +^Ifuse_reply_data(req, &buf, FUSE_BUF_SPLICE_MOVE);$ ERROR: code indent should never use tabs #922: FILE: tools/virtiofsd/passthrough_ll.c:895: +^I^I^I struct fuse_bufvec *in_buf, off_t off,$ ERROR: code indent should never use tabs #923: FILE: tools/virtiofsd/passthrough_ll.c:896: +^I^I^I struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #925: FILE: tools/virtiofsd/passthrough_ll.c:898: +^I(void) ino;$ ERROR: code indent should never use tabs #926: FILE: tools/virtiofsd/passthrough_ll.c:899: +^Issize_t res;$ ERROR: code indent should never use tabs #927: FILE: tools/virtiofsd/passthrough_ll.c:900: +^Istruct fuse_bufvec out_buf = FUSE_BUFVEC_INIT(fuse_buf_size(in_buf));$ ERROR: code indent should never use tabs #929: FILE: tools/virtiofsd/passthrough_ll.c:902: +^Iout_buf.buf[0].flags = FUSE_BUF_IS_FD | FUSE_BUF_FD_SEEK;$ ERROR: code indent should never use tabs #930: FILE: tools/virtiofsd/passthrough_ll.c:903: +^Iout_buf.buf[0].fd = fi->fh;$ ERROR: code indent should never use tabs #931: FILE: tools/virtiofsd/passthrough_ll.c:904: +^Iout_buf.buf[0].pos = off;$ ERROR: code indent should never use tabs #933: FILE: tools/virtiofsd/passthrough_ll.c:906: +^Iif (lo_debug(req))$ WARNING: line over 80 characters #934: FILE: tools/virtiofsd/passthrough_ll.c:907: + fuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, off=%lu)\n", ERROR: code indent should never use tabs #934: FILE: tools/virtiofsd/passthrough_ll.c:907: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_write(ino=%" PRIu64 ", size=%zd, off=%lu)\n",$ ERROR: code indent should never use tabs #935: FILE: tools/virtiofsd/passthrough_ll.c:908: +^I^I^Iino, out_buf.buf[0].size, (unsigned long) off);$ ERROR: code indent should never use tabs #937: FILE: tools/virtiofsd/passthrough_ll.c:910: +^Ires = fuse_buf_copy(&out_buf, in_buf, 0);$ ERROR: code indent should never use tabs #938: FILE: tools/virtiofsd/passthrough_ll.c:911: +^Iif(res < 0)$ ERROR: space required before the open parenthesis '(' #938: FILE: tools/virtiofsd/passthrough_ll.c:911: + if(res < 0) ERROR: braces {} are necessary for all arms of this statement #938: FILE: tools/virtiofsd/passthrough_ll.c:911: + if(res < 0) [...] + else [...] ERROR: code indent should never use tabs #939: FILE: tools/virtiofsd/passthrough_ll.c:912: +^I^Ifuse_reply_err(req, -res);$ ERROR: code indent should never use tabs #940: FILE: tools/virtiofsd/passthrough_ll.c:913: +^Ielse$ ERROR: code indent should never use tabs #941: FILE: tools/virtiofsd/passthrough_ll.c:914: +^I^Ifuse_reply_write(req, (size_t) res);$ ERROR: code indent should never use tabs #946: FILE: tools/virtiofsd/passthrough_ll.c:919: +^Iint res;$ ERROR: code indent should never use tabs #947: FILE: tools/virtiofsd/passthrough_ll.c:920: +^Istruct statvfs stbuf;$ ERROR: code indent should never use tabs #949: FILE: tools/virtiofsd/passthrough_ll.c:922: +^Ires = fstatvfs(lo_fd(req, ino), &stbuf);$ ERROR: code indent should never use tabs #950: FILE: tools/virtiofsd/passthrough_ll.c:923: +^Iif (res == -1)$ ERROR: braces {} are necessary for all arms of this statement #950: FILE: tools/virtiofsd/passthrough_ll.c:923: + if (res == -1) [...] + else [...] ERROR: code indent should never use tabs #951: FILE: tools/virtiofsd/passthrough_ll.c:924: +^I^Ifuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #952: FILE: tools/virtiofsd/passthrough_ll.c:925: +^Ielse$ ERROR: code indent should never use tabs #953: FILE: tools/virtiofsd/passthrough_ll.c:926: +^I^Ifuse_reply_statfs(req, &stbuf);$ ERROR: code indent should never use tabs #957: FILE: tools/virtiofsd/passthrough_ll.c:930: +^I^I^I off_t offset, off_t length, struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #959: FILE: tools/virtiofsd/passthrough_ll.c:932: +^Iint err = EOPNOTSUPP;$ ERROR: code indent should never use tabs #960: FILE: tools/virtiofsd/passthrough_ll.c:933: +^I(void) ino;$ ERROR: code indent should never use tabs #963: FILE: tools/virtiofsd/passthrough_ll.c:936: +^Ierr = fallocate(fi->fh, mode, offset, length);$ ERROR: code indent should never use tabs #964: FILE: tools/virtiofsd/passthrough_ll.c:937: +^Iif (err < 0)$ ERROR: braces {} are necessary for all arms of this statement #964: FILE: tools/virtiofsd/passthrough_ll.c:937: + if (err < 0) [...] ERROR: code indent should never use tabs #965: FILE: tools/virtiofsd/passthrough_ll.c:938: +^I^Ierr = errno;$ ERROR: code indent should never use tabs #968: FILE: tools/virtiofsd/passthrough_ll.c:941: +^Iif (mode) {$ ERROR: code indent should never use tabs #969: FILE: tools/virtiofsd/passthrough_ll.c:942: +^I^Ifuse_reply_err(req, EOPNOTSUPP);$ ERROR: code indent should never use tabs #970: FILE: tools/virtiofsd/passthrough_ll.c:943: +^I^Ireturn;$ ERROR: code indent should never use tabs #971: FILE: tools/virtiofsd/passthrough_ll.c:944: +^I}$ ERROR: code indent should never use tabs #973: FILE: tools/virtiofsd/passthrough_ll.c:946: +^Ierr = posix_fallocate(fi->fh, offset, length);$ ERROR: code indent should never use tabs #976: FILE: tools/virtiofsd/passthrough_ll.c:949: +^Ifuse_reply_err(req, err);$ ERROR: code indent should never use tabs #980: FILE: tools/virtiofsd/passthrough_ll.c:953: +^I^I int op)$ ERROR: code indent should never use tabs #982: FILE: tools/virtiofsd/passthrough_ll.c:955: +^Iint res;$ ERROR: code indent should never use tabs #983: FILE: tools/virtiofsd/passthrough_ll.c:956: +^I(void) ino;$ ERROR: code indent should never use tabs #985: FILE: tools/virtiofsd/passthrough_ll.c:958: +^Ires = flock(fi->fh, op);$ ERROR: code indent should never use tabs #987: FILE: tools/virtiofsd/passthrough_ll.c:960: +^Ifuse_reply_err(req, res == -1 ? errno : 0);$ ERROR: code indent should never use tabs #991: FILE: tools/virtiofsd/passthrough_ll.c:964: +^I^I^Isize_t size)$ ERROR: code indent should never use tabs #993: FILE: tools/virtiofsd/passthrough_ll.c:966: +^Ichar *value = NULL;$ ERROR: code indent should never use tabs #994: FILE: tools/virtiofsd/passthrough_ll.c:967: +^Ichar procname[64];$ ERROR: code indent should never use tabs #995: FILE: tools/virtiofsd/passthrough_ll.c:968: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #996: FILE: tools/virtiofsd/passthrough_ll.c:969: +^Issize_t ret;$ ERROR: code indent should never use tabs #997: FILE: tools/virtiofsd/passthrough_ll.c:970: +^Iint saverr;$ ERROR: code indent should never use tabs #999: FILE: tools/virtiofsd/passthrough_ll.c:972: +^Isaverr = ENOSYS;$ ERROR: code indent should never use tabs #1000: FILE: tools/virtiofsd/passthrough_ll.c:973: +^Iif (!lo_data(req)->xattr)$ ERROR: braces {} are necessary for all arms of this statement #1000: FILE: tools/virtiofsd/passthrough_ll.c:973: + if (!lo_data(req)->xattr) [...] ERROR: code indent should never use tabs #1001: FILE: tools/virtiofsd/passthrough_ll.c:974: +^I^Igoto out;$ ERROR: code indent should never use tabs #1003: FILE: tools/virtiofsd/passthrough_ll.c:976: +^Iif (lo_debug(req)) {$ ERROR: line over 90 characters #1004: FILE: tools/virtiofsd/passthrough_ll.c:977: + fuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s size=%zd)\n", ERROR: code indent should never use tabs #1004: FILE: tools/virtiofsd/passthrough_ll.c:977: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_getxattr(ino=%" PRIu64 ", name=%s size=%zd)\n",$ ERROR: code indent should never use tabs #1005: FILE: tools/virtiofsd/passthrough_ll.c:978: +^I^I^Iino, name, size);$ ERROR: code indent should never use tabs #1006: FILE: tools/virtiofsd/passthrough_ll.c:979: +^I}$ ERROR: code indent should never use tabs #1008: FILE: tools/virtiofsd/passthrough_ll.c:981: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #1009: FILE: tools/virtiofsd/passthrough_ll.c:982: +^I^I/* Sorry, no race free way to getxattr on symlink. */$ ERROR: code indent should never use tabs #1010: FILE: tools/virtiofsd/passthrough_ll.c:983: +^I^Isaverr = EPERM;$ ERROR: code indent should never use tabs #1011: FILE: tools/virtiofsd/passthrough_ll.c:984: +^I^Igoto out;$ ERROR: code indent should never use tabs #1012: FILE: tools/virtiofsd/passthrough_ll.c:985: +^I}$ ERROR: code indent should never use tabs #1014: FILE: tools/virtiofsd/passthrough_ll.c:987: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #1016: FILE: tools/virtiofsd/passthrough_ll.c:989: +^Iif (size) {$ ERROR: code indent should never use tabs #1017: FILE: tools/virtiofsd/passthrough_ll.c:990: +^I^Ivalue = malloc(size);$ ERROR: code indent should never use tabs #1018: FILE: tools/virtiofsd/passthrough_ll.c:991: +^I^Iif (!value)$ ERROR: braces {} are necessary for all arms of this statement #1018: FILE: tools/virtiofsd/passthrough_ll.c:991: + if (!value) [...] ERROR: code indent should never use tabs #1019: FILE: tools/virtiofsd/passthrough_ll.c:992: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1021: FILE: tools/virtiofsd/passthrough_ll.c:994: +^I^Iret = getxattr(procname, name, value, size);$ ERROR: code indent should never use tabs #1022: FILE: tools/virtiofsd/passthrough_ll.c:995: +^I^Iif (ret == -1)$ ERROR: braces {} are necessary for all arms of this statement #1022: FILE: tools/virtiofsd/passthrough_ll.c:995: + if (ret == -1) [...] ERROR: code indent should never use tabs #1023: FILE: tools/virtiofsd/passthrough_ll.c:996: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1024: FILE: tools/virtiofsd/passthrough_ll.c:997: +^I^Isaverr = 0;$ ERROR: code indent should never use tabs #1025: FILE: tools/virtiofsd/passthrough_ll.c:998: +^I^Iif (ret == 0)$ ERROR: braces {} are necessary for all arms of this statement #1025: FILE: tools/virtiofsd/passthrough_ll.c:998: + if (ret == 0) [...] ERROR: code indent should never use tabs #1026: FILE: tools/virtiofsd/passthrough_ll.c:999: +^I^I^Igoto out;$ ERROR: code indent should never use tabs #1028: FILE: tools/virtiofsd/passthrough_ll.c:1001: +^I^Ifuse_reply_buf(req, value, ret);$ ERROR: code indent should never use tabs #1029: FILE: tools/virtiofsd/passthrough_ll.c:1002: +^I} else {$ ERROR: code indent should never use tabs #1030: FILE: tools/virtiofsd/passthrough_ll.c:1003: +^I^Iret = getxattr(procname, name, NULL, 0);$ ERROR: code indent should never use tabs #1031: FILE: tools/virtiofsd/passthrough_ll.c:1004: +^I^Iif (ret == -1)$ ERROR: braces {} are necessary for all arms of this statement #1031: FILE: tools/virtiofsd/passthrough_ll.c:1004: + if (ret == -1) [...] ERROR: code indent should never use tabs #1032: FILE: tools/virtiofsd/passthrough_ll.c:1005: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1034: FILE: tools/virtiofsd/passthrough_ll.c:1007: +^I^Ifuse_reply_xattr(req, ret);$ ERROR: code indent should never use tabs #1035: FILE: tools/virtiofsd/passthrough_ll.c:1008: +^I}$ ERROR: code indent should never use tabs #1037: FILE: tools/virtiofsd/passthrough_ll.c:1010: +^Ifree(value);$ ERROR: code indent should never use tabs #1038: FILE: tools/virtiofsd/passthrough_ll.c:1011: +^Ireturn;$ ERROR: code indent should never use tabs #1041: FILE: tools/virtiofsd/passthrough_ll.c:1014: +^Isaverr = errno;$ ERROR: code indent should never use tabs #1043: FILE: tools/virtiofsd/passthrough_ll.c:1016: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #1044: FILE: tools/virtiofsd/passthrough_ll.c:1017: +^Igoto out_free;$ ERROR: code indent should never use tabs #1049: FILE: tools/virtiofsd/passthrough_ll.c:1022: +^Ichar *value = NULL;$ ERROR: code indent should never use tabs #1050: FILE: tools/virtiofsd/passthrough_ll.c:1023: +^Ichar procname[64];$ ERROR: code indent should never use tabs #1051: FILE: tools/virtiofsd/passthrough_ll.c:1024: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #1052: FILE: tools/virtiofsd/passthrough_ll.c:1025: +^Issize_t ret;$ ERROR: code indent should never use tabs #1053: FILE: tools/virtiofsd/passthrough_ll.c:1026: +^Iint saverr;$ ERROR: code indent should never use tabs #1055: FILE: tools/virtiofsd/passthrough_ll.c:1028: +^Isaverr = ENOSYS;$ ERROR: code indent should never use tabs #1056: FILE: tools/virtiofsd/passthrough_ll.c:1029: +^Iif (!lo_data(req)->xattr)$ ERROR: braces {} are necessary for all arms of this statement #1056: FILE: tools/virtiofsd/passthrough_ll.c:1029: + if (!lo_data(req)->xattr) [...] ERROR: code indent should never use tabs #1057: FILE: tools/virtiofsd/passthrough_ll.c:1030: +^I^Igoto out;$ ERROR: code indent should never use tabs #1059: FILE: tools/virtiofsd/passthrough_ll.c:1032: +^Iif (lo_debug(req)) {$ WARNING: line over 80 characters #1060: FILE: tools/virtiofsd/passthrough_ll.c:1033: + fuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", size=%zd)\n", ERROR: code indent should never use tabs #1060: FILE: tools/virtiofsd/passthrough_ll.c:1033: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_listxattr(ino=%" PRIu64 ", size=%zd)\n",$ ERROR: code indent should never use tabs #1061: FILE: tools/virtiofsd/passthrough_ll.c:1034: +^I^I^Iino, size);$ ERROR: code indent should never use tabs #1062: FILE: tools/virtiofsd/passthrough_ll.c:1035: +^I}$ ERROR: code indent should never use tabs #1064: FILE: tools/virtiofsd/passthrough_ll.c:1037: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #1065: FILE: tools/virtiofsd/passthrough_ll.c:1038: +^I^I/* Sorry, no race free way to listxattr on symlink. */$ ERROR: code indent should never use tabs #1066: FILE: tools/virtiofsd/passthrough_ll.c:1039: +^I^Isaverr = EPERM;$ ERROR: code indent should never use tabs #1067: FILE: tools/virtiofsd/passthrough_ll.c:1040: +^I^Igoto out;$ ERROR: code indent should never use tabs #1068: FILE: tools/virtiofsd/passthrough_ll.c:1041: +^I}$ ERROR: code indent should never use tabs #1070: FILE: tools/virtiofsd/passthrough_ll.c:1043: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #1072: FILE: tools/virtiofsd/passthrough_ll.c:1045: +^Iif (size) {$ ERROR: code indent should never use tabs #1073: FILE: tools/virtiofsd/passthrough_ll.c:1046: +^I^Ivalue = malloc(size);$ ERROR: code indent should never use tabs #1074: FILE: tools/virtiofsd/passthrough_ll.c:1047: +^I^Iif (!value)$ ERROR: braces {} are necessary for all arms of this statement #1074: FILE: tools/virtiofsd/passthrough_ll.c:1047: + if (!value) [...] ERROR: code indent should never use tabs #1075: FILE: tools/virtiofsd/passthrough_ll.c:1048: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1077: FILE: tools/virtiofsd/passthrough_ll.c:1050: +^I^Iret = listxattr(procname, value, size);$ ERROR: code indent should never use tabs #1078: FILE: tools/virtiofsd/passthrough_ll.c:1051: +^I^Iif (ret == -1)$ ERROR: braces {} are necessary for all arms of this statement #1078: FILE: tools/virtiofsd/passthrough_ll.c:1051: + if (ret == -1) [...] ERROR: code indent should never use tabs #1079: FILE: tools/virtiofsd/passthrough_ll.c:1052: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1080: FILE: tools/virtiofsd/passthrough_ll.c:1053: +^I^Isaverr = 0;$ ERROR: code indent should never use tabs #1081: FILE: tools/virtiofsd/passthrough_ll.c:1054: +^I^Iif (ret == 0)$ ERROR: braces {} are necessary for all arms of this statement #1081: FILE: tools/virtiofsd/passthrough_ll.c:1054: + if (ret == 0) [...] ERROR: code indent should never use tabs #1082: FILE: tools/virtiofsd/passthrough_ll.c:1055: +^I^I^Igoto out;$ ERROR: code indent should never use tabs #1084: FILE: tools/virtiofsd/passthrough_ll.c:1057: +^I^Ifuse_reply_buf(req, value, ret);$ ERROR: code indent should never use tabs #1085: FILE: tools/virtiofsd/passthrough_ll.c:1058: +^I} else {$ ERROR: code indent should never use tabs #1086: FILE: tools/virtiofsd/passthrough_ll.c:1059: +^I^Iret = listxattr(procname, NULL, 0);$ ERROR: code indent should never use tabs #1087: FILE: tools/virtiofsd/passthrough_ll.c:1060: +^I^Iif (ret == -1)$ ERROR: braces {} are necessary for all arms of this statement #1087: FILE: tools/virtiofsd/passthrough_ll.c:1060: + if (ret == -1) [...] ERROR: code indent should never use tabs #1088: FILE: tools/virtiofsd/passthrough_ll.c:1061: +^I^I^Igoto out_err;$ ERROR: code indent should never use tabs #1090: FILE: tools/virtiofsd/passthrough_ll.c:1063: +^I^Ifuse_reply_xattr(req, ret);$ ERROR: code indent should never use tabs #1091: FILE: tools/virtiofsd/passthrough_ll.c:1064: +^I}$ ERROR: code indent should never use tabs #1093: FILE: tools/virtiofsd/passthrough_ll.c:1066: +^Ifree(value);$ ERROR: code indent should never use tabs #1094: FILE: tools/virtiofsd/passthrough_ll.c:1067: +^Ireturn;$ ERROR: code indent should never use tabs #1097: FILE: tools/virtiofsd/passthrough_ll.c:1070: +^Isaverr = errno;$ ERROR: code indent should never use tabs #1099: FILE: tools/virtiofsd/passthrough_ll.c:1072: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #1100: FILE: tools/virtiofsd/passthrough_ll.c:1073: +^Igoto out_free;$ ERROR: code indent should never use tabs #1104: FILE: tools/virtiofsd/passthrough_ll.c:1077: +^I^I^Iconst char *value, size_t size, int flags)$ ERROR: code indent should never use tabs #1106: FILE: tools/virtiofsd/passthrough_ll.c:1079: +^Ichar procname[64];$ ERROR: code indent should never use tabs #1107: FILE: tools/virtiofsd/passthrough_ll.c:1080: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #1108: FILE: tools/virtiofsd/passthrough_ll.c:1081: +^Issize_t ret;$ ERROR: code indent should never use tabs #1109: FILE: tools/virtiofsd/passthrough_ll.c:1082: +^Iint saverr;$ ERROR: code indent should never use tabs #1111: FILE: tools/virtiofsd/passthrough_ll.c:1084: +^Isaverr = ENOSYS;$ ERROR: code indent should never use tabs #1112: FILE: tools/virtiofsd/passthrough_ll.c:1085: +^Iif (!lo_data(req)->xattr)$ ERROR: braces {} are necessary for all arms of this statement #1112: FILE: tools/virtiofsd/passthrough_ll.c:1085: + if (!lo_data(req)->xattr) [...] ERROR: code indent should never use tabs #1113: FILE: tools/virtiofsd/passthrough_ll.c:1086: +^I^Igoto out;$ ERROR: code indent should never use tabs #1115: FILE: tools/virtiofsd/passthrough_ll.c:1088: +^Iif (lo_debug(req)) {$ ERROR: line over 90 characters #1116: FILE: tools/virtiofsd/passthrough_ll.c:1089: + fuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s value=%s size=%zd)\n", ERROR: code indent should never use tabs #1116: FILE: tools/virtiofsd/passthrough_ll.c:1089: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_setxattr(ino=%" PRIu64 ", name=%s value=%s size=%zd)\n",$ ERROR: code indent should never use tabs #1117: FILE: tools/virtiofsd/passthrough_ll.c:1090: +^I^I^Iino, name, value, size);$ ERROR: code indent should never use tabs #1118: FILE: tools/virtiofsd/passthrough_ll.c:1091: +^I}$ ERROR: code indent should never use tabs #1120: FILE: tools/virtiofsd/passthrough_ll.c:1093: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #1121: FILE: tools/virtiofsd/passthrough_ll.c:1094: +^I^I/* Sorry, no race free way to setxattr on symlink. */$ ERROR: code indent should never use tabs #1122: FILE: tools/virtiofsd/passthrough_ll.c:1095: +^I^Isaverr = EPERM;$ ERROR: code indent should never use tabs #1123: FILE: tools/virtiofsd/passthrough_ll.c:1096: +^I^Igoto out;$ ERROR: code indent should never use tabs #1124: FILE: tools/virtiofsd/passthrough_ll.c:1097: +^I}$ ERROR: code indent should never use tabs #1126: FILE: tools/virtiofsd/passthrough_ll.c:1099: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #1128: FILE: tools/virtiofsd/passthrough_ll.c:1101: +^Iret = setxattr(procname, name, value, size, flags);$ ERROR: code indent should never use tabs #1129: FILE: tools/virtiofsd/passthrough_ll.c:1102: +^Isaverr = ret == -1 ? errno : 0;$ ERROR: code indent should never use tabs #1132: FILE: tools/virtiofsd/passthrough_ll.c:1105: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #1137: FILE: tools/virtiofsd/passthrough_ll.c:1110: +^Ichar procname[64];$ ERROR: code indent should never use tabs #1138: FILE: tools/virtiofsd/passthrough_ll.c:1111: +^Istruct lo_inode *inode = lo_inode(req, ino);$ ERROR: code indent should never use tabs #1139: FILE: tools/virtiofsd/passthrough_ll.c:1112: +^Issize_t ret;$ ERROR: code indent should never use tabs #1140: FILE: tools/virtiofsd/passthrough_ll.c:1113: +^Iint saverr;$ ERROR: code indent should never use tabs #1142: FILE: tools/virtiofsd/passthrough_ll.c:1115: +^Isaverr = ENOSYS;$ ERROR: code indent should never use tabs #1143: FILE: tools/virtiofsd/passthrough_ll.c:1116: +^Iif (!lo_data(req)->xattr)$ ERROR: braces {} are necessary for all arms of this statement #1143: FILE: tools/virtiofsd/passthrough_ll.c:1116: + if (!lo_data(req)->xattr) [...] ERROR: code indent should never use tabs #1144: FILE: tools/virtiofsd/passthrough_ll.c:1117: +^I^Igoto out;$ ERROR: code indent should never use tabs #1146: FILE: tools/virtiofsd/passthrough_ll.c:1119: +^Iif (lo_debug(req)) {$ WARNING: line over 80 characters #1147: FILE: tools/virtiofsd/passthrough_ll.c:1120: + fuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", name=%s)\n", ERROR: code indent should never use tabs #1147: FILE: tools/virtiofsd/passthrough_ll.c:1120: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_removexattr(ino=%" PRIu64 ", name=%s)\n",$ ERROR: code indent should never use tabs #1148: FILE: tools/virtiofsd/passthrough_ll.c:1121: +^I^I^Iino, name);$ ERROR: code indent should never use tabs #1149: FILE: tools/virtiofsd/passthrough_ll.c:1122: +^I}$ ERROR: code indent should never use tabs #1151: FILE: tools/virtiofsd/passthrough_ll.c:1124: +^Iif (inode->is_symlink) {$ ERROR: code indent should never use tabs #1152: FILE: tools/virtiofsd/passthrough_ll.c:1125: +^I^I/* Sorry, no race free way to setxattr on symlink. */$ ERROR: code indent should never use tabs #1153: FILE: tools/virtiofsd/passthrough_ll.c:1126: +^I^Isaverr = EPERM;$ ERROR: code indent should never use tabs #1154: FILE: tools/virtiofsd/passthrough_ll.c:1127: +^I^Igoto out;$ ERROR: code indent should never use tabs #1155: FILE: tools/virtiofsd/passthrough_ll.c:1128: +^I}$ ERROR: code indent should never use tabs #1157: FILE: tools/virtiofsd/passthrough_ll.c:1130: +^Isprintf(procname, "/proc/self/fd/%i", inode->fd);$ ERROR: code indent should never use tabs #1159: FILE: tools/virtiofsd/passthrough_ll.c:1132: +^Iret = removexattr(procname, name);$ ERROR: code indent should never use tabs #1160: FILE: tools/virtiofsd/passthrough_ll.c:1133: +^Isaverr = ret == -1 ? errno : 0;$ ERROR: code indent should never use tabs #1163: FILE: tools/virtiofsd/passthrough_ll.c:1136: +^Ifuse_reply_err(req, saverr);$ ERROR: code indent should never use tabs #1168: FILE: tools/virtiofsd/passthrough_ll.c:1141: +^I^I^I struct fuse_file_info *fi_in,$ ERROR: code indent should never use tabs #1169: FILE: tools/virtiofsd/passthrough_ll.c:1142: +^I^I^I fuse_ino_t ino_out, off_t off_out,$ ERROR: code indent should never use tabs #1170: FILE: tools/virtiofsd/passthrough_ll.c:1143: +^I^I^I struct fuse_file_info *fi_out, size_t len,$ ERROR: code indent should never use tabs #1171: FILE: tools/virtiofsd/passthrough_ll.c:1144: +^I^I^I int flags)$ ERROR: code indent should never use tabs #1173: FILE: tools/virtiofsd/passthrough_ll.c:1146: +^Issize_t res;$ ERROR: code indent should never use tabs #1175: FILE: tools/virtiofsd/passthrough_ll.c:1148: +^Iif (lo_debug(req))$ WARNING: line over 80 characters #1176: FILE: tools/virtiofsd/passthrough_ll.c:1149: + fuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 "/fd=%lu, " ERROR: code indent should never use tabs #1176: FILE: tools/virtiofsd/passthrough_ll.c:1149: +^I^Ifuse_log(FUSE_LOG_DEBUG, "lo_copy_file_range(ino=%" PRIu64 "/fd=%lu, "$ ERROR: code indent should never use tabs #1177: FILE: tools/virtiofsd/passthrough_ll.c:1150: +^I^I^I^I"off=%lu, ino=%" PRIu64 "/fd=%lu, "$ ERROR: code indent should never use tabs #1178: FILE: tools/virtiofsd/passthrough_ll.c:1151: +^I^I^I^I"off=%lu, size=%zd, flags=0x%x)\n",$ ERROR: code indent should never use tabs #1179: FILE: tools/virtiofsd/passthrough_ll.c:1152: +^I^I^Iino_in, fi_in->fh, off_in, ino_out, fi_out->fh, off_out,$ ERROR: code indent should never use tabs #1180: FILE: tools/virtiofsd/passthrough_ll.c:1153: +^I^I^Ilen, flags);$ ERROR: code indent should never use tabs #1182: FILE: tools/virtiofsd/passthrough_ll.c:1155: +^Ires = copy_file_range(fi_in->fh, &off_in, fi_out->fh, &off_out, len,$ ERROR: code indent should never use tabs #1183: FILE: tools/virtiofsd/passthrough_ll.c:1156: +^I^I^I flags);$ ERROR: code indent should never use tabs #1184: FILE: tools/virtiofsd/passthrough_ll.c:1157: +^Iif (res < 0)$ ERROR: braces {} are necessary for all arms of this statement #1184: FILE: tools/virtiofsd/passthrough_ll.c:1157: + if (res < 0) [...] + else [...] ERROR: code indent should never use tabs #1185: FILE: tools/virtiofsd/passthrough_ll.c:1158: +^I^Ifuse_reply_err(req, -errno);$ ERROR: code indent should never use tabs #1186: FILE: tools/virtiofsd/passthrough_ll.c:1159: +^Ielse$ ERROR: code indent should never use tabs #1187: FILE: tools/virtiofsd/passthrough_ll.c:1160: +^I^Ifuse_reply_write(req, res);$ ERROR: code indent should never use tabs #1192: FILE: tools/virtiofsd/passthrough_ll.c:1165: +^I^I struct fuse_file_info *fi)$ ERROR: code indent should never use tabs #1194: FILE: tools/virtiofsd/passthrough_ll.c:1167: +^Ioff_t res;$ ERROR: code indent should never use tabs #1196: FILE: tools/virtiofsd/passthrough_ll.c:1169: +^I(void)ino;$ ERROR: code indent should never use tabs #1197: FILE: tools/virtiofsd/passthrough_ll.c:1170: +^Ires = lseek(fi->fh, off, whence);$ ERROR: code indent should never use tabs #1198: FILE: tools/virtiofsd/passthrough_ll.c:1171: +^Iif (res != -1)$ ERROR: braces {} are necessary for all arms of this statement #1198: FILE: tools/virtiofsd/passthrough_ll.c:1171: + if (res != -1) [...] + else [...] ERROR: code indent should never use tabs #1199: FILE: tools/virtiofsd/passthrough_ll.c:1172: +^I^Ifuse_reply_lseek(req, res);$ ERROR: code indent should never use tabs #1200: FILE: tools/virtiofsd/passthrough_ll.c:1173: +^Ielse$ ERROR: code indent should never use tabs #1201: FILE: tools/virtiofsd/passthrough_ll.c:1174: +^I^Ifuse_reply_err(req, errno);$ ERROR: code indent should never use tabs #1205: FILE: tools/virtiofsd/passthrough_ll.c:1178: +^I.init^I^I= lo_init,$ ERROR: code indent should never use tabs #1206: FILE: tools/virtiofsd/passthrough_ll.c:1179: +^I.lookup^I^I= lo_lookup,$ ERROR: code indent should never use tabs #1207: FILE: tools/virtiofsd/passthrough_ll.c:1180: +^I.mkdir^I^I= lo_mkdir,$ ERROR: code indent should never use tabs #1208: FILE: tools/virtiofsd/passthrough_ll.c:1181: +^I.mknod^I^I= lo_mknod,$ ERROR: code indent should never use tabs #1209: FILE: tools/virtiofsd/passthrough_ll.c:1182: +^I.symlink^I= lo_symlink,$ ERROR: code indent should never use tabs #1210: FILE: tools/virtiofsd/passthrough_ll.c:1183: +^I.link^I^I= lo_link,$ ERROR: code indent should never use tabs #1211: FILE: tools/virtiofsd/passthrough_ll.c:1184: +^I.unlink^I^I= lo_unlink,$ ERROR: code indent should never use tabs #1212: FILE: tools/virtiofsd/passthrough_ll.c:1185: +^I.rmdir^I^I= lo_rmdir,$ ERROR: code indent should never use tabs #1213: FILE: tools/virtiofsd/passthrough_ll.c:1186: +^I.rename^I^I= lo_rename,$ ERROR: code indent should never use tabs #1214: FILE: tools/virtiofsd/passthrough_ll.c:1187: +^I.forget^I^I= lo_forget,$ ERROR: code indent should never use tabs #1215: FILE: tools/virtiofsd/passthrough_ll.c:1188: +^I.forget_multi^I= lo_forget_multi,$ ERROR: code indent should never use tabs #1216: FILE: tools/virtiofsd/passthrough_ll.c:1189: +^I.getattr^I= lo_getattr,$ ERROR: code indent should never use tabs #1217: FILE: tools/virtiofsd/passthrough_ll.c:1190: +^I.setattr^I= lo_setattr,$ ERROR: code indent should never use tabs #1218: FILE: tools/virtiofsd/passthrough_ll.c:1191: +^I.readlink^I= lo_readlink,$ ERROR: code indent should never use tabs #1219: FILE: tools/virtiofsd/passthrough_ll.c:1192: +^I.opendir^I= lo_opendir,$ ERROR: code indent should never use tabs #1220: FILE: tools/virtiofsd/passthrough_ll.c:1193: +^I.readdir^I= lo_readdir,$ ERROR: code indent should never use tabs #1221: FILE: tools/virtiofsd/passthrough_ll.c:1194: +^I.readdirplus^I= lo_readdirplus,$ ERROR: code indent should never use tabs #1222: FILE: tools/virtiofsd/passthrough_ll.c:1195: +^I.releasedir^I= lo_releasedir,$ ERROR: code indent should never use tabs #1223: FILE: tools/virtiofsd/passthrough_ll.c:1196: +^I.fsyncdir^I= lo_fsyncdir,$ ERROR: code indent should never use tabs #1224: FILE: tools/virtiofsd/passthrough_ll.c:1197: +^I.create^I^I= lo_create,$ ERROR: code indent should never use tabs #1225: FILE: tools/virtiofsd/passthrough_ll.c:1198: +^I.open^I^I= lo_open,$ ERROR: code indent should never use tabs #1226: FILE: tools/virtiofsd/passthrough_ll.c:1199: +^I.release^I= lo_release,$ ERROR: code indent should never use tabs #1227: FILE: tools/virtiofsd/passthrough_ll.c:1200: +^I.flush^I^I= lo_flush,$ ERROR: code indent should never use tabs #1228: FILE: tools/virtiofsd/passthrough_ll.c:1201: +^I.fsync^I^I= lo_fsync,$ ERROR: code indent should never use tabs #1229: FILE: tools/virtiofsd/passthrough_ll.c:1202: +^I.read^I^I= lo_read,$ ERROR: code indent should never use tabs #1230: FILE: tools/virtiofsd/passthrough_ll.c:1203: +^I.write_buf = lo_write_buf,$ ERROR: code indent should never use tabs #1231: FILE: tools/virtiofsd/passthrough_ll.c:1204: +^I.statfs^I^I= lo_statfs,$ ERROR: code indent should never use tabs #1232: FILE: tools/virtiofsd/passthrough_ll.c:1205: +^I.fallocate^I= lo_fallocate,$ ERROR: code indent should never use tabs #1233: FILE: tools/virtiofsd/passthrough_ll.c:1206: +^I.flock^I^I= lo_flock,$ ERROR: code indent should never use tabs #1234: FILE: tools/virtiofsd/passthrough_ll.c:1207: +^I.getxattr^I= lo_getxattr,$ ERROR: code indent should never use tabs #1235: FILE: tools/virtiofsd/passthrough_ll.c:1208: +^I.listxattr^I= lo_listxattr,$ ERROR: code indent should never use tabs #1236: FILE: tools/virtiofsd/passthrough_ll.c:1209: +^I.setxattr^I= lo_setxattr,$ ERROR: code indent should never use tabs #1237: FILE: tools/virtiofsd/passthrough_ll.c:1210: +^I.removexattr^I= lo_removexattr,$ ERROR: code indent should never use tabs #1239: FILE: tools/virtiofsd/passthrough_ll.c:1212: +^I.copy_file_range = lo_copy_file_range,$ ERROR: code indent should never use tabs #1241: FILE: tools/virtiofsd/passthrough_ll.c:1214: +^I.lseek^I^I= lo_lseek,$ ERROR: code indent should never use tabs #1246: FILE: tools/virtiofsd/passthrough_ll.c:1219: +^Istruct fuse_args args = FUSE_ARGS_INIT(argc, argv);$ ERROR: code indent should never use tabs #1247: FILE: tools/virtiofsd/passthrough_ll.c:1220: +^Istruct fuse_session *se;$ ERROR: code indent should never use tabs #1248: FILE: tools/virtiofsd/passthrough_ll.c:1221: +^Istruct fuse_cmdline_opts opts;$ ERROR: code indent should never use tabs #1249: FILE: tools/virtiofsd/passthrough_ll.c:1222: +^Istruct lo_data lo = { .debug = 0,$ ERROR: code indent should never use tabs #1250: FILE: tools/virtiofsd/passthrough_ll.c:1223: +^I .writeback = 0 };$ ERROR: code indent should never use tabs #1251: FILE: tools/virtiofsd/passthrough_ll.c:1224: +^Iint ret = -1;$ ERROR: code indent should never use tabs #1253: FILE: tools/virtiofsd/passthrough_ll.c:1226: +^I/* Don't mask creation mode, kernel already did that */$ ERROR: code indent should never use tabs #1254: FILE: tools/virtiofsd/passthrough_ll.c:1227: +^Iumask(0);$ ERROR: code indent should never use tabs #1256: FILE: tools/virtiofsd/passthrough_ll.c:1229: +^Ipthread_mutex_init(&lo.mutex, NULL);$ ERROR: code indent should never use tabs #1257: FILE: tools/virtiofsd/passthrough_ll.c:1230: +^Ilo.root.next = lo.root.prev = &lo.root;$ ERROR: code indent should never use tabs #1258: FILE: tools/virtiofsd/passthrough_ll.c:1231: +^Ilo.root.fd = -1;$ ERROR: code indent should never use tabs #1259: FILE: tools/virtiofsd/passthrough_ll.c:1232: +^Ilo.cache = CACHE_NORMAL;$ ERROR: code indent should never use tabs #1261: FILE: tools/virtiofsd/passthrough_ll.c:1234: +^Iif (fuse_parse_cmdline(&args, &opts) != 0)$ ERROR: braces {} are necessary for all arms of this statement #1261: FILE: tools/virtiofsd/passthrough_ll.c:1234: + if (fuse_parse_cmdline(&args, &opts) != 0) [...] ERROR: code indent should never use tabs #1262: FILE: tools/virtiofsd/passthrough_ll.c:1235: +^I^Ireturn 1;$ ERROR: code indent should never use tabs #1263: FILE: tools/virtiofsd/passthrough_ll.c:1236: +^Iif (opts.show_help) {$ ERROR: code indent should never use tabs #1264: FILE: tools/virtiofsd/passthrough_ll.c:1237: +^I^Iprintf("usage: %s [options] <mountpoint>\n\n", argv[0]);$ ERROR: code indent should never use tabs #1265: FILE: tools/virtiofsd/passthrough_ll.c:1238: +^I^Ifuse_cmdline_help();$ ERROR: code indent should never use tabs #1266: FILE: tools/virtiofsd/passthrough_ll.c:1239: +^I^Ifuse_lowlevel_help();$ ERROR: code indent should never use tabs #1267: FILE: tools/virtiofsd/passthrough_ll.c:1240: +^I^Iret = 0;$ ERROR: code indent should never use tabs #1268: FILE: tools/virtiofsd/passthrough_ll.c:1241: +^I^Igoto err_out1;$ ERROR: code indent should never use tabs #1269: FILE: tools/virtiofsd/passthrough_ll.c:1242: +^I} else if (opts.show_version) {$ ERROR: code indent should never use tabs #1270: FILE: tools/virtiofsd/passthrough_ll.c:1243: +^I^Iprintf("FUSE library version %s\n", fuse_pkgversion());$ ERROR: code indent should never use tabs #1271: FILE: tools/virtiofsd/passthrough_ll.c:1244: +^I^Ifuse_lowlevel_version();$ ERROR: code indent should never use tabs #1272: FILE: tools/virtiofsd/passthrough_ll.c:1245: +^I^Iret = 0;$ ERROR: code indent should never use tabs #1273: FILE: tools/virtiofsd/passthrough_ll.c:1246: +^I^Igoto err_out1;$ ERROR: code indent should never use tabs #1274: FILE: tools/virtiofsd/passthrough_ll.c:1247: +^I}$ ERROR: code indent should never use tabs #1276: FILE: tools/virtiofsd/passthrough_ll.c:1249: +^Iif(opts.mountpoint == NULL) {$ ERROR: space required before the open parenthesis '(' #1276: FILE: tools/virtiofsd/passthrough_ll.c:1249: + if(opts.mountpoint == NULL) { ERROR: code indent should never use tabs #1277: FILE: tools/virtiofsd/passthrough_ll.c:1250: +^I^Iprintf("usage: %s [options] <mountpoint>\n", argv[0]);$ ERROR: code indent should never use tabs #1278: FILE: tools/virtiofsd/passthrough_ll.c:1251: +^I^Iprintf(" %s --help\n", argv[0]);$ ERROR: code indent should never use tabs #1279: FILE: tools/virtiofsd/passthrough_ll.c:1252: +^I^Iret = 1;$ ERROR: code indent should never use tabs #1280: FILE: tools/virtiofsd/passthrough_ll.c:1253: +^I^Igoto err_out1;$ ERROR: code indent should never use tabs #1281: FILE: tools/virtiofsd/passthrough_ll.c:1254: +^I}$ ERROR: code indent should never use tabs #1283: FILE: tools/virtiofsd/passthrough_ll.c:1256: +^Iif (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)$ ERROR: spaces required around that '==' (ctx:VxW) #1283: FILE: tools/virtiofsd/passthrough_ll.c:1256: + if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1) ^ ERROR: braces {} are necessary for all arms of this statement #1283: FILE: tools/virtiofsd/passthrough_ll.c:1256: + if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1) [...] ERROR: code indent should never use tabs #1284: FILE: tools/virtiofsd/passthrough_ll.c:1257: +^I^Ireturn 1;$ ERROR: code indent should never use tabs #1286: FILE: tools/virtiofsd/passthrough_ll.c:1259: +^Ilo.debug = opts.debug;$ ERROR: code indent should never use tabs #1287: FILE: tools/virtiofsd/passthrough_ll.c:1260: +^Ilo.root.refcount = 2;$ ERROR: code indent should never use tabs #1288: FILE: tools/virtiofsd/passthrough_ll.c:1261: +^Iif (lo.source) {$ ERROR: code indent should never use tabs #1289: FILE: tools/virtiofsd/passthrough_ll.c:1262: +^I^Istruct stat stat;$ ERROR: code indent should never use tabs #1290: FILE: tools/virtiofsd/passthrough_ll.c:1263: +^I^Iint res;$ ERROR: code indent should never use tabs #1292: FILE: tools/virtiofsd/passthrough_ll.c:1265: +^I^Ires = lstat(lo.source, &stat);$ ERROR: code indent should never use tabs #1293: FILE: tools/virtiofsd/passthrough_ll.c:1266: +^I^Iif (res == -1) {$ WARNING: line over 80 characters #1294: FILE: tools/virtiofsd/passthrough_ll.c:1267: + fuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): %m\n", ERROR: code indent should never use tabs #1294: FILE: tools/virtiofsd/passthrough_ll.c:1267: +^I^I^Ifuse_log(FUSE_LOG_ERR, "failed to stat source (\"%s\"): %m\n",$ ERROR: code indent should never use tabs #1295: FILE: tools/virtiofsd/passthrough_ll.c:1268: +^I^I^I^I lo.source);$ ERROR: code indent should never use tabs #1296: FILE: tools/virtiofsd/passthrough_ll.c:1269: +^I^I^Iexit(1);$ ERROR: code indent should never use tabs #1297: FILE: tools/virtiofsd/passthrough_ll.c:1270: +^I^I}$ ERROR: code indent should never use tabs #1298: FILE: tools/virtiofsd/passthrough_ll.c:1271: +^I^Iif (!S_ISDIR(stat.st_mode)) {$ ERROR: code indent should never use tabs #1299: FILE: tools/virtiofsd/passthrough_ll.c:1272: +^I^I^Ifuse_log(FUSE_LOG_ERR, "source is not a directory\n");$ ERROR: code indent should never use tabs #1300: FILE: tools/virtiofsd/passthrough_ll.c:1273: +^I^I^Iexit(1);$ ERROR: code indent should never use tabs #1301: FILE: tools/virtiofsd/passthrough_ll.c:1274: +^I^I}$ ERROR: code indent should never use tabs #1303: FILE: tools/virtiofsd/passthrough_ll.c:1276: +^I} else {$ ERROR: code indent should never use tabs #1304: FILE: tools/virtiofsd/passthrough_ll.c:1277: +^I^Ilo.source = "/";$ ERROR: code indent should never use tabs #1305: FILE: tools/virtiofsd/passthrough_ll.c:1278: +^I}$ ERROR: code indent should never use tabs #1306: FILE: tools/virtiofsd/passthrough_ll.c:1279: +^Ilo.root.is_symlink = false;$ ERROR: code indent should never use tabs #1307: FILE: tools/virtiofsd/passthrough_ll.c:1280: +^Iif (!lo.timeout_set) {$ ERROR: code indent should never use tabs #1308: FILE: tools/virtiofsd/passthrough_ll.c:1281: +^I^Iswitch (lo.cache) {$ ERROR: code indent should never use tabs #1309: FILE: tools/virtiofsd/passthrough_ll.c:1282: +^I^Icase CACHE_NEVER:$ ERROR: code indent should never use tabs #1310: FILE: tools/virtiofsd/passthrough_ll.c:1283: +^I^I^Ilo.timeout = 0.0;$ ERROR: code indent should never use tabs #1311: FILE: tools/virtiofsd/passthrough_ll.c:1284: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1313: FILE: tools/virtiofsd/passthrough_ll.c:1286: +^I^Icase CACHE_NORMAL:$ ERROR: code indent should never use tabs #1314: FILE: tools/virtiofsd/passthrough_ll.c:1287: +^I^I^Ilo.timeout = 1.0;$ ERROR: code indent should never use tabs #1315: FILE: tools/virtiofsd/passthrough_ll.c:1288: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1317: FILE: tools/virtiofsd/passthrough_ll.c:1290: +^I^Icase CACHE_ALWAYS:$ ERROR: code indent should never use tabs #1318: FILE: tools/virtiofsd/passthrough_ll.c:1291: +^I^I^Ilo.timeout = 86400.0;$ ERROR: code indent should never use tabs #1319: FILE: tools/virtiofsd/passthrough_ll.c:1292: +^I^I^Ibreak;$ ERROR: code indent should never use tabs #1320: FILE: tools/virtiofsd/passthrough_ll.c:1293: +^I^I}$ ERROR: code indent should never use tabs #1321: FILE: tools/virtiofsd/passthrough_ll.c:1294: +^I} else if (lo.timeout < 0) {$ ERROR: code indent should never use tabs #1322: FILE: tools/virtiofsd/passthrough_ll.c:1295: +^I^Ifuse_log(FUSE_LOG_ERR, "timeout is negative (%lf)\n",$ ERROR: code indent should never use tabs #1323: FILE: tools/virtiofsd/passthrough_ll.c:1296: +^I^I^I lo.timeout);$ ERROR: code indent should never use tabs #1324: FILE: tools/virtiofsd/passthrough_ll.c:1297: +^I^Iexit(1);$ ERROR: code indent should never use tabs #1325: FILE: tools/virtiofsd/passthrough_ll.c:1298: +^I}$ ERROR: code indent should never use tabs #1327: FILE: tools/virtiofsd/passthrough_ll.c:1300: +^Ilo.root.fd = open(lo.source, O_PATH);$ ERROR: code indent should never use tabs #1328: FILE: tools/virtiofsd/passthrough_ll.c:1301: +^Iif (lo.root.fd == -1) {$ ERROR: code indent should never use tabs #1329: FILE: tools/virtiofsd/passthrough_ll.c:1302: +^I^Ifuse_log(FUSE_LOG_ERR, "open(\"%s\", O_PATH): %m\n",$ ERROR: code indent should never use tabs #1330: FILE: tools/virtiofsd/passthrough_ll.c:1303: +^I^I^I lo.source);$ ERROR: code indent should never use tabs #1331: FILE: tools/virtiofsd/passthrough_ll.c:1304: +^I^Iexit(1);$ ERROR: code indent should never use tabs #1332: FILE: tools/virtiofsd/passthrough_ll.c:1305: +^I}$ ERROR: code indent should never use tabs #1334: FILE: tools/virtiofsd/passthrough_ll.c:1307: +^Ise = fuse_session_new(&args, &lo_oper, sizeof(lo_oper), &lo);$ ERROR: code indent should never use tabs #1335: FILE: tools/virtiofsd/passthrough_ll.c:1308: +^Iif (se == NULL)$ ERROR: braces {} are necessary for all arms of this statement #1335: FILE: tools/virtiofsd/passthrough_ll.c:1308: + if (se == NULL) [...] ERROR: code indent should never use tabs #1336: FILE: tools/virtiofsd/passthrough_ll.c:1309: +^I goto err_out1;$ ERROR: code indent should never use tabs #1338: FILE: tools/virtiofsd/passthrough_ll.c:1311: +^Iif (fuse_set_signal_handlers(se) != 0)$ ERROR: braces {} are necessary for all arms of this statement #1338: FILE: tools/virtiofsd/passthrough_ll.c:1311: + if (fuse_set_signal_handlers(se) != 0) [...] ERROR: code indent should never use tabs #1339: FILE: tools/virtiofsd/passthrough_ll.c:1312: +^I goto err_out2;$ ERROR: code indent should never use tabs #1341: FILE: tools/virtiofsd/passthrough_ll.c:1314: +^Iif (fuse_session_mount(se, opts.mountpoint) != 0)$ ERROR: braces {} are necessary for all arms of this statement #1341: FILE: tools/virtiofsd/passthrough_ll.c:1314: + if (fuse_session_mount(se, opts.mountpoint) != 0) [...] ERROR: code indent should never use tabs #1342: FILE: tools/virtiofsd/passthrough_ll.c:1315: +^I goto err_out3;$ ERROR: code indent should never use tabs #1344: FILE: tools/virtiofsd/passthrough_ll.c:1317: +^Ifuse_daemonize(opts.foreground);$ ERROR: code indent should never use tabs #1346: FILE: tools/virtiofsd/passthrough_ll.c:1319: +^I/* Block until ctrl+c or fusermount -u */$ ERROR: code indent should never use tabs #1347: FILE: tools/virtiofsd/passthrough_ll.c:1320: +^Iif (opts.singlethread)$ ERROR: braces {} are necessary for all arms of this statement #1347: FILE: tools/virtiofsd/passthrough_ll.c:1320: + if (opts.singlethread) [...] + else [...] ERROR: code indent should never use tabs #1348: FILE: tools/virtiofsd/passthrough_ll.c:1321: +^I^Iret = fuse_session_loop(se);$ ERROR: code indent should never use tabs #1349: FILE: tools/virtiofsd/passthrough_ll.c:1322: +^Ielse$ ERROR: code indent should never use tabs #1350: FILE: tools/virtiofsd/passthrough_ll.c:1323: +^I^Iret = fuse_session_loop_mt(se, opts.clone_fd);$ ERROR: code indent should never use tabs #1352: FILE: tools/virtiofsd/passthrough_ll.c:1325: +^Ifuse_session_unmount(se);$ ERROR: code indent should never use tabs #1354: FILE: tools/virtiofsd/passthrough_ll.c:1327: +^Ifuse_remove_signal_handlers(se);$ ERROR: code indent should never use tabs #1356: FILE: tools/virtiofsd/passthrough_ll.c:1329: +^Ifuse_session_destroy(se);$ ERROR: code indent should never use tabs #1358: FILE: tools/virtiofsd/passthrough_ll.c:1331: +^Ifree(opts.mountpoint);$ ERROR: code indent should never use tabs #1359: FILE: tools/virtiofsd/passthrough_ll.c:1332: +^Ifuse_opt_free_args(&args);$ ERROR: code indent should never use tabs #1361: FILE: tools/virtiofsd/passthrough_ll.c:1334: +^Iif (lo.root.fd >= 0)$ ERROR: braces {} are necessary for all arms of this statement #1361: FILE: tools/virtiofsd/passthrough_ll.c:1334: + if (lo.root.fd >= 0) [...] ERROR: code indent should never use tabs #1362: FILE: tools/virtiofsd/passthrough_ll.c:1335: +^I^Iclose(lo.root.fd);$ ERROR: code indent should never use tabs #1364: FILE: tools/virtiofsd/passthrough_ll.c:1337: +^Ireturn ret ? 1 : 0;$ total: 954 errors, 30 warnings, 1338 lines checked Patch 5/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 6/108 Checking commit 4de66b5b1207 (virtiofsd: Trim down imported files) ERROR: code indent should never use tabs #103: FILE: tools/virtiofsd/buffer.c:184: +^I^Ireturn fuse_buf_fd_to_fd(dst, dst_off, src, src_off, len);$ ERROR: code indent should never use tabs #390: FILE: tools/virtiofsd/fuse_lowlevel.c:179: +^Iabort(); /* virtio should have taken it before here */$ ERROR: code indent should never use tabs #521: FILE: tools/virtiofsd/fuse_lowlevel.c:475: +^Iabort(); /* Will have taken vhost path */$ ERROR: code indent should never use tabs #770: FILE: tools/virtiofsd/fuse_lowlevel.c:1046: +^I^Ireturn;$ ERROR: code indent should never use tabs #874: FILE: tools/virtiofsd/fuse_lowlevel.c:2142: +^Iin = buf->mem;$ ERROR: code indent should never use tabs #883: FILE: tools/virtiofsd/fuse_lowlevel.c:2164: +^I^Ireturn;$ ERROR: code indent should never use tabs #891: FILE: tools/virtiofsd/fuse_lowlevel.c:2171: +^Ireq->ch = ch;$ total: 7 errors, 0 warnings, 1422 lines checked Patch 6/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 7/108 Checking commit c695a07e2df4 (virtiofsd: Format imported files to qemu style) WARNING: Block comments use a leading /* on a separate line #3151: FILE: tools/virtiofsd/fuse_common.h:720: + ((struct fuse_bufvec){ /* .count= */ 1, \ WARNING: Block comments use a leading /* on a separate line #3152: FILE: tools/virtiofsd/fuse_common.h:721: + /* .idx = */ 0, \ WARNING: Block comments use a leading /* on a separate line #3153: FILE: tools/virtiofsd/fuse_common.h:722: + /* .off = */ 0, /* .buf = */ \ WARNING: Block comments use a leading /* on a separate line #3154: FILE: tools/virtiofsd/fuse_common.h:723: + { /* [0] = */ { \ WARNING: Block comments use a leading /* on a separate line #3155: FILE: tools/virtiofsd/fuse_common.h:724: + /* .size = */ (size__), \ WARNING: Block comments use a leading /* on a separate line #3156: FILE: tools/virtiofsd/fuse_common.h:725: + /* .flags = */ (enum fuse_buf_flags)0, \ WARNING: Block comments use a leading /* on a separate line #3157: FILE: tools/virtiofsd/fuse_common.h:726: + /* .mem = */ NULL, \ WARNING: Block comments use a leading /* on a separate line #3158: FILE: tools/virtiofsd/fuse_common.h:727: + /* .fd = */ -1, \ WARNING: Block comments use a leading /* on a separate line #3159: FILE: tools/virtiofsd/fuse_common.h:728: + /* .pos = */ 0, \ WARNING: architecture specific defines should be avoided #3208: FILE: tools/virtiofsd/fuse_common.h:799: +#if defined(__GNUC__) && \ ERROR: Use of volatile is usually wrong, please add a comment #3319: FILE: tools/virtiofsd/fuse_i.h:44: + volatile int exited; ERROR: spaces required around that '*' (ctx:WxV) #3556: FILE: tools/virtiofsd/fuse_lowlevel.c:36: + const typeof(((type *)0)->member) *__mptr = (ptr); \ ^ ERROR: use qemu_real_host_page_size instead of getpagesize() #3572: FILE: tools/virtiofsd/fuse_lowlevel.c:49: + pagesize = getpagesize(); ERROR: use qemu_real_host_page_size instead of getpagesize() #6228: FILE: tools/virtiofsd/fuse_lowlevel.c:1683: + FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() + ERROR: Macros with complex values should be enclosed in parenthesis #6296: FILE: tools/virtiofsd/fuse_lowlevel.c:1713: +#define LL_SET_DEFAULT(cond, cap) \ + if ((cond) && (se->conn.capable & (cap))) \ + se->conn.want |= (cap) ERROR: use qemu_real_host_page_size instead of getpagesize() #6370: FILE: tools/virtiofsd/fuse_lowlevel.c:1763: + outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1; ERROR: use qemu_real_host_page_size instead of getpagesize() #7489: FILE: tools/virtiofsd/fuse_lowlevel.c:2436: + se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() + FUSE_BUFFER_HEADER_SIZE; ERROR: consider using qemu_strtoul in preference to strtoul #7707: FILE: tools/virtiofsd/fuse_lowlevel.c:2567: + unsigned long val = strtoul(s, &end, 0); ERROR: Macros with complex values should be enclosed in parenthesis #11887: FILE: tools/virtiofsd/helper.c:260: +#define LL_ENABLE(cond, cap) \ + if (cond) \ + conn->want |= (cap) ERROR: Macros with complex values should be enclosed in parenthesis #11890: FILE: tools/virtiofsd/helper.c:263: +#define LL_DISABLE(cond, cap) \ + if (cond) \ + conn->want &= ~(cap) WARNING: architecture specific defines should be avoided #12088: FILE: tools/virtiofsd/passthrough_ll.c:67: +#if defined(__GNUC__) && \ total: 10 errors, 11 warnings, 14038 lines checked Patch 7/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 8/108 Checking commit 40408f0a4239 (virtiofsd: remove mountpoint dummy argument) 9/108 Checking commit e0ade3b24dea (virtiofsd: remove unused notify reply support) 10/108 Checking commit 988582cce94b (virtiofsd: Remove unused enum fuse_buf_copy_flags) 11/108 Checking commit 470bf03530a4 (virtiofsd: Fix fuse_daemonize ignored return values) 12/108 Checking commit 85d350a61df8 (virtiofsd: Fix common header and define for QEMU builds) 13/108 Checking commit afdaf8ea7ba4 (virtiofsd: Trim out compatibility code) ERROR: use qemu_real_host_page_size instead of getpagesize() #412: FILE: tools/virtiofsd/fuse_lowlevel.c:1614: + size_t max_bufsize = FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize() + total: 1 errors, 0 warnings, 486 lines checked Patch 13/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 14/108 Checking commit 674d18bfe6a0 (vitriofsd/passthrough_ll: fix fallocate() ifdefs) 15/108 Checking commit 01b4a15a5110 (virtiofsd: Make fsync work even if only inode is passed in) 16/108 Checking commit a6f8a688a96b (virtiofsd: Add options for virtio) 17/108 Checking commit 87cb3caee7f9 (virtiofsd: add -o source=PATH to help output) 18/108 Checking commit 083904978e42 (virtiofsd: Open vhost connection instead of mounting) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #120: new file mode 100644 total: 0 errors, 1 warnings, 192 lines checked Patch 18/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 19/108 Checking commit fef307e7df1d (virtiofsd: Start wiring up vhost-user) 20/108 Checking commit 287b48cb387e (virtiofsd: Add main virtio loop) 21/108 Checking commit ad8b170e940e (virtiofsd: get/set features callbacks) 22/108 Checking commit 440938ddf944 (virtiofsd: Start queue threads) 23/108 Checking commit 36e6c52c582c (virtiofsd: Poll kick_fd for queue) 24/108 Checking commit 1372ebdac6c3 (virtiofsd: Start reading commands from queue) 25/108 Checking commit 5bece7bc1bed (virtiofsd: Send replies to messages) 26/108 Checking commit 9e7093d27c97 (virtiofsd: Keep track of replies) 27/108 Checking commit ca3b0f6d8ff0 (virtiofsd: Add Makefile wiring for virtiofsd contrib) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #70: new file mode 100644 total: 0 errors, 1 warnings, 44 lines checked Patch 27/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 28/108 Checking commit 52a2eec7b8dd (virtiofsd: Fast path for virtio read) 29/108 Checking commit 312e7d4a9705 (virtiofsd: add --fd=FDNUM fd passing option) 30/108 Checking commit bd6c9f420399 (virtiofsd: make -f (foreground) the default) 31/108 Checking commit f437f8d68ea7 (virtiofsd: add vhost-user.json file) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #41: new file mode 100644 total: 0 errors, 1 warnings, 19 lines checked Patch 31/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 32/108 Checking commit c3172526b8aa (virtiofsd: add --print-capabilities option) 33/108 Checking commit cffa2eada53f (virtiofs: Add maintainers entry) 34/108 Checking commit d66da85d0c3e (virtiofsd: passthrough_ll: create new files in caller's context) 35/108 Checking commit 5a8812e49283 (virtiofsd: passthrough_ll: add lo_map for ino/fh indirection) ERROR: storage class should be at the beginning of the declaration #50: FILE: tools/virtiofsd/passthrough_ll.c:148: +__attribute__((unused)) static void lo_map_init(struct lo_map *map) ERROR: storage class should be at the beginning of the declaration #57: FILE: tools/virtiofsd/passthrough_ll.c:155: +__attribute__((unused)) static void lo_map_destroy(struct lo_map *map) ERROR: storage class should be at the beginning of the declaration #88: FILE: tools/virtiofsd/passthrough_ll.c:186: +__attribute__((unused)) static struct lo_map_elem * ERROR: storage class should be at the beginning of the declaration #105: FILE: tools/virtiofsd/passthrough_ll.c:203: +__attribute__((unused)) static struct lo_map_elem * ERROR: storage class should be at the beginning of the declaration #127: FILE: tools/virtiofsd/passthrough_ll.c:225: +__attribute__((unused)) static struct lo_map_elem * ERROR: storage class should be at the beginning of the declaration #139: FILE: tools/virtiofsd/passthrough_ll.c:237: +__attribute__((unused)) static void lo_map_remove(struct lo_map *map, total: 6 errors, 0 warnings, 136 lines checked Patch 35/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 36/108 Checking commit db71a83e306e (virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers) 37/108 Checking commit fad5ec76c542 (virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers) 38/108 Checking commit 3ed53576c346 (virtiofsd: passthrough_ll: add fd_map to hide file descriptors) 39/108 Checking commit bca92ad4101a (virtiofsd: passthrough_ll: add fallback for racy ops) 40/108 Checking commit 408f8a16069f (virtiofsd: validate path components) 41/108 Checking commit 78d7979aa404 (virtiofsd: Plumb fuse_bufvec through to do_write_buf) 42/108 Checking commit 6b7914f009aa (virtiofsd: Pass write iov's all the way through) 43/108 Checking commit 9c34b09ea272 (virtiofsd: add fuse_mbuf_iter API) 44/108 Checking commit 38b34ea4267a (virtiofsd: validate input buffer sizes in do_write_buf()) 45/108 Checking commit 3d11f1290722 (virtiofsd: check input buffer size in fuse_lowlevel.c ops) 46/108 Checking commit 3cb44633ac0b (virtiofsd: prevent ".." escape in lo_do_lookup()) 47/108 Checking commit c3f5b07b5770 (virtiofsd: prevent ".." escape in lo_do_readdir()) 48/108 Checking commit b8b6552b0b69 (virtiofsd: use /proc/self/fd/ O_PATH file descriptor) 49/108 Checking commit f20606af251e (virtiofsd: sandbox mount namespace) 50/108 Checking commit 3228cd452850 (virtiofsd: move to an empty network namespace) 51/108 Checking commit eb214a7e2e19 (virtiofsd: move to a new pid namespace) 52/108 Checking commit 95d60ee9b439 (virtiofsd: add seccomp whitelist) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #83: new file mode 100644 WARNING: architecture specific defines should be avoided #106: FILE: tools/virtiofsd/seccomp.c:19: +#if !defined(__SNR_ppoll) && defined(__SNR_brk) WARNING: architecture specific defines should be avoided #107: FILE: tools/virtiofsd/seccomp.c:20: +#ifdef __NR_ppoll WARNING: architecture specific defines should be avoided #121: FILE: tools/virtiofsd/seccomp.c:34: +#ifdef __NR_clone3 WARNING: architecture specific defines should be avoided #181: FILE: tools/virtiofsd/seccomp.c:94: +#ifdef __NR_setresgid32 WARNING: architecture specific defines should be avoided #184: FILE: tools/virtiofsd/seccomp.c:97: +#ifdef __NR_setresuid32 total: 0 errors, 6 warnings, 205 lines checked Patch 52/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 53/108 Checking commit 7a0293638d16 (virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV) 54/108 Checking commit 9cc34cc90aa7 (virtiofsd: cap-ng helpers) ERROR: do not initialise statics to 0 or NULL #59: FILE: tools/virtiofsd/passthrough_ll.c:148: +static __thread bool cap_loaded = 0; total: 1 errors, 0 warnings, 124 lines checked Patch 54/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 55/108 Checking commit e13799272dc5 (virtiofsd: Drop CAP_FSETID if client asked for it) 56/108 Checking commit 8b61e8020b0e (virtiofsd: set maximum RLIMIT_NOFILE limit) 57/108 Checking commit 788d31909aa3 (virtiofsd: fix libfuse information leaks) 58/108 Checking commit d19e0624df20 (virtiofsd: add --syslog command-line option) ERROR: do not initialise statics to 0 or NULL #66: FILE: tools/virtiofsd/passthrough_ll.c:142: +static bool use_syslog = false; total: 1 errors, 0 warnings, 165 lines checked Patch 58/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 59/108 Checking commit 776503cd485b (virtiofsd: print log only when priority is high enough) 60/108 Checking commit fb926eea957b (virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level) 61/108 Checking commit c257992aa2b2 (virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level) 62/108 Checking commit 4002eb603ff8 (virtiofsd: Handle reinit) 63/108 Checking commit f04fe35bfa29 (virtiofsd: Handle hard reboot) 64/108 Checking commit 818e2fc00716 (virtiofsd: Kill threads when queues are stopped) 65/108 Checking commit 851e8ec6f0b1 (vhost-user: Print unexpected slave message types) 66/108 Checking commit 824a1db34a76 (contrib/libvhost-user: Protect slave fd with mutex) 67/108 Checking commit c0279a678019 (virtiofsd: passthrough_ll: add renameat2 support) 68/108 Checking commit b9097c9ab5bd (virtiofsd: passthrough_ll: disable readdirplus on cache=never) 69/108 Checking commit 4dd6c3a82a92 (virtiofsd: passthrough_ll: control readdirplus) 70/108 Checking commit 7ddb8e28a38e (virtiofsd: rename unref_inode() to unref_inode_lolocked()) 71/108 Checking commit 1c063c8e4268 (virtiofsd: fail when parent inode isn't known in lo_do_lookup()) ERROR: return of an errno should typically be -ve (return -ENOENT) #33: FILE: tools/virtiofsd/passthrough_ll.c:786: + return ENOENT; total: 1 errors, 0 warnings, 38 lines checked Patch 71/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 72/108 Checking commit 1b0531636fc3 (virtiofsd: extract root inode init into setup_root()) 73/108 Checking commit 1e21a9ced978 (virtiofsd: passthrough_ll: clean up cache related options) 74/108 Checking commit 7a380f3f3e58 (virtiofsd: passthrough_ll: use hashtable) 75/108 Checking commit 0220aed8f3ef (virtiofsd: Clean up inodes on destroy) 76/108 Checking commit f0e3fbc22bf8 (virtiofsd: support nanosecond resolution for file timestamp) 77/108 Checking commit a1522eaa7029 (virtiofsd: fix error handling in main()) 78/108 Checking commit 7f99afcd6234 (virtiofsd: cleanup allocated resource in se) 79/108 Checking commit 38200c63dfe3 (virtiofsd: fix memory leak on lo.source) 80/108 Checking commit f211a361cfe9 (virtiofsd: add helper for lo_data cleanup) 81/108 Checking commit 4706f46b6c70 (virtiofsd: Prevent multiply running with same vhost_user_socket) 82/108 Checking commit 9006657fa6bb (virtiofsd: enable PARALLEL_DIROPS during INIT) 83/108 Checking commit be5097a9f8e9 (virtiofsd: fix incorrect error handling in lo_do_lookup) 84/108 Checking commit 6902eb89573a (Virtiofsd: fix memory leak on fuse queueinfo) 85/108 Checking commit b76abf527f0e (virtiofsd: Support remote posix locks) 86/108 Checking commit aead5347143a (virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy()) 87/108 Checking commit c1c535a7a3b7 (virtiofsd: prevent fv_queue_thread() vs virtio_loop() races) 88/108 Checking commit b6ff58c86e6a (virtiofsd: make lo_release() atomic) 89/108 Checking commit f00cb4ebb1b4 (virtiofsd: prevent races with lo_dirp_put()) 90/108 Checking commit 2ad1f55629b0 (virtiofsd: rename inode->refcount to inode->nlookup) 91/108 Checking commit 604298d829b1 (libvhost-user: Fix some memtable remap cases) 92/108 Checking commit c70b7eeeb4ad (virtiofsd: passthrough_ll: fix refcounting on remove/rename) 93/108 Checking commit a769832235ef (virtiofsd: introduce inode refcount to prevent use-after-free) 94/108 Checking commit 649aa4935418 (virtiofsd: do not always set FUSE_FLOCK_LOCKS) 95/108 Checking commit 269002e44f93 (virtiofsd: convert more fprintf and perror to use fuse log infra) 96/108 Checking commit e5ee594338fb (virtiofsd: Reset O_DIRECT flag during file open) 97/108 Checking commit 9e739a1eaa59 (virtiofsd: Fix data corruption with O_APPEND write in writeback mode) 98/108 Checking commit 1f67fb7b203d (virtiofsd: passthrough_ll: Use cache_readdir for directory open) 99/108 Checking commit 4fda6a6b26f4 (virtiofsd: add definition of fuse_buf_writev()) 100/108 Checking commit 0e583a177769 (virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance) 101/108 Checking commit 322bbdc8daa2 (virtiofsd: process requests in a thread pool) WARNING: Block comments use a leading /* on a separate line #333: FILE: tools/virtiofsd/fuse_virtio.c:577: + pool = g_thread_pool_new(fv_queue_worker, qi, 1 /* TODO max_threads */, total: 0 errors, 1 warnings, 466 lines checked Patch 101/108 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 102/108 Checking commit b573bddfdbde (virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races) 103/108 Checking commit 87504eb0152c (virtiofsd: fix lo_destroy() resource leaks) 104/108 Checking commit 72ece8ff7c59 (virtiofsd: add --thread-pool-size=NUM option) 105/108 Checking commit 698292e5ac7a (virtiofsd: Convert lo_destroy to take the lo->mutex lock itself) 106/108 Checking commit 932531004fc4 (virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()) 107/108 Checking commit 91b9210c6f82 (virtiofsd: stop all queue threads on exit in virtio_loop()) 108/108 Checking commit 02e4c6d98946 (virtiofsd: add some options to the help message) === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20200123164630.91498-1-dgilbert@redhat.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On Thu, 23 Jan 2020 at 19:32, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > * Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote: > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > > > The following changes since commit b7c359c748a2e3ccb97a184b9739feb2cd48de2f: > > > > Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging (2020-01-23 14:38:43 +0000) > > > > are available in the Git repository at: > > > > git@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123b > > Note the public URI is: > > https://gitlab.com/dagrh/qemu.git Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0 for any user-visible changes. -- PMM