• A
    orangefs: hopefully saner op refcounting and locking · ed42fe05
    Al Viro 提交于
    * create with refcount 1
    * make op_release() decrement and free if zero (i.e. old put_op()
      has become that).
    * mark when submitter has given up waiting; from that point nobody
      else can move between the lists, change state, etc.
    * have daemon read/write_iter grab a reference when picking op
      and *always* give it up in the end
    * don't put into hash until we know it's been successfully passed to
      daemon
    
    * move op->lock _lower_ than htab_in_progress_lock (and make sure
      to take it in purge_inprogress_ops())
    Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: NMike Marshall <hubcap@omnibond.com>
    ed42fe05
file.c 18.0 KB