mruijter / btier-2.x Goto Github PK
View Code? Open in Web Editor NEWbtier-2.X - A data tiering block device. The 2.X code only supports BLOCKIO however the code outperforms btier-1.X.
License: GNU General Public License v2.0
btier-2.X - A data tiering block device. The 2.X code only supports BLOCKIO however the code outperforms btier-1.X.
License: GNU General Public License v2.0
Hi,
Redhat backported another mainline kernel change from Feb 4th, 2022 that changed how bio_clone_fast behaves in RHEL 8. The mainline commit is here:
I'm not sure what to use/set for the gfp_t allocation flags but I will try and look further when I have time. Any assistance would be appreciated.
Hal
In Readme it says
"IMPORTANT: BTIER-2.X works / is supported with a very recent kernel!!!
Use at least 3.14 or higher."
But I get the error below on kernel 4.15. What I found at the link https://www.kernel.org/doc/html/ the function "blk_queue_flag_clear" is available from release 4.17.
Which is the lowest required kernel release for the btier 2.2.1 /master?
btier-2.X-2.2.0/kernel/btier/btier_sysfs.c:199:4: error: implicit declaration of function ‘blk_queue_flag_clear’; did you mean ‘queue_flag_clear’? [-Werror=implicit-function-declaration]
blk_queue_flag_clear(QUEUE_FLAG_DISCARD,
^~~~~~~~~~~~~~~~~~~~
queue_flag_clear
xxxx/btier-2.X-2.2.0/kernel/btier/btier_sysfs.c:211:4: error: implicit declaration of function ‘blk_queue_flag_set’; did you mean ‘queue_flag_set’? [-Werror=implicit-function-declaration]
blk_queue_flag_set(QUEUE_FLAG_DISCARD,
^~~~~~~~~~~~~~~~~~
queue_flag_set
Hi Mark,
I'm having problems trying to compile this on a fresh Alma Linux 8.6 install. I get the error when it hits part_stat_lock:
CC [M] /root/btier-2.X/kernel/btier/btier_request.o
In file included from ././include/linux/compiler_types.h:58,
from :
/root/btier-2.X/kernel/btier/btier_request.c: In function 'tier_make_request':
./include/linux/compiler-gcc.h:16:19: error: expected expression before 'asm'
#define barrier() asm volatile("": : :"memory")
^~~~~~~
./include/linux/preempt.h:246:29: note: in expansion of macro 'barrier'
#define preempt_disable() barrier()
^~~~~~~
./include/linux/genhd.h:323:26: note: in expansion of macro 'preempt_disable'
#define part_stat_lock() preempt_disable()
^~~~~~~~~~~~~~~
/root/btier-2.X/kernel/btier/btier_request.c:746:8: note: in expansion of macro 'part_stat_lock'
cpu = part_stat_lock();
^~~~~~~~~~~~~~
I'm not sure what is wrong since that code has been around more or less since btier 1.3.11 and that its basically a linux header macro so it should be fine with the gcc version installed.
The kernel is 4.18.0-372.16.1.el8_6.x86_64 - but it seems to have a lot of 5.x features as well. I had to edit reactivate_disk to be reactivate_disk_size for example.
This also happens with 1.3.11 as well at the same spot. Any help would be greatly appreciated. Thanks!
Hal
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.