diff options
author | Ludovic Pouzenc <lpouzenc@gmail.com> | 2015-07-12 00:32:39 +0200 |
---|---|---|
committer | Ludovic Pouzenc <lpouzenc@gmail.com> | 2015-07-12 00:32:39 +0200 |
commit | c0a498de02cebaa9bd462d611599f0be6809357e (patch) | |
tree | 155ee702edef1f50b830edefe356683f8155f12e | |
parent | 5534a6c1353b00cfebe6f8a155b6420687858843 (diff) | |
download | raidguessfs-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.py | 3 | ||||
-rwxr-xr-x | raidguessfs.py | 22 |
2 files changed, 9 insertions, 16 deletions
@@ -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 |