def main():

   if len(sys.argv) < 2:
        sys.stderr.write("usage: %s VOLUME_NAME [ALLOWHOSTS]\n" % os.path.basename(sys.argv[0]))
        sys.exit(-1)

   volumeName = sys.argv[1]
   allowhosts = "*"
   if len(sys.argv) == 3:
        allowhosts = sys.argv[2]

   if not VolumeUtils.writeVolumeCifsSharedConfiguration(volumeName, allowhosts):
        sys.stderr.write("Failed to update volume cifs configuration\n")
        sys.exit(1)
   if Utils.runCommand("service smb reload") != 0:
        Utils.log("Failed to reload smb service")
        sys.stderr.write("Failed to reload smb service\n")
        sys.exit(2)
   sys.exit(0)
    volumeName = sys.argv[1]
    allowhosts = "*"
    if len(sys.argv) == 3:
	allowhosts = sys.argv[2]

    volumeMountDirName = "%s/%s" % (Globals.REEXPORT_DIR, volumeName)
    try:
        if not os.path.exists(volumeMountDirName):
            os.mkdir(volumeMountDirName)
#   junli.li change mod of volumeMountDirName to 777, then, writeusers can write to this dir
        os.system('chmod 777 ' + volumeMountDirName)
        os.system('chown -R nobody:nobody ' + volumeMountDirName)
    except OSError, e:
        Utils.log("failed creating %s: %s\n" % (volumeMountDirName, str(e)))
        sys.stderr.write("Failed creating %s: %s\n" % (volumeMountDirName, str(e)))
        sys.exit(1)

    if not VolumeUtils.writeVolumeCifsSharedConfiguration(volumeName, allowhosts):
        sys.stderr.write("Failed to write volume cifs configuration\n")
        sys.exit(2)

    if Utils.runCommand("service smb reload") != 0:
        Utils.log("Failed to reload smb service")
        sys.stderr.write("Failed to reload smb service\n")
        sys.exit(3)
    sys.exit(0)


if __name__ == "__main__":
    main()