Skip to content
  • Vladimir Saveliev's avatar
    LU-12687 osc: consume grants for direct I/O · ab95f0c3
    Vladimir Saveliev authored
    New IO engine implementation lost consuming grants by direct I/O
    writes. That led to early emergence of out of space condition during
    direct I/O. The below illustrates the problem:
      # OSTSIZE=100000 sh llmount.sh
      # dd if=/dev/zero of=/mnt/lustre/file bs=4k count=100 oflag=direct
      dd: error writing ‘/mnt/lustre/file’: No space left on device
    
    Consume grants for direct I/O.
    
    Try to consume grants in osc_queue_sync_pages() when it is called for
    pages which are being writted in direct i/o.
    
    Tests are added to verify grant consumption in buffered and direct i/o
    and to verify direct i/o overwrite when ost is full.
    The overwrite test is for ldiskfs only as zfs is unable to overwrite
    when it is full.
    
    Lustre-change: https://review.whamcloud.com/35896
    Lustre-commit: 05f326a7
    
    Fixes: 9fe4b52a
    
     ("LU-1030 osc: new IO engine implementation")
    Signed-off-by: default avatarVladimir Saveliev <c17830@cray.com>
    Change-Id: I9a199452c564e8e8ad02f79231e8481...
    ab95f0c3