diff options
author | Dave Chinner <dchinner@redhat.com> | 2013-08-12 06:49:42 -0400 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2013-08-12 17:45:17 -0400 |
commit | 6898811459ff523ed256c07d1d5c54ba915d51ac (patch) | |
tree | 3079fecb7b8420aef10673d4d6b08d69645feacc /fs/xfs/xfs_inode.c | |
parent | ff55068c2010f39bcd899ca14b0a3d401d14da54 (diff) |
xfs: create xfs_bmap_util.[ch]
There is a bunch of code in xfs_bmap.c that is kernel specific and
not shared with userspace. To minimise the difference between the
kernel and userspace code, shift this unshared code to
xfs_bmap_util.c, and the declarations to xfs_bmap_util.h.
The biggest issue here is xfs_bmap_finish() - userspace has it's own
definition of this function, and so we need to move it out of
xfs_bmap.[ch]. This means several other files need to include
xfs_bmap_util.h as well.
It also introduces and interesting dance for the stack switching
code in xfs_bmapi_allocate(). The stack switching/workqueue code is
actually moved to xfs_bmap_util.c, so that userspace can simply use
a #define in a header file to connect the dots without needing to
know about the stack switch code at all.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_inode.c')
-rw-r--r-- | fs/xfs/xfs_inode.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index fcda5b39cc17..1029f5670207 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include "xfs_alloc.h" | 39 | #include "xfs_alloc.h" |
40 | #include "xfs_ialloc.h" | 40 | #include "xfs_ialloc.h" |
41 | #include "xfs_bmap.h" | 41 | #include "xfs_bmap.h" |
42 | #include "xfs_bmap_util.h" | ||
42 | #include "xfs_error.h" | 43 | #include "xfs_error.h" |
43 | #include "xfs_utils.h" | 44 | #include "xfs_utils.h" |
44 | #include "xfs_quota.h" | 45 | #include "xfs_quota.h" |