volscan(8)


NAME

   volscan - Produces detailed information about AFS volumes

SYNOPSIS

   volscan
       [-checkout]
       [-partition <AFS partition name or id>]
       [-volumeid <Volume id>]
       [-type <Volume types (rw, ro, bk)>+]
       [-find <Objects to find (file, dir, mount, symlink, acl)>+]
       [-output <Column>+]
       [-delim <Output field delimiter>]
       [-noheading]
       [-ignore-magic]
       [-help]

DESCRIPTION

   The volscan command displays volume meta-data stored on AFS file
   servers.  The output is intended for debugging purposes and is
   meaningful to someone familiar with the internal structure of AFS
   volumes.  The volscan command must be issued directly on a file server
   machine as the root superuser.  The volscan command does not modify
   volume information.

   The volscan command will produce output for all the volumes on the file
   server by default. To display output for the volumes in one partition
   only, include the -partition argument. To display output for one volume
   only, include the -partition and -volumeid arguments.

   The volscan command will produce output for read-write, read-only, and
   backup volumes by default. To limit the output to particular types of
   volumes, include the -type argument with one or more volume types
   ("rw", "ro", "bk").

   The volscan command will produce output for each type of vnode object
   found in the volumes scanned. The command will output information for
   files, directories, AFS mount points, and symbolic links by default.
   The volscan command can output access control lists (ACLs) for
   directory vnode objects scanned.  To limit the output to particular
   types of vnode objects, or to output access control lists (ACLs),
   include the -find argument with one or more object types ("file",
   "dir", "mount", "symlink", "acl").

   The output of the volscan command is tabular. The output consists of an
   optional heading line, followed by zero or more lines of delimiter
   separated values.  By default, the output values are the file server
   hostname ("host"), the object type ("desc"), the vnode FID ("fid"), the
   vnode data version ("dv"), and the directory path ("path"). The
   directory path is relative to the root directory of the volume.  When
   "acl" is included as an argument to "-find", the default output values
   also include the user/group id ("aid") and the access rights
   ("arights").  To specify different output values, include the "-output"
   argument with one or more column names. See OUTPUT for the column
   names.

   Values are space delimited by default. To use a different delimiter
   character, include the -delim argument.  Include the -noheading flag to
   suppress the output heading line.

OPTIONS

   -checkout
       Checkout the specified volume from the running file server. This
       ensures that the file server or other processes will not be
       modifying volume meta-data at the same time we are trying to read
       it, leading to invalid or incorrect results.

   -partition <partition name or id>+
       Specifies the partition that houses each volume for which to
       produce output.  Use the format /vicepxx or xx, where xx is one or
       two lowercase letters.

       This argument can be omitted if the current working directory is
       the mount location for an AFS server partition. If the current
       working directory is not the mount location for an AFS server
       partition, the command produces output for every volume on all
       local AFS server partitions.

   -volumeid <volume id>+
       Specifies the ID number of one volume for which to produce output.
       The -partition argument must be provided along with this one unless
       the current working directory is the mount location for the AFS
       server partition that houses the volume.

   -type <Volume types: rw, ro, bk>+
       Limit the volumes to be scanned by read/write, read-only, or backup
       volumes.  Specify one or more of "rw"<rw>, "ro", "bk".  The volscan
       command will scan all types of volumes by default.

   -find <Objects to find: file, dir, mount, symlink, acl>+
       Output the specified volume objects within the scanned volumes.
       Specify one or more of "file", "dir", "mount", "symlink", "acl".
       By default, the volscan command will find "file", "dir", "mount",
       "symlink" objects.

   -output <Column>+
       The -output argument specifies the output columns produced by the
       volscan command. See the OUTPUT section for <Column> names.

       The default output columns are the file server hostname ("host"),
       the object type ("desc"), the vnode FID ("fid"), the vnode data
       version ("dv"), and the directory path ("path").  When "acl" is
       included as an argument to "-find", the default output values also
       include the user/group id ("aid") and the access rights
       ("arights").

   -delim <Output field delimiter>
       The -delim argument specifies the record delimiter character. The
       default value is the space (' ') character.

   -noheading
       The -noheading flags prevents the volscan command from printing the
       heading line.

   -ignore-magic
       Display vnodes even with incorrect vnode magic numbers. By default,
       the volscan command will not process vnodes objects with incorrect
       vnode magic numbers.

   -help
       Prints the online help for this command. All other valid options
       are ignored.

