summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <lpouzenc@gmail.com>2015-07-12 00:32:39 +0200
committerLudovic Pouzenc <lpouzenc@gmail.com>2015-07-12 00:32:39 +0200
commitc0a498de02cebaa9bd462d611599f0be6809357e (patch)
tree155ee702edef1f50b830edefe356683f8155f12e
parent5534a6c1353b00cfebe6f8a155b6420687858843 (diff)
downloadraidguessfs-c0a498de02cebaa9bd462d611599f0be6809357e.tar.gz
raidguessfs-c0a498de02cebaa9bd462d611599f0be6809357e.tar.bz2
raidguessfs-c0a498de02cebaa9bd462d611599f0be6809357e.zip
Bugfix : /config/tasks_find_files_pathlist could have multiple paths now
-rw-r--r--mytasks.py3
-rwxr-xr-xraidguessfs.py22
2 files changed, 9 insertions, 16 deletions
diff --git a/mytasks.py b/mytasks.py
index 3e4056f..235a1be 100644
--- a/mytasks.py
+++ b/mytasks.py
@@ -113,6 +113,9 @@ class MyTasks():
else:
raise ValueError('Valid task names are : %s'%','.join(MyTasks.TASK_NAMES))
+ def append_find_files_pathlist(self, path):
+ self.find_files_pathlist.append(path)
+
def set_find_files_pathlist(self, new_find_files_pathlist):
self.find_files_pathlist = new_find_files_pathlist
diff --git a/raidguessfs.py b/raidguessfs.py
index 94f36e7..84440c9 100755
--- a/raidguessfs.py
+++ b/raidguessfs.py
@@ -81,7 +81,7 @@ class RaidGuessFS(fuse.Fuse):
self.update_raid_start, self.update_raid_end, self.update_raid_chunk_size, self.update_raid_disk_order,
self.raid.set_raid_layout,
self.update_bmp_height, self.update_bmp_width, self.update_bmp_start_offset,
- self.tasks.task_start, self.tasks.task_kill, self.update_task_find_files_pathlist,
+ self.tasks.task_start, self.tasks.task_kill, self.tasks.append_find_files_pathlist
]
@@ -203,19 +203,6 @@ class RaidGuessFS(fuse.Fuse):
self._refresh_raid_fattr()
logging.debug("Exit. update_raid_disk_order(%s)"%arg)
- def update_task_find_files_pathlist(self, arg):
- logging.debug("Enter update_task_find_files_pathlist(%s)"%arg)
- if type(arg) is str:
- l = arg.split()
- elif type(arg) is list:
- l = arg
- else:
- raise TypeError('update_task_find_files_pathlist() wants a list or str')
-
- # FIXME : write() is usually called after each end line, so the previous path are destroyed
- self.tasks.set_find_files_pathlist(l)
- logging.debug("Exit. update_task_find_files_pathlist(%s)"%arg)
-
def get_task_start(self):
return 'Write a task_name in this pseudo-file to start it\n'
@@ -278,8 +265,11 @@ class RaidGuessFS(fuse.Fuse):
def truncate(self, path, size):
logging.info("truncate: %s (size %s)" % (path, size))
- if path.startswith('/config/'):
- return # Ignore truncates on pseudo config files
+
+ if path == '/config/task_find_files_pathlist':
+ self.tasks.set_find_files_pathlist([])
+ elif path.startswith('/config/'):
+ return # Ignore truncates on others pseudo config files
else:
return -errno.EOPNOTSUPP