Skip to content

Commit e9ebe47

Browse files
committed
fmt & 删除loopdevice中的devid字段
1 parent 5cbe962 commit e9ebe47

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

kernel/src/driver/base/block/loop_device.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ pub struct LoopDevice {
4747
inner: SpinLock<LoopDeviceInner>, //加锁保护LoopDeviceInner
4848
//有主设备次设备号
4949
block_dev_meta: BlockDevMeta,
50-
dev_id: Arc<DeviceId>,
50+
//dev_id: Arc<DeviceId>,
5151
locked_kobj_state: LockedKObjectState, //对Kobject状态的锁
5252
self_ref: Weak<Self>, //对自身的弱引用
5353
fs: RwLock<Weak<DevFS>>, //文件系统弱引用
@@ -59,7 +59,7 @@ pub struct LoopDeviceInner {
5959
pub file_inode: Option<Arc<dyn IndexNode>>,
6060
// 文件大小
6161
pub file_size: usize,
62-
// 设备名称
62+
// 设备名称 Major和Minor
6363
pub device_number: DeviceNumber,
6464
// 数据偏移量
6565
pub offset: usize,
@@ -73,7 +73,9 @@ pub struct LoopDeviceInner {
7373
pub visible: bool,
7474
// 使用弱引用避免循环引用
7575
pub self_ref: Weak<LoopDevice>,
76+
// KObject的公共数据
7677
pub kobject_common: KObjectCommonData,
78+
// 设备的公共数据
7779
pub device_common: DeviceCommonData,
7880
}
7981
impl Debug for LoopDevice {
@@ -86,13 +88,11 @@ impl Debug for LoopDevice {
8688
}
8789
impl LoopDevice {
8890
fn inner(&self) -> SpinLockGuard<LoopDeviceInner> {
91+
// 获取 LoopDeviceInner 的自旋锁
8992
self.inner.lock()
9093
}
91-
pub fn new_empty_loop_device(
92-
devname: DevName,
93-
dev_id: Arc<DeviceId>,
94-
minor: u32,
95-
) -> Option<Arc<Self>> {
94+
//注册一个新的空loop设备占位
95+
pub fn new_empty_loop_device(devname: DevName, minor: u32) -> Option<Arc<Self>> {
9696
// 创建一个空的 LoopDevice
9797
let dev = Arc::new_cyclic(|self_ref| Self {
9898
inner: SpinLock::new(LoopDeviceInner {
@@ -110,7 +110,6 @@ impl LoopDevice {
110110
}),
111111
//只用重复8次,就会有从0-7八个次设备号
112112
block_dev_meta: BlockDevMeta::new(devname, Major::new(7)), // Loop 设备主设备号为 7
113-
dev_id,
114113
locked_kobj_state: LockedKObjectState::default(),
115114
self_ref: self_ref.clone(),
116115
fs: RwLock::new(Weak::default()),
@@ -453,17 +452,14 @@ impl BlockDevice for LoopDevice {
453452
Vec::new()
454453
}
455454
}
456-
//注册8个loop设备
457455
use crate::init::initcall::INITCALL_DEVICE;
458456
#[unified_init(INITCALL_DEVICE)]
459457
pub fn register_loop_devices() -> Result<(), SystemError> {
460458
for minor in 0..8 {
461459
let devname = DevName::new(format!("loop{}", minor), minor);
462460
let dev_id =
463461
DeviceId::new(None, Some(devname.name().to_string())).ok_or(SystemError::EINVAL)?;
464-
if let Some(loop_dev) =
465-
LoopDevice::new_empty_loop_device(devname.clone(), dev_id, minor as u32)
466-
{
462+
if let Some(loop_dev) = LoopDevice::new_empty_loop_device(devname.clone(), minor as u32) {
467463
log::info!(
468464
"Registering loop device: {}",
469465
loop_dev.block_dev_meta.devname

0 commit comments

Comments
 (0)