tests/vfs_fat_ramdisk: Allow to override sector size.

This commit is contained in:
Paul Sokolovsky 2016-02-14 20:52:38 +02:00
parent 9d0525182d
commit 9fdac9144d

View File

@ -8,23 +8,28 @@ except AttributeError:
class RAMFS: class RAMFS:
SEC_SIZE = 512
def __init__(self, blocks): def __init__(self, blocks):
self.data = bytearray(blocks * 512) self.data = bytearray(blocks * self.SEC_SIZE)
def readblocks(self, n, buf): def readblocks(self, n, buf):
#print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf))) #print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf)))
for i in range(len(buf)): for i in range(len(buf)):
buf[i] = self.data[n*512+i] buf[i] = self.data[n * self.SEC_SIZE + i]
def writeblocks(self, n, buf): def writeblocks(self, n, buf):
#print("writeblocks(%s, %x)" % (n, id(buf))) #print("writeblocks(%s, %x)" % (n, id(buf)))
for i in range(len(buf)): for i in range(len(buf)):
self.data[n*512+i] = buf[i] self.data[n * self.SEC_SIZE + i] = buf[i]
def ioctl(self, op, arg): def ioctl(self, op, arg):
#print("ioctl(%d, %r)" % (op, arg)) #print("ioctl(%d, %r)" % (op, arg))
if op == 4: # BP_IOCTL_SEC_COUNT if op == 4: # BP_IOCTL_SEC_COUNT
return len(self.data) // 512 return len(self.data) // self.SEC_SIZE
if op == 5: # BP_IOCTL_SEC_SIZE
return self.SEC_SIZE
bdev = RAMFS(48) bdev = RAMFS(48)