Skip to content

GoodOkk/tfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloud-disk
==========

cloud disk - linux block device with data backend in web/cloud.

BUILD:

make

BUILD CLEAN:

make clean

INSTALL:
	on client-side:
		sudo insmod bin/cd_cli.ko
	on server-side:
		sudo insmod bin/cd_srv.ko

UNINSTALL:
	on client-side:
		sudo rmmod cd_cli.ko
	on server-side:
		sudo rmmod cd_srv.ko

USAGE (client-side):

sudo bin/cd_cli_ctl --create DISK_NUM
  	"this creates /dev/cdiskDISK_NUM device"

sudo /sbin/mkfs -t ext4 /dev/cdisk1 
  	"format device space to ext4 fs"

sudo mkdir /mnt/mnt_point 
  	"create mount point"

sudo mount -t ext4 /dev/cdisk1 /mnt/mnt_point 
  	"mount file system to dir"

sudo cd /mnt/mnt_point && ... 
  	"work inside ext4 on our device"

sudo umount /mnt/mnt_point
 	"umount file system"

sudo bin/cd_cli_ctl --destroy DISK_NUM
  	"delete device /dev/cdiskDISK_NUM"

LOGGING:
	dmesg 
		or 
	file logs (root access required):
		/var/log/cd_cli.log
		/var/log/cd_srv.log
		/var/log/cd_ksocket.log
TESTS:

sudo python  tests/test_fs_fmt.py
	"this test does the same in USAGE section"

SOURCES STRUCTURE:

bin\  	"folder for binaries"
	cd_cli.ko 	"client kernel module binary"
	cd_srv.ko	"server kernel module binary"
  	cd_cli_ctl    	"client ctl utility binary"

utils\  	"folder for ctl utilities"
	client\
  		cdisk_ctl.c 	"client ctl utility code"
  		Makefile    	"client ctl utility makefile"
  	Makefile	

driver\		"folder for device driver"
  	include\ 		"folder for external dev. driver headers"
		cd.h		"cd public header"
   		cd_cli_cmd.h	"header for client driver public ioctls"
		cd_srv_cmd.h	"header for server driver public ioctls"
	inc\			"folder for private headers"
		cd_cli.h	"cdisk client general header"
		cd_srv.h	"server general header"
		klog.h
		ksocket.h
		
 	lib\
  		klog.c        	"kernel logging, wrapper over printk"
  	 	ksocket.c     	"kernel sockets lib"
  	client\
		cd_cli.c       	"client block(disk) device driver"
  	server\
		cd_srv.c	"server driver"

  	Makefile      	"kernel modules makefile"
  
tests\  "folder for tests"
	__init__.py 
  	settings.py	"general settings container"
  	cmd.py         	"lib to execute shell cmd"
  	test_fs_fmt.py  "disk formating to EXT4 like file system test"

Releases

No releases published

Packages

No packages published