rpms/kernel/devel pnfs-v2.6.31-rc6.patch, NONE, 1.1.2.1 config-generic, 1.316, 1.316.4.1 kernel.spec, 1.1721, 1.1721.4.1
Steve Dickson
steved at fedoraproject.org
Mon Aug 17 18:02:00 UTC 2009
- Previous message: rpms/buildbot/F-11 buildbot.spec,1.15,1.16
- Next message: rpms/DeviceKit-disks/devel .cvsignore, 1.10, 1.11 DeviceKit-disks.spec, 1.31, 1.32 sources, 1.10, 1.11 DeviceKit-disks-005-port-to-new-libatasmart.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: steved
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6374
Modified Files:
Tag: kernel-2_6_31-pnfs_rc6
config-generic kernel.spec
Added Files:
Tag: kernel-2_6_31-pnfs_rc6
pnfs-v2.6.31-rc6.patch
Log Message:
Updated to latest pNFS update (v2.6.31-rc6)
pnfs-v2.6.31-rc6.patch:
Documentation/spnfs.txt | 210 +++
Makefile | 2
drivers/md/dm-ioctl.c | 24
drivers/scsi/hosts.c | 3
drivers/scsi/osd/osd_initiator.c | 22
drivers/scsi/osd/osd_uld.c | 53
fs/exofs/Kbuild | 1
fs/exofs/exofs.h | 11
fs/exofs/export.c | 409 +++++++
fs/exofs/inode.c | 52
fs/exofs/super.c | 1
fs/exportfs/expfs.c | 7
fs/inode.c | 2
fs/nfs/Kconfig | 38
fs/nfs/Makefile | 7
fs/nfs/blocklayout/Makefile | 6
fs/nfs/blocklayout/blocklayout.c | 1202 ++++++++++++++++++++
fs/nfs/blocklayout/blocklayout.h | 265 ++++
fs/nfs/blocklayout/blocklayoutdev.c | 735 ++++++++++++
fs/nfs/blocklayout/blocklayoutdm.c | 337 +++++
fs/nfs/blocklayout/extents.c | 945 ++++++++++++++++
fs/nfs/callback.h | 36
fs/nfs/callback_proc.c | 280 ++++
fs/nfs/callback_xdr.c | 155 ++
fs/nfs/client.c | 25
fs/nfs/direct.c | 227 ++-
fs/nfs/file.c | 50
fs/nfs/inode.c | 43
fs/nfs/internal.h | 32
fs/nfs/nfs3proc.c | 1
fs/nfs/nfs4_fs.h | 16
fs/nfs/nfs4filelayout.c | 859 +++++++++++++++
fs/nfs/nfs4filelayout.h | 131 ++
fs/nfs/nfs4filelayoutdev.c | 886 +++++++++++++++
fs/nfs/nfs4proc.c | 648 +++++++++++
fs/nfs/nfs4renewd.c | 2
fs/nfs/nfs4state.c | 22
fs/nfs/nfs4xdr.c | 883 +++++++++++++++
fs/nfs/objlayout/Kbuild | 11
fs/nfs/objlayout/objio_osd.c | 767 +++++++++++++
fs/nfs/objlayout/objlayout.c | 578 ++++++++++
fs/nfs/objlayout/objlayout.h | 207 +++
fs/nfs/objlayout/panfs_shim.c | 740 ++++++++++++
fs/nfs/objlayout/panfs_shim.h | 482 ++++++++
fs/nfs/objlayout/pnfs_osd_xdr.c | 344 ++++++
fs/nfs/objlayout/pnfs_osd_xdr.h | 412 +++++++
fs/nfs/objlayout/pnfs_osd_xdr_enc.c | 239 ++++
fs/nfs/pagelist.c | 13
fs/nfs/pnfs.c | 2061 ++++++++++++++++++++++++++++++++++++
fs/nfs/pnfs.h | 361 ++++++
fs/nfs/proc.c | 1
fs/nfs/read.c | 104 +
fs/nfs/super.c | 66 +
fs/nfs/write.c | 221 ++-
fs/nfsd/Kconfig | 39
fs/nfsd/Makefile | 3
fs/nfsd/export.c | 87 +
fs/nfsd/nfs4callback.c | 591 ++++++++++
fs/nfsd/nfs4filelayoutxdr.c | 271 ++++
fs/nfsd/nfs4pnfsd.c | 1468 +++++++++++++++++++++++++
fs/nfsd/nfs4pnfsds.c | 620 ++++++++++
fs/nfsd/nfs4proc.c | 650 ++++++++++-
fs/nfsd/nfs4state.c | 785 ++++++++-----
fs/nfsd/nfs4xdr.c | 680 +++++++++++
fs/nfsd/nfsctl.c | 95 +
fs/nfsd/nfsfh.c | 15
fs/nfsd/nfssvc.c | 30
fs/nfsd/pnfsd_lexp.c | 225 +++
fs/nfsd/spnfs_com.c | 504 ++++++++
fs/nfsd/spnfs_ops.c | 788 +++++++++++++
fs/nfsd/vfs.c | 64 +
include/linux/exportfs.h | 38
include/linux/fs.h | 2
include/linux/nfs4.h | 56
include/linux/nfs4_pnfs.h | 319 +++++
include/linux/nfs_fs.h | 29
include/linux/nfs_fs_sb.h | 22
include/linux/nfs_iostat.h | 3
include/linux/nfs_page.h | 10
include/linux/nfs_xdr.h | 50
include/linux/nfsd/debug.h | 2
include/linux/nfsd/export.h | 1
include/linux/nfsd/nfs4layoutxdr.h | 98 +
include/linux/nfsd/nfsd.h | 20
include/linux/nfsd/nfsd4_pnfs.h | 312 +++++
include/linux/nfsd/nfsfh.h | 1
include/linux/nfsd/pnfsd.h | 109 +
include/linux/nfsd/state.h | 212 +++
include/linux/nfsd/syscall.h | 8
include/linux/nfsd/xdr4.h | 47
include/linux/nfsd4_spnfs.h | 329 +++++
include/linux/panfs_shim_api.h | 57
include/linux/pnfs_xdr.h | 146 ++
include/linux/sunrpc/clnt.h | 1
include/linux/sunrpc/rpc_pipe_fs.h | 4
include/linux/sunrpc/svc.h | 2
include/linux/sunrpc/svc_xprt.h | 37
include/linux/sunrpc/svcsock.h | 1
include/linux/sunrpc/xprt.h | 7
include/scsi/osd_initiator.h | 53
net/sunrpc/backchannel_rqst.c | 2
net/sunrpc/clnt.c | 1
net/sunrpc/rpc_pipe.c | 40
net/sunrpc/sched.c | 7
net/sunrpc/sunrpc.h | 14
net/sunrpc/svcsock.c | 251 +++-
net/sunrpc/xdr.c | 14
net/sunrpc/xprt.c | 16
net/sunrpc/xprtsock.c | 199 +++
109 files changed, 23890 insertions(+), 780 deletions(-)
--- NEW FILE pnfs-v2.6.31-rc6.patch ---
diff -up /dev/null linux-2.6.30.noarch/Documentation/spnfs.txt
--- /dev/null 2009-08-04 07:00:21.623000992 -0400
+++ linux-2.6.30.noarch/Documentation/spnfs.txt 2009-08-17 13:49:48.481379000 -0400
@@ -0,0 +1,210 @@
+(c) 2007 Network Appliance Inc.
+
+spNFS
+-----
+
+An spNFS system consists of a Meta Data Server (MDS), a number of Client machines (C) and a number of Data Servers (DS).
+
+A file system is mounted by the clients from the MDS, and all file data
+is striped across the DSs.
+
+Identify the machines that will be filling each of these roles.
+
+The spnfs kernel will be installed on all machines: clients, the MDS and DSs.
+
+
+Building and installing the spNFS kernel
+----------------------------------------
+
+Get the spNFS kernel from:
+
+ git://linux-nfs.org/~dmuntz/spnfs.git
+
+add these options to your .config file
+
+ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFSD=y
+ CONFIG_NFS_V4_1=y
+ CONFIG_NFSD_V4_1=y
+ CONFIG_PNFS=y
+ CONFIG_PNFSD=y
+ CONFIG_SPNFS=y
+
+By default, spNFS uses whole-file layouts. Layout segments can be enabled
+by adding:
+
+ CONFIG_SPNFS_LAYOUTSEGMENTS=y
+
+to your .config file.
+
+Building and installation of kernel+modules is as usual.
+This kernel should be installed and booted on the client, MDS and DSs.
+
+
+Building nfs-utils
+------------------
+
+Get the nfs-utils package containing spnfsd from:
+
+ git://linux-nfs.org/~dmuntz/nfs-utils.git
+
+Follow the standard instructions for building nfs-utils. We HIGHLY recommend
+NOT doing an install of the binaries generated by this build. You will only
+need the spnfsd binary generated by this build, and the spnfsd.conf template.
+
+After building, the spnfsd daemon will be located in utils/spnfsd. The spnfsd
+daemon will only be needed on the MDS.
+
+
+Installation
+------------
+
+The nfs-utils package contains a default spnfsd.conf file in
+utils/spnfsd/spnfsd.conf. Copy this file to /etc/spnfsd.conf.
+
+By default, the DS-Mount-Directory is set to /spnfs (see spnfsd.conf). Under
+this directory, mount points must be created for each DS to
+be used for pNFS data stripes. These mount points are named by the ip address
+of the corresponding DS. In the sample spnfsd.conf, there are two
+DSs defined (172.16.28.134 and 172.16.28.141).
+
+Following the sample spnfsd.conf,
+
+ mkdir /spnfs
+
+on the MDS (corresponding to DS-Mount-Directory). Then
+
+ mkdir /spnfs/172.16.28.134
+ mkdir /spnfs/172.16.28.141
+
+to create the mount points for the DSs.
+
+On the DSs, chose a directory where data stripes will be created by the MDS.
+For the sample file, this directory is /pnfs, so on each DS execute:
+
+ mkdir /pnfs
+
+This directory is specified in the spnfsd.conf file by the DS*_ROOT option
+(where * is replaced by the DS number). DS_ROOT is specified relative to
+the directory being exported by the DSs. In our example, our DSs are exporting
+the root directory (/) and therefore our DS_ROOT is /pnfs. On the DSs, we have
+the following entry in /etc/exports:
+
+ / *(rw,fsid=0,insecure,no_root_squash,sync,no_subtree_check)
+
+N.B. If we had created a /exports directory and a /pnfs directory under
+/exports, and if we were exporting /exports, then DS_ROOT would still be /pnfs
+(not /exports/pnfs).
+
+It may be useful to add entries to /etc/fstab on the MDS to automatically
+mount the DS_ROOT file systems. For this example, our MDS fstab would
+contain:
+
+ 172.17.84.128:/pnfs /spnfs/172.17.84.128 nfs defaults 1 2
+ 172.17.84.122:/pnfs /spnfs/172.17.84.122 nfs defaults 1 2
+
+The DS mounts must be performed manually or via fstab at this time (automatic
+mounting, directory creation, etc. are on the todo list). To perform I/O
+through the MDS, the DS mounts MUST use NFSv3 at this time (this restriction
+will eventually be removed).
+
+
+On the MDS, choose a file system to use with spNFS and export it, e.g.:
+
+ / *(rw,fsid=0,insecure,no_root_squash,sync,no_subtree_check)
+
+Make sure nfsd and all supporting processes are running on the MDS and DSs.
+
+
+Running
+-------
+
+If rpc_pipefs is not already mounted (if you're running idmapd it probably is),
+you may want to add the following line to /etc/fstab:
+
+ rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
+
+to automatically mount rpc_pipefs.
+
+With spnfsd.conf configured for your environment and the mounts mounted as
+described above, spnfsd can now be started.
+
+On the MDS, execute spnfsd:
+
+ spnfsd
+
+The executable is located in the directory where it was built, and
+may also have been installed elsewhere depending on how you built nfs-utils.
+It will run in the foreground by default, and in fact will do so despite
+any options suggesting the contrary (it's still a debugging build).
+
+On the client, make sure the nfslayoutdriver module is loaded:
+
+ modprobe nfslayoutdriver
+
+Then mount the file system from the MDS:
+
+ mount -t nfs4 mds:/ /mnt
+
+I/O through the MDS is now supported. To use it, do not load the
+nfslayoutdriver on the client, and mount the MDS using NFSv4 or 4.1
+(NFSv2 and v3 are not yet supported).
+
+You may now use spNFS by performing file system activities in /mnt.
+If you create files in /mnt, you should see stripe files corresponding to
+new files being created on the DSs. The current implementation names the
+stripe files based on the inode number of the file on the MDS. For example,
+if you create a file foo in /mnt and do an 'ls -li /mnt/foo':
+
+ # ls -li foo
+ 1233 -rw-r--r-- 1 root root 0 Nov 29 15:54 foo
+
+You should see stripe files on each under /pnfs (per the sample) named
+1233. The file /pnfs/1233 on DS1 will contain the first <stripe size> bytes
+of data written to foo, DS2 will contain the next <stripe size> bytes, etc.
+Removing /mnt/foo will remove the corresponding stripe files on the DSs.
+Other file system operations should behave (mostly :-) as expected.
+
+
+Layout Segments
+---------------
+
+If the kernel is compiled to support layout segments, there will
+be two files created under /proc/fs/spnfs for controlling layout
+segment functionality.
+
+To enable layout segments, write a '1' to /proc/fs/spnfs/layoutseg, e.g.:
+
+ echo 1 > /proc/fs/spnfs/layoutseg
+
+Layout segments can be disabled (returning to whole-file layouts) by
+writing a '0' to /proc/fs/spnfs/layoutseg:
+
+ echo 0 > /proc/fs/spnfs/layoutseg
+
+When layout segments are enabled, the size of the layouts returned can
+be specified by writing a decimal number (ascii representation) to
+/proc/fs/spnfs/layoutsegsize:
+
+ echo 1024 > /proc/fs/spnfs/layoutsegsize
+
+The value'0' has a special meaning--it causes the server to return a
+layout that is exactly the size requested by the client:
+
+ echo 0 > /proc/fs/spnfs/layoutsegsize
[...28066 lines suppressed...]
+
+/*
+ * Use the svc_sock to send the callback. Must be called with svsk->sk_mutex
+ * held. Borrows heavily from svc_tcp_sendto and xs_tcp_semd_request.
+ */
+static int bc_sendto(struct rpc_rqst *req)
+{
+ int len;
+ struct xdr_buf *xbufp = &req->rq_snd_buf;
+ struct rpc_xprt *xprt = req->rq_xprt;
+ struct sock_xprt *transport =
+ container_of(xprt, struct sock_xprt, xprt);
+ struct socket *sock = transport->sock;
+ unsigned long headoff;
+ unsigned long tailoff;
+
+ /*
+ * Set up the rpc header and record marker stuff
+ */
+ xs_encode_tcp_record_marker(xbufp);
+
+ tailoff = (unsigned long)xbufp->tail[0].iov_base & ~PAGE_MASK;
+ headoff = (unsigned long)xbufp->head[0].iov_base & ~PAGE_MASK;
+ len = svc_send_common(sock, xbufp,
+ virt_to_page(xbufp->head[0].iov_base), headoff,
+ xbufp->tail[0].iov_base, tailoff);
+
+ if (len != xbufp->len) {
+ printk(KERN_NOTICE "Error sending entire callback!\n");
+ len = -EAGAIN;
+ }
+
+ return len;
+}
+
+/*
+ * The send routine. Borrows from svc_send
+ */
+static int bc_send_request(struct rpc_task *task)
+{
+ struct rpc_rqst *req = task->tk_rqstp;
+ struct svc_xprt *xprt;
+ struct svc_sock *svsk;
+ u32 len;
+
+ dprintk("sending request with xid: %08x\n", ntohl(req->rq_xid));
+ /*
+ * Get the server socket associated with this callback xprt
+ */
+ xprt = req->rq_xprt->bc_xprt;
+ svsk = container_of(xprt, struct svc_sock, sk_xprt);
+
+ /*
+ * Grab the mutex to serialize data as the connection is shared
+ * with the fore channel
+ */
+ mutex_lock(&xprt->xpt_mutex);
+ if (test_bit(XPT_DEAD, &xprt->xpt_flags))
+ len = -ENOTCONN;
+ else
+ len = bc_sendto(req);
+ mutex_unlock(&xprt->xpt_mutex);
+
+ if (len > 0)
+ len = 0;
+
+ return len;
+}
+
+/*
+ * The close routine. Since this is client initiated, we do nothing
+ */
+
+static void bc_close(struct rpc_xprt *xprt)
+{
+ return;
+}
+
+/*
+ * The xprt destroy routine. Again, because this connection is client
+ * initiated, we do nothing
+ */
+
+static void bc_destroy(struct rpc_xprt *xprt)
+{
+ return;
+}
+
static struct rpc_xprt_ops xs_udp_ops = {
.set_buffer_size = xs_udp_set_buffer_size,
.reserve_xprt = xprt_reserve_xprt_cong,
@@ -2192,6 +2317,22 @@ static struct rpc_xprt_ops xs_tcp_ops =
.print_stats = xs_tcp_print_stats,
};
+/*
+ * The rpc_xprt_ops for the server backchannel
+ */
+
+static struct rpc_xprt_ops bc_tcp_ops = {
+ .reserve_xprt = xprt_reserve_xprt,
+ .release_xprt = xprt_release_xprt,
+ .buf_alloc = bc_malloc,
+ .buf_free = bc_free,
+ .send_request = bc_send_request,
+ .set_retrans_timeout = xprt_set_retrans_timeout_def,
+ .close = bc_close,
+ .destroy = bc_destroy,
+ .print_stats = xs_tcp_print_stats,
+};
+
static struct rpc_xprt *xs_setup_xprt(struct xprt_create *args,
unsigned int slot_table_size)
{
@@ -2323,14 +2464,46 @@ static struct rpc_xprt *xs_setup_tcp(str
xprt->prot = IPPROTO_TCP;
xprt->tsh_size = sizeof(rpc_fraghdr) / sizeof(u32);
xprt->max_payload = RPC_MAX_FRAGMENT_SIZE;
+ xprt->timeout = &xs_tcp_default_timeout;
- xprt->bind_timeout = XS_BIND_TO;
- xprt->connect_timeout = XS_TCP_CONN_TO;
- xprt->reestablish_timeout = XS_TCP_INIT_REEST_TO;
- xprt->idle_timeout = XS_IDLE_DISC_TO;
+ if (args->bc_xprt) {
+ struct svc_sock *bc_sock;
- xprt->ops = &xs_tcp_ops;
- xprt->timeout = &xs_tcp_default_timeout;
+ /* backchannel */
+ xprt_set_bound(xprt);
+ xprt->bind_timeout = 0;
+ xprt->connect_timeout = 0;
+ xprt->reestablish_timeout = 0;
+ xprt->idle_timeout = (~0);
+
+ /*
+ * The backchannel uses the same socket connection as the
+ * forechannel
+ */
+ xprt->bc_xprt = args->bc_xprt;
+ bc_sock = container_of(args->bc_xprt, struct svc_sock, sk_xprt);
+ bc_sock->sk_bc_xprt = xprt;
+ transport->sock = bc_sock->sk_sock;
+ transport->inet = bc_sock->sk_sk;
+
+ xprt->ops = &bc_tcp_ops;
+
+ switch (addr->sa_family) {
+ case AF_INET:
+ xs_format_ipv4_peer_addresses(xprt, "tcp",
+ RPCBIND_NETID_TCP);
+ break;
+ case AF_INET6:
+ xs_format_ipv6_peer_addresses(xprt, "tcp",
+ RPCBIND_NETID_TCP6);
+ break;
+ default:
+ kfree(xprt);
+ return ERR_PTR(-EAFNOSUPPORT);
+ }
+
+ goto out;
+ }
switch (addr->sa_family) {
case AF_INET:
@@ -2338,20 +2511,30 @@ static struct rpc_xprt *xs_setup_tcp(str
xprt_set_bound(xprt);
INIT_DELAYED_WORK(&transport->connect_worker, xs_tcp_connect_worker4);
- xs_format_ipv4_peer_addresses(xprt, "tcp", RPCBIND_NETID_TCP);
+ xs_format_ipv4_peer_addresses(xprt, "tcp",
+ RPCBIND_NETID_TCP);
break;
case AF_INET6:
if (((struct sockaddr_in6 *)addr)->sin6_port != htons(0))
xprt_set_bound(xprt);
INIT_DELAYED_WORK(&transport->connect_worker, xs_tcp_connect_worker6);
- xs_format_ipv6_peer_addresses(xprt, "tcp", RPCBIND_NETID_TCP6);
+ xs_format_ipv6_peer_addresses(xprt, "tcp",
+ RPCBIND_NETID_TCP);
break;
default:
kfree(xprt);
return ERR_PTR(-EAFNOSUPPORT);
}
+ xprt->bind_timeout = XS_BIND_TO;
+ xprt->connect_timeout = XS_TCP_CONN_TO;
+ xprt->reestablish_timeout = XS_TCP_INIT_REEST_TO;
+ xprt->idle_timeout = XS_IDLE_DISC_TO;
+
+ xprt->ops = &xs_tcp_ops;
+
+out:
dprintk("RPC: set up transport to address %s\n",
xprt->address_strings[RPC_DISPLAY_ALL]);
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.316
retrieving revision 1.316.4.1
diff -u -p -r1.316 -r1.316.4.1
--- config-generic 11 Aug 2009 21:55:35 -0000 1.316
+++ config-generic 17 Aug 2009 18:01:59 -0000 1.316.4.1
@@ -3193,7 +3193,7 @@ CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_V4_1=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
@@ -3201,6 +3201,16 @@ CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_NFS_FSCACHE=y
+
+CONFIG_PNFSD=y
+CONFIG_PNFS=y
+CONFIG_PNFSD_LOCAL_EXPORT=y
+CONFIG_SPNFS=y
+CONFIG_PNFS_OBJLAYOUT=y
+CONFIG_PNFS_BLOCK=y
+CONFIG_SPNFS_LAYOUTSEGMENTS=y
+CONFIG_PNFS_PANLAYOUT=y
+
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1721
retrieving revision 1.1721.4.1
diff -u -p -r1.1721 -r1.1721.4.1
--- kernel.spec 16 Aug 2009 22:09:02 -0000 1.1721
+++ kernel.spec 17 Aug 2009 18:01:59 -0000 1.1721.4.1
@@ -15,7 +15,7 @@ Summary: The Linux kernel
# that the kernel isn't the stock distribution kernel, for example,
# by setting the define to ".local" or ".bz123456"
#
-# % define buildid .local
+%define buildid .pnfs_rc6
# fedora_build defines which build revision of this kernel version we're
# building. Rather than incrementing forever, as with the prior versioning
@@ -103,6 +103,8 @@ Summary: The Linux kernel
# dracut initrd-generic
%define with_dracut %{?_without_dracut: 0} %{?!_without_dracut: 1}
+%define with_firmware 1
+
# Build the kernel-doc package, but don't fail the build if it botches.
# Here "true" means "continue" and "false" means "fail the build".
%if 0%{?released_kernel}
@@ -708,6 +710,7 @@ Patch2903: linux-2.6-revert-dvb-net-kabi
# NFSv4
Patch3050: linux-2.6-nfsd4-proots.patch
+Patch3100: pnfs-v2.6.31-rc6.patch
# VIA Nano / VX8xx updates
Patch11010: via-hwmon-temp-sensor.patch
@@ -1186,6 +1189,7 @@ ApplyPatch linux-2.6-execshield.patch
# NFSv4
ApplyPatch linux-2.6-nfsd4-proots.patch
+ApplyPatch pnfs-v2.6.31-rc6.patch
# USB
ApplyPatch linux-2.6-driver-level-usb-autosuspend.diff
@@ -1969,6 +1973,9 @@ fi
# and build.
%changelog
+* Mon Aug 17 2009 Steve Dickson <steved at redhat.com>
+- Updated to latest pNFS update (v2.6.31-rc6)
+
* Sun Aug 16 2009 Kyle McMartin <kyle at redhat.com> 2.6.31-0.158.rc6
- Improve the perf script so it prints something helpful if the
perf binary doesn't exist.
- Previous message: rpms/buildbot/F-11 buildbot.spec,1.15,1.16
- Next message: rpms/DeviceKit-disks/devel .cvsignore, 1.10, 1.11 DeviceKit-disks.spec, 1.31, 1.32 sources, 1.10, 1.11 DeviceKit-disks-005-port-to-new-libatasmart.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list