Re: [patch 2/6] mm: bdi: export BDI attributes in sysfs

From: Andrew Morton
Date: Fri Feb 29 2008 - 06:27:02 EST


On Tue, 29 Jan 2008 16:49:02 +0100 Miklos Szeredi <miklos@xxxxxxxxxx> wrote:

> From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
>
> Provide a place in sysfs (/sys/class/bdi) for the backing_dev_info
> object. This allows us to see and set the various BDI specific
> variables.
>
> In particular this properly exposes the read-ahead window for all
> relevant users and /sys/block/<block>/queue/read_ahead_kb should be
> deprecated.
>
> With patient help from Kay Sievers and Greg KH
>
> [mszeredi@xxxxxxx]
>
> - split off NFS and FUSE changes into separate patches
> - document new sysfs attributes under Documentation/ABI
> - do bdi_class_init as a core_initcall, otherwise the "default" BDI
> won't be initialized
> - remove bdi_init_fmt macro, it's not used very much

please always provide diffstats.

Documentation/ABI/testing/sysfs-class-bdi | 50 +++++++++++++
block/genhd.c | 3
include/linux/backing-dev.h | 8 ++
include/linux/writeback.h | 3
lib/percpu_counter.c | 1
mm/backing-dev.c | 108 ++++++++++++++++++++++++++++++
mm/page-writeback.c | 2
mm/readahead.c | 8 +-
8 files changed, 181 insertions(+), 2 deletions(-)

would you believe this breaks ia64 allmodconfig, in the usual place:

In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:342:1: warning: "SET_PERSONALITY" redefined
In file included from include/linux/elf.h:7,
from include/linux/module.h:14,
from include/linux/device.h:21,
from include/linux/backing-dev.h:15,
from include/linux/nfs_fs_sb.h:5,
from include/linux/nfs_fs.h:50,
from arch/ia64/ia32/sys_ia32.c:35:
include/asm/elf.h:180:1: warning: this is the location of the previous definition


We keep on hitting stupid build errors in this area: ia64 and elf. It is
obviously quite fragile. It would be nice to fix it properly.


For now, the easy fix:

--- a/include/linux/backing-dev.h~mm-bdi-export-bdi-attributes-in-sysfs-ia64-fix
+++ a/include/linux/backing-dev.h
@@ -12,10 +12,10 @@
#include <linux/log2.h>
#include <linux/proportions.h>
#include <linux/kernel.h>
-#include <linux/device.h>
#include <asm/atomic.h>

struct page;
+struct device;

/*
* Bits in backing_dev_info.state

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/