diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 18:19:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 18:19:16 -0400 |
commit | a77febbef105554c5a37241cf903f48ab7bc03c7 (patch) | |
tree | d6f96d9d5837312ce6dc2db9f3fc93a243eec87b /fs/xfs/linux-2.6 | |
parent | 42cd71bf1e3a081b3150018bbf448cb6c8a844a5 (diff) | |
parent | bf59170a66bc3eaf3ee513aa6ce9774aa2ab5188 (diff) |
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: obey minleft values during extent allocation correctly
xfs: reset buffer pointers before freeing them
xfs: avoid getting stuck during async inode flushes
xfs: fix xfs_itruncate_start tracing
xfs: fix duplicate workqueue initialisation
xfs: kill off xfs_printk()
xfs: fix race condition in AIL push trigger
xfs: make AIL target updates and compares 32bit safe.
xfs: always push the AIL to the target
xfs: exit AIL push work correctly when AIL is empty
xfs: ensure reclaim cursor is reset correctly at end of AG
xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE
xfs: fix compiler warning in xfs_trace.h
xfs: cleanup duplicate initializations
xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy
xfs: exact busy extent tracking
xfs: do not immediately reuse busy extent ranges
xfs: optimize AGFL refills
Diffstat (limited to 'fs/xfs/linux-2.6')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 22 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.h | 1 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl32.c | 3 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl32.h | 1 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_linux.h | 1 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_message.c | 20 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_message.h | 7 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 4 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sync.c | 10 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_trace.h | 76 |
10 files changed, 66 insertions, 79 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index 9ef9ed2cfe2e..52b2b5da566e 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/migrate.h> | 33 | #include <linux/migrate.h> |
34 | #include <linux/backing-dev.h> | 34 | #include <linux/backing-dev.h> |
35 | #include <linux/freezer.h> | 35 | #include <linux/freezer.h> |
36 | #include <linux/list_sort.h> | ||
37 | 36 | ||
38 | #include "xfs_sb.h" | 37 | #include "xfs_sb.h" |
39 | #include "xfs_inum.h" | 38 | #include "xfs_inum.h" |
@@ -709,6 +708,27 @@ xfs_buf_get_empty( | |||
709 | return bp; | 708 | return bp; |
710 | } | 709 | } |
711 | 710 | ||
711 | /* | ||
712 | * Return a buffer allocated as an empty buffer and associated to external | ||
713 | * memory via xfs_buf_associate_memory() back to it's empty state. | ||
714 | */ | ||
715 | void | ||
716 | xfs_buf_set_empty( | ||
717 | struct xfs_buf *bp, | ||
718 | size_t len) | ||
719 | { | ||
720 | if (bp->b_pages) | ||
721 | _xfs_buf_free_pages(bp); | ||
722 | |||
723 | bp->b_pages = NULL; | ||
724 | bp->b_page_count = 0; | ||
725 | bp->b_addr = NULL; | ||
726 | bp->b_file_offset = 0; | ||
727 | bp->b_buffer_length = bp->b_count_desired = len; | ||
728 | bp->b_bn = XFS_BUF_DADDR_NULL; | ||
729 | bp->b_flags &= ~XBF_MAPPED; | ||
730 | } | ||
731 | |||
712 | static inline struct page * | 732 | static inline struct page * |
713 | mem_to_page( | 733 | mem_to_page( |
714 | void *addr) | 734 | void *addr) |
diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index a9a1c4512645..50a7d5fb3b73 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h | |||
@@ -178,6 +178,7 @@ extern xfs_buf_t *xfs_buf_read(xfs_buftarg_t *, xfs_off_t, size_t, | |||
178 | xfs_buf_flags_t); | 178 | xfs_buf_flags_t); |
179 | 179 | ||
180 | extern xfs_buf_t *xfs_buf_get_empty(size_t, xfs_buftarg_t *); | 180 | extern xfs_buf_t *xfs_buf_get_empty(size_t, xfs_buftarg_t *); |
181 | extern void xfs_buf_set_empty(struct xfs_buf *bp, size_t len); | ||
181 | extern xfs_buf_t *xfs_buf_get_uncached(struct xfs_buftarg *, size_t, int); | 182 | extern xfs_buf_t *xfs_buf_get_uncached(struct xfs_buftarg *, size_t, int); |
182 | extern int xfs_buf_associate_memory(xfs_buf_t *, void *, size_t); | 183 | extern int xfs_buf_associate_memory(xfs_buf_t *, void *, size_t); |
183 | extern void xfs_buf_hold(xfs_buf_t *); | 184 | extern void xfs_buf_hold(xfs_buf_t *); |
diff --git a/fs/xfs/linux-2.6/xfs_ioctl32.c b/fs/xfs/linux-2.6/xfs_ioctl32.c index b3486dfa5520..54e623bfbb85 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl32.c +++ b/fs/xfs/linux-2.6/xfs_ioctl32.c | |||
@@ -586,7 +586,8 @@ xfs_file_compat_ioctl( | |||
586 | case XFS_IOC_RESVSP_32: | 586 | case XFS_IOC_RESVSP_32: |
587 | case XFS_IOC_UNRESVSP_32: | 587 | case XFS_IOC_UNRESVSP_32: |
588 | case XFS_IOC_RESVSP64_32: | 588 | case XFS_IOC_RESVSP64_32: |
589 | case XFS_IOC_UNRESVSP64_32: { | 589 | case XFS_IOC_UNRESVSP64_32: |
590 | case XFS_IOC_ZERO_RANGE_32: { | ||
590 | struct xfs_flock64 bf; | 591 | struct xfs_flock64 bf; |
591 | 592 | ||
592 | if (xfs_compat_flock64_copyin(&bf, arg)) | 593 | if (xfs_compat_flock64_copyin(&bf, arg)) |
diff --git a/fs/xfs/linux-2.6/xfs_ioctl32.h b/fs/xfs/linux-2.6/xfs_ioctl32.h index 08b605792a99..80f4060e8970 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl32.h +++ b/fs/xfs/linux-2.6/xfs_ioctl32.h | |||
@@ -184,6 +184,7 @@ typedef struct compat_xfs_flock64 { | |||
184 | #define XFS_IOC_UNRESVSP_32 _IOW('X', 41, struct compat_xfs_flock64) | 184 | #define XFS_IOC_UNRESVSP_32 _IOW('X', 41, struct compat_xfs_flock64) |
185 | #define XFS_IOC_RESVSP64_32 _IOW('X', 42, struct compat_xfs_flock64) | 185 | #define XFS_IOC_RESVSP64_32 _IOW('X', 42, struct compat_xfs_flock64) |
186 | #define XFS_IOC_UNRESVSP64_32 _IOW('X', 43, struct compat_xfs_flock64) | 186 | #define XFS_IOC_UNRESVSP64_32 _IOW('X', 43, struct compat_xfs_flock64) |
187 | #define XFS_IOC_ZERO_RANGE_32 _IOW('X', 57, struct compat_xfs_flock64) | ||
187 | 188 | ||
188 | typedef struct compat_xfs_fsop_geom_v1 { | 189 | typedef struct compat_xfs_fsop_geom_v1 { |
189 | __u32 blocksize; /* filesystem (data) block size */ | 190 | __u32 blocksize; /* filesystem (data) block size */ |
diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h index 244be9cbfe78..8633521b3b2e 100644 --- a/fs/xfs/linux-2.6/xfs_linux.h +++ b/fs/xfs/linux-2.6/xfs_linux.h | |||
@@ -70,6 +70,7 @@ | |||
70 | #include <linux/ctype.h> | 70 | #include <linux/ctype.h> |
71 | #include <linux/writeback.h> | 71 | #include <linux/writeback.h> |
72 | #include <linux/capability.h> | 72 | #include <linux/capability.h> |
73 | #include <linux/list_sort.h> | ||
73 | 74 | ||
74 | #include <asm/page.h> | 75 | #include <asm/page.h> |
75 | #include <asm/div64.h> | 76 | #include <asm/div64.h> |
diff --git a/fs/xfs/linux-2.6/xfs_message.c b/fs/xfs/linux-2.6/xfs_message.c index 9f76cceb678d..bd672def95ac 100644 --- a/fs/xfs/linux-2.6/xfs_message.c +++ b/fs/xfs/linux-2.6/xfs_message.c | |||
@@ -41,23 +41,6 @@ __xfs_printk( | |||
41 | printk("%sXFS: %pV\n", level, vaf); | 41 | printk("%sXFS: %pV\n", level, vaf); |
42 | } | 42 | } |
43 | 43 | ||
44 | void xfs_printk( | ||
45 | const char *level, | ||
46 | const struct xfs_mount *mp, | ||
47 | const char *fmt, ...) | ||
48 | { | ||
49 | struct va_format vaf; | ||
50 | va_list args; | ||
51 | |||
52 | va_start(args, fmt); | ||
53 | |||
54 | vaf.fmt = fmt; | ||
55 | vaf.va = &args; | ||
56 | |||
57 | __xfs_printk(level, mp, &vaf); | ||
58 | va_end(args); | ||
59 | } | ||
60 | |||
61 | #define define_xfs_printk_level(func, kern_level) \ | 44 | #define define_xfs_printk_level(func, kern_level) \ |
62 | void func(const struct xfs_mount *mp, const char *fmt, ...) \ | 45 | void func(const struct xfs_mount *mp, const char *fmt, ...) \ |
63 | { \ | 46 | { \ |
@@ -95,8 +78,7 @@ xfs_alert_tag( | |||
95 | int do_panic = 0; | 78 | int do_panic = 0; |
96 | 79 | ||
97 | if (xfs_panic_mask && (xfs_panic_mask & panic_tag)) { | 80 | if (xfs_panic_mask && (xfs_panic_mask & panic_tag)) { |
98 | xfs_printk(KERN_ALERT, mp, | 81 | xfs_alert(mp, "Transforming an alert into a BUG."); |
99 | "XFS: Transforming an alert into a BUG."); | ||
100 | do_panic = 1; | 82 | do_panic = 1; |
101 | } | 83 | } |
102 | 84 | ||
diff --git a/fs/xfs/linux-2.6/xfs_message.h b/fs/xfs/linux-2.6/xfs_message.h index f1b3fc1b6c4e..7fb7ea007672 100644 --- a/fs/xfs/linux-2.6/xfs_message.h +++ b/fs/xfs/linux-2.6/xfs_message.h | |||
@@ -3,9 +3,6 @@ | |||
3 | 3 | ||
4 | struct xfs_mount; | 4 | struct xfs_mount; |
5 | 5 | ||
6 | extern void xfs_printk(const char *level, const struct xfs_mount *mp, | ||
7 | const char *fmt, ...) | ||
8 | __attribute__ ((format (printf, 3, 4))); | ||
9 | extern void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...) | 6 | extern void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...) |
10 | __attribute__ ((format (printf, 2, 3))); | 7 | __attribute__ ((format (printf, 2, 3))); |
11 | extern void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...) | 8 | extern void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...) |
@@ -28,7 +25,9 @@ extern void xfs_info(const struct xfs_mount *mp, const char *fmt, ...) | |||
28 | extern void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) | 25 | extern void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) |
29 | __attribute__ ((format (printf, 2, 3))); | 26 | __attribute__ ((format (printf, 2, 3))); |
30 | #else | 27 | #else |
31 | static inline void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) | 28 | static inline void |
29 | __attribute__ ((format (printf, 2, 3))) | ||
30 | xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) | ||
32 | { | 31 | { |
33 | } | 32 | } |
34 | #endif | 33 | #endif |
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index b38e58d02299..b0aa59e51fd0 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -1787,10 +1787,6 @@ init_xfs_fs(void) | |||
1787 | if (error) | 1787 | if (error) |
1788 | goto out_cleanup_procfs; | 1788 | goto out_cleanup_procfs; |
1789 | 1789 | ||
1790 | error = xfs_init_workqueues(); | ||
1791 | if (error) | ||
1792 | goto out_sysctl_unregister; | ||
1793 | |||
1794 | vfs_initquota(); | 1790 | vfs_initquota(); |
1795 | 1791 | ||
1796 | error = register_filesystem(&xfs_fs_type); | 1792 | error = register_filesystem(&xfs_fs_type); |
diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c index 3e898a48122d..cb1bb2080e44 100644 --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c | |||
@@ -267,6 +267,16 @@ xfs_sync_inode_attr( | |||
267 | 267 | ||
268 | error = xfs_iflush(ip, flags); | 268 | error = xfs_iflush(ip, flags); |
269 | 269 | ||
270 | /* | ||
271 | * We don't want to try again on non-blocking flushes that can't run | ||
272 | * again immediately. If an inode really must be written, then that's | ||
273 | * what the SYNC_WAIT flag is for. | ||
274 | */ | ||
275 | if (error == EAGAIN) { | ||
276 | ASSERT(!(flags & SYNC_WAIT)); | ||
277 | error = 0; | ||
278 | } | ||
279 | |||
270 | out_unlock: | 280 | out_unlock: |
271 | xfs_iunlock(ip, XFS_ILOCK_SHARED); | 281 | xfs_iunlock(ip, XFS_ILOCK_SHARED); |
272 | return error; | 282 | return error; |
diff --git a/fs/xfs/linux-2.6/xfs_trace.h b/fs/xfs/linux-2.6/xfs_trace.h index 2d0bcb479075..d48b7a579ae1 100644 --- a/fs/xfs/linux-2.6/xfs_trace.h +++ b/fs/xfs/linux-2.6/xfs_trace.h | |||
@@ -1151,44 +1151,7 @@ TRACE_EVENT(xfs_bunmap, | |||
1151 | 1151 | ||
1152 | ); | 1152 | ); |
1153 | 1153 | ||
1154 | #define XFS_BUSY_SYNC \ | 1154 | DECLARE_EVENT_CLASS(xfs_busy_class, |
1155 | { 0, "async" }, \ | ||
1156 | { 1, "sync" } | ||
1157 | |||
1158 | TRACE_EVENT(xfs_alloc_busy, | ||
1159 | TP_PROTO(struct xfs_trans *trans, xfs_agnumber_t agno, | ||
1160 | xfs_agblock_t agbno, xfs_extlen_t len, int sync), | ||
1161 | TP_ARGS(trans, agno, agbno, len, sync), | ||
1162 | TP_STRUCT__entry( | ||
1163 | __field(dev_t, dev) | ||
1164 | __field(struct xfs_trans *, tp) | ||
1165 | __field(int, tid) | ||
1166 | __field(xfs_agnumber_t, agno) | ||
1167 | __field(xfs_agblock_t, agbno) | ||
1168 | __field(xfs_extlen_t, len) | ||
1169 | __field(int, sync) | ||
1170 | ), | ||
1171 | TP_fast_assign( | ||
1172 | __entry->dev = trans->t_mountp->m_super->s_dev; | ||
1173 | __entry->tp = trans; | ||
1174 | __entry->tid = trans->t_ticket->t_tid; | ||
1175 | __entry->agno = agno; | ||
1176 | __entry->agbno = agbno; | ||
1177 | __entry->len = len; | ||
1178 | __entry->sync = sync; | ||
1179 | ), | ||
1180 | TP_printk("dev %d:%d trans 0x%p tid 0x%x agno %u agbno %u len %u %s", | ||
1181 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
1182 | __entry->tp, | ||
1183 | __entry->tid, | ||
1184 | __entry->agno, | ||
1185 | __entry->agbno, | ||
1186 | __entry->len, | ||
1187 | __print_symbolic(__entry->sync, XFS_BUSY_SYNC)) | ||
1188 | |||
1189 | ); | ||
1190 | |||
1191 | TRACE_EVENT(xfs_alloc_unbusy, | ||
1192 | TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, | 1155 | TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, |
1193 | xfs_agblock_t agbno, xfs_extlen_t len), | 1156 | xfs_agblock_t agbno, xfs_extlen_t len), |
1194 | TP_ARGS(mp, agno, agbno, len), | 1157 | TP_ARGS(mp, agno, agbno, len), |
@@ -1210,35 +1173,45 @@ TRACE_EVENT(xfs_alloc_unbusy, | |||
1210 | __entry->agbno, | 1173 | __entry->agbno, |
1211 | __entry->len) | 1174 | __entry->len) |
1212 | ); | 1175 | ); |
1176 | #define DEFINE_BUSY_EVENT(name) \ | ||
1177 | DEFINE_EVENT(xfs_busy_class, name, \ | ||
1178 | TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ | ||
1179 | xfs_agblock_t agbno, xfs_extlen_t len), \ | ||
1180 | TP_ARGS(mp, agno, agbno, len)) | ||
1181 | DEFINE_BUSY_EVENT(xfs_alloc_busy); | ||
1182 | DEFINE_BUSY_EVENT(xfs_alloc_busy_enomem); | ||
1183 | DEFINE_BUSY_EVENT(xfs_alloc_busy_force); | ||
1184 | DEFINE_BUSY_EVENT(xfs_alloc_busy_reuse); | ||
1185 | DEFINE_BUSY_EVENT(xfs_alloc_busy_clear); | ||
1213 | 1186 | ||
1214 | #define XFS_BUSY_STATES \ | 1187 | TRACE_EVENT(xfs_alloc_busy_trim, |
1215 | { 0, "missing" }, \ | ||
1216 | { 1, "found" } | ||
1217 | |||
1218 | TRACE_EVENT(xfs_alloc_busysearch, | ||
1219 | TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, | 1188 | TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, |
1220 | xfs_agblock_t agbno, xfs_extlen_t len, int found), | 1189 | xfs_agblock_t agbno, xfs_extlen_t len, |
1221 | TP_ARGS(mp, agno, agbno, len, found), | 1190 | xfs_agblock_t tbno, xfs_extlen_t tlen), |
1191 | TP_ARGS(mp, agno, agbno, len, tbno, tlen), | ||
1222 | TP_STRUCT__entry( | 1192 | TP_STRUCT__entry( |
1223 | __field(dev_t, dev) | 1193 | __field(dev_t, dev) |
1224 | __field(xfs_agnumber_t, agno) | 1194 | __field(xfs_agnumber_t, agno) |
1225 | __field(xfs_agblock_t, agbno) | 1195 | __field(xfs_agblock_t, agbno) |
1226 | __field(xfs_extlen_t, len) | 1196 | __field(xfs_extlen_t, len) |
1227 | __field(int, found) | 1197 | __field(xfs_agblock_t, tbno) |
1198 | __field(xfs_extlen_t, tlen) | ||
1228 | ), | 1199 | ), |
1229 | TP_fast_assign( | 1200 | TP_fast_assign( |
1230 | __entry->dev = mp->m_super->s_dev; | 1201 | __entry->dev = mp->m_super->s_dev; |
1231 | __entry->agno = agno; | 1202 | __entry->agno = agno; |
1232 | __entry->agbno = agbno; | 1203 | __entry->agbno = agbno; |
1233 | __entry->len = len; | 1204 | __entry->len = len; |
1234 | __entry->found = found; | 1205 | __entry->tbno = tbno; |
1206 | __entry->tlen = tlen; | ||
1235 | ), | 1207 | ), |
1236 | TP_printk("dev %d:%d agno %u agbno %u len %u %s", | 1208 | TP_printk("dev %d:%d agno %u agbno %u len %u tbno %u tlen %u", |
1237 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1209 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1238 | __entry->agno, | 1210 | __entry->agno, |
1239 | __entry->agbno, | 1211 | __entry->agbno, |
1240 | __entry->len, | 1212 | __entry->len, |
1241 | __print_symbolic(__entry->found, XFS_BUSY_STATES)) | 1213 | __entry->tbno, |
1214 | __entry->tlen) | ||
1242 | ); | 1215 | ); |
1243 | 1216 | ||
1244 | TRACE_EVENT(xfs_trans_commit_lsn, | 1217 | TRACE_EVENT(xfs_trans_commit_lsn, |
@@ -1418,7 +1391,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, | |||
1418 | __entry->wasfromfl, | 1391 | __entry->wasfromfl, |
1419 | __entry->isfl, | 1392 | __entry->isfl, |
1420 | __entry->userdata, | 1393 | __entry->userdata, |
1421 | __entry->firstblock) | 1394 | (unsigned long long)__entry->firstblock) |
1422 | ) | 1395 | ) |
1423 | 1396 | ||
1424 | #define DEFINE_ALLOC_EVENT(name) \ | 1397 | #define DEFINE_ALLOC_EVENT(name) \ |
@@ -1433,11 +1406,14 @@ DEFINE_ALLOC_EVENT(xfs_alloc_near_first); | |||
1433 | DEFINE_ALLOC_EVENT(xfs_alloc_near_greater); | 1406 | DEFINE_ALLOC_EVENT(xfs_alloc_near_greater); |
1434 | DEFINE_ALLOC_EVENT(xfs_alloc_near_lesser); | 1407 | DEFINE_ALLOC_EVENT(xfs_alloc_near_lesser); |
1435 | DEFINE_ALLOC_EVENT(xfs_alloc_near_error); | 1408 | DEFINE_ALLOC_EVENT(xfs_alloc_near_error); |
1409 | DEFINE_ALLOC_EVENT(xfs_alloc_near_noentry); | ||
1410 | DEFINE_ALLOC_EVENT(xfs_alloc_near_busy); | ||
1436 | DEFINE_ALLOC_EVENT(xfs_alloc_size_neither); | 1411 | DEFINE_ALLOC_EVENT(xfs_alloc_size_neither); |
1437 | DEFINE_ALLOC_EVENT(xfs_alloc_size_noentry); | 1412 | DEFINE_ALLOC_EVENT(xfs_alloc_size_noentry); |
1438 | DEFINE_ALLOC_EVENT(xfs_alloc_size_nominleft); | 1413 | DEFINE_ALLOC_EVENT(xfs_alloc_size_nominleft); |
1439 | DEFINE_ALLOC_EVENT(xfs_alloc_size_done); | 1414 | DEFINE_ALLOC_EVENT(xfs_alloc_size_done); |
1440 | DEFINE_ALLOC_EVENT(xfs_alloc_size_error); | 1415 | DEFINE_ALLOC_EVENT(xfs_alloc_size_error); |
1416 | DEFINE_ALLOC_EVENT(xfs_alloc_size_busy); | ||
1441 | DEFINE_ALLOC_EVENT(xfs_alloc_small_freelist); | 1417 | DEFINE_ALLOC_EVENT(xfs_alloc_small_freelist); |
1442 | DEFINE_ALLOC_EVENT(xfs_alloc_small_notenough); | 1418 | DEFINE_ALLOC_EVENT(xfs_alloc_small_notenough); |
1443 | DEFINE_ALLOC_EVENT(xfs_alloc_small_done); | 1419 | DEFINE_ALLOC_EVENT(xfs_alloc_small_done); |