Whamcloud - gitweb
LU-909 osd: changes to osd api
authorAlex Zhuravlev <bzzz@whamcloud.com>
Fri, 6 Jan 2012 05:01:40 +0000 (13:01 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 6 Jan 2012 21:36:55 +0000 (16:36 -0500)
commit22464d1230ed58461f51d881f512d5e16644a735
treef5f8ac98a99d71f9759cbfb12c35d9d9f2fbe0e0
parent046a965cf0f54265208e74566d181f1ee9a3a729
LU-909 osd: changes to osd api

the main purpose of the patch is to get declare methods in the API
and to teach osd-based devices to use that

- new declaration methods for each changing method
- explicit destroy method:
  ->do_ref_del() never destroy object
- methods to access data in 0-copy manner:
  no actual implementation in this patch
- mdd/fld use new methods to create/declare/start transactions
- specific method to change/access version are removed:
  use xattr methods
- ldiskfs osd tracks all declarations and asserts if caller
  is trying to call changing method w/o proper declaration

Change-Id: I473c0c2950c1920abb2fef1dac465c08f35522ea
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Signed-off-by: Hongchao Zhang <hongchao.zhang@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1669
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
28 files changed:
lustre/autoconf/lustre-core.m4
lustre/cmm/cmm_object.c
lustre/fid/fid_internal.h
lustre/fid/fid_store.c
lustre/fld/fld_handler.c
lustre/fld/fld_index.c
lustre/fld/fld_internal.h
lustre/include/dt_object.h
lustre/include/lustre/lustre_idl.h
lustre/include/lustre_fld.h
lustre/include/md_object.h
lustre/mdd/mdd_device.c
lustre/mdd/mdd_dir.c
lustre/mdd/mdd_internal.h
lustre/mdd/mdd_lov.c
lustre/mdd/mdd_object.c
lustre/mdd/mdd_orphans.c
lustre/mdd/mdd_trans.c
lustre/mdt/mdt_capa.c
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_recovery.c
lustre/mdt/mdt_reint.c
lustre/obdclass/dt_object.c
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_internal.h
lustre/ptlrpc/target.c
lustre/tests/replay-single.sh