Thread (2 messages) 2 messages, 1 author, 2012-09-29

WARNING: at fs/ext4/extents.c:4434 ext4_convert_unwritten_extent

From: Dmitry Monakhov <hidden>
Date: 2012-09-28 17:23:33

I've got this on 286'th MOUNT_OPTIONS=-onoload

We assumes that we are protected from ENOSPC during
ext4_convert_unwritten_extents() by passing EXT4_GET_BLOCKS_PRE_IO
on submitting AIO which split extent via ext4_split_unwritten_extents()
But this is not sufficient:


submit_aio                              Fallocate worker
 ->ext4_map_blocks(lblk, len)
   ->ext4_ext_map_blocks( )
   file: U1---------------------U2|_____EOF
     ->ext4_split_unwritten_extents
   file: U1------U1|U2---len----U2|_____EOF
              
                                       ->ext4_fallocate(lblk, len+len2)
                                          ->ext4_map_blocks()
                                             ->ext4_ext_map_blocks()
                                                         U2: Grows
                                           file: U1-------U1|U2----len+len2--U2|__EOF
  worker_tread
   ->ext4_end_io_work
     ->ext4_convert_unwritten_extents
       ->ext4_ext_handle_uninitialized_extents
            ## Discover that new split required in order to get:
            file: U1-------U1|U2----len----U2|U3--len2--U2__EOF
            This procedure fail with ENOSPC
       
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help