.. | .. |
---|
199 | 199 | * for making file shorter. For making file longer, udf_extend_file() has to |
---|
200 | 200 | * be used. |
---|
201 | 201 | */ |
---|
202 | | -void udf_truncate_extents(struct inode *inode) |
---|
| 202 | +int udf_truncate_extents(struct inode *inode) |
---|
203 | 203 | { |
---|
204 | 204 | struct extent_position epos; |
---|
205 | 205 | struct kernel_lb_addr eloc, neloc = {}; |
---|
.. | .. |
---|
224 | 224 | if (etype == -1) { |
---|
225 | 225 | /* We should extend the file? */ |
---|
226 | 226 | WARN_ON(byte_offset); |
---|
227 | | - return; |
---|
| 227 | + return 0; |
---|
228 | 228 | } |
---|
229 | 229 | epos.offset -= adsize; |
---|
230 | 230 | extent_trunc(inode, &epos, &eloc, etype, elen, byte_offset); |
---|
.. | .. |
---|
241 | 241 | |
---|
242 | 242 | while ((etype = udf_current_aext(inode, &epos, &eloc, |
---|
243 | 243 | &elen, 0)) != -1) { |
---|
244 | | - if (etype == (EXT_NEXT_EXTENT_ALLOCDECS >> 30)) { |
---|
| 244 | + if (etype == (EXT_NEXT_EXTENT_ALLOCDESCS >> 30)) { |
---|
245 | 245 | udf_write_aext(inode, &epos, &neloc, nelen, 0); |
---|
246 | 246 | if (indirect_ext_len) { |
---|
247 | 247 | /* We managed to free all extents in the |
---|
.. | .. |
---|
262 | 262 | udf_get_lb_pblock(sb, &eloc, 0)); |
---|
263 | 263 | /* Error reading indirect block? */ |
---|
264 | 264 | if (!epos.bh) |
---|
265 | | - return; |
---|
| 265 | + return -EIO; |
---|
266 | 266 | if (elen) |
---|
267 | 267 | indirect_ext_len = |
---|
268 | 268 | (elen + sb->s_blocksize - 1) >> |
---|
.. | .. |
---|
286 | 286 | iinfo->i_lenExtents = inode->i_size; |
---|
287 | 287 | |
---|
288 | 288 | brelse(epos.bh); |
---|
| 289 | + return 0; |
---|
289 | 290 | } |
---|