core/various: python3 compat, prepare for python2 -> python3

see https://review.gluster.org/#/c/19788/

use print fn from __future__

Change-Id: If5075d8d9ca9641058fbc71df8a52aa35804cda4
updates: #411
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY
2018-04-13 09:13:16 -04:00
committed by Kaleb KEITHLEY
parent 9da9117253
commit 4e7b423d3c
32 changed files with 377 additions and 341 deletions

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import ctypes import ctypes
import ctypes.util import ctypes.util
@ -35,10 +36,10 @@ if __name__ == "__main__":
try: try:
res = apply(get_volfile, sys.argv[1:3]) res = apply(get_volfile, sys.argv[1:3])
except: except:
print "fetching volfile failed (volume not started?)" print("fetching volfile failed (volume not started?)")
try: try:
for line in res.split('\n'): for line in res.split('\n'):
print line print(line)
except: except:
print "bad return value %s" % res print("bad return value %s" % res)

View File

@ -10,6 +10,7 @@
# cases as published by the Free Software Foundation. # cases as published by the Free Software Foundation.
# #
from __future__ import print_function
from argparse import ArgumentParser, RawDescriptionHelpFormatter from argparse import ArgumentParser, RawDescriptionHelpFormatter
import logging import logging
from datetime import datetime from datetime import datetime
@ -41,11 +42,11 @@ def listen():
for k, v in data.get("message", {}).items(): for k, v in data.get("message", {}).items():
message.append("{0}={1}".format(k, v)) message.append("{0}={1}".format(k, v))
print ("{0:20s} {1:20s} {2:36} {3}".format( print(("{0:20s} {1:20s} {2:36} {3}".format(
human_time(data.get("ts")), human_time(data.get("ts")),
data.get("event"), data.get("event"),
data.get("nodeid"), data.get("nodeid"),
" ".join(message))) " ".join(message))))
return "OK" return "OK"
@ -58,12 +59,12 @@ def main():
action="store_true") action="store_true")
args = parser.parse_args() args = parser.parse_args()
print ("{0:20s} {1:20s} {2:36} {3}".format( print(("{0:20s} {1:20s} {2:36} {3}".format(
"TIMESTAMP", "EVENT", "NODE ID", "MESSAGE" "TIMESTAMP", "EVENT", "NODE ID", "MESSAGE"
)) )))
print ("{0:20s} {1:20s} {2:36} {3}".format( print(("{0:20s} {1:20s} {2:36} {3}".format(
"-"*20, "-"*20, "-"*36, "-"*20 "-"*20, "-"*20, "-"*36, "-"*20
)) )))
if args.debug: if args.debug:
app.debug = True app.debug = True

View File

@ -1,4 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import re import re
import sys import sys
@ -74,42 +76,42 @@ def generate(tmpl, name, table):
def gen_xlator(): def gen_xlator():
xl = open(src_dir_path+"/"+xl_name+".c", 'w+') xl = open(src_dir_path+"/"+xl_name+".c", 'w+')
print >> xl, COPYRIGHT print(COPYRIGHT, file=xl)
print >> xl, fragments["INCLUDE_IN_SRC_FILE"].replace("@XL_NAME@", print(fragments["INCLUDE_IN_SRC_FILE"].replace("@XL_NAME@",
xl_name) xl_name), file=xl)
#Generate cbks and fops #Generate cbks and fops
for fop in ops: for fop in ops:
print >> xl, generate(fragments["CBK_TEMPLATE"], fop, ops) print(generate(fragments["CBK_TEMPLATE"], fop, ops), file=xl)
print >> xl, generate(fragments["FOP_TEMPLATE"], fop, ops) print(generate(fragments["FOP_TEMPLATE"], fop, ops), file=xl)
for cbk in xlator_cbks: for cbk in xlator_cbks:
print >> xl, generate(fragments["FUNC_TEMPLATE"], cbk, print(generate(fragments["FUNC_TEMPLATE"], cbk,
xlator_cbks) xlator_cbks), file=xl)
for dops in xlator_dumpops: for dops in xlator_dumpops:
print >> xl, generate(fragments["FUNC_TEMPLATE"], dops, print(generate(fragments["FUNC_TEMPLATE"], dops,
xlator_dumpops) xlator_dumpops), file=xl)
print >> xl, fragments["XLATOR_METHODS"] print(fragments["XLATOR_METHODS"], file=xl)
#Generate fop table #Generate fop table
print >> xl, "struct xlator_fops fops = {" print("struct xlator_fops fops = {", file=xl)
for fop in ops: for fop in ops:
print >> xl, " .{0:20} = {1}_{2},".format(fop, fop_prefix, fop) print(" .{0:20} = {1}_{2},".format(fop, fop_prefix, fop), file=xl)
print >> xl, "};" print("};", file=xl)
#Generate xlator_cbks table #Generate xlator_cbks table
print >> xl, "struct xlator_cbks cbks = {" print("struct xlator_cbks cbks = {", file=xl)
for cbk in xlator_cbks: for cbk in xlator_cbks:
print >> xl, " .{0:20} = {1}_{2},".format(cbk, fop_prefix, cbk) print(" .{0:20} = {1}_{2},".format(cbk, fop_prefix, cbk), file=xl)
print >> xl, "};" print("};", file=xl)
#Generate xlator_dumpops table #Generate xlator_dumpops table
print >> xl, "struct xlator_dumpops dumpops = {" print("struct xlator_dumpops dumpops = {", file=xl)
for dops in xlator_dumpops: for dops in xlator_dumpops:
print >> xl, " .{0:20} = {1}_{2},".format(dops, fop_prefix, dops) print(" .{0:20} = {1}_{2},".format(dops, fop_prefix, dops), file=xl)
print >> xl, "};" print("};", file=xl)
xl.close() xl.close()
@ -122,38 +124,38 @@ def create_dir_struct():
def gen_header_files(): def gen_header_files():
upname = xl_name_no_hyphen.upper() upname = xl_name_no_hyphen.upper()
h = open(src_dir_path+"/"+xl_name+".h", 'w+') h = open(src_dir_path+"/"+xl_name+".h", 'w+')
print >> h, COPYRIGHT print(COPYRIGHT, file=h)
txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname) txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname)
txt2 = fragments["INCLUDE_IN_HEADER_FILE"].replace("@XL_NAME@", xl_name) txt2 = fragments["INCLUDE_IN_HEADER_FILE"].replace("@XL_NAME@", xl_name)
txt = txt.replace("@INCLUDE_SECT@",txt2) txt = txt.replace("@INCLUDE_SECT@",txt2)
print >> h, txt print(txt, file=h)
h.close() h.close()
h = open(src_dir_path+"/"+xl_name+"-mem-types.h", 'w+') h = open(src_dir_path+"/"+xl_name+"-mem-types.h", 'w+')
print >> h, COPYRIGHT print(COPYRIGHT, file=h)
txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname+"_MEM_TYPES") txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname+"_MEM_TYPES")
txt = txt.replace("@INCLUDE_SECT@", '#include "mem-types.h"') txt = txt.replace("@INCLUDE_SECT@", '#include "mem-types.h"')
print >> h, txt print(txt, file=h)
h.close() h.close()
h = open(src_dir_path+"/"+xl_name+"-messages.h", 'w+') h = open(src_dir_path+"/"+xl_name+"-messages.h", 'w+')
print >> h, COPYRIGHT print(COPYRIGHT, file=h)
txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname+"_MESSAGES") txt = fragments["HEADER_FMT"].replace("@HFL_NAME@", upname+"_MESSAGES")
txt = txt.replace("@INCLUDE_SECT@", '') txt = txt.replace("@INCLUDE_SECT@", '')
print >> h, txt print(txt, file=h)
h.close() h.close()
def gen_makefiles(): def gen_makefiles():
m = open(dir_path+"/Makefile.am", 'w+') m = open(dir_path+"/Makefile.am", 'w+')
print >> m, "SUBDIRS = src\n\nCLEANFILES =" print("SUBDIRS = src\n\nCLEANFILES =", file=m)
m.close() m.close()
m = open(src_dir_path+"/Makefile.am", 'w+') m = open(src_dir_path+"/Makefile.am", 'w+')
txt = MAKEFILE_FMT.replace("@XL_NAME@", xl_name) txt = MAKEFILE_FMT.replace("@XL_NAME@", xl_name)
txt = txt.replace("@XL_NAME_NO_HYPHEN@", xl_name_no_hyphen) txt = txt.replace("@XL_NAME_NO_HYPHEN@", xl_name_no_hyphen)
txt = txt.replace("@XL_TYPE@",xlator_type) txt = txt.replace("@XL_TYPE@",xlator_type)
print >> m, txt print(txt, file=m)
m.close() m.close()
def get_copyright (): def get_copyright ():
@ -183,7 +185,7 @@ def load_fragments ():
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) < 3: if len(sys.argv) < 3:
print "USAGE: ./gen_xlator <XLATOR_DIR> <XLATOR_NAME> <FOP_PREFIX>" print("USAGE: ./gen_xlator <XLATOR_DIR> <XLATOR_NAME> <FOP_PREFIX>")
sys.exit(0) sys.exit(0)
xl_name = sys.argv[2] xl_name = sys.argv[2]

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import blessings import blessings
import requests import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning from requests.packages.urllib3.exceptions import InsecureRequestWarning
@ -25,7 +26,7 @@ def process_failure(url, node):
if t.find("Result: FAIL") != -1: if t.find("Result: FAIL") != -1:
for t2 in accum: for t2 in accum:
if VERBOSE: if VERBOSE:
print t2.encode('utf-8') print(t2.encode('utf-8'))
if t2.find("Wstat") != -1: if t2.find("Wstat") != -1:
test_case = re.search('\./tests/.*\.t', t2) test_case = re.search('\./tests/.*\.t', t2)
if test_case: if test_case:
@ -69,26 +70,26 @@ def print_summary(failed_builds, total_builds, html=False):
template = 0 template = 0
if html: if html:
template = 1 template = 1
print render( print(render(
count[template], count[template],
{'failed': failed_builds, 'total': total_builds} {'failed': failed_builds, 'total': total_builds}
) ))
for k, v in summary.iteritems(): for k, v in summary.iteritems():
if k == 'core': if k == 'core':
print ''.join([TERM.red, "Found cores:", TERM.normal]) print(''.join([TERM.red, "Found cores:", TERM.normal]))
for comp, link in zip(v[::2], v[1::2]): for comp, link in zip(v[::2], v[1::2]):
print render(component[template], {'comp': comp}) print(render(component[template], {'comp': comp}))
print render( print(render(
regression_link[template], regression_link[template],
{'link': link[0], 'node': link[1]} {'link': link[0], 'node': link[1]}
) ))
else: else:
print render(failure_count[template], {'test': k, 'count': len(v)}) print(render(failure_count[template], {'test': k, 'count': len(v)}))
for link in v: for link in v:
print render( print(render(
regression_link[template], regression_link[template],
{'link': link[0], 'node': link[1]} {'link': link[0], 'node': link[1]}
) ))
def get_summary(cut_off_date, reg_link): def get_summary(cut_off_date, reg_link):
@ -114,11 +115,11 @@ def get_summary(cut_off_date, reg_link):
success_count += 1 success_count += 1
continue continue
if VERBOSE: if VERBOSE:
print ''.join([ print(''.join([
TERM.red, TERM.red,
'FAILURE on {0}'.format(build['url']), 'FAILURE on {0}'.format(build['url']),
TERM.normal TERM.normal
]) ]))
url = ''.join([build['url'], 'consoleText']) url = ''.join([build['url'], 'consoleText'])
failure_count += 1 failure_count += 1
process_failure(url, build['builtOn']) process_failure(url, build['builtOn'])

