Whamcloud - gitweb
b=201
authorpschwan <pschwan>
Wed, 30 Oct 2002 08:20:49 +0000 (08:20 +0000)
committerpschwan <pschwan>
Wed, 30 Oct 2002 08:20:49 +0000 (08:20 +0000)
commit280993ae28bf703ddf15db50f2432a794f4e283d
tree5d1ff4a1bc71d40b246009df6ec7536c19bc5ad6
parent44956c1e022dcdf0eb2a28e503fdf830e8d3029d
b=201
b=285
- Added generation numbers to MDS locks (still need to for OSC locks, bug 294)
- fixup the inode pointer in the ldlm_lock after intent gives us a lock on a
  different resource (bug 285)
- cancel locks when the inodes are flushed from the cache (bug 201)
- fix serious cache coherancy bugs by really tying locks to dentries:
  - always return 0 from revalidate2 for a negative dentry, forcing lookup2
  - when MDS locks are cancelled, unhash the associated dentries (but do NOT
    remove them from the aliases list)
    - avoid calling the cancellation callback at shutdown and clear_inode time,
      by adding yet another flag, this time to cancel_unused
  - lookup2 searches for old dentries that may satisfy a new request, and may
    reuse a dentry that we previously unhashed

We broke hard links even more than they were before--you've been warned!
15 files changed:
lustre/include/linux/lustre_dlm.h
lustre/include/linux/lustre_lite.h
lustre/include/linux/lustre_mds.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_request.c
lustre/ldlm/ldlm_resource.c
lustre/llite/dcache.c
lustre/llite/namei.c
lustre/llite/recover.c
lustre/llite/super.c
lustre/lov/lov_obd.c
lustre/mdc/mdc_request.c
lustre/mds/handler.c
lustre/osc/osc_request.c