~ubuntu-branches/debian/stretch/lvm2/stretch

« back to all changes in this revision

Viewing changes to lib/misc/lvm-wrappers.c

  • Committer: Bazaar Package Importer
  • Author(s): Bastian Blank
  • Date: 2011-08-27 18:45:21 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20110827184521-8lpc2gqp2ybhplzj
Tags: 2.02.86-1
* New upstream version.
* Remove leading article from short description.
* Update udev rules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
#include <unistd.h>
18
18
#include <fcntl.h>
19
19
 
 
20
#ifdef UDEV_SYNC_SUPPORT
 
21
static const char _no_context_msg[] = "Udev library context not set.";
 
22
struct udev *_udev;
 
23
 
 
24
int udev_init_library_context(void)
 
25
{
 
26
        if (_udev)
 
27
                udev_unref(_udev);
 
28
 
 
29
        if (!(_udev = udev_new())) {
 
30
                log_error("Failed to create udev library context.");
 
31
                return 0;
 
32
        }
 
33
 
 
34
        return 1;
 
35
}
 
36
 
 
37
void udev_fin_library_context(void)
 
38
{
 
39
        udev_unref(_udev);
 
40
        _udev = NULL;
 
41
}
 
42
 
 
43
int udev_is_running(void)
 
44
{
 
45
        struct udev_queue *udev_queue;
 
46
        int r;
 
47
 
 
48
        if (!_udev) {
 
49
                log_debug(_no_context_msg);
 
50
                goto bad;
 
51
        }
 
52
 
 
53
        if (!(udev_queue = udev_queue_new(_udev))) {
 
54
                log_debug("Could not get udev state.");
 
55
                goto bad;
 
56
        }
 
57
 
 
58
        r = udev_queue_get_udev_is_active(udev_queue);
 
59
        udev_queue_unref(udev_queue);
 
60
 
 
61
        return r;
 
62
 
 
63
bad:
 
64
        log_debug("Assuming udev is not running.");
 
65
        return 0;
 
66
}
 
67
 
 
68
const char *udev_get_dev_dir(void)
 
69
{
 
70
        if (!_udev) {
 
71
                log_debug(_no_context_msg);
 
72
                return NULL;
 
73
        }
 
74
 
 
75
        return udev_get_dev_path(_udev);
 
76
}
 
77
 
 
78
struct udev* udev_get_library_context(void)
 
79
{
 
80
        return _udev;
 
81
}
 
82
 
 
83
#else   /* UDEV_SYNC_SUPPORT */
 
84
 
 
85
int udev_init_library_context(void)
 
86
{
 
87
        return 1;
 
88
}
 
89
 
 
90
void udev_fin_library_context(void)
 
91
{
 
92
}
 
93
 
 
94
int udev_is_running(void)
 
95
{
 
96
        return 0;
 
97
}
 
98
 
 
99
const char *udev_get_dev_dir(void)
 
100
{
 
101
        return NULL;
 
102
}
 
103
#endif
 
104
 
20
105
int lvm_getpagesize(void)
21
106
{
22
107
        return getpagesize();