View File

@ -75,6 +75,7 @@
Prasanna Kumar Kalever <prasanna.kalever@redhat.com> Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
""" """
from __future__ import print_function
import os import os
import sys import sys
import argparse import argparse
@ -118,11 +119,11 @@ class GitBranchDiff:
status_tbr, op = commands.getstatusoutput('git log ' + status_tbr, op = commands.getstatusoutput('git log ' +
self.t_pattern) self.t_pattern)
if status_sbr != 0: if status_sbr != 0:
print "Error: --source=" + self.s_pattern + " doesn't exit\n" print("Error: --source=" + self.s_pattern + " doesn't exit\n")
self.parser.print_help() self.parser.print_help()
exit(status_sbr) exit(status_sbr)
elif status_tbr != 0: elif status_tbr != 0:
print "Error: --target=" + self.t_pattern + " doesn't exit\n" print("Error: --target=" + self.t_pattern + " doesn't exit\n")
self.parser.print_help() self.parser.print_help()
exit(status_tbr) exit(status_tbr)
@ -137,8 +138,8 @@ class GitBranchDiff:
cmd4 = 'git log ' + self.s_pattern + ' --author=' + ide cmd4 = 'git log ' + self.s_pattern + ' --author=' + ide
c_list = subprocess.check_output(cmd4, shell = True) c_list = subprocess.check_output(cmd4, shell = True)
if len(c_list) is 0: if len(c_list) is 0:
print "Error: --author=%s doesn't exit" %self.g_author print("Error: --author=%s doesn't exit" %self.g_author)
print "see '%s --help'" %__file__ print("see '%s --help'" %__file__)
exit(1) exit(1)
if len(ide_list) > 1: if len(ide_list) > 1:
self.g_author = "\|".join(ide_list) self.g_author = "\|".join(ide_list)
@ -150,16 +151,16 @@ class GitBranchDiff:
return True return True
except requests.Timeout as err: except requests.Timeout as err:
" request timed out" " request timed out"
print "Warning: failed to get list of open review commits on " \ print("Warning: failed to get list of open review commits on " \
"gerrit.\n" \ "gerrit.\n" \
"hint: Request timed out! gerrit server could possibly " \ "hint: Request timed out! gerrit server could possibly " \
"slow ...\n" "slow ...\n")
return False return False
except requests.RequestException as err: except requests.RequestException as err:
" handle other errors" " handle other errors"
print "Warning: failed to get list of open review commits on " \ print("Warning: failed to get list of open review commits on " \
"gerrit\n" \ "gerrit\n" \
"hint: check with internet connection ...\n" "hint: check with internet connection ...\n")
return False return False
def parse_cmd_args (self): def parse_cmd_args (self):
@ -212,18 +213,18 @@ class GitBranchDiff:
def print_output (self): def print_output (self):
" display the result list" " display the result list"
print "\n------------------------------------------------------------\n" print("\n------------------------------------------------------------\n")
print self.tick + " Successfully Backported changes:" print(self.tick + " Successfully Backported changes:")
print ' {' + 'from: ' + self.s_pattern + \ print(' {' + 'from: ' + self.s_pattern + \
' to: '+ self.t_pattern + '}\n' ' to: '+ self.t_pattern + '}\n')
for key, value in self.s_dict.iteritems(): for key, value in self.s_dict.iteritems():
if value in self.t_dict.itervalues(): if value in self.t_dict.itervalues():
print "[%s%s%s] %s" %(self.yello_set, print("[%s%s%s] %s" %(self.yello_set,
key, key,
self.color_unset, self.color_unset,
value) value))
print "\n------------------------------------------------------------\n" print("\n------------------------------------------------------------\n")
print self.cross + " Missing patches in " + self.t_pattern + ':\n' print(self.cross + " Missing patches in " + self.t_pattern + ':\n')
if self.connected_to_gerrit(): if self.connected_to_gerrit():
cmd3 = "git review -r origin -l" cmd3 = "git review -r origin -l"
review_list = subprocess.check_output(cmd3, shell = True).split('\n') review_list = subprocess.check_output(cmd3, shell = True).split('\n')
@ -233,18 +234,18 @@ class GitBranchDiff:
for key, value in self.s_dict.iteritems(): for key, value in self.s_dict.iteritems():
if value not in self.t_dict.itervalues(): if value not in self.t_dict.itervalues():
if any(value in s for s in review_list): if any(value in s for s in review_list):
print "[%s%s%s] %s %s(under review)%s" %(self.yello_set, print("[%s%s%s] %s %s(under review)%s" %(self.yello_set,
key, key,
self.color_unset, self.color_unset,
value, value,
self.green_set, self.green_set,
self.color_unset) self.color_unset))
else: else:
print "[%s%s%s] %s" %(self.yello_set, print("[%s%s%s] %s" %(self.yello_set,
key, key,
self.color_unset, self.color_unset,
value) value))
print "\n------------------------------------------------------------\n" print("\n------------------------------------------------------------\n")
def main (self): def main (self):
self.check_pattern_exist() self.check_pattern_exist()
@ -262,8 +263,8 @@ class GitBranchDiff:
t_list = subprocess.check_output(cmd2, shell = True) t_list = subprocess.check_output(cmd2, shell = True)
if len(t_list) is 0: if len(t_list) is 0:
print "No commits in the target: %s" %self.t_pattern print("No commits in the target: %s" %self.t_pattern)
print "see '%s --help'" %__file__ print("see '%s --help'" %__file__)
exit() exit()
else: else:
t_list = t_list.split('\n') t_list = t_list.split('\n')

View File

@ -10,6 +10,7 @@
""" """
from __future__ import print_function
import os import os
import string import string
import sys import sys
@ -72,7 +73,7 @@ class NFSRequest:
self.replygfid = tokens [gfididx + 1].strip(",") self.replygfid = tokens [gfididx + 1].strip(",")
def dump (self): def dump (self):
print "ReqLine: " + str(self.calllinecount) + " TimeStamp: " + self.timestamp + ", XID: " + self.xid + " " + self.op + " ARGS: " + self.opdata + " RepLine: " + str(self.replylinecount) + " " + self.replydata print("ReqLine: " + str(self.calllinecount) + " TimeStamp: " + self.timestamp + ", XID: " + self.xid + " " + self.op + " ARGS: " + self.opdata + " RepLine: " + str(self.replylinecount) + " " + self.replydata)
class NFSLogAnalyzer: class NFSLogAnalyzer:
@ -149,7 +150,7 @@ class NFSLogAnalyzer:
return return
rcount = len (self.xid_request_map.keys ()) rcount = len (self.xid_request_map.keys ())
orphancount = len (self.orphan_replies.keys ()) orphancount = len (self.orphan_replies.keys ())
print "Requests: " + str(rcount) + ", Orphans: " + str(orphancount) print("Requests: " + str(rcount) + ", Orphans: " + str(orphancount))
def dump (self): def dump (self):
self.getStats () self.getStats ()

View File

@ -21,13 +21,14 @@
deliberate choice so that it will catch deletions from those sources as well. deliberate choice so that it will catch deletions from those sources as well.
""" """
volume_list = [ "jdtest" ] from __future__ import print_function
import copy import copy
import string import string
import sys import sys
import types import types
volume_list = [ "jdtest" ]
class Translator: class Translator:
def __init__ (self, name): def __init__ (self, name):
self.name = name self.name = name
@ -86,16 +87,16 @@ def generate (graph, last, stream=sys.stdout):
for sv in last.subvols: for sv in last.subvols:
if not sv.dumped: if not sv.dumped:
generate(graph,sv,stream) generate(graph,sv,stream)
print >> stream, "" print("", file=stream)
sv.dumped = True sv.dumped = True
print >> stream, "volume %s" % last.name print("volume %s" % last.name, file=stream)
print >> stream, " type %s" % last.xl_type print(" type %s" % last.xl_type, file=stream)
for k, v in last.opts.iteritems(): for k, v in last.opts.iteritems():
print >> stream, " option %s %s" % (k, v) print(" option %s %s" % (k, v), file=stream)
if last.subvols: if last.subvols:
print >> stream, " subvolumes %s" % string.join( print(" subvolumes %s" % string.join(
[ sv.name for sv in last.subvols ]) [ sv.name for sv in last.subvols ]), file=stream)
print >> stream, "end-volume" print("end-volume", file=stream)
def push_filter (graph, old_xl, filt_type, opts={}): def push_filter (graph, old_xl, filt_type, opts={}):
new_type = "-" + filt_type.split("/")[1] new_type = "-" + filt_type.split("/")[1]
@ -128,7 +129,7 @@ if __name__ == "__main__":
if graph.has_key(v): if graph.has_key(v):
break break
else: else:
print "No configured volumes found - aborting." print("No configured volumes found - aborting.")
sys.exit(0) sys.exit(0)
for v in graph.values(): for v in graph.values():
if v.xl_type == "cluster/distribute": if v.xl_type == "cluster/distribute":

View File

