diff options
-rw-r--r-- | fs/xfs/Makefile | 151 | ||||
-rw-r--r-- | fs/xfs/Makefile-linux-2.6 | 141 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 9 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_linux.h | 12 | ||||
-rw-r--r-- | fs/xfs/quota/Makefile | 1 | ||||
-rw-r--r-- | fs/xfs/quota/Makefile-linux-2.6 | 53 | ||||
-rw-r--r-- | fs/xfs/support/debug.c | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 10 |
8 files changed, 217 insertions, 161 deletions
diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index d3ff78354638..49e3e7e5e3dc 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile | |||
@@ -1,150 +1 @@ | |||
1 | # | include $(TOPDIR)/fs/xfs/Makefile-linux-$(VERSION).$(PATCHLEVEL) | |
2 | # Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. | ||
3 | # | ||
4 | # This program is free software; you can redistribute it and/or modify it | ||
5 | # under the terms of version 2 of the GNU General Public License as | ||
6 | # published by the Free Software Foundation. | ||
7 | # | ||
8 | # This program is distributed in the hope that it would be useful, but | ||
9 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
11 | # | ||
12 | # Further, this software is distributed without any warranty that it is | ||
13 | # free of the rightful claim of any third person regarding infringement | ||
14 | # or the like. Any license provided herein, whether implied or | ||
15 | # otherwise, applies only to this software file. Patent licenses, if | ||
16 | # any, provided herein do not apply to combinations of this program with | ||
17 | # other software, or any other product whatsoever. | ||
18 | # | ||
19 | # You should have received a copy of the GNU General Public License along | ||
20 | # with this program; if not, write the Free Software Foundation, Inc., 59 | ||
21 | # Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
22 | # | ||
23 | # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, | ||
24 | # Mountain View, CA 94043, or: | ||
25 | # | ||
26 | # http://www.sgi.com | ||
27 | # | ||
28 | # For further information regarding this notice, see: | ||
29 | # | ||
30 | # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ | ||
31 | # | ||
32 | |||
33 | EXTRA_CFLAGS += -Ifs/xfs -Ifs/xfs/linux-2.6 -funsigned-char | ||
34 | |||
35 | ifeq ($(CONFIG_XFS_DEBUG),y) | ||
36 | EXTRA_CFLAGS += -g -DSTATIC="" -DDEBUG | ||
37 | EXTRA_CFLAGS += -DPAGEBUF_LOCK_TRACKING | ||
38 | endif | ||
39 | ifeq ($(CONFIG_XFS_TRACE),y) | ||
40 | EXTRA_CFLAGS += -DXFS_ALLOC_TRACE | ||
41 | EXTRA_CFLAGS += -DXFS_ATTR_TRACE | ||
42 | EXTRA_CFLAGS += -DXFS_BLI_TRACE | ||
43 | EXTRA_CFLAGS += -DXFS_BMAP_TRACE | ||
44 | EXTRA_CFLAGS += -DXFS_BMBT_TRACE | ||
45 | EXTRA_CFLAGS += -DXFS_DIR_TRACE | ||
46 | EXTRA_CFLAGS += -DXFS_DIR2_TRACE | ||
47 | EXTRA_CFLAGS += -DXFS_DQUOT_TRACE | ||
48 | EXTRA_CFLAGS += -DXFS_ILOCK_TRACE | ||
49 | EXTRA_CFLAGS += -DXFS_LOG_TRACE | ||
50 | EXTRA_CFLAGS += -DXFS_RW_TRACE | ||
51 | EXTRA_CFLAGS += -DPAGEBUF_TRACE | ||
52 | EXTRA_CFLAGS += -DXFS_VNODE_TRACE | ||
53 | endif | ||
54 | |||
55 | obj-$(CONFIG_XFS_FS) += xfs.o | ||
56 | |||
57 | xfs-$(CONFIG_XFS_QUOTA) += $(addprefix quota/, \ | ||
58 | xfs_dquot.o \ | ||
59 | xfs_dquot_item.o \ | ||
60 | xfs_trans_dquot.o \ | ||
61 | xfs_qm_syscalls.o \ | ||
62 | xfs_qm_bhv.o \ | ||
63 | xfs_qm.o) | ||
64 | ifeq ($(CONFIG_XFS_QUOTA),y) | ||
65 | xfs-$(CONFIG_PROC_FS) += quota/xfs_qm_stats.o | ||
66 | endif | ||
67 | |||
68 | xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o | ||
69 | xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o | ||
70 | xfs-$(CONFIG_PROC_FS) += linux-2.6/xfs_stats.o | ||
71 | xfs-$(CONFIG_SYSCTL) += linux-2.6/xfs_sysctl.o | ||
72 | xfs-$(CONFIG_COMPAT) += linux-2.6/xfs_ioctl32.o | ||
73 | xfs-$(CONFIG_XFS_EXPORT) += linux-2.6/xfs_export.o | ||
74 | |||
75 | |||
76 | xfs-y += xfs_alloc.o \ | ||
77 | xfs_alloc_btree.o \ | ||
78 | xfs_attr.o \ | ||
79 | xfs_attr_leaf.o \ | ||
80 | xfs_behavior.o \ | ||
81 | xfs_bit.o \ | ||
82 | xfs_bmap.o \ | ||
83 | xfs_bmap_btree.o \ | ||
84 | xfs_btree.o \ | ||
85 | xfs_buf_item.o \ | ||
86 | xfs_da_btree.o \ | ||
87 | xfs_dir.o \ | ||
88 | xfs_dir2.o \ | ||
89 | xfs_dir2_block.o \ | ||
90 | xfs_dir2_data.o \ | ||
91 | xfs_dir2_leaf.o \ | ||
92 | xfs_dir2_node.o \ | ||
93 | xfs_dir2_sf.o \ | ||
94 | xfs_dir_leaf.o \ | ||
95 | xfs_error.o \ | ||
96 | xfs_extfree_item.o \ | ||
97 | xfs_fsops.o \ | ||
98 | xfs_ialloc.o \ | ||
99 | xfs_ialloc_btree.o \ | ||
100 | xfs_iget.o \ | ||
101 | xfs_inode.o \ | ||
102 | xfs_inode_item.o \ | ||
103 | xfs_iocore.o \ | ||
104 | xfs_iomap.o \ | ||
105 | xfs_itable.o \ | ||
106 | xfs_dfrag.o \ | ||
107 | xfs_log.o \ | ||
108 | xfs_log_recover.o \ | ||
109 | xfs_macros.o \ | ||
110 | xfs_mount.o \ | ||
111 | xfs_rename.o \ | ||
112 | xfs_trans.o \ | ||
113 | xfs_trans_ail.o \ | ||
114 | xfs_trans_buf.o \ | ||
115 | xfs_trans_extfree.o \ | ||
116 | xfs_trans_inode.o \ | ||
117 | xfs_trans_item.o \ | ||
118 | xfs_utils.o \ | ||
119 | xfs_vfsops.o \ | ||
120 | xfs_vnodeops.o \ | ||
121 | xfs_rw.o \ | ||
122 | xfs_dmops.o \ | ||
123 | xfs_qmops.o | ||
124 | |||
125 | xfs-$(CONFIG_XFS_TRACE) += xfs_dir2_trace.o | ||
126 | |||
127 | # Objects in linux-2.6/ | ||
128 | xfs-y += $(addprefix linux-2.6/, \ | ||
129 | kmem.o \ | ||
130 | xfs_aops.o \ | ||
131 | xfs_buf.o \ | ||
132 | xfs_file.o \ | ||
133 | xfs_fs_subr.o \ | ||
134 | xfs_globals.o \ | ||
135 | xfs_ioctl.o \ | ||
136 | xfs_iops.o \ | ||
137 | xfs_lrw.o \ | ||
138 | xfs_super.o \ | ||
139 | xfs_vfs.o \ | ||
140 | xfs_vnode.o) | ||
141 | |||
142 | # Objects in support/ | ||
143 | xfs-y += $(addprefix support/, \ | ||
144 | debug.o \ | ||
145 | move.o \ | ||
146 | qsort.o \ | ||
147 | uuid.o) | ||
148 | |||
149 | xfs-$(CONFIG_XFS_TRACE) += support/ktrace.o | ||
150 | |||
diff --git a/fs/xfs/Makefile-linux-2.6 b/fs/xfs/Makefile-linux-2.6 new file mode 100644 index 000000000000..fbfcbe5a7cda --- /dev/null +++ b/fs/xfs/Makefile-linux-2.6 | |||
@@ -0,0 +1,141 @@ | |||
1 | # | ||
2 | # Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. | ||
3 | # | ||
4 | # This program is free software; you can redistribute it and/or modify it | ||
5 | # under the terms of version 2 of the GNU General Public License as | ||
6 | # published by the Free Software Foundation. | ||
7 | # | ||
8 | # This program is distributed in the hope that it would be useful, but | ||
9 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
11 | # | ||
12 | # Further, this software is distributed without any warranty that it is | ||
13 | # free of the rightful claim of any third person regarding infringement | ||
14 | # or the like. Any license provided herein, whether implied or | ||
15 | # otherwise, applies only to this software file. Patent licenses, if | ||
16 | # any, provided herein do not apply to combinations of this program with | ||
17 | # other software, or any other product whatsoever. | ||
18 | # | ||
19 | # You should have received a copy of the GNU General Public License along | ||
20 | # with this program; if not, write the Free Software Foundation, Inc., 59 | ||
21 | # Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
22 | # | ||
23 | # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, | ||
24 | # Mountain View, CA 94043, or: | ||
25 | # | ||
26 | # http://www.sgi.com | ||
27 | # | ||
28 | # For further information regarding this notice, see: | ||
29 | # | ||
30 | # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ | ||
31 | # | ||
32 | |||
33 | EXTRA_CFLAGS += -Ifs/xfs -Ifs/xfs/linux-2.6 -funsigned-char | ||
34 | |||
35 | XFS_LINUX := linux-2.6 | ||
36 | |||
37 | ifeq ($(CONFIG_XFS_DEBUG),y) | ||
38 | EXTRA_CFLAGS += -g -DSTATIC="" -DDEBUG | ||
39 | EXTRA_CFLAGS += -DPAGEBUF_LOCK_TRACKING | ||
40 | endif | ||
41 | ifeq ($(CONFIG_XFS_TRACE),y) | ||
42 | EXTRA_CFLAGS += -DXFS_ALLOC_TRACE | ||
43 | EXTRA_CFLAGS += -DXFS_ATTR_TRACE | ||
44 | EXTRA_CFLAGS += -DXFS_BLI_TRACE | ||
45 | EXTRA_CFLAGS += -DXFS_BMAP_TRACE | ||
46 | EXTRA_CFLAGS += -DXFS_BMBT_TRACE | ||
47 | EXTRA_CFLAGS += -DXFS_DIR_TRACE | ||
48 | EXTRA_CFLAGS += -DXFS_DIR2_TRACE | ||
49 | EXTRA_CFLAGS += -DXFS_DQUOT_TRACE | ||
50 | EXTRA_CFLAGS += -DXFS_ILOCK_TRACE | ||
51 | EXTRA_CFLAGS += -DXFS_LOG_TRACE | ||
52 | EXTRA_CFLAGS += -DXFS_RW_TRACE | ||
53 | EXTRA_CFLAGS += -DPAGEBUF_TRACE | ||
54 | EXTRA_CFLAGS += -DXFS_VNODE_TRACE | ||
55 | endif | ||
56 | |||
57 | obj-$(CONFIG_XFS_FS) += xfs.o | ||
58 | obj-$(CONFIG_XFS_QUOTA) += quota/ | ||
59 | |||
60 | xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o | ||
61 | xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o | ||
62 | xfs-$(CONFIG_PROC_FS) += $(XFS_LINUX)/xfs_stats.o | ||
63 | xfs-$(CONFIG_SYSCTL) += $(XFS_LINUX)/xfs_sysctl.o | ||
64 | xfs-$(CONFIG_COMPAT) += $(XFS_LINUX)/xfs_ioctl32.o | ||
65 | xfs-$(CONFIG_XFS_EXPORT) += $(XFS_LINUX)/xfs_export.o | ||
66 | |||
67 | |||
68 | xfs-y += xfs_alloc.o \ | ||
69 | xfs_alloc_btree.o \ | ||
70 | xfs_attr.o \ | ||
71 | xfs_attr_leaf.o \ | ||
72 | xfs_behavior.o \ | ||
73 | xfs_bit.o \ | ||
74 | xfs_bmap.o \ | ||
75 | xfs_bmap_btree.o \ | ||
76 | xfs_btree.o \ | ||
77 | xfs_buf_item.o \ | ||
78 | xfs_da_btree.o \ | ||
79 | xfs_dir.o \ | ||
80 | xfs_dir2.o \ | ||
81 | xfs_dir2_block.o \ | ||
82 | xfs_dir2_data.o \ | ||
83 | xfs_dir2_leaf.o \ | ||
84 | xfs_dir2_node.o \ | ||
85 | xfs_dir2_sf.o \ | ||
86 | xfs_dir_leaf.o \ | ||
87 | xfs_error.o \ | ||
88 | xfs_extfree_item.o \ | ||
89 | xfs_fsops.o \ | ||
90 | xfs_ialloc.o \ | ||
91 | xfs_ialloc_btree.o \ | ||
92 | xfs_iget.o \ | ||
93 | xfs_inode.o \ | ||
94 | xfs_inode_item.o \ | ||
95 | xfs_iocore.o \ | ||
96 | xfs_iomap.o \ | ||
97 | xfs_itable.o \ | ||
98 | xfs_dfrag.o \ | ||
99 | xfs_log.o \ | ||
100 | xfs_log_recover.o \ | ||
101 | xfs_macros.o \ | ||
102 | xfs_mount.o \ | ||
103 | xfs_rename.o \ | ||
104 | xfs_trans.o \ | ||
105 | xfs_trans_ail.o \ | ||
106 | xfs_trans_buf.o \ | ||
107 | xfs_trans_extfree.o \ | ||
108 | xfs_trans_inode.o \ | ||
109 | xfs_trans_item.o \ | ||
110 | xfs_utils.o \ | ||
111 | xfs_vfsops.o \ | ||
112 | xfs_vnodeops.o \ | ||
113 | xfs_rw.o \ | ||
114 | xfs_dmops.o \ | ||
115 | xfs_qmops.o | ||
116 | |||
117 | xfs-$(CONFIG_XFS_TRACE) += xfs_dir2_trace.o | ||
118 | |||
119 | # Objects in linux/ | ||
120 | xfs-y += $(addprefix $(XFS_LINUX)/, \ | ||
121 | kmem.o \ | ||
122 | xfs_aops.o \ | ||
123 | xfs_buf.o \ | ||
124 | xfs_file.o \ | ||
125 | xfs_fs_subr.o \ | ||
126 | xfs_globals.o \ | ||
127 | xfs_ioctl.o \ | ||
128 | xfs_iops.o \ | ||
129 | xfs_lrw.o \ | ||
130 | xfs_super.o \ | ||
131 | xfs_vfs.o \ | ||
132 | xfs_vnode.o) | ||
133 | |||
134 | # Objects in support/ | ||
135 | xfs-y += $(addprefix support/, \ | ||
136 | debug.o \ | ||
137 | move.o \ | ||
138 | uuid.o) | ||
139 | |||
140 | xfs-$(CONFIG_XFS_TRACE) += support/ktrace.o | ||
141 | |||
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index d237cc5be767..77708a8c9f87 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c | |||
@@ -423,9 +423,14 @@ linvfs_follow_link( | |||
423 | return NULL; | 423 | return NULL; |
424 | } | 424 | } |
425 | 425 | ||
426 | static void linvfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p) | 426 | STATIC void |
427 | linvfs_put_link( | ||
428 | struct dentry *dentry, | ||
429 | struct nameidata *nd, | ||
430 | void *p) | ||
427 | { | 431 | { |
428 | char *s = nd_get_link(nd); | 432 | char *s = nd_get_link(nd); |
433 | |||
429 | if (!IS_ERR(s)) | 434 | if (!IS_ERR(s)) |
430 | kfree(s); | 435 | kfree(s); |
431 | } | 436 | } |
diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h index 1c63fd3118d7..68c5d885ed9c 100644 --- a/fs/xfs/linux-2.6/xfs_linux.h +++ b/fs/xfs/linux-2.6/xfs_linux.h | |||
@@ -64,7 +64,6 @@ | |||
64 | #include <sema.h> | 64 | #include <sema.h> |
65 | #include <time.h> | 65 | #include <time.h> |
66 | 66 | ||
67 | #include <support/qsort.h> | ||
68 | #include <support/ktrace.h> | 67 | #include <support/ktrace.h> |
69 | #include <support/debug.h> | 68 | #include <support/debug.h> |
70 | #include <support/move.h> | 69 | #include <support/move.h> |
@@ -255,11 +254,18 @@ static inline void set_buffer_unwritten_io(struct buffer_head *bh) | |||
255 | #define MAX(a,b) (max(a,b)) | 254 | #define MAX(a,b) (max(a,b)) |
256 | #define howmany(x, y) (((x)+((y)-1))/(y)) | 255 | #define howmany(x, y) (((x)+((y)-1))/(y)) |
257 | #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) | 256 | #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) |
257 | #define qsort(a,n,s,fn) sort(a,n,s,fn,NULL) | ||
258 | 258 | ||
259 | /* | ||
260 | * Various platform dependent calls that don't fit anywhere else | ||
261 | */ | ||
259 | #define xfs_stack_trace() dump_stack() | 262 | #define xfs_stack_trace() dump_stack() |
260 | |||
261 | #define xfs_itruncate_data(ip, off) \ | 263 | #define xfs_itruncate_data(ip, off) \ |
262 | (-vmtruncate(LINVFS_GET_IP(XFS_ITOV(ip)), (off))) | 264 | (-vmtruncate(LINVFS_GET_IP(XFS_ITOV(ip)), (off))) |
265 | #define xfs_statvfs_fsid(statp, mp) \ | ||
266 | ({ u64 id = huge_encode_dev((mp)->m_dev); \ | ||
267 | __kernel_fsid_t *fsid = &(statp)->f_fsid; \ | ||
268 | (fsid->val[0] = (u32)id, fsid->val[1] = (u32)(id >> 32)); }) | ||
263 | 269 | ||
264 | 270 | ||
265 | /* Move the kernel do_div definition off to one side */ | 271 | /* Move the kernel do_div definition off to one side */ |
@@ -372,6 +378,4 @@ static inline __uint64_t roundup_64(__uint64_t x, __uint32_t y) | |||
372 | return(x * y); | 378 | return(x * y); |
373 | } | 379 | } |
374 | 380 | ||
375 | #define qsort(a, n, s, cmp) sort(a, n, s, cmp, NULL) | ||
376 | |||
377 | #endif /* __XFS_LINUX__ */ | 381 | #endif /* __XFS_LINUX__ */ |
diff --git a/fs/xfs/quota/Makefile b/fs/xfs/quota/Makefile new file mode 100644 index 000000000000..7a4f725b2824 --- /dev/null +++ b/fs/xfs/quota/Makefile | |||
@@ -0,0 +1 @@ | |||
include $(TOPDIR)/fs/xfs/quota/Makefile-linux-$(VERSION).$(PATCHLEVEL) | |||
diff --git a/fs/xfs/quota/Makefile-linux-2.6 b/fs/xfs/quota/Makefile-linux-2.6 new file mode 100644 index 000000000000..8b7b676718b9 --- /dev/null +++ b/fs/xfs/quota/Makefile-linux-2.6 | |||
@@ -0,0 +1,53 @@ | |||
1 | # | ||
2 | # Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved. | ||
3 | # | ||
4 | # This program is free software; you can redistribute it and/or modify it | ||
5 | # under the terms of version 2 of the GNU General Public License as | ||
6 | # published by the Free Software Foundation. | ||
7 | # | ||
8 | # This program is distributed in the hope that it would be useful, but | ||
9 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
11 | # | ||
12 | # Further, this software is distributed without any warranty that it is | ||
13 | # free of the rightful claim of any third person regarding infringement | ||
14 | # or the like. Any license provided herein, whether implied or | ||
15 | # otherwise, applies only to this software file. Patent licenses, if | ||
16 | # any, provided herein do not apply to combinations of this program with | ||
17 | # other software, or any other product whatsoever. | ||
18 | # | ||
19 | # You should have received a copy of the GNU General Public License along | ||
20 | # with this program; if not, write the Free Software Foundation, Inc., 59 | ||
21 | # Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
22 | # | ||
23 | # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, | ||
24 | # Mountain View, CA 94043, or: | ||
25 | # | ||
26 | # http://www.sgi.com | ||
27 | # | ||
28 | # For further information regarding this notice, see: | ||
29 | # | ||
30 | # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ | ||
31 | # | ||
32 | |||
33 | EXTRA_CFLAGS += -I $(TOPDIR)/fs/xfs -I $(TOPDIR)/fs/xfs/linux-2.6 | ||
34 | |||
35 | ifeq ($(CONFIG_XFS_DEBUG),y) | ||
36 | EXTRA_CFLAGS += -g -DDEBUG | ||
37 | #EXTRA_CFLAGS += -DQUOTADEBUG | ||
38 | endif | ||
39 | ifeq ($(CONFIG_XFS_TRACE),y) | ||
40 | EXTRA_CFLAGS += -DXFS_DQUOT_TRACE | ||
41 | EXTRA_CFLAGS += -DXFS_VNODE_TRACE | ||
42 | endif | ||
43 | |||
44 | obj-$(CONFIG_XFS_QUOTA) += xfs_quota.o | ||
45 | |||
46 | xfs_quota-y += xfs_dquot.o \ | ||
47 | xfs_dquot_item.o \ | ||
48 | xfs_trans_dquot.o \ | ||
49 | xfs_qm_syscalls.o \ | ||
50 | xfs_qm_bhv.o \ | ||
51 | xfs_qm.o | ||
52 | |||
53 | xfs_quota-$(CONFIG_PROC_FS) += xfs_qm_stats.o | ||
diff --git a/fs/xfs/support/debug.c b/fs/xfs/support/debug.c index 4ed7b6928cd7..4e1a5ec22fa3 100644 --- a/fs/xfs/support/debug.c +++ b/fs/xfs/support/debug.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include "debug.h" | 33 | #include "debug.h" |
34 | #include "spin.h" | ||
34 | 35 | ||
35 | #include <asm/page.h> | 36 | #include <asm/page.h> |
36 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index d4b9545c2b5c..f1a904e23ade 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -795,7 +795,6 @@ xfs_statvfs( | |||
795 | xfs_mount_t *mp; | 795 | xfs_mount_t *mp; |
796 | xfs_sb_t *sbp; | 796 | xfs_sb_t *sbp; |
797 | unsigned long s; | 797 | unsigned long s; |
798 | u64 id; | ||
799 | 798 | ||
800 | mp = XFS_BHVTOM(bdp); | 799 | mp = XFS_BHVTOM(bdp); |
801 | sbp = &(mp->m_sb); | 800 | sbp = &(mp->m_sb); |
@@ -823,9 +822,7 @@ xfs_statvfs( | |||
823 | statp->f_ffree = statp->f_files - (sbp->sb_icount - sbp->sb_ifree); | 822 | statp->f_ffree = statp->f_files - (sbp->sb_icount - sbp->sb_ifree); |
824 | XFS_SB_UNLOCK(mp, s); | 823 | XFS_SB_UNLOCK(mp, s); |
825 | 824 | ||
826 | id = huge_encode_dev(mp->m_dev); | 825 | xfs_statvfs_fsid(statp, mp); |
827 | statp->f_fsid.val[0] = (u32)id; | ||
828 | statp->f_fsid.val[1] = (u32)(id >> 32); | ||
829 | statp->f_namelen = MAXNAMELEN - 1; | 826 | statp->f_namelen = MAXNAMELEN - 1; |
830 | 827 | ||
831 | return 0; | 828 | return 0; |
@@ -1505,7 +1502,10 @@ xfs_syncsub( | |||
1505 | * eventually kicked out of the cache. | 1502 | * eventually kicked out of the cache. |
1506 | */ | 1503 | */ |
1507 | if (flags & SYNC_REFCACHE) { | 1504 | if (flags & SYNC_REFCACHE) { |
1508 | xfs_refcache_purge_some(mp); | 1505 | if (flags & SYNC_WAIT) |
1506 | xfs_refcache_purge_mp(mp); | ||
1507 | else | ||
1508 | xfs_refcache_purge_some(mp); | ||
1509 | } | 1509 | } |
1510 | 1510 | ||
1511 | /* | 1511 | /* |