From: Peter Amstutz Date: Wed, 7 May 2014 15:53:13 +0000 (-0400) Subject: Merge branch 'origin-2035-arv-mount-tags-folders' X-Git-Tag: 1.1.0~2622^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/2de827e57ae9ba1b0d322199d071ae900a5b7e0c Merge branch 'origin-2035-arv-mount-tags-folders' Conflicts: sdk/python/bin/arv-mount --- 2de827e57ae9ba1b0d322199d071ae900a5b7e0c diff --cc sdk/python/bin/arv-mount index cc7e288891,fc5491ff68..e7e559cb6e --- a/sdk/python/bin/arv-mount +++ b/sdk/python/bin/arv-mount @@@ -15,10 -20,12 +20,14 @@@ mountpoint before --exec, or mark the e with "--". """) parser.add_argument('mountpoint', type=str, help="""Mount point.""") + parser.add_argument('--allow-other', action='store_true', + help="""Let other users read the mount""") - parser.add_argument('--collection', type=str, help="""Collection locator""") + parser.add_argument('--collection', type=str, help="""Mount only the specified collection at the mount point.""") + parser.add_argument('--tags', action='store_true', help="""Mount as a virtual directory consisting of subdirectories representing tagged + collections on the server.""") + parser.add_argument('--groups', action='store_true', help="""Mount as a virtual directory consisting of subdirectories representing groups on the server.""") parser.add_argument('--debug', action='store_true', help="""Debug mode""") + parser.add_argument('--foreground', action='store_true', help="""Run in foreground (default is to daemonize unless --exec specified)""", default=False) parser.add_argument('--exec', type=str, nargs=argparse.REMAINDER, dest="exec_args", metavar=('command', 'args', '...', '--'), help="""Mount, run a command, then unmount and exit""") @@@ -37,13 -49,16 +51,13 @@@ operations.inodes.add_entry(MagicDirectory(llfuse.ROOT_INODE, operations.inodes)) # FUSE options, see mount.fuse(8) - opts = [] - - # Enable FUSE debugging (logs each FUSE request) - if args.debug: - opts += ['debug'] + opts = [optname for optname in ['allow_other', 'debug'] + if getattr(args, optname)] - # Initialize the fuse connection - llfuse.init(operations, args.mountpoint, opts) - if args.exec_args: + # Initialize the fuse connection + llfuse.init(operations, args.mountpoint, opts) + t = threading.Thread(None, lambda: llfuse.main()) t.start()