@ -7,6 +7,7 @@
# The script takes only one input LOG _FILE generated from the command, # The script takes only one input LOG _FILE generated from the command,
# find <brick_path> | xargs getfattr -d -m. -e hex > log_gluster_xattr # find <brick_path> | xargs getfattr -d -m. -e hex > log_gluster_xattr
from __future__ import print_function
import re import re
import subprocess import subprocess
import sys import sys
@ -28,14 +29,14 @@ def get_quota_xattr_brick():
for xattr in pairs: for xattr in pairs:
k = xattr.split("=")[0] k = xattr.split("=")[0]
if re.search("# file:",k): if re.search("# file:",k):
print xdict print(xdict)
filename=k filename=k
print "=====" + filename + "=======" print("=====" + filename + "=======")
xdict = {} xdict = {}
elif k is "": elif k is "":
pass pass
else: else:
print xattr print(xattr)
v = xattr.split("=")[1] v = xattr.split("=")[1]
if re.search("contri",k): if re.search("contri",k):
if len(v) == 34: if len(v) == 34:
@ -64,7 +65,7 @@ def get_quota_xattr_brick():
mismatch_size.append((xdict['contri_size'], xdict['size'], filename)) mismatch_size.append((xdict['contri_size'], xdict['size'], filename))
for values in mismatch_size: for values in mismatch_size:
print values print(values)
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import atexit import atexit
import copy import copy
import optparse import optparse
@ -86,7 +87,7 @@ def get_range (brick):
try: try:
value = f.readline().rstrip().split('=')[1][2:] value = f.readline().rstrip().split('=')[1][2:]
except: except:
print "could not get layout for %s (might be OK)" % brick print("could not get layout for %s (might be OK)" % brick)
return None return None
v_start = int("0x"+value[16:24],16) v_start = int("0x"+value[16:24],16)
v_end = int("0x"+value[24:32],16) v_end = int("0x"+value[24:32],16)
@ -126,7 +127,7 @@ def normalize (in_bricks):
curr_hash = b.r_end + 1 curr_hash = b.r_end + 1
break break
else: else:
print "gap found at 0x%08x" % curr_hash print("gap found at 0x%08x" % curr_hash)
sys.exit(1) sys.exit(1)
return out_bricks + in_bricks, used return out_bricks + in_bricks, used
@ -183,7 +184,7 @@ if __name__ == "__main__":
def cleanup_workdir (): def cleanup_workdir ():
os.chdir(orig_dir) os.chdir(orig_dir)
if options.verbose: if options.verbose:
print "Cleaning up %s" % work_dir print("Cleaning up %s" % work_dir)
for b in bricks: for b in bricks:
subprocess.call(["umount",b.path]) subprocess.call(["umount",b.path])
shutil.rmtree(work_dir) shutil.rmtree(work_dir)
@ -193,7 +194,7 @@ if __name__ == "__main__":
# Mount each brick individually, so we can issue brick-specific calls. # Mount each brick individually, so we can issue brick-specific calls.
if options.verbose: if options.verbose:
print "Mounting subvolumes..." print("Mounting subvolumes...")
index = 0 index = 0
volfile_pipe = get_bricks(hostname,volname) volfile_pipe = get_bricks(hostname,volname)
all_xlators, last_xlator = volfilter.load(volfile_pipe) all_xlators, last_xlator = volfilter.load(volfile_pipe)
@ -201,7 +202,7 @@ if __name__ == "__main__":
if dht_vol.type == "cluster/distribute": if dht_vol.type == "cluster/distribute":
break break
else: else:
print "no DHT volume found" print("no DHT volume found")
sys.exit(1) sys.exit(1)
for sv in dht_vol.subvols: for sv in dht_vol.subvols:
#print "found subvol %s" % sv.name #print "found subvol %s" % sv.name
@ -210,12 +211,12 @@ if __name__ == "__main__":
mount_brick(lpath,all_xlators,sv) mount_brick(lpath,all_xlators,sv)
bricks.append(Brick(lpath,sv.name)) bricks.append(Brick(lpath,sv.name))
if index == 0: if index == 0:
print "no bricks" print("no bricks")
sys.exit(1) sys.exit(1)
# Collect all of the sizes. # Collect all of the sizes.
if options.verbose: if options.verbose:
print "Collecting information..." print("Collecting information...")
total = 0 total = 0
for b in bricks: for b in bricks:
info = os.statvfs(b.path) info = os.statvfs(b.path)
@ -237,7 +238,7 @@ if __name__ == "__main__":
else: else:
size = info[2] / blocksper100mb size = info[2] / blocksper100mb
if size <= 0: if size <= 0:
print "brick %s has invalid size %d" % (b.path, size) print("brick %s has invalid size %d" % (b.path, size))
sys.exit(1) sys.exit(1)
b.set_size(size) b.set_size(size)
total += size total += size
@ -248,12 +249,12 @@ if __name__ == "__main__":
if hash_range is not None: if hash_range is not None:
rs, re = hash_range rs, re = hash_range
if rs > re: if rs > re:
print "%s has backwards hash range" % b.path print("%s has backwards hash range" % b.path)
sys.exit(1) sys.exit(1)
b.set_range(hash_range[0],hash_range[1]) b.set_range(hash_range[0],hash_range[1])
if options.verbose: if options.verbose:
print "Calculating new layouts..." print("Calculating new layouts...")
calc_sizes(bricks,total) calc_sizes(bricks,total)
bricks, used = normalize(bricks) bricks, used = normalize(bricks)
@ -283,25 +284,25 @@ if __name__ == "__main__":
curr_hash += b.good_size curr_hash += b.good_size
b.r_end = curr_hash - 1 b.r_end = curr_hash - 1
print "Here are the xattr values for your size-weighted layout:" print("Here are the xattr values for your size-weighted layout:")
for b in bricks: for b in bricks:
print " %s: 0x0000000200000000%08x%08x" % ( print(" %s: 0x0000000200000000%08x%08x" % (
b.sv_name, b.r_start, b.r_end) b.sv_name, b.r_start, b.r_end))
if fix_dir: if fix_dir:
if options.verbose: if options.verbose:
print "Fixing layout for %s" % fix_dir print("Fixing layout for %s" % fix_dir)
for b in bricks: for b in bricks:
value = "0x0000000200000000%08x%08x" % ( value = "0x0000000200000000%08x%08x" % (
b.r_start, b.r_end) b.r_start, b.r_end)
path = "%s/%s" % (b.path, fix_dir) path = "%s/%s" % (b.path, fix_dir)
cmd = "setfattr -n trusted.glusterfs.dht -v %s %s" % ( cmd = "setfattr -n trusted.glusterfs.dht -v %s %s" % (
value, path) value, path)
print cmd print(cmd)
if options.leave_mounted: if options.leave_mounted:
print "The following subvolumes are still mounted:" print("The following subvolumes are still mounted:")
for b in bricks: for b in bricks:
print "%s on %s" % (b.sv_name, b.path) print("%s on %s" % (b.sv_name, b.path))
print "Don't forget to clean up when you're done." print("Don't forget to clean up when you're done.")

View File

@ -13,6 +13,7 @@
# You should have received a copy of the GNU General Public License * along # You should have received a copy of the GNU General Public License * along
# with HekaFS. If not, see <http://www.gnu.org/licenses/>. # with HekaFS. If not, see <http://www.gnu.org/licenses/>.
from __future__ import print_function
import copy import copy
import string import string
import sys import sys
@ -127,16 +128,16 @@ def generate (graph, last, stream=sys.stdout):
for sv in last.subvols: for sv in last.subvols:
if not sv.dumped: if not sv.dumped:
generate(graph,sv,stream) generate(graph,sv,stream)
print >> stream, "" print("", file=stream)
sv.dumped = True sv.dumped = True
print >> stream, "volume %s" % last.name print("volume %s" % last.name, file=stream)
print >> stream, " type %s" % last.type print(" type %s" % last.type, file=stream)
for k, v in last.opts.iteritems(): for k, v in last.opts.iteritems():
print >> stream, " option %s %s" % (k, v) print(" option %s %s" % (k, v), file=stream)
if last.subvols: if last.subvols:
print >> stream, " subvolumes %s" % string.join( print(" subvolumes %s" % string.join(
[ sv.name for sv in last.subvols ]) [ sv.name for sv in last.subvols ]), file=stream)
print >> stream, "end-volume" print("end-volume", file=stream)
def push_filter (graph, old_xl, filt_type, opts={}): def push_filter (graph, old_xl, filt_type, opts={}):
suffix = "-" + old_xl.type.split("/")[1] suffix = "-" + old_xl.type.split("/")[1]

View File

@ -8,6 +8,7 @@
# cases as published by the Free Software Foundation. # cases as published by the Free Software Foundation.
# #
from __future__ import print_function
import os import os
import os.path import os.path
import sys import sys
@ -45,7 +46,7 @@ class IPNetwork(list):
gsyncd = sys.modules['gsyncd'] gsyncd = sys.modules['gsyncd']
for a in [['--help'], ['--version'], for a in [['--help'], ['--version'],
['--canonicalize-escape-url', '/foo']]: ['--canonicalize-escape-url', '/foo']]:
print('>>> invoking program with args: %s' % ' '.join(a)) print(('>>> invoking program with args: %s' % ' '.join(a)))
pid = os.fork() pid = os.fork()
if not pid: if not pid:
sys_argv_set(a) sys_argv_set(a)

View File

@ -1,5 +1,6 @@
# Converts old style args into new style args # Converts old style args into new style args
from __future__ import print_function
import sys import sys
from argparse import ArgumentParser from argparse import ArgumentParser
import socket import socket
@ -136,8 +137,8 @@ def upgrade():
user, hname = remote_addr.split("@") user, hname = remote_addr.split("@")
print("ssh://%s@%s:gluster://127.0.0.1:%s" % ( print(("ssh://%s@%s:gluster://127.0.0.1:%s" % (
user, gethostbyname(hname), vol)) user, gethostbyname(hname), vol)))
sys.exit(0) sys.exit(0)
elif "--normalize-url" in sys.argv: elif "--normalize-url" in sys.argv:
@ -146,7 +147,7 @@ def upgrade():
p = ArgumentParser() p = ArgumentParser()
p.add_argument("--normalize-url") p.add_argument("--normalize-url")
pargs = p.parse_known_args(sys.argv[1:])[0] pargs = p.parse_known_args(sys.argv[1:])[0]
print("ssh://%s" % slave_url(pargs.normalize_url)) print(("ssh://%s" % slave_url(pargs.normalize_url)))
sys.exit(0) sys.exit(0)
elif "--config-get-all" in sys.argv: elif "--config-get-all" in sys.argv:
# -c gsyncd.conf --iprefix=/var :gv1 f241::gv2 --config-get-all # -c gsyncd.conf --iprefix=/var :gv1 f241::gv2 --config-get-all

View File

@ -9,6 +9,7 @@
# cases as published by the Free Software Foundation. # cases as published by the Free Software Foundation.
# #
from __future__ import print_function
import fcntl import fcntl
import os import os
import tempfile import tempfile
@ -406,8 +407,8 @@ class GeorepStatus(object):
# Convert all values as string # Convert all values as string
for k, v in status_out.items(): for k, v in status_out.items():
out[k] = str(v) out[k] = str(v)
print json.dumps(out) print(json.dumps(out))
return return
for key, value in status_out.items(): for key, value in status_out.items():
print ("%s: %s" % (key, value)) print(("%s: %s" % (key, value)))

View File