OUTPUT

   The following column names are valid for the -output argument:

   "host"
       The hostname of the current machine. This field may be useful when
       combining the volscan output from several hosts.

   "desc"
       The descriptive name of the type of volume object.  Values are
       "file", "dir", "symlink", "mount", and "acl".

   "vid"
       The numeric volume id.

   "offset"
       The vnode index table offset.

   "vtype"
       The volume type. Values are "RW", "RO", "BK".

   "vname"
       The volume name.

   "part"
       The partition path.

   "partid"
       The AFS partition id.

   "fid"
       The AFS File Identifier (FID).

   "path"
       The directory path and filename. The path is relative to the volume
       root directory.

   "target"
       The symlink target. Empty if the vnode is not a symlink.

   "mount"
       The mount point value. Empty if the vnode is not a mount point. See
       "fs lsmount" for the mount point value format.

   "mtype"
       The mount point type. Empty if the vnode is not a mount point.
       Values are '#' for regular mount points and '%' for read-write
       mount points.

   "mcell"
       The mount point target cell. Empty if the vnode is not a cellular
       mount point.

   "mvol"
       The mount point target volume. Empty if the vnode is not a mount
       point.

   "aid"
       Access entry user or group id. Empty if the object is not an ACL.

   "arights"
       Access entry rights. Empty if the object is not an ACL.

   "vntype"
       The vnode type. Values are "file", "dir", "symlink".

   "cloned"
       The vnode cloned flag. Values are "y" or "n".

   "mode"
       The vnode Unix mode bits, as an octal number.

   "links"
       The vnode link count.

   "length"
       The vnode data length.

   "uniq"
       The vnode uniquifier number.

   "dv"
       The vnode data version number.

   "inode"
       The vnode inode number. This is an internally used number on namei
       file servers.

   "namei"
       The vnode namei path.

   "modtime"
       The vnode modification time.

   "author"
       The vnode author user id.

   "owner"
       The vnode Unix owner id.

   "parent"
       The parent directory vnode number.

   "magic"
       The vnode magic number.

   "lock"
       The vnode lock count and time. The format is <count>.<time>, where
       <time> is the epoch time.

   "smodtime"
       The vnode server modify time.

   "group"
       The vnode unix group id.

EXAMPLES

   The following command displays the FID, data version, and relative path
   for each vnode object in a volume.

       # volscan -partition a -volumeid 536870916
       HOST DESC FID DV PATH
       fs1 dir 536870916.1.1 3 /
       fs1 mount 536870916.2.2 0 /test
       fs1 mount 536870916.4.3 0 /xyzzy

   The following command displays the AFS mount points in all the read-
   write volumes on the file server. For each mount point the following is
   shown: the volume containing the mount point, the type of mount point,
   regular ("#") or read-write ("%"), the target cell (or "-" if not a
   cellular mount point), the name of the target volume, the path of the
   mount point within the volume (relative to the volume root directory).

       # volscan -type rw -find mount -output vid mtype mcell mvol path -noheading
       536870915 # - test /test
       536870912 # example.com root.cell /example.com
       536870912 % example.com root.cell /.example.com

   The following command displays access control lists for a volume.

       # volscan -partition a -volumeid 536870918 -find acl \
           -output fid aid arights path -delim : -noheading
       536870918.1.1:-204:+rlidwka:/
       536870918.1.1:-101:+rl:/
       536870918.3.3:-204:+rlidwka:/xyzzy
       536870918.3.3:-101:+rl:/xyzzy
       536870918.3.3:1027:+rlidwk:/xyzzy

   The following commands find files which have unix permissions bit 04000
   ("suid") or 02000 ("sgid"):

       # volscan -find file -output fid mode -noheading | \
          perl -lane 'print if oct($F[1]) & 06000'

PRIVILEGE REQUIRED

   The issuer must be logged in as the local superuser "root".

SEE ALSO

   volinfo(8), vldb.DB0(5), volserver(8)

COPYRIGHT

   Copyright 2014 Sine Nomine Associates.  All Rights Reserved.

   This documentation is covered by the BSD License as written in the
   doc/LICENSE file. This man page was written by Michael Meffie for
   OpenAFS.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.