From: Yi Zhang Date: Wed, 12 Apr 2017 11:34:28 +0000 (+0800) Subject: nvmetcli: create json file's dir first if it doesn't exist X-Git-Tag: v0.4~2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=85bf98b871994f30d11a019edbe640da87e05090;p=users%2Fhch%2Fnvmetcli.git nvmetcli: create json file's dir first if it doesn't exist The saveconfig operation will be failed as the /etc/nvmet dir doesn't exist by default, so create it first before save operation. $ ./nvmetcli /> saveconfig [Errno 2] No such file or directory: '/etc/nvmet/config.json.temp' Signed-off-by: Yi Zhang Signed-off-by: Christoph Hellwig --- diff --git a/nvmet/nvme.py b/nvmet/nvme.py index 3316cab..c245a42 100644 --- a/nvmet/nvme.py +++ b/nvmet/nvme.py @@ -290,6 +290,11 @@ class Root(CFSNode): else: savefile = DEFAULT_SAVE_FILE + savefile_abspath = os.path.abspath(savefile) + savefile_dir = os.path.dirname(savefile_abspath) + if not os.path.exists(savefile_dir): + os.makedirs(savefile_dir) + with open(savefile + ".temp", "w+") as f: os.fchmod(f.fileno(), stat.S_IRUSR | stat.S_IWUSR) f.write(json.dumps(self.dump(), sort_keys=True, indent=2))