@ -1,6 +1,7 @@
import logging
from __future__ import print_function
from syncdutils import lf from syncdutils import lf
import logging
import gsyncdconfig as gconf import gsyncdconfig as gconf
@ -224,7 +225,7 @@ def print_config(name, value, only_value=False, use_underscore=False):
if use_underscore: if use_underscore:
name = name.replace("-", "_") name = name.replace("-", "_")
print("%s:%s" % (name, val)) print(("%s:%s" % (name, val)))
def config_name_format(val): def config_name_format(val):
@ -260,7 +261,7 @@ def subcmd_config_get(args):
"modified": v["modified"] "modified": v["modified"]
}) })
print(json.dumps(out)) print((json.dumps(out)))
return return
for k in sorted(all_config): for k in sorted(all_config):

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import sys import sys
from generator import ops, fop_subs, cbk_subs, generate from generator import ops, fop_subs, cbk_subs, generate
@ -61,20 +62,20 @@ default_@NAME@ (
def gen_defaults (): def gen_defaults ():
for name in ops.iterkeys(): for name in ops.iterkeys():
print generate(FAILURE_CBK_TEMPLATE,name,cbk_subs) print(generate(FAILURE_CBK_TEMPLATE,name,cbk_subs))
for name in ops.iterkeys(): for name in ops.iterkeys():
print generate(CBK_RESUME_TEMPLATE,name,cbk_subs) print(generate(CBK_RESUME_TEMPLATE,name,cbk_subs))
for name in ops.iterkeys(): for name in ops.iterkeys():
print generate(CBK_TEMPLATE,name,cbk_subs) print(generate(CBK_TEMPLATE,name,cbk_subs))
for name in ops.iterkeys(): for name in ops.iterkeys():
print generate(RESUME_TEMPLATE,name,fop_subs) print(generate(RESUME_TEMPLATE,name,fop_subs))
for name in ops.iterkeys(): for name in ops.iterkeys():
print generate(FOP_TEMPLATE,name,fop_subs) print(generate(FOP_TEMPLATE,name,fop_subs))
for l in open(sys.argv[1],'r').readlines(): for l in open(sys.argv[1],'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_defaults() gen_defaults()
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import sys import sys
def calculate_one (ov, nv): def calculate_one (ov, nv):
@ -56,4 +57,4 @@ print '= %08x' % calculate_all(test2_vals)
if __name__ == '__main__': if __name__ == '__main__':
# Return decimal so bash can reason about it. # Return decimal so bash can reason about it.
print '%d' % calculate_all(sys.argv[1:]) print('%d' % calculate_all(sys.argv[1:]))

View File

@ -5,6 +5,7 @@
# Author: Niels de Vos <ndevos@redhat.com> # Author: Niels de Vos <ndevos@redhat.com>
# #
from __future__ import print_function
import os import os
import stat import stat
import sys import sys
@ -13,7 +14,7 @@ import socket
ret = 1 ret = 1
if len(sys.argv) != 2: if len(sys.argv) != 2:
print 'Usage: %s <socket>' % (sys.argv[0]) print('Usage: %s <socket>' % (sys.argv[0]))
sys.exit(ret) sys.exit(ret)
path = sys.argv[1] path = sys.argv[1]

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import ctypes import ctypes
api = ctypes.CDLL("libgfapi.so",mode=ctypes.RTLD_GLOBAL) api = ctypes.CDLL("libgfapi.so",mode=ctypes.RTLD_GLOBAL)
@ -23,6 +24,6 @@ if __name__ == "__main__":
try: try:
res = apply(do_ipc,sys.argv[1:3]) res = apply(do_ipc,sys.argv[1:3])
print res print(res)
except: except:
print "IPC failed (volume not started?)" print("IPC failed (volume not started?)")

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import sys import sys
from optparse import OptionParser from optparse import OptionParser
@ -32,22 +33,22 @@ def getfattr(path, option):
def print_getfattr (path, option, encoded_attr=None): def print_getfattr (path, option, encoded_attr=None):
if encoded_attr: if encoded_attr:
if option.encoding == "hex": if option.encoding == "hex":
print ("%s=0x%s" % (option.name, encoded_attr)) print(("%s=0x%s" % (option.name, encoded_attr)))
elif option.encoding == "base64": elif option.encoding == "base64":
print ("%s=0s%s" % (option.name, encoded_attr)) print(("%s=0s%s" % (option.name, encoded_attr)))
else: else:
print ("%s=\"%s\"" % (option.name, encoded_attr)) print(("%s=\"%s\"" % (option.name, encoded_attr)))
else: else:
print option.name print(option.name)
return return
def print_header (path, absnames): def print_header (path, absnames):
if absnames: if absnames:
print ("# file: %s" % path) print(("# file: %s" % path))
else: else:
print ("getfattr: Removing leading '/' from absolute path names") print ("getfattr: Removing leading '/' from absolute path names")
print ("# file: %s" % path[1:]) print(("# file: %s" % path[1:]))
if __name__ == '__main__': if __name__ == '__main__':
usage = "usage: %prog [-n name|-d] [-e en] [-m pattern] path...." usage = "usage: %prog [-n name|-d] [-e en] [-m pattern] path...."
@ -99,8 +100,8 @@ if __name__ == '__main__':
if (not (option.encoding.strip() == "hex" or if (not (option.encoding.strip() == "hex" or
option.encoding.strip() == "base64" or option.encoding.strip() == "base64" or
option.encoding.strip() == "text")): option.encoding.strip() == "text")):
print ("unrecognized encoding parameter... %s, please use" print(("unrecognized encoding parameter... %s, please use"
" `text`, `base64` or `hex`" % option.encoding) " `text`, `base64` or `hex`" % option.encoding))
sys.exit(1) sys.exit(1)
args[0] = os.path.abspath(args[0]) args[0] = os.path.abspath(args[0])
@ -110,7 +111,7 @@ if __name__ == '__main__':
try: try:
getfattr(args[0], option) getfattr(args[0], option)
except KeyError as err: except KeyError as err:
print ("Invalid key %s" % err) print(("Invalid key %s" % err))
sys.exit(1) sys.exit(1)
except IOError as err: except IOError as err:
print (err) print (err)

View File

@ -9,6 +9,7 @@
# cases as published by the Free Software Foundation. # cases as published by the Free Software Foundation.
# #
from __future__ import print_function
import os import os
import sys import sys
import stat import stat
@ -53,8 +54,8 @@ def entry_pack_symlink(gf, bn, lnk, mo, uid, gid):
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) < 9: if len(sys.argv) < 9:
print("USAGE: %s <mount> <pargfid|ROOT> <filename> <GFID> <file type>" print(("USAGE: %s <mount> <pargfid|ROOT> <filename> <GFID> <file type>"
" <uid> <gid> <file permission(octal str)>" % (sys.argv[0])) " <uid> <gid> <file permission(octal str)>" % (sys.argv[0])))
sys.exit(-1) # nothing to do sys.exit(-1) # nothing to do
mtpt = sys.argv[1] mtpt = sys.argv[1]
pargfid = sys.argv[2] pargfid = sys.argv[2]
@ -92,5 +93,5 @@ if __name__ == '__main__':
if not ex.errno in [EEXIST]: if not ex.errno in [EEXIST]:
raise raise
sys.exit(-1) sys.exit(-1)
print "File creation OK" print("File creation OK")
sys.exit(0) sys.exit(0)

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import sys import sys
try: try:
@ -21,14 +22,14 @@ def pidof(processname):
continue continue
if "gluster" in processname: if "gluster" in processname:
if processname == "glusterd" and pmap_find(p, "glusterd"): if processname == "glusterd" and pmap_find(p, "glusterd"):
print (p.pid) print((p.pid))
if processname == "glusterfs" and pmap_find(p, "client"): if processname == "glusterfs" and pmap_find(p, "client"):
print (p.pid) print((p.pid))
if processname == "glusterfsd" and pmap_find(p, "posix-acl"): if processname == "glusterfsd" and pmap_find(p, "posix-acl"):
print (p.pid) print((p.pid))
continue continue
if processname.strip() == p.name(): if processname.strip() == p.name():
print (p.pid) print((p.pid))
def main(argv): def main(argv):
if len(argv) < 2: if len(argv) < 2:
@ -37,7 +38,7 @@ def main(argv):
try: try:
pidof(argv[1]) pidof(argv[1])
except Exception as err: except Exception as err:
print err print(err)
sys.stderr.write("Please be root - %s\n" % err); sys.stderr.write("Please be root - %s\n" % err);
sys.exit(1) sys.exit(1)

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import re import re
import sys import sys
@ -109,8 +110,8 @@ def load_fragments (path="recon-tmpl.c"):
if __name__ == "__main__": if __name__ == "__main__":
fragments = load_fragments(sys.argv[1]) fragments = load_fragments(sys.argv[1])
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
print fragments["PROLOG"] print(fragments["PROLOG"])
print gen_functions() print(gen_functions())
print fragments["EPILOG"].replace("@SWITCH_BODY@",gen_cases()) print(fragments["EPILOG"].replace("@SWITCH_BODY@",gen_cases()))
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import sys import sys
@ -325,29 +326,29 @@ def gen_fdl ():
fop_subs[name]["@LEN_CODE@"] = len_code[:-1] fop_subs[name]["@LEN_CODE@"] = len_code[:-1]
fop_subs[name]["@SER_CODE@"] = ser_code[:-1] fop_subs[name]["@SER_CODE@"] = ser_code[:-1]
if 'len' in gen_funcs: if 'len' in gen_funcs:
print generate(LEN_TEMPLATE,name,fop_subs) print(generate(LEN_TEMPLATE,name,fop_subs))
if 'serialize' in gen_funcs: if 'serialize' in gen_funcs:
print generate(SER_TEMPLATE,name,fop_subs) print(generate(SER_TEMPLATE,name,fop_subs))
if name == 'writev': if name == 'writev':
print "#define DESTAGE_ASYNC" print("#define DESTAGE_ASYNC")
if 'callback' in gen_funcs: if 'callback' in gen_funcs:
print generate(CBK_TEMPLATE,name,cbk_subs) print(generate(CBK_TEMPLATE,name,cbk_subs))
if 'continue' in gen_funcs: if 'continue' in gen_funcs:
print generate(CONTINUE_TEMPLATE,name,fop_subs) print(generate(CONTINUE_TEMPLATE,name,fop_subs))
if 'fop' in gen_funcs: if 'fop' in gen_funcs:
print generate(FOP_TEMPLATE,name,fop_subs) print(generate(FOP_TEMPLATE,name,fop_subs))
if name == 'writev': if name == 'writev':
print "#undef DESTAGE_ASYNC" print("#undef DESTAGE_ASYNC")
entrypoints.append(name) entrypoints.append(name)
print "struct xlator_fops fops = {" print("struct xlator_fops fops = {")
for ep in entrypoints: for ep in entrypoints:
print "\t.%s = fdl_%s," % (ep, ep) print("\t.%s = fdl_%s," % (ep, ep))
print "};" print("};")
for l in open(sys.argv[1],'r').readlines(): for l in open(sys.argv[1],'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_fdl() gen_fdl()
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import re import re
import string import string
@ -210,8 +211,8 @@ def load_fragments (path="recon-tmpl.c"):
if __name__ == "__main__": if __name__ == "__main__":
fragments = load_fragments(sys.argv[1]) fragments = load_fragments(sys.argv[1])
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
print fragments["PROLOG"] print(fragments["PROLOG"])
print gen_functions() print(gen_functions())
print fragments["EPILOG"].replace("@SWITCH_BODY@",gen_cases()) print(fragments["EPILOG"].replace("@SWITCH_BODY@",gen_cases()))
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import re import re
import string import string
@ -43,15 +44,15 @@ def gen_client (templates):
if name == 'getspec': if name == 'getspec':
# It's not real if it doesn't have a stub function. # It's not real if it doesn't have a stub function.
continue continue
print generate(templates['cbk'],name,cbk_subs) print(generate(templates['cbk'],name,cbk_subs))
print generate(templates['cont-func'],name,fop_subs) print(generate(templates['cont-func'],name,fop_subs))
print generate(templates['fop'],name,fop_subs) print(generate(templates['fop'],name,fop_subs))
tmpl = load_templates(sys.argv[1]) tmpl = load_templates(sys.argv[1])
for l in open(sys.argv[2],'r').readlines(): for l in open(sys.argv[2],'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_client(tmpl) gen_client(tmpl)
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -5,6 +5,7 @@
# between leader and followers (including fan-out), and basic error checking # between leader and followers (including fan-out), and basic error checking
# to be centralized one place, with per-operation code kept to a minimum. # to be centralized one place, with per-operation code kept to a minimum.
from __future__ import print_function
import os import os
import re import re
import string import string
@ -132,49 +133,49 @@ def gen_server (templates):
if ("fsync" in flags) or ("queue" in flags): if ("fsync" in flags) or ("queue" in flags):
flags.append("need_fd") flags.append("need_fd")
for fname in flags: for fname in flags:
print "#define JBR_CG_%s" % fname.upper() print("#define JBR_CG_%s" % fname.upper())
if 'complete' in gen_funcs: if 'complete' in gen_funcs:
print generate(templates[kind+"-complete"], print(generate(templates[kind+"-complete"],
name,cbk_subs) name,cbk_subs))
if 'continue' in gen_funcs: if 'continue' in gen_funcs:
print generate(templates[kind+"-continue"], print(generate(templates[kind+"-continue"],
name,fop_subs) name,fop_subs))
if 'fan-in' in gen_funcs: if 'fan-in' in gen_funcs:
print generate(templates[kind+"-fan-in"], print(generate(templates[kind+"-fan-in"],
name,cbk_subs) name,cbk_subs))
if 'dispatch' in gen_funcs: if 'dispatch' in gen_funcs:
print generate(templates[kind+"-dispatch"], print(generate(templates[kind+"-dispatch"],
name,fop_subs) name,fop_subs))
if 'call_dispatch' in gen_funcs: if 'call_dispatch' in gen_funcs:
print generate(templates[kind+"-call_dispatch"], print(generate(templates[kind+"-call_dispatch"],
name,fop_subs) name,fop_subs))
if 'perform_local_op' in gen_funcs: if 'perform_local_op' in gen_funcs:
print generate(templates[kind+"-perform_local_op"], print(generate(templates[kind+"-perform_local_op"],
name, fop_subs) name, fop_subs))
if 'fop' in gen_funcs: if 'fop' in gen_funcs:
print generate(templates[kind+"-fop"],name,fop_subs) print(generate(templates[kind+"-fop"],name,fop_subs))
for fname in flags: for fname in flags:
print "#undef JBR_CG_%s" % fname.upper() print("#undef JBR_CG_%s" % fname.upper())
fops_done.append(name) fops_done.append(name)
# Just for fun, emit the fops table too. # Just for fun, emit the fops table too.
print("struct xlator_fops fops = {") print("struct xlator_fops fops = {")
for x in fops_done: for x in fops_done:
print(" .%s = jbr_%s,"%(x,x)) print((" .%s = jbr_%s,"%(x,x)))
print("};") print("};")
tmpl = load_templates(sys.argv[1]) tmpl = load_templates(sys.argv[1])
for l in open(sys.argv[2],'r').readlines(): for l in open(sys.argv[2],'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_server(tmpl) gen_server(tmpl)
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -1,5 +1,6 @@
#!/usr/bin/python2 #!/usr/bin/python2
from __future__ import print_function
import os import os
import sys import sys
import time import time
@ -16,18 +17,18 @@ def get_changes(brick, scratch_dir, log_file, log_level, interval):
cl.cl_scan() cl.cl_scan()
change_list = cl.cl_getchanges() change_list = cl.cl_getchanges()
if change_list: if change_list:
print change_list print(change_list)
for change in change_list: for change in change_list:
print('done with %s' % (change)) print(('done with %s' % (change)))
cl.cl_done(change) cl.cl_done(change)
time.sleep(interval) time.sleep(interval)
except OSError: except OSError:
ex = sys.exc_info()[1] ex = sys.exc_info()[1]
print ex print(ex)
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) != 6: if len(sys.argv) != 6:
print("usage: %s <brick> <scratch-dir> <log-file> <fetch-interval>" print(("usage: %s <brick> <scratch-dir> <log-file> <fetch-interval>"
% (sys.argv[0])) % (sys.argv[0])))
sys.exit(1) sys.exit(1)
get_changes(sys.argv[1], sys.argv[2], sys.argv[3], 9, int(sys.argv[4])) get_changes(sys.argv[1], sys.argv[2], sys.argv[3], 9, int(sys.argv[4]))

View File

@ -1,5 +1,6 @@
#!/usr/bin/python #!/usr/bin/python
from __future__ import print_function
import os import os
import sys import sys
@ -289,17 +290,17 @@ special_fops = ['readdirp', 'statfs', 'setxattr', 'unlink', 'getxattr',
def gen_defaults(): def gen_defaults():
for name in ops: for name in ops:
if name in fd_data_modify_op_fop_template: if name in fd_data_modify_op_fop_template:
print generate(FD_DATA_MODIFYING_OP_FOP_CBK_TEMPLATE, name, cbk_subs) print(generate(FD_DATA_MODIFYING_OP_FOP_CBK_TEMPLATE, name, cbk_subs))
print generate(FD_DATA_MODIFYING_RESUME_OP_FOP_TEMPLATE, name, fop_subs) print(generate(FD_DATA_MODIFYING_RESUME_OP_FOP_TEMPLATE, name, fop_subs))
print generate(FD_DATA_MODIFYING_OP_FOP_TEMPLATE, name, fop_subs) print(generate(FD_DATA_MODIFYING_OP_FOP_TEMPLATE, name, fop_subs))
elif name in loc_stat_op_fop_template: elif name in loc_stat_op_fop_template:
print generate(LOC_STAT_OP_FOP_CBK_TEMPLATE, name, cbk_subs) print(generate(LOC_STAT_OP_FOP_CBK_TEMPLATE, name, cbk_subs))
print generate(LOC_STAT_OP_FOP_TEMPLATE, name, fop_subs) print(generate(LOC_STAT_OP_FOP_TEMPLATE, name, fop_subs))
for l in open(sys.argv[1], 'r').readlines(): for l in open(sys.argv[1], 'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_defaults() gen_defaults()
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -1,5 +1,6 @@
#!/usr/bin/python #!/usr/bin/python
from __future__ import print_function
import os import os
import sys import sys
@ -18,13 +19,13 @@ def gen_defaults():
for name, value in ops.iteritems(): for name, value in ops.iteritems():
if name == 'getspec': if name == 'getspec':
continue continue
print generate(OP_FOP_TEMPLATE, name, fop_subs) print(generate(OP_FOP_TEMPLATE, name, fop_subs))
for l in open(sys.argv[1], 'r').readlines(): for l in open(sys.argv[1], 'r').readlines():
if l.find('#pragma generate') != -1: if l.find('#pragma generate') != -1:
print "/* BEGIN GENERATED CODE - DO NOT MODIFY */" print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_defaults() gen_defaults()
print "/* END GENERATED CODE */" print("/* END GENERATED CODE */")
else: else:
print l[:-1] print(l[:-1])

View File

@ -1,3 +1,5 @@
from __future__ import print_function
import sys import sys
import stat import stat
from uuid import UUID from uuid import UUID
@ -106,8 +108,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.gfid) gfid = uuid2str(loc.contents.gfid)
print("GLUPY TRACE LOOKUP FOP- {0:d}: gfid={1:s}; " + print(("GLUPY TRACE LOOKUP FOP- {0:d}: gfid={1:s}; " +
"path={2:s}").format(unique, gfid, loc.contents.path) "path={2:s}").format(unique, gfid, loc.contents.path))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_lookup(frame, POINTER(xlator_t)(), loc, xdata) dl.wind_lookup(frame, POINTER(xlator_t)(), loc, xdata)
return 0 return 0
@ -120,18 +122,18 @@ class xlator(Translator):
gfid = uuid2str(buf.contents.ia_gfid) gfid = uuid2str(buf.contents.ia_gfid)
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE LOOKUP CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE LOOKUP CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; *buf={3:s}; " + "op_ret={2:d}; *buf={3:s}; " +
"*postparent={4:s}").format(unique, gfid, "*postparent={4:s}").format(unique, gfid,
op_ret, statstr, op_ret, statstr,
postparentstr) postparentstr))
else: else:
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE LOOKUP CBK - {0:d}: gfid={1:s};" + print(("GLUPY TRACE LOOKUP CBK - {0:d}: gfid={1:s};" +
" op_ret={2:d}; op_errno={3:d}").format(unique, " op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_lookup(frame, cookie, this, op_ret, op_errno, dl.unwind_lookup(frame, cookie, this, op_ret, op_errno,
inode, buf, xdata, postparent) inode, buf, xdata, postparent)
@ -141,10 +143,10 @@ class xlator(Translator):
xdata): xdata):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
gfid = uuid2str(loc.contents.gfid) gfid = uuid2str(loc.contents.gfid)
print("GLUPY TRACE CREATE FOP- {0:d}: gfid={1:s}; path={2:s}; " + print(("GLUPY TRACE CREATE FOP- {0:d}: gfid={1:s}; path={2:s}; " +
"fd={3:s}; flags=0{4:o}; mode=0{5:o}; " + "fd={3:s}; flags=0{4:o}; mode=0{5:o}; " +
"umask=0{6:o}").format(unique, gfid, loc.contents.path, "umask=0{6:o}").format(unique, gfid, loc.contents.path,
fd, flags, mode, umask) fd, flags, mode, umask))
dl.wind_create(frame, POINTER(xlator_t)(), loc, flags,mode, dl.wind_create(frame, POINTER(xlator_t)(), loc, flags,mode,
umask, fd, xdata) umask, fd, xdata)
return 0 return 0
@ -157,16 +159,16 @@ class xlator(Translator):
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE CREATE CBK- {0:d}: gfid={1:s};" + print(("GLUPY TRACE CREATE CBK- {0:d}: gfid={1:s};" +
" op_ret={2:d}; fd={3:s}; *stbuf={4:s}; " + " op_ret={2:d}; fd={3:s}; *stbuf={4:s}; " +
"*preparent={5:s};" + "*preparent={5:s};" +
" *postparent={6:s}").format(unique, gfid, op_ret, " *postparent={6:s}").format(unique, gfid, op_ret,
fd, statstr, fd, statstr,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print ("GLUPY TRACE CREATE CBK- {0:d}: op_ret={1:d}; " + print(("GLUPY TRACE CREATE CBK- {0:d}: op_ret={1:d}; " +
"op_errno={2:d}").format(unique, op_ret, op_errno) "op_errno={2:d}").format(unique, op_ret, op_errno))
dl.unwind_create(frame, cookie, this, op_ret, op_errno, fd, dl.unwind_create(frame, cookie, this, op_ret, op_errno, fd,
inode, buf, preparent, postparent, xdata) inode, buf, preparent, postparent, xdata)
return 0 return 0
@ -175,10 +177,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE OPEN FOP- {0:d}: gfid={1:s}; path={2:s}; "+ print(("GLUPY TRACE OPEN FOP- {0:d}: gfid={1:s}; path={2:s}; "+
"flags={3:d}; fd={4:s}").format(unique, gfid, "flags={3:d}; fd={4:s}").format(unique, gfid,
loc.contents.path, flags, loc.contents.path, flags,
fd) fd))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_open(frame, POINTER(xlator_t)(), loc, flags, fd, xdata) dl.wind_open(frame, POINTER(xlator_t)(), loc, flags, fd, xdata)
return 0 return 0
@ -187,9 +189,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE OPEN CBK- {0:d}: gfid={1:s}; op_ret={2:d}; " print(("GLUPY TRACE OPEN CBK- {0:d}: gfid={1:s}; op_ret={2:d}; "
"op_errno={3:d}; *fd={4:s}").format(unique, gfid, "op_errno={3:d}; *fd={4:s}").format(unique, gfid,
op_ret, op_errno, fd) op_ret, op_errno, fd))
del self.gfids[key] del self.gfids[key]
dl.unwind_open(frame, cookie, this, op_ret, op_errno, fd, dl.unwind_open(frame, cookie, this, op_ret, op_errno, fd,
xdata) xdata)
@ -199,10 +201,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE READV FOP- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE READV FOP- {0:d}: gfid={1:s}; "+
"fd={2:s}; size ={3:d}; offset={4:d}; " + "fd={2:s}; size ={3:d}; offset={4:d}; " +
"flags=0{5:x}").format(unique, gfid, fd, size, offset, "flags=0{5:x}").format(unique, gfid, fd, size, offset,
flags) flags))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_readv (frame, POINTER(xlator_t)(), fd, size, offset, dl.wind_readv (frame, POINTER(xlator_t)(), fd, size, offset,
flags, xdata) flags, xdata)
@ -215,17 +217,17 @@ class xlator(Translator):
gfid = self.gfids[key] gfid = self.gfids[key]
if op_ret >= 0: if op_ret >= 0:
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
print("GLUPY TRACE READV CBK- {0:d}: gfid={1:s}, "+ print(("GLUPY TRACE READV CBK- {0:d}: gfid={1:s}, "+
"op_ret={2:d}; *buf={3:s};").format(unique, gfid, "op_ret={2:d}; *buf={3:s};").format(unique, gfid,
op_ret, op_ret,
statstr) statstr))
else: else:
print("GLUPY TRACE READV CBK- {0:d}: gfid={1:s}, "+ print(("GLUPY TRACE READV CBK- {0:d}: gfid={1:s}, "+
"op_ret={2:d}; op_errno={3:d}").format(unique, "op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_readv (frame, cookie, this, op_ret, op_errno, dl.unwind_readv (frame, cookie, this, op_ret, op_errno,
vector, count, buf, iobref, xdata) vector, count, buf, iobref, xdata)
@ -236,10 +238,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE WRITEV FOP- {0:d}: gfid={1:s}; " + print(("GLUPY TRACE WRITEV FOP- {0:d}: gfid={1:s}; " +
"fd={2:s}; count={3:d}; offset={4:d}; " + "fd={2:s}; count={3:d}; offset={4:d}; " +
"flags=0{5:x}").format(unique, gfid, fd, count, offset, "flags=0{5:x}").format(unique, gfid, fd, count, offset,
flags) flags))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_writev(frame, POINTER(xlator_t)(), fd, vector, count, dl.wind_writev(frame, POINTER(xlator_t)(), fd, vector, count,
offset, flags, iobref, xdata) offset, flags, iobref, xdata)
@ -252,17 +254,17 @@ class xlator(Translator):
if op_ret >= 0: if op_ret >= 0:
preopstr = trace_stat2str(prebuf) preopstr = trace_stat2str(prebuf)
postopstr = trace_stat2str(postbuf) postopstr = trace_stat2str(postbuf)
print("GLUPY TRACE WRITEV CBK- {0:d}: op_ret={1:d}; " + print(("GLUPY TRACE WRITEV CBK- {0:d}: op_ret={1:d}; " +
"*prebuf={2:s}; " + "*prebuf={2:s}; " +
"*postbuf={3:s}").format(unique, op_ret, preopstr, "*postbuf={3:s}").format(unique, op_ret, preopstr,
postopstr) postopstr))
else: else:
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE WRITEV CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE WRITEV CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, "op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_writev (frame, cookie, this, op_ret, op_errno, dl.unwind_writev (frame, cookie, this, op_ret, op_errno,
prebuf, postbuf, xdata) prebuf, postbuf, xdata)
@ -272,8 +274,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE OPENDIR FOP- {0:d}: gfid={1:s}; path={2:s}; "+ print(("GLUPY TRACE OPENDIR FOP- {0:d}: gfid={1:s}; path={2:s}; "+
"fd={3:s}").format(unique, gfid, loc.contents.path, fd) "fd={3:s}").format(unique, gfid, loc.contents.path, fd))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_opendir(frame, POINTER(xlator_t)(), loc, fd, xdata) dl.wind_opendir(frame, POINTER(xlator_t)(), loc, fd, xdata)
return 0 return 0
@ -283,9 +285,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE OPENDIR CBK- {0:d}: gfid={1:s}; op_ret={2:d};"+ print(("GLUPY TRACE OPENDIR CBK- {0:d}: gfid={1:s}; op_ret={2:d};"+
" op_errno={3:d}; fd={4:s}").format(unique, gfid, op_ret, " op_errno={3:d}; fd={4:s}").format(unique, gfid, op_ret,
op_errno, fd) op_errno, fd))
del self.gfids[key] del self.gfids[key]
dl.unwind_opendir(frame, cookie, this, op_ret, op_errno, dl.unwind_opendir(frame, cookie, this, op_ret, op_errno,
fd, xdata) fd, xdata)
@ -295,9 +297,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE READDIR FOP- {0:d}: gfid={1:s}; fd={2:s}; " + print(("GLUPY TRACE READDIR FOP- {0:d}: gfid={1:s}; fd={2:s}; " +
"size={3:d}; offset={4:d}").format(unique, gfid, fd, size, "size={3:d}; offset={4:d}").format(unique, gfid, fd, size,
offset) offset))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_readdir(frame, POINTER(xlator_t)(), fd, size, offset, dl.wind_readdir(frame, POINTER(xlator_t)(), fd, size, offset,
xdata) xdata)
@ -308,8 +310,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE READDIR CBK- {0:d}: gfid={1:s}; op_ret={2:d};"+ print(("GLUPY TRACE READDIR CBK- {0:d}: gfid={1:s}; op_ret={2:d};"+
" op_errno={3:d}").format(unique, gfid, op_ret, op_errno) " op_errno={3:d}").format(unique, gfid, op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_readdir(frame, cookie, this, op_ret, op_errno, buf, dl.unwind_readdir(frame, cookie, this, op_ret, op_errno, buf,
xdata) xdata)
@ -319,9 +321,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE READDIRP FOP- {0:d}: gfid={1:s}; fd={2:s}; "+ print(("GLUPY TRACE READDIRP FOP- {0:d}: gfid={1:s}; fd={2:s}; "+
" size={3:d}; offset={4:d}").format(unique, gfid, fd, size, " size={3:d}; offset={4:d}").format(unique, gfid, fd, size,
offset) offset))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_readdirp(frame, POINTER(xlator_t)(), fd, size, offset, dl.wind_readdirp(frame, POINTER(xlator_t)(), fd, size, offset,
dictionary) dictionary)
@ -332,9 +334,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE READDIRP CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE READDIRP CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, gfid, "op_ret={2:d}; op_errno={3:d}").format(unique, gfid,
op_ret, op_errno) op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_readdirp(frame, cookie, this, op_ret, op_errno, buf, dl.unwind_readdirp(frame, cookie, this, op_ret, op_errno, buf,
xdata) xdata)
@ -343,10 +345,10 @@ class xlator(Translator):
def mkdir_fop(self, frame, this, loc, mode, umask, xdata): def mkdir_fop(self, frame, this, loc, mode, umask, xdata):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE MKDIR FOP- {0:d}: gfid={1:s}; path={2:s}; " + print(("GLUPY TRACE MKDIR FOP- {0:d}: gfid={1:s}; path={2:s}; " +
"mode={3:d}; umask=0{4:o}").format(unique, gfid, "mode={3:d}; umask=0{4:o}").format(unique, gfid,
loc.contents.path, mode, loc.contents.path, mode,
umask) umask))
dl.wind_mkdir(frame, POINTER(xlator_t)(), loc, mode, umask, dl.wind_mkdir(frame, POINTER(xlator_t)(), loc, mode, umask,
xdata) xdata)
return 0 return 0
@ -359,15 +361,15 @@ class xlator(Translator):
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE MKDIR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE MKDIR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; *stbuf={3:s}; *prebuf={4:s}; "+ "op_ret={2:d}; *stbuf={3:s}; *prebuf={4:s}; "+
"*postbuf={5:s} ").format(unique, gfid, op_ret, "*postbuf={5:s} ").format(unique, gfid, op_ret,
statstr, statstr,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print("GLUPY TRACE MKDIR CBK- {0:d}: op_ret={1:d}; "+ print(("GLUPY TRACE MKDIR CBK- {0:d}: op_ret={1:d}; "+
"op_errno={2:d}").format(unique, op_ret, op_errno) "op_errno={2:d}").format(unique, op_ret, op_errno))
dl.unwind_mkdir(frame, cookie, this, op_ret, op_errno, inode, dl.unwind_mkdir(frame, cookie, this, op_ret, op_errno, inode,
buf, preparent, postparent, xdata) buf, preparent, postparent, xdata)
return 0 return 0
@ -376,9 +378,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE RMDIR FOP- {0:d}: gfid={1:s}; path={2:s}; "+ print(("GLUPY TRACE RMDIR FOP- {0:d}: gfid={1:s}; path={2:s}; "+
"flags={3:d}").format(unique, gfid, loc.contents.path, "flags={3:d}").format(unique, gfid, loc.contents.path,
flags) flags))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_rmdir(frame, POINTER(xlator_t)(), loc, flags, xdata) dl.wind_rmdir(frame, POINTER(xlator_t)(), loc, flags, xdata)
return 0 return 0
@ -391,17 +393,17 @@ class xlator(Translator):
if op_ret == 0: if op_ret == 0:
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE RMDIR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE RMDIR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; *prebuf={3:s}; "+ "op_ret={2:d}; *prebuf={3:s}; "+
"*postbuf={4:s}").format(unique, gfid, op_ret, "*postbuf={4:s}").format(unique, gfid, op_ret,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print("GLUPY TRACE RMDIR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE RMDIR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, "op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_rmdir(frame, cookie, this, op_ret, op_errno, dl.unwind_rmdir(frame, cookie, this, op_ret, op_errno,
preparent, postparent, xdata) preparent, postparent, xdata)
@ -411,8 +413,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE STAT FOP- {0:d}: gfid={1:s}; " + print(("GLUPY TRACE STAT FOP- {0:d}: gfid={1:s}; " +
" path={2:s}").format(unique, gfid, loc.contents.path) " path={2:s}").format(unique, gfid, loc.contents.path))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_stat(frame, POINTER(xlator_t)(), loc, xdata) dl.wind_stat(frame, POINTER(xlator_t)(), loc, xdata)
return 0 return 0
@ -424,17 +426,17 @@ class xlator(Translator):
gfid = self.gfids[key] gfid = self.gfids[key]
if op_ret == 0: if op_ret == 0:
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
print("GLUPY TRACE STAT CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE STAT CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; *buf={3:s};").format(unique, "op_ret={2:d}; *buf={3:s};").format(unique,
gfid, gfid,
op_ret, op_ret,
statstr) statstr))
else: else:
print("GLUPY TRACE STAT CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE STAT CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, "op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_stat(frame, cookie, this, op_ret, op_errno, dl.unwind_stat(frame, cookie, this, op_ret, op_errno,
buf, xdata) buf, xdata)
@ -444,8 +446,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE FSTAT FOP- {0:d}: gfid={1:s}; " + print(("GLUPY TRACE FSTAT FOP- {0:d}: gfid={1:s}; " +
"fd={2:s}").format(unique, gfid, fd) "fd={2:s}").format(unique, gfid, fd))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_fstat(frame, POINTER(xlator_t)(), fd, xdata) dl.wind_fstat(frame, POINTER(xlator_t)(), fd, xdata)
return 0 return 0
@ -457,17 +459,17 @@ class xlator(Translator):
gfid = self.gfids[key] gfid = self.gfids[key]
if op_ret == 0: if op_ret == 0:
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
print("GLUPY TRACE FSTAT CBK- {0:d}: gfid={1:s} "+ print(("GLUPY TRACE FSTAT CBK- {0:d}: gfid={1:s} "+
" op_ret={2:d}; *buf={3:s}").format(unique, " op_ret={2:d}; *buf={3:s}").format(unique,
gfid, gfid,
op_ret, op_ret,
statstr) statstr))
else: else:
print("GLUPY TRACE FSTAT CBK- {0:d}: gfid={1:s} "+ print(("GLUPY TRACE FSTAT CBK- {0:d}: gfid={1:s} "+
"op_ret={2:d}; op_errno={3:d}").format(unique. "op_ret={2:d}; op_errno={3:d}").format(unique.
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_fstat(frame, cookie, this, op_ret, op_errno, dl.unwind_fstat(frame, cookie, this, op_ret, op_errno,
buf, xdata) buf, xdata)
@ -479,8 +481,8 @@ class xlator(Translator):
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
else: else:
gfid = "0" gfid = "0"
print("GLUPY TRACE STATFS FOP- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE STATFS FOP- {0:d}: gfid={1:s}; "+
"path={2:s}").format(unique, gfid, loc.contents.path) "path={2:s}").format(unique, gfid, loc.contents.path))
dl.wind_statfs(frame, POINTER(xlator_t)(), loc, xdata) dl.wind_statfs(frame, POINTER(xlator_t)(), loc, xdata)
return 0 return 0
@ -489,13 +491,13 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
if op_ret == 0: if op_ret == 0:
#TBD: print buf (pointer to an iovec type object) #TBD: print buf (pointer to an iovec type object)
print("GLUPY TRACE STATFS CBK {0:d}: "+ print(("GLUPY TRACE STATFS CBK {0:d}: "+
"op_ret={1:d}").format(unique, op_ret) "op_ret={1:d}").format(unique, op_ret))
else: else:
print("GLUPY TRACE STATFS CBK- {0:d}"+ print(("GLUPY TRACE STATFS CBK- {0:d}"+
"op_ret={1:d}; op_errno={2:d}").format(unique, "op_ret={1:d}; op_errno={2:d}").format(unique,
op_ret, op_ret,
op_errno) op_errno))
dl.unwind_statfs(frame, cookie, this, op_ret, op_errno, dl.unwind_statfs(frame, cookie, this, op_ret, op_errno,
buf, xdata) buf, xdata)
return 0 return 0
@ -504,9 +506,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE GETXATTR FOP- {0:d}: gfid={1:s}; path={2:s};"+ print(("GLUPY TRACE GETXATTR FOP- {0:d}: gfid={1:s}; path={2:s};"+
" name={3:s}").format(unique, gfid, loc.contents.path, " name={3:s}").format(unique, gfid, loc.contents.path,
name) name))
self.gfids[key]=gfid self.gfids[key]=gfid
dl.wind_getxattr(frame, POINTER(xlator_t)(), loc, name, xdata) dl.wind_getxattr(frame, POINTER(xlator_t)(), loc, name, xdata)
return 0 return 0
@ -516,10 +518,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE GETXATTR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE GETXATTR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}; "+ "op_ret={2:d}; op_errno={3:d}; "+
" dictionary={4:s}").format(unique, gfid, op_ret, op_errno, " dictionary={4:s}").format(unique, gfid, op_ret, op_errno,
dictionary) dictionary))
del self.gfids[key] del self.gfids[key]
dl.unwind_getxattr(frame, cookie, this, op_ret, op_errno, dl.unwind_getxattr(frame, cookie, this, op_ret, op_errno,
dictionary, xdata) dictionary, xdata)
@ -529,8 +531,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE FGETXATTR FOP- {0:d}: gfid={1:s}; fd={2:s}; "+ print(("GLUPY TRACE FGETXATTR FOP- {0:d}: gfid={1:s}; fd={2:s}; "+
"name={3:s}").format(unique, gfid, fd, name) "name={3:s}").format(unique, gfid, fd, name))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_fgetxattr(frame, POINTER(xlator_t)(), fd, name, xdata) dl.wind_fgetxattr(frame, POINTER(xlator_t)(), fd, name, xdata)
return 0 return 0
@ -540,10 +542,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE FGETXATTR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE FGETXATTR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d};"+ "op_ret={2:d}; op_errno={3:d};"+
" dictionary={4:s}").format(unique, gfid, op_ret, " dictionary={4:s}").format(unique, gfid, op_ret,
op_errno, dictionary) op_errno, dictionary))
del self.gfids[key] del self.gfids[key]
dl.unwind_fgetxattr(frame, cookie, this, op_ret, op_errno, dl.unwind_fgetxattr(frame, cookie, this, op_ret, op_errno,
dictionary, xdata) dictionary, xdata)
@ -553,9 +555,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE SETXATTR FOP- {0:d}: gfid={1:s}; path={2:s};"+ print(("GLUPY TRACE SETXATTR FOP- {0:d}: gfid={1:s}; path={2:s};"+
" flags={3:d}").format(unique, gfid, loc.contents.path, " flags={3:d}").format(unique, gfid, loc.contents.path,
flags) flags))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_setxattr(frame, POINTER(xlator_t)(), loc, dictionary, dl.wind_setxattr(frame, POINTER(xlator_t)(), loc, dictionary,
flags, xdata) flags, xdata)
@ -565,9 +567,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE SETXATTR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE SETXATTR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, gfid, "op_ret={2:d}; op_errno={3:d}").format(unique, gfid,
op_ret, op_errno) op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_setxattr(frame, cookie, this, op_ret, op_errno, dl.unwind_setxattr(frame, cookie, this, op_ret, op_errno,
xdata) xdata)
@ -577,8 +579,8 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(fd.contents.inode.contents.gfid) gfid = uuid2str(fd.contents.inode.contents.gfid)
print("GLUPY TRACE FSETXATTR FOP- {0:d}: gfid={1:s}; fd={2:p}; "+ print(("GLUPY TRACE FSETXATTR FOP- {0:d}: gfid={1:s}; fd={2:p}; "+
"flags={3:d}").format(unique, gfid, fd, flags) "flags={3:d}").format(unique, gfid, fd, flags))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_fsetxattr(frame, POINTER(xlator_t)(), fd, dictionary, dl.wind_fsetxattr(frame, POINTER(xlator_t)(), fd, dictionary,
flags, xdata) flags, xdata)
@ -588,9 +590,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE FSETXATTR CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE FSETXATTR CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, gfid, "op_ret={2:d}; op_errno={3:d}").format(unique, gfid,
op_ret, op_errno) op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_fsetxattr(frame, cookie, this, op_ret, op_errno, dl.unwind_fsetxattr(frame, cookie, this, op_ret, op_errno,
xdata) xdata)
@ -600,10 +602,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE REMOVEXATTR FOP- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE REMOVEXATTR FOP- {0:d}: gfid={1:s}; "+
"path={2:s}; name={3:s}").format(unique, gfid, "path={2:s}; name={3:s}").format(unique, gfid,
loc.contents.path, loc.contents.path,
name) name))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_removexattr(frame, POINTER(xlator_t)(), loc, name, dl.wind_removexattr(frame, POINTER(xlator_t)(), loc, name,
xdata) xdata)
@ -614,9 +616,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = self.gfids[key] gfid = self.gfids[key]
print("GLUPY TRACE REMOVEXATTR CBK- {0:d}: gfid={1:s} "+ print(("GLUPY TRACE REMOVEXATTR CBK- {0:d}: gfid={1:s} "+
" op_ret={2:d}; op_errno={3:d}").format(unique, gfid, " op_ret={2:d}; op_errno={3:d}").format(unique, gfid,
op_ret, op_errno) op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_removexattr(frame, cookie, this, op_ret, op_errno, dl.unwind_removexattr(frame, cookie, this, op_ret, op_errno,
xdata) xdata)
@ -630,12 +632,12 @@ class xlator(Translator):
else: else:
newgfid = "0" newgfid = "0"
oldgfid = uuid2str(oldloc.contents.inode.contents.gfid) oldgfid = uuid2str(oldloc.contents.inode.contents.gfid)
print("GLUPY TRACE LINK FOP-{0:d}: oldgfid={1:s}; oldpath={2:s};"+ print(("GLUPY TRACE LINK FOP-{0:d}: oldgfid={1:s}; oldpath={2:s};"+
"newgfid={3:s};"+ "newgfid={3:s};"+
"newpath={4:s}").format(unique, oldgfid, "newpath={4:s}").format(unique, oldgfid,
oldloc.contents.path, oldloc.contents.path,
newgfid, newgfid,
newloc.contents.path) newloc.contents.path))
self.gfids[key] = oldgfid self.gfids[key] = oldgfid
dl.wind_link(frame, POINTER(xlator_t)(), oldloc, newloc, dl.wind_link(frame, POINTER(xlator_t)(), oldloc, newloc,
xdata) xdata)
@ -650,16 +652,16 @@ class xlator(Translator):
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE LINK CBK- {0:d}: op_ret={1:d} "+ print(("GLUPY TRACE LINK CBK- {0:d}: op_ret={1:d} "+
"*stbuf={2:s}; *prebuf={3:s}; "+ "*stbuf={2:s}; *prebuf={3:s}; "+
"*postbuf={4:s} ").format(unique, op_ret, statstr, "*postbuf={4:s} ").format(unique, op_ret, statstr,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print("GLUPY TRACE LINK CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE LINK CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; "+ "op_ret={2:d}; "+
"op_errno={3:d}").format(unique, gfid, "op_errno={3:d}").format(unique, gfid,
op_ret, op_errno) op_ret, op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_link(frame, cookie, this, op_ret, op_errno, inode, dl.unwind_link(frame, cookie, this, op_ret, op_errno, inode,
buf, preparent, postparent, xdata) buf, preparent, postparent, xdata)
@ -669,9 +671,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE UNLINK FOP- {0:d}; gfid={1:s}; path={2:s}; "+ print(("GLUPY TRACE UNLINK FOP- {0:d}; gfid={1:s}; path={2:s}; "+
"flag={3:d}").format(unique, gfid, loc.contents.path, "flag={3:d}").format(unique, gfid, loc.contents.path,
xflag) xflag))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_unlink(frame, POINTER(xlator_t)(), loc, xflag, dl.wind_unlink(frame, POINTER(xlator_t)(), loc, xflag,
xdata) xdata)
@ -685,16 +687,16 @@ class xlator(Translator):
if op_ret == 0: if op_ret == 0:
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE UNLINK CBK- {0:d}: gfid ={1:s}; "+ print(("GLUPY TRACE UNLINK CBK- {0:d}: gfid ={1:s}; "+
"op_ret={2:d}; *prebuf={3:s}; "+ "op_ret={2:d}; *prebuf={3:s}; "+
"*postbuf={4:s} ").format(unique, gfid, op_ret, "*postbuf={4:s} ").format(unique, gfid, op_ret,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print("GLUPY TRACE UNLINK CBK: {0:d}: gfid ={1:s}; "+ print(("GLUPY TRACE UNLINK CBK: {0:d}: gfid ={1:s}; "+
"op_ret={2:d}; "+ "op_ret={2:d}; "+
"op_errno={3:d}").format(unique, gfid, op_ret, "op_errno={3:d}").format(unique, gfid, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_unlink(frame, cookie, this, op_ret, op_errno, dl.unwind_unlink(frame, cookie, this, op_ret, op_errno,
preparent, postparent, xdata) preparent, postparent, xdata)
@ -704,9 +706,9 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE READLINK FOP- {0:d}: gfid={1:s}; path={2:s};"+ print(("GLUPY TRACE READLINK FOP- {0:d}: gfid={1:s}; path={2:s};"+
" size={3:d}").format(unique, gfid, loc.contents.path, " size={3:d}").format(unique, gfid, loc.contents.path,
size) size))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_readlink(frame, POINTER(xlator_t)(), loc, size, dl.wind_readlink(frame, POINTER(xlator_t)(), loc, size,
xdata) xdata)
@ -719,17 +721,17 @@ class xlator(Translator):
gfid = self.gfids[key] gfid = self.gfids[key]
if op_ret == 0: if op_ret == 0:
statstr = trace_stat2str(stbuf) statstr = trace_stat2str(stbuf)
print("GLUPY TRACE READLINK CBK- {0:d}: gfid={1:s} "+ print(("GLUPY TRACE READLINK CBK- {0:d}: gfid={1:s} "+
" op_ret={2:d}; op_errno={3:d}; *prebuf={4:s}; "+ " op_ret={2:d}; op_errno={3:d}; *prebuf={4:s}; "+
"*postbuf={5:s} ").format(unique, gfid, "*postbuf={5:s} ").format(unique, gfid,
op_ret, op_errno, op_ret, op_errno,
buf, statstr) buf, statstr))
else: else:
print("GLUPY TRACE READLINK CBK- {0:d}: gfid={1:s} "+ print(("GLUPY TRACE READLINK CBK- {0:d}: gfid={1:s} "+
" op_ret={2:d}; op_errno={3:d}").format(unique, " op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_readlink(frame, cookie, this, op_ret, op_errno, buf, dl.unwind_readlink(frame, cookie, this, op_ret, op_errno, buf,
stbuf, xdata) stbuf, xdata)
@ -739,10 +741,10 @@ class xlator(Translator):
unique = dl.get_rootunique(frame) unique = dl.get_rootunique(frame)
key = dl.get_id(frame) key = dl.get_id(frame)
gfid = uuid2str(loc.contents.inode.contents.gfid) gfid = uuid2str(loc.contents.inode.contents.gfid)
print("GLUPY TRACE SYMLINK FOP- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE SYMLINK FOP- {0:d}: gfid={1:s}; "+
"linkpath={2:s}; path={3:s};"+ "linkpath={2:s}; path={3:s};"+
"umask=0{4:o}").format(unique, gfid, linkpath, "umask=0{4:o}").format(unique, gfid, linkpath,
loc.contents.path, umask) loc.contents.path, umask))
self.gfids[key] = gfid self.gfids[key] = gfid
dl.wind_symlink(frame, POINTER(xlator_t)(), linkpath, loc, dl.wind_symlink(frame, POINTER(xlator_t)(), linkpath, loc,
umask, xdata) umask, xdata)
@ -757,18 +759,18 @@ class xlator(Translator):
statstr = trace_stat2str(buf) statstr = trace_stat2str(buf)
preparentstr = trace_stat2str(preparent) preparentstr = trace_stat2str(preparent)
postparentstr = trace_stat2str(postparent) postparentstr = trace_stat2str(postparent)
print("GLUPY TRACE SYMLINK CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE SYMLINK CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; *stbuf={3:s}; *preparent={4:s}; "+ "op_ret={2:d}; *stbuf={3:s}; *preparent={4:s}; "+
"*postparent={5:s}").format(unique, gfid, "*postparent={5:s}").format(unique, gfid,
op_ret, statstr, op_ret, statstr,
preparentstr, preparentstr,
postparentstr) postparentstr))
else: else:
print("GLUPY TRACE SYMLINK CBK- {0:d}: gfid={1:s}; "+ print(("GLUPY TRACE SYMLINK CBK- {0:d}: gfid={1:s}; "+
"op_ret={2:d}; op_errno={3:d}").format(unique, "op_ret={2:d}; op_errno={3:d}").format(unique,
gfid, gfid,
op_ret, op_ret,
op_errno) op_errno))
del self.gfids[key] del self.gfids[key]
dl.unwind_symlink(frame, cookie, this, op_ret, op_errno, dl.unwind_symlink(frame, cookie, this, op_ret, op_errno,
inode, buf, preparent, postparent, xdata) inode, buf, preparent, postparent, xdata)

View File

@ -1,3 +1,5 @@
from __future__ import print_function
import sys import sys
from gluster.glupy import * from gluster.glupy import *
@ -7,13 +9,13 @@ class xlator (Translator):
Translator.__init__(self, c_this) Translator.__init__(self, c_this)
def lookup_fop(self, frame, this, loc, xdata): def lookup_fop(self, frame, this, loc, xdata):
print "Python xlator: Hello!" print("Python xlator: Hello!")
dl.wind_lookup(frame, POINTER(xlator_t)(), loc, xdata) dl.wind_lookup(frame, POINTER(xlator_t)(), loc, xdata)
return 0 return 0
def lookup_cbk(self, frame, cookie, this, op_ret, op_errno, inode, buf, def lookup_cbk(self, frame, cookie, this, op_ret, op_errno, inode, buf,
xdata, postparent): xdata, postparent):
print "Python xlator: Hello again!" print("Python xlator: Hello again!")
dl.unwind_lookup(frame, cookie, this, op_ret, op_errno, inode, buf, dl.unwind_lookup(frame, cookie, this, op_ret, op_errno, inode, buf,
xdata, postparent) xdata, postparent)
return 0 return 0

View File

@ -1,3 +1,5 @@
from __future__ import print_function
import sys import sys
from uuid import UUID from uuid import UUID
from gluster.glupy import * from gluster.glupy import *
@ -31,12 +33,12 @@ class xlator (Translator):
def lookup_fop (self, frame, this, loc, xdata): def lookup_fop (self, frame, this, loc, xdata):
pargfid = uuid2str(loc.contents.pargfid) pargfid = uuid2str(loc.contents.pargfid)
print "lookup FOP: %s:%s" % (pargfid, loc.contents.name) print("lookup FOP: %s:%s" % (pargfid, loc.contents.name))
# Check the cache. # Check the cache.
if cache.has_key(pargfid): if cache.has_key(pargfid):
if loc.contents.name in cache[pargfid]: if loc.contents.name in cache[pargfid]:
print "short-circuiting for %s:%s" % (pargfid, print("short-circuiting for %s:%s" % (pargfid,
loc.contents.name) loc.contents.name))
dl.unwind_lookup(frame,0,this,-1,2,None,None,None,None) dl.unwind_lookup(frame,0,this,-1,2,None,None,None,None)
return 0 return 0
key = dl.get_id(frame) key = dl.get_id(frame)
@ -47,16 +49,16 @@ class xlator (Translator):
def lookup_cbk (self, frame, cookie, this, op_ret, op_errno, inode, buf, def lookup_cbk (self, frame, cookie, this, op_ret, op_errno, inode, buf,
xdata, postparent): xdata, postparent):
print "lookup CBK: %d (%d)" % (op_ret, op_errno) print("lookup CBK: %d (%d)" % (op_ret, op_errno))
key = dl.get_id(frame) key = dl.get_id(frame)
pargfid, name = self.requests[key] pargfid, name = self.requests[key]
# Update the cache. # Update the cache.
if op_ret == 0: if op_ret == 0:
print "found %s, removing from cache" % name print("found %s, removing from cache" % name)
if cache.has_key(pargfid): if cache.has_key(pargfid):
cache[pargfid].discard(name) cache[pargfid].discard(name)
elif op_errno == 2: # ENOENT elif op_errno == 2: # ENOENT
print "failed to find %s, adding to cache" % name print("failed to find %s, adding to cache" % name)
if cache.has_key(pargfid): if cache.has_key(pargfid):
cache[pargfid].add(name) cache[pargfid].add(name)
else: else:
@ -68,7 +70,7 @@ class xlator (Translator):
def create_fop (self, frame, this, loc, flags, mode, umask, fd, xdata): def create_fop (self, frame, this, loc, flags, mode, umask, fd, xdata):
pargfid = uuid2str(loc.contents.pargfid) pargfid = uuid2str(loc.contents.pargfid)
print "create FOP: %s:%s" % (pargfid, loc.contents.name) print("create FOP: %s:%s" % (pargfid, loc.contents.name))
key = dl.get_id(frame) key = dl.get_id(frame)
self.requests[key] = (pargfid, loc.contents.name[:]) self.requests[key] = (pargfid, loc.contents.name[:])
# TBD: get real child xl from init, pass it here # TBD: get real child xl from init, pass it here
@ -77,12 +79,12 @@ class xlator (Translator):
def create_cbk (self, frame, cookie, this, op_ret, op_errno, fd, inode, def create_cbk (self, frame, cookie, this, op_ret, op_errno, fd, inode,
buf, preparent, postparent, xdata): buf, preparent, postparent, xdata):
print "create CBK: %d (%d)" % (op_ret, op_errno) print("create CBK: %d (%d)" % (op_ret, op_errno))
key = dl.get_id(frame) key = dl.get_id(frame)
pargfid, name = self.requests[key] pargfid, name = self.requests[key]
# Update the cache. # Update the cache.
if op_ret == 0: if op_ret == 0:
print "created %s, removing from cache" % name print("created %s, removing from cache" % name)
if cache.has_key(pargfid): if cache.has_key(pargfid):
cache[pargfid].discard(name) cache[pargfid].discard(name)
del self.requests[key] del self.requests[key]