@@ -21,7 +21,7 @@ mod group_desc;
21
21
use core:: mem:: MaybeUninit ;
22
22
23
23
use aero_syscall:: socket:: { MessageFlags , MessageHeader } ;
24
- use aero_syscall:: { MMapFlags , SyscallError } ;
24
+ use aero_syscall:: { MMapFlags , OpenFlags , SyscallError } ;
25
25
use alloc:: boxed:: Box ;
26
26
use alloc:: string:: ToString ;
27
27
use alloc:: sync:: { Arc , Weak } ;
@@ -364,7 +364,7 @@ impl CachedAccess for INode {
364
364
}
365
365
366
366
fn read_direct ( & self , offset : usize , dest : PhysFrame ) -> Option < usize > {
367
- INodeInterface :: read_at ( self , offset, dest. as_slice_mut ( ) ) . ok ( )
367
+ INodeInterface :: read_at ( self , OpenFlags :: empty ( ) , offset, dest. as_slice_mut ( ) ) . ok ( )
368
368
}
369
369
370
370
fn write_direct ( & self , offset : usize , src : PhysFrame ) -> Option < usize > {
@@ -440,9 +440,14 @@ impl INodeInterface for INode {
440
440
Ok ( self . make_dirent ( parent, entry. name ( ) , entry) . unwrap ( ) )
441
441
}
442
442
443
- fn read_at ( & self , offset : usize , usr_buffer : & mut [ u8 ] ) -> super :: Result < usize > {
443
+ fn read_at (
444
+ & self ,
445
+ flags : OpenFlags ,
446
+ offset : usize ,
447
+ usr_buffer : & mut [ u8 ] ,
448
+ ) -> super :: Result < usize > {
444
449
if let Some ( proxy) = self . proxy . as_ref ( ) {
445
- return proxy. read_at ( offset, usr_buffer) ;
450
+ return proxy. read_at ( flags , offset, usr_buffer) ;
446
451
}
447
452
448
453
if !self . metadata ( ) ?. is_file ( ) {
@@ -596,7 +601,7 @@ impl INodeInterface for INode {
596
601
private_cp. as_slice_mut ( ) . fill ( 0 ) ;
597
602
598
603
let buffer = & mut private_cp. as_slice_mut ( ) [ ..size] ;
599
- self . read_at ( offset, buffer) ?;
604
+ self . read_at ( OpenFlags :: empty ( ) , offset, buffer) ?;
600
605
601
606
Ok ( private_cp)
602
607
}
@@ -644,9 +649,14 @@ impl INodeInterface for INode {
644
649
}
645
650
}
646
651
647
- fn recv ( & self , message_hdr : & mut MessageHeader , flags : MessageFlags ) -> super :: Result < usize > {
652
+ fn recv (
653
+ & self ,
654
+ fd_flags : OpenFlags ,
655
+ message_hdr : & mut MessageHeader ,
656
+ flags : MessageFlags ,
657
+ ) -> super :: Result < usize > {
648
658
if let Some ( proxy) = self . proxy . as_ref ( ) {
649
- proxy. recv ( message_hdr, flags)
659
+ proxy. recv ( fd_flags , message_hdr, flags)
650
660
} else {
651
661
Err ( FileSystemError :: NotSupported )
652
662
}
0 commit comments