Whamcloud - gitweb
b=605627
authorpschwan <pschwan>
Sun, 22 Sep 2002 02:47:48 +0000 (02:47 +0000)
committerpschwan <pschwan>
Sun, 22 Sep 2002 02:47:48 +0000 (02:47 +0000)
commite5498ceb60c53d3406caa7f5cda97f686fd5879a
treeb88750cbe70592d74679869d7db17d865e504ab4
parent30c8ce5c470a4e7e473188ebd0923a56b3d8c109
b=605627
Fixes two bugs related to 605627 that have been present since we started
correctly reusing inodes.

- We were giving up locks at file close time, but not throwing away file data
pages.  Fixed, by adding a flag to the blocking callback.  It's now called
under two different circumstances: when a lock needs to be given up
(LDLM_CB_BLOCKING) and when a lock is about to be freed (LDLM_CB_DYING)

- We were not refreshing inode attributes (notably size) correctly.  I brute
force this by always calling ll_file_size() in ll_inode_revalidate, but this
needs some obvious immediate refinement.

As an aside, I noticed that the DLM API documentation gives almost no mention
to the arguments or calling conventions of the callback functions.
lustre/include/linux/lustre_dlm.h
lustre/include/linux/lustre_lite.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_test.c
lustre/llite/file.c
lustre/mdc/mdc_request.c
lustre/mds/handler.c
lustre/mds/mds_reint.c