Пример #1
0
static void link_device(char *vol_name, char *link_name)
{
	struct stat st;
	int ret;
	ret = fs_stat(link_name, &st);
	if(ret < 0)
	{
		ret = fs_symlink(vol_name, link_name);
		if( ret < 0)
		{
			FS_PRINTF("link %s -> %s failed! err code = %d!\n", vol_name, link_name, ret);
		}
	}

	return;
}
Пример #2
0
int do_symlink(const char *filename,uint64_t lv,uint32_t ts,char *ptr) {
	uint32_t parent,uid,gid,inode;
	uint8_t name[256];
	static uint8_t *path = NULL;
	static uint32_t pathsize = 0;
	EAT(ptr,filename,lv,'(');
	GETU32(parent,ptr);
	EAT(ptr,filename,lv,',');
	GETNAME(name,ptr,filename,lv,',');
	EAT(ptr,filename,lv,',');
	GETPATH(path,pathsize,ptr,filename,lv,',');
	EAT(ptr,filename,lv,',');
	GETU32(uid,ptr);
	EAT(ptr,filename,lv,',');
	GETU32(gid,ptr);
	EAT(ptr,filename,lv,')');
	EAT(ptr,filename,lv,':');
	GETU32(inode,ptr);
	return fs_symlink(ts,parent,strlen((char*)name),name,path,uid,gid,inode);
}