Whamcloud - gitweb
b=12182
authoralex <alex>
Mon, 13 Oct 2008 15:04:38 +0000 (15:04 +0000)
committeralex <alex>
Mon, 13 Oct 2008 15:04:38 +0000 (15:04 +0000)
i=adilger
i=green
i=nikita

  - oss read-only cache feature

lustre/obdfilter/filter_internal.h

index 9464a92..959e078 100644 (file)
@@ -97,6 +97,11 @@ void filter_fmd_expire(struct obd_export *exp);
 enum {
         LPROC_FILTER_READ_BYTES = 0,
         LPROC_FILTER_WRITE_BYTES = 1,
+        LPROC_FILTER_GET_PAGE = 2,
+        LPROC_FILTER_NO_PAGE = 3,
+        LPROC_FILTER_CACHE_ACCESS = 4,
+        LPROC_FILTER_CACHE_HIT = 5,
+        LPROC_FILTER_CACHE_MISS = 6,
         LPROC_FILTER_LAST,
 };
 
@@ -144,19 +149,20 @@ extern struct ldlm_valblock_ops filter_lvbo;
 
 /* filter_io.c */
 int filter_preprw(int cmd, struct obd_export *, struct obdo *, int objcount,
-                  struct obd_ioobj *, int niocount, struct niobuf_remote *,
-                  struct niobuf_local *, struct obd_trans_info *);
+                  struct obd_ioobj *, struct niobuf_remote *,
+                  int *, struct niobuf_local *, struct obd_trans_info *);
 int filter_commitrw(int cmd, struct obd_export *, struct obdo *, int objcount,
-                    struct obd_ioobj *, int niocount, struct niobuf_local *,
-                    struct obd_trans_info *, int rc);
+                    struct obd_ioobj *, struct niobuf_remote *,  int,
+                    struct niobuf_local *, struct obd_trans_info *, int rc);
 int filter_brw(int cmd, struct obd_export *, struct obd_info *oinfo,
                obd_count oa_bufs, struct brw_page *pga, struct obd_trans_info *);
-void flip_into_page_cache(struct inode *inode, struct page *new_page);
+void filter_invalidate_cache(struct obd_device *, struct obd_ioobj *,
+                             struct niobuf_remote *, struct inode *);
 
 /* filter_io_*.c */
 struct filter_iobuf;
 int filter_commitrw_write(struct obd_export *exp, struct obdo *oa, int objcount,
-                          struct obd_ioobj *obj, int niocount,
+                          struct obd_ioobj *obj, struct niobuf_remote *, int,
                           struct niobuf_local *res, struct obd_trans_info *oti,
                           int rc);
 obd_size filter_grant_space_left(struct obd_export *exp);