diff options
Diffstat (limited to 'raidguessfs.py')
-rwxr-xr-x | raidguessfs.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/raidguessfs.py b/raidguessfs.py index fba2187..807a2be 100755 --- a/raidguessfs.py +++ b/raidguessfs.py @@ -62,30 +62,33 @@ class RaidGuessFS(fuse.Fuse): self.settings = [ 'disk_count', 'raid_start', 'raid_end', 'raid_chunk_size', 'raid_disk_order', + 'raid_layout', 'bmp_height', 'bmp_width', 'bmp_start_offset' ] self.settings_getters = [ self.d.get_disk_count, self.raid.get_raid_start, self.raid.get_raid_end, self.raid.get_raid_chunk_size, self.raid.get_raid_disk_order_str, + self.raid.get_raid_layout, self.bmp.get_bmp_height, self.bmp.get_bmp_width, self.bmp.get_bmp_start_offset ] self.settings_updaters = [ self.update_disk_count, 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.dentries = { '/' : [ fuse.Direntry(name) for name in ['config','disk','raid','visual'] ], '/config': [ fuse.Direntry(name) for name in self.settings ], - '/raid' : [ fuse.Direntry(name) for name in self.raid.raid_types ], + '/raid' : [ fuse.Direntry(name) for name in myraid.MyRaid.RAID_TYPES ], '/disk' : [ ], # Filled in _refresh_disk_dentries() '/visual': [ ], # Filled in _refresh_disk_dentries() } - for raid_type in self.raid.raid_types: + for raid_type in myraid.MyRaid.RAID_TYPES: self.dentries.update( { '/raid/%s'%raid_type: [ fuse.Direntry(name) for name in ['disk_parity','disk_xor','raid_result'] ], } @@ -116,7 +119,7 @@ class RaidGuessFS(fuse.Fuse): """Update the raid computed attributes after a config change""" logging.debug("Enter _refresh_raid_fattr()") - for raid_type in self.raid.raid_types: + for raid_type in myraid.MyRaid.RAID_TYPES: self.fattr['/raid/%s/disk_parity'%raid_type].st_size = self.raid.sizeof_disk_parity(raid_type) self.fattr['/raid/%s/disk_xor' %raid_type].st_size = self.raid.sizeof_disk_xor (raid_type) self.fattr['/raid/%s/raid_result'%raid_type].st_size = self.raid.sizeof_raid_result(raid_type) @@ -133,6 +136,7 @@ class RaidGuessFS(fuse.Fuse): def update_disk_count(self,arg): i = int(arg) + #TODO : raise exception instead of using assertions assert (i > 0), "Negative value make no sense here" self.d.set_disk_count(i) self.d.open_disks() @@ -214,7 +218,7 @@ class RaidGuessFS(fuse.Fuse): self.fattr = { '/config/%s'%s: self.st.make_fake_file(64,0666) for s in self.settings } - for raid_type in self.raid.raid_types: + for raid_type in myraid.MyRaid.RAID_TYPES: self.fattr.update( { '/raid/%s/disk_parity'%raid_type: self.st.make_fake_file(0), '/raid/%s/disk_xor'%raid_type: self.st.make_fake_file(0), @@ -285,7 +289,7 @@ class RaidGuessFS(fuse.Fuse): if path_chuncks[0] == 'raid': raid_type=path_chuncks[2] - if raid_type in self.raid.raid_types: + if raid_type in myraid.MyRaid.RAID_TYPES: if path_chuncks[4] == 'disk_parity': return self.raid.read_disk_parity(raid_type,offset,size) if path_chuncks[4] == 'disk_xor': |