@@ -57,7 +57,7 @@ impl Handle for OsFile {
5757 fd:: advise ( self , advice, offset, len)
5858 }
5959 fn allocate ( & self , offset : types:: Filesize , len : types:: Filesize ) -> Result < ( ) > {
60- let fd = self . as_file ( ) ;
60+ let fd = self . as_file ( ) ? ;
6161 let metadata = fd. metadata ( ) ?;
6262 let current_size = metadata. len ( ) ;
6363 let wanted_size = offset. checked_add ( len) . ok_or ( Errno :: TooBig ) ?;
@@ -71,23 +71,23 @@ impl Handle for OsFile {
7171 Ok ( ( ) )
7272 }
7373 fn datasync ( & self ) -> Result < ( ) > {
74- self . as_file ( ) . sync_data ( ) ?;
74+ self . as_file ( ) ? . sync_data ( ) ?;
7575 Ok ( ( ) )
7676 }
7777 fn fdstat_get ( & self ) -> Result < types:: Fdflags > {
78- fd:: fdstat_get ( & self . as_file ( ) )
78+ fd:: fdstat_get ( & * self . as_file ( ) ? )
7979 }
8080 fn fdstat_set_flags ( & self , fdflags : types:: Fdflags ) -> Result < ( ) > {
81- if let Some ( new_handle) = fd:: fdstat_set_flags ( & self . as_file ( ) , fdflags) ? {
81+ if let Some ( new_handle) = fd:: fdstat_set_flags ( & * self . as_file ( ) ? , fdflags) ? {
8282 self . handle . update_from ( new_handle) ;
8383 }
8484 Ok ( ( ) )
8585 }
8686 fn filestat_get ( & self ) -> Result < types:: Filestat > {
87- fd:: filestat_get ( & self . as_file ( ) )
87+ fd:: filestat_get ( & * self . as_file ( ) ? )
8888 }
8989 fn filestat_set_size ( & self , size : types:: Filesize ) -> Result < ( ) > {
90- self . as_file ( ) . set_len ( size) ?;
90+ self . as_file ( ) ? . set_len ( size) ?;
9191 Ok ( ( ) )
9292 }
9393 fn filestat_set_times (
@@ -96,38 +96,38 @@ impl Handle for OsFile {
9696 mtim : types:: Timestamp ,
9797 fst_flags : types:: Fstflags ,
9898 ) -> Result < ( ) > {
99- fd:: filestat_set_times ( & self . as_file ( ) , atim, mtim, fst_flags)
99+ fd:: filestat_set_times ( & * self . as_file ( ) ? , atim, mtim, fst_flags)
100100 }
101101 fn preadv ( & self , buf : & mut [ io:: IoSliceMut ] , offset : u64 ) -> Result < usize > {
102- let mut fd: & File = & self . as_file ( ) ;
102+ let mut fd: & File = & * self . as_file ( ) ? ;
103103 let cur_pos = fd. seek ( SeekFrom :: Current ( 0 ) ) ?;
104104 fd. seek ( SeekFrom :: Start ( offset) ) ?;
105105 let nread = self . read_vectored ( buf) ?;
106106 fd. seek ( SeekFrom :: Start ( cur_pos) ) ?;
107107 Ok ( nread)
108108 }
109109 fn pwritev ( & self , buf : & [ io:: IoSlice ] , offset : u64 ) -> Result < usize > {
110- let mut fd: & File = & self . as_file ( ) ;
110+ let mut fd: & File = & * self . as_file ( ) ? ;
111111 let cur_pos = fd. seek ( SeekFrom :: Current ( 0 ) ) ?;
112112 fd. seek ( SeekFrom :: Start ( offset) ) ?;
113113 let nwritten = self . write_vectored ( & buf) ?;
114114 fd. seek ( SeekFrom :: Start ( cur_pos) ) ?;
115115 Ok ( nwritten)
116116 }
117117 fn read_vectored ( & self , iovs : & mut [ io:: IoSliceMut ] ) -> Result < usize > {
118- let nread = self . as_file ( ) . read_vectored ( iovs) ?;
118+ let nread = self . as_file ( ) ? . read_vectored ( iovs) ?;
119119 Ok ( nread)
120120 }
121121 fn seek ( & self , offset : SeekFrom ) -> Result < u64 > {
122- let pos = self . as_file ( ) . seek ( offset) ?;
122+ let pos = self . as_file ( ) ? . seek ( offset) ?;
123123 Ok ( pos)
124124 }
125125 fn sync ( & self ) -> Result < ( ) > {
126- self . as_file ( ) . sync_all ( ) ?;
126+ self . as_file ( ) ? . sync_all ( ) ?;
127127 Ok ( ( ) )
128128 }
129129 fn write_vectored ( & self , iovs : & [ io:: IoSlice ] ) -> Result < usize > {
130- let nwritten = self . as_file ( ) . write_vectored ( & iovs) ?;
130+ let nwritten = self . as_file ( ) ? . write_vectored ( & iovs) ?;
131131 Ok ( nwritten)
132132 }
133133}
0 commit comments