aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dmops.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_dmops.c')
-rw-r--r--fs/xfs/xfs_dmops.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/fs/xfs/xfs_dmops.c b/fs/xfs/xfs_dmops.c
index 6cd5704258a2..a1e55fb9d5dd 100644
--- a/fs/xfs/xfs_dmops.c
+++ b/fs/xfs/xfs_dmops.c
@@ -41,29 +41,16 @@ int
41xfs_dmops_get(struct xfs_mount *mp, struct xfs_mount_args *args) 41xfs_dmops_get(struct xfs_mount *mp, struct xfs_mount_args *args)
42{ 42{
43 if (args->flags & XFSMNT_DMAPI) { 43 if (args->flags & XFSMNT_DMAPI) {
44 struct xfs_dmops *ops; 44 cmn_err(CE_WARN,
45 45 "XFS: dmapi support not available in this kernel.");
46 ops = symbol_get(xfs_dmcore_xfs); 46 return EINVAL;
47 if (!ops) {
48 request_module("xfs_dmapi");
49 ops = symbol_get(xfs_dmcore_xfs);
50 }
51
52 if (!ops) {
53 cmn_err(CE_WARN, "XFS: no dmapi support available.");
54 return EINVAL;
55 }
56 mp->m_dm_ops = ops;
57 } else {
58 mp->m_dm_ops = &xfs_dmcore_stub;
59 } 47 }
60 48
49 mp->m_dm_ops = &xfs_dmcore_stub;
61 return 0; 50 return 0;
62} 51}
63 52
64void 53void
65xfs_dmops_put(struct xfs_mount *mp) 54xfs_dmops_put(struct xfs_mount *mp)
66{ 55{
67 if (mp->m_dm_ops != &xfs_dmcore_stub)
68 symbol_put(xfs_dmcore_xfs);
69} 56}