"software/nayuos" did not exist on "master"
  • Dave Chinner's avatar
    xfs: concurrent readdir hangs on data buffer locks · 9f541801
    Dave Chinner authored
    There's a three-process deadlock involving shared/exclusive barriers
    and inverted lock orders in the directory readdir implementation.
    It's a pre-existing problem with lock ordering, exposed by the
    VFS parallelisation code.
    
    process 1               process 2               process 3
    ---------               ---------               ---------
    readdir
    iolock(shared)
      get_leaf_dents
        iterate entries
           ilock(shared)
           map, lock and read buffer
           iunlock(shared)
           process entries in buffer
           .....
                                                    readdir
                                                    iolock(shared)
                                                      get_leaf_dents
                                                        iterate entries
                                                          ilock(shared)
                                                          map, lock buffer
                                                          ...
    9f541801
xfs_dir2_readdir.c 17.7 KB