Skip to content

Commit f1e7b7d

Browse files
authored
Merge pull request #845 from bmr-cymru/bmr-private-devices
Make internal devices private by default
2 parents 30bb9dd + e4c7089 commit f1e7b7d

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

src/cachedev.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ impl CacheDev {
573573
}
574574

575575
let table = CacheDev::gen_default_table(&meta, &cache, &origin, cache_block_size);
576-
let dev_info = device_create(dm, name, uuid, &table, DmOptions::default())?;
576+
let dev_info = device_create(dm, name, uuid, &table, DmOptions::private())?;
577577

578578
Ok(CacheDev {
579579
dev_info: Box::new(dev_info),
@@ -607,7 +607,7 @@ impl CacheDev {
607607
device_match(dm, &dev, uuid)?;
608608
dev
609609
} else {
610-
let dev_info = device_create(dm, name, uuid, &table, DmOptions::default())?;
610+
let dev_info = device_create(dm, name, uuid, &table, DmOptions::private())?;
611611
CacheDev {
612612
dev_info: Box::new(dev_info),
613613
meta_dev: meta,

src/core/dm_options.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,13 @@ impl DmOptions {
3434
pub fn udev_flags(&self) -> DmUdevFlags {
3535
self.udev_flags
3636
}
37+
38+
/// Set default udev flags for a private (internal) device.
39+
pub fn private() -> DmOptions {
40+
DmOptions::default().set_udev_flags(
41+
DmUdevFlags::DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG
42+
| DmUdevFlags::DM_UDEV_DISABLE_DISK_RULES_FLAG
43+
| DmUdevFlags::DM_UDEV_DISABLE_OTHER_RULES_FLAG,
44+
)
45+
}
3746
}

src/lineardev.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ impl LinearDev {
539539
device_match(dm, &dev, uuid)?;
540540
dev
541541
} else {
542-
let dev_info = device_create(dm, name, uuid, &table, DmOptions::default())?;
542+
let dev_info = device_create(dm, name, uuid, &table, DmOptions::private())?;
543543
LinearDev {
544544
dev_info: Box::new(dev_info),
545545
table,

src/thinpooldev.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ impl ThinPoolDev {
457457

458458
let table =
459459
ThinPoolDev::gen_table(&meta, &data, data_block_size, low_water_mark, feature_args);
460-
let dev_info = device_create(dm, name, uuid, &table, DmOptions::default())?;
460+
let dev_info = device_create(dm, name, uuid, &table, DmOptions::private())?;
461461

462462
Ok(ThinPoolDev {
463463
dev_info: Box::new(dev_info),
@@ -512,7 +512,7 @@ impl ThinPoolDev {
512512
device_match(dm, &dev, uuid)?;
513513
dev
514514
} else {
515-
let dev_info = device_create(dm, name, uuid, &table, DmOptions::default())?;
515+
let dev_info = device_create(dm, name, uuid, &table, DmOptions::private())?;
516516
ThinPoolDev {
517517
dev_info: Box::new(dev_info),
518518
meta_dev: meta,

0 commit comments

Comments
 (0)