2023-02-28 14:15:48 +03:00
|
|
|
#[macro_export]
|
|
|
|
macro_rules! opt_set {
|
|
|
|
($opts:ident, $n:ident, $v:expr) => {
|
|
|
|
bch_bindgen::paste! {
|
|
|
|
$opts.$n = $v;
|
2023-04-27 21:02:00 +03:00
|
|
|
$opts.[<set_ $n _defined>](1)
|
2023-02-28 14:15:48 +03:00
|
|
|
}
|
2023-04-27 21:02:00 +03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#[macro_export]
|
|
|
|
macro_rules! opt_defined {
|
|
|
|
($opts:ident, $n:ident) => {
|
|
|
|
bch_bindgen::paste! {
|
|
|
|
$opts.[< $n _defined>]()
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#[macro_export]
|
|
|
|
macro_rules! opt_get {
|
|
|
|
($opts:ident, $n:ident) => {
|
|
|
|
if bch_bindgen::opt_defined!($opts, $n) == 0 {
|
|
|
|
bch_bindgen::paste! {
|
|
|
|
unsafe {
|
|
|
|
bch_bindgen::bcachefs::bch2_opts_default.$n
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
bch_bindgen::paste! {
|
|
|
|
$opts.$n
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
2023-02-28 14:15:48 +03:00
|
|
|
}
|