Commit cd0a2df6 authored by Milosz Tanski's avatar Milosz Tanski
Browse files

Merge tag 'fscache-fixes-for-ceph' into wip-fscache

Patches for Ceph FS-Cache support
parents c3545579 5a6f282a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -299,6 +299,15 @@ performed on the denizens of the cache. These are held in a structure of type:
     enough space in the cache to permit this.


 (*) Check coherency state of an object [mandatory]:

	int (*check_consistency)(struct fscache_object *object)

     This method is called to have the cache check the saved auxiliary data of
     the object against the netfs's idea of the state.  0 should be returned
     if they're consistent and -ESTALE otherwise.  -ENOMEM and -ERESTARTSYS
     may also be returned.

 (*) Update object [mandatory]:

	int (*update_object)(struct fscache_object *object)
+31 −6
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ This document contains the following sections:
	 (9) Setting the data file size
	(10) Page alloc/read/write
	(11) Page uncaching
	(12) Index and data file update
	(12) Index and data file consistency
	(13) Miscellaneous cookie operations
	(14) Cookie unregistration
	(15) Index invalidation
@@ -433,7 +433,7 @@ to the caller. The attribute adjustment excludes read and write operations.


=====================
PAGE READ/ALLOC/WRITE
PAGE ALLOC/READ/WRITE
=====================

And the sixth step is to store and retrieve pages in the cache.  There are
@@ -499,7 +499,7 @@ Else if there's a copy of the page resident in the cache:
     (*) An argument that's 0 on success or negative for an error code.

     If an error occurs, it should be assumed that the page contains no usable
     data.
     data.  fscache_readpages_cancel() may need to be called.

     end_io_func() will be called in process context if the read is results in
     an error, but it might be called in interrupt context if the read is
@@ -623,6 +623,22 @@ some of the pages being read and some being allocated. Those pages will have
been marked appropriately and will need uncaching.


CANCELLATION OF UNREAD PAGES
----------------------------

If one or more pages are passed to fscache_read_or_alloc_pages() but not then
read from the cache and also not read from the underlying filesystem then
those pages will need to have any marks and reservations removed.  This can be
done by calling:

	void fscache_readpages_cancel(struct fscache_cookie *cookie,
				      struct list_head *pages);

prior to returning to the caller.  The cookie argument should be as passed to
fscache_read_or_alloc_pages().  Every page in the pages list will be examined
and any that have PG_fscache set will be uncached.


==============
PAGE UNCACHING
==============
@@ -690,9 +706,18 @@ written to the cache and for the cache to finish with the page generally. No
error is returned.


==========================
INDEX AND DATA FILE UPDATE
==========================
===============================
INDEX AND DATA FILE CONSISTENCY
===============================

To find out whether auxiliary data for an object is up to data within the
cache, the following function can be called:

	int fscache_check_consistency(struct fscache_cookie *cookie)

This will call back to the netfs to check whether the auxiliary data associated
with a cookie is correct.  It returns 0 if it is and -ESTALE if it isn't; it
may also return -ENOMEM and -ERESTARTSYS.

To request an update of the index data for an index or other object, the
following function should be called:
+1 −1
Original line number Diff line number Diff line
@@ -2953,7 +2953,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
			improve throughput, but will also increase the
			amount of memory reserved for use by the client.

	swapaccount[=0|1]
	swapaccount=[0|1]
			[KNL] Enable accounting of swap in memory resource
			controller if no parameter or 1 is given or disable
			it if 0 is given (See Documentation/cgroups/memory.txt)
+8 −8
Original line number Diff line number Diff line
@@ -5581,9 +5581,9 @@ S: Maintained
F:	drivers/media/tuners/mxl5007t.*

MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
M:	Andrew Gallatin <gallatin@myri.com>
M:	Hyong-Youb Kim <hykim@myri.com>
L:	netdev@vger.kernel.org
W:	http://www.myri.com/scs/download-Myri10GE.html
W:	https://www.myricom.com/support/downloads/myri10ge.html
S:	Supported
F:	drivers/net/ethernet/myricom/myri10ge/

@@ -5884,7 +5884,7 @@ F: drivers/i2c/busses/i2c-omap.c
F:	include/linux/i2c-omap.h

OMAP DEVICE TREE SUPPORT
M:	Benoît Cousson <b-cousson@ti.com>
M:	Benoît Cousson <bcousson@baylibre.com>
M:	Tony Lindgren <tony@atomide.com>
L:	linux-omap@vger.kernel.org
L:	devicetree@vger.kernel.org
@@ -5964,14 +5964,14 @@ S: Maintained
F:	drivers/char/hw_random/omap-rng.c

OMAP HWMOD SUPPORT
M:	Benoît Cousson <b-cousson@ti.com>
M:	Benoît Cousson <bcousson@baylibre.com>
M:	Paul Walmsley <paul@pwsan.com>
L:	linux-omap@vger.kernel.org
S:	Maintained
F:	arch/arm/mach-omap2/omap_hwmod.*

OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
M:	Benoît Cousson <b-cousson@ti.com>
M:	Benoît Cousson <bcousson@baylibre.com>
L:	linux-omap@vger.kernel.org
S:	Maintained
F:	arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -6066,7 +6066,7 @@ M: Rob Herring <rob.herring@calxeda.com>
M:	Pawel Moll <pawel.moll@arm.com>
M:	Mark Rutland <mark.rutland@arm.com>
M:	Stephen Warren <swarren@wwwdotorg.org>
M:	Ian Campbell <ian.campbell@citrix.com>
M:	Ian Campbell <ijc+devicetree@hellion.org.uk>
L:	devicetree@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/
@@ -7366,7 +7366,6 @@ F: drivers/net/ethernet/sfc/

SGI GRU DRIVER
M:	Dimitri Sivanich <sivanich@sgi.com>
M:	Robin Holt <holt@sgi.com>
S:	Maintained
F:	drivers/misc/sgi-gru/

@@ -7386,7 +7385,8 @@ S: Maintained for 2.6.
F:	Documentation/sgi-visws.txt

SGI XP/XPC/XPNET DRIVER
M:	Robin Holt <holt@sgi.com>
M:	Cliff Whickman <cpw@sgi.com>
M:	Robin Holt <robinmholt@gmail.com>
S:	Maintained
F:	drivers/misc/sgi-xp/

+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 11
SUBLEVEL = 0
EXTRAVERSION = -rc5
EXTRAVERSION =
NAME = Linux for Workgroups

# *DOCUMENTATION*
Loading