2 * Lustre Light Update Records
4 * This code is issued under the GNU General Public License.
5 * See the file COPYING in this distribution
7 * Copryright (C) 2002 Cluster File Systems, Inc.
11 #include <linux/config.h>
12 #include <linux/module.h>
13 #include <linux/kernel.h>
15 #include <linux/string.h>
16 #include <linux/stat.h>
17 #include <linux/errno.h>
18 #include <linux/locks.h>
19 #include <linux/unistd.h>
21 #include <asm/system.h>
22 #include <asm/uaccess.h>
25 #include <linux/stat.h>
26 #include <asm/uaccess.h>
27 #include <linux/vmalloc.h>
28 #include <linux/slab.h>
29 #include <asm/segment.h>
31 #include <linux/obd_support.h>
32 #include <linux/lustre_lib.h>
33 #include <linux/lustre_idl.h>
34 #include <linux/lustre_light.h>
37 void mds_setattr_pack(struct mds_rec_setattr *rec, struct inode *inode, struct iattr *iattr)
39 rec->sa_len = HTON__u32(sizeof(*rec));
40 rec->sa_opcode = HTON__u32(sizeof(REINT_SETATTR));
41 ll_inode2fid(&rec->sa_fid, inode);
42 rec->sa_valid = HTON__u32(iattr->ia_valid);
43 rec->sa_mode = HTON__u32(iattr->ia_mode);
44 rec->sa_uid = HTON__u32(iattr->ia_uid);
45 rec->sa_gid = HTON__u32(iattr->ia_gid);
46 rec->sa_size = HTON__u64(iattr->ia_size);
47 rec->sa_atime = HTON__u64(iattr->ia_atime);
48 rec->sa_mtime = HTON__u64(iattr->ia_mtime);
49 rec->sa_ctime = HTON__u64(iattr->ia_ctime);
50 rec->sa_attr_flags = HTON__u32(iattr->ia_attr_flags);
53 void mds_setattr_unpack(struct mds_rec_setattr *rec, struct iattr *attr)
55 attr->ia_valid = NTOH__u32(rec->sa_valid);
56 attr->ia_mode = NTOH__u32(rec->sa_mode);
57 attr->ia_uid = NTOH__u32(rec->sa_uid);
58 attr->ia_gid = NTOH__u32(rec->sa_gid);
59 attr->ia_size = NTOH__u64(rec->sa_size);
60 attr->ia_atime = NTOH__u64(rec->sa_atime);
61 attr->ia_mtime = NTOH__u64(rec->sa_mtime);
62 attr->ia_ctime = NTOH__u64(rec->sa_ctime);
63 attr->ia_attr_flags = NTOH__u32(rec->sa_attr_flags);