-config.h
-config.out
-config.mk
-.depfiles
-.prereq.ok
-.ready
-*~
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
TAGS
-Xrefs
-config.sh
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+/*
+ * Lustre Light Update Records
+ *
+ * This code is issued under the GNU General Public License.
+ * See the file COPYING in this distribution
+ *
+ * Copryright (C) 2002 Cluster File Systems, Inc.
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/string.h>
+#include <linux/stat.h>
+#include <linux/errno.h>
+#include <linux/locks.h>
+#include <linux/unistd.h>
+
+#include <asm/system.h>
+#include <asm/uaccess.h>
+
+#include <linux/fs.h>
+#include <linux/stat.h>
+#include <asm/uaccess.h>
+#include <linux/vmalloc.h>
+#include <linux/slab.h>
+#include <asm/segment.h>
+
+#include <linux/obd_support.h>
+#include <linux/lustre_lib.h>
+#include <linux/lustre_idl.h>
+#include <linux/lustre_light.h>
+
+
+void mds_setattr_pack(struct mds_rec_setattr *rec, struct inode *inode, struct iattr *iattr)
+{
+ rec->sa_len = HTON__u32(sizeof(*rec));
+ rec->sa_opcode = HTON__u32(sizeof(REINT_SETATTR));
+ ll_inode2fid(&rec->sa_fid, inode);
+ rec->sa_valid = HTON__u32(iattr->ia_valid);
+ rec->sa_mode = HTON__u32(iattr->ia_mode);
+ rec->sa_uid = HTON__u32(iattr->ia_uid);
+ rec->sa_gid = HTON__u32(iattr->ia_gid);
+ rec->sa_size = HTON__u64(iattr->ia_size);
+ rec->sa_atime = HTON__u64(iattr->ia_atime);
+ rec->sa_mtime = HTON__u64(iattr->ia_mtime);
+ rec->sa_ctime = HTON__u64(iattr->ia_ctime);
+ rec->sa_attr_flags = HTON__u32(iattr->ia_attr_flags);
+}
+
+void mds_setattr_unpack(struct mds_rec_setattr *rec, struct iattr *attr)
+{
+ attr->ia_valid = NTOH__u32(rec->sa_valid);
+ attr->ia_mode = NTOH__u32(rec->sa_mode);
+ attr->ia_uid = NTOH__u32(rec->sa_uid);
+ attr->ia_gid = NTOH__u32(rec->sa_gid);
+ attr->ia_size = NTOH__u64(rec->sa_size);
+ attr->ia_atime = NTOH__u64(rec->sa_atime);
+ attr->ia_mtime = NTOH__u64(rec->sa_mtime);
+ attr->ia_ctime = NTOH__u64(rec->sa_ctime);
+ attr->ia_attr_flags = NTOH__u32(rec->sa_attr_flags);
+}
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+/*
+ * Copryright (C) 2001 Cluster File Systems, Inc.
+ *
+ */
+
+#define EXPORT_SYMTAB
+
+#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/string.h>
+#include <linux/stat.h>
+#include <linux/errno.h>
+#include <linux/locks.h>
+#include <linux/unistd.h>
+
+#include <asm/system.h>
+#include <asm/uaccess.h>
+#include <linux/module.h>
+
+#include <linux/fs.h>
+#include <linux/stat.h>
+#include <asm/uaccess.h>
+#include <linux/vmalloc.h>
+#include <asm/segment.h>
+#include <linux/miscdevice.h>
+
+#include <linux/obd_support.h>
+#include <linux/lustre_lib.h>
+#include <linux/lustre_idl.h>
+#include <linux/lustre_mds.h>
+
+extern int mdc_reint(struct mds_request *request);
+extern struct mds_request *mds_prep_req(int opcode, int namelen, char *name, int tgtlen, char *tgt);
+
+int mdc_setattr(struct inode *inode, struct iattr *iattr,
+ struct mds_rep **rep, struct mds_rep_hdr **hdr)
+{
+ int rc;
+ struct mds_request *request;
+ struct mds_rec_setattr *rec;
+
+ request = mds_prep_req(MDS_REINT, 0, NULL, sizeof(*rec), NULL);
+ if (!request) {
+ printk("mdc request: cannot pack\n");
+ return -ENOMEM;
+ }
+
+ rec = mds_req_tgt(request->rq_req);
+ mds_setattr_pack(rec, inode, iattr);
+ request->rq_req->opcode = HTON__u32(REINT_SETATTR);
+
+ rc = mdc_reint(request);
+
+ if (rep) {
+ *rep = request->rq_rep;
+ }
+ if (hdr) {
+ *hdr = request->rq_rephdr;
+ }
+
+ kfree(request);
+ return rc;
+}
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+/*
+ * linux/mds/handler.c
+ *
+ * Lustre Metadata Server (mds) request handler
+ *
+ * Copyright (C) 2001 Cluster File Systems, Inc.
+ *
+ * This code is issued under the GNU General Public License.
+ * See the file COPYING in this distribution
+ *
+ * by Peter Braam <braam@clusterfs.com>
+ *
+ * This server is single threaded at present (but can easily be multi threaded).
+ *
+ */
+
+
+#define EXPORT_SYMTAB
+
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/stat.h>
+#include <linux/locks.h>
+#include <linux/ext2_fs.h>
+#include <linux/quotaops.h>
+#include <asm/unistd.h>
+#include <asm/uaccess.h>
+#include <linux/obd_support.h>
+#include <linux/obd.h>
+#include <linux/lustre_lib.h>
+#include <linux/lustre_idl.h>
+#include <linux/lustre_mds.h>
+#include <linux/obd_class.h>
+
+extern struct mds_request *mds_prep_req(int size, int opcode, int namelen, char *name, int tgtlen, char *tgt);
+
+
+int mds_reint_setattr(struct mds_request *req)
+{
+ struct vfsmount *mnt;
+ struct dentry *de;
+ struct mds_rep *rep;
+ struct mds_rec_setattr *rec;
+ struct iattr attr;
+ int rc;
+
+ if (req->rq_req->tgtlen != sizeof(struct mds_rec_setattr) ) {
+ EXIT;
+ printk("mds: out of memory\n");
+ req->rq_status = -EINVAL;
+ return -EINVAL;
+ }
+ rec = mds_req_tgt(req->rq_req);
+
+ mds_setattr_unpack(rec, &attr);
+ de = mds_fid2dentry(req->rq_obd, &rec->sa_fid, &mnt);
+
+ printk("mds_setattr: ino %ld\n", de->d_inode->i_ino);
+
+ rc = mds_pack_rep(NULL, 0, NULL, 0, &req->rq_rephdr, &req->rq_rep,
+ &req->rq_replen, &req->rq_repbuf);
+ if (rc) {
+ EXIT;
+ printk("mds: out of memory\n");
+ req->rq_status = -ENOMEM;
+ return -ENOMEM;
+ }
+
+ req->rq_rephdr->seqno = req->rq_reqhdr->seqno;
+ rep = req->rq_rep;
+ req->rq_rephdr->status = notify_change(de, &attr);
+
+ dput(de);
+ EXIT;
+ return 0;
+}
+
+
-config.h
-config.out
-config.mk
-.depfiles
-.prereq.ok
-.ready
-*~
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
TAGS
-Xrefs
-config.h
-config.out
-config.mk
-.depfiles
-.prereq.ok
-.ready
-*~
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
TAGS
-Xrefs
-config.h
-config.out
-config.mk
-.depfiles
-.prereq.ok
-.ready
-*~
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
TAGS
-Xrefs
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS
--- /dev/null
+#!/bin/sh
+
+echo 0 > /proc/sys/obd/trace
+echo 0 > /proc/sys/obd/debug
+cd /mnt/obd
+cp /usr/src/obd/demos/dbench/client.txt .
+/usr/src/obd/demos/dbench/dbench $1
--- /dev/null
+.Xrefs
+config.log
+config.status
+configure
+Makefile
+Makefile.in
+.deps
+TAGS