From 8b771bf929c4a9ab3fd4eb6f40b9222a463fd1a4 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 13 Feb 2013 17:30:19 -0800 Subject: [PATCH] udev: trigger ceph-disk-activate directly from udev There is no need to depend on upstart for this. Signed-off-by: Sage Weil (cherry picked from commit 5bd85ee5aa31bfd1f4f0e434f08c2a19414358ef) Conflicts: ceph.spec.in --- Makefile.am | 3 ++- ceph.spec.in | 5 +++++ debian/ceph.install | 1 + debian/rules | 1 + src/Makefile.am | 1 - src/upstart/ceph-osd-activate.conf | 11 ----------- udev/95-ceph-osd.rules | 5 +++++ 7 files changed, 14 insertions(+), 13 deletions(-) delete mode 100644 src/upstart/ceph-osd-activate.conf create mode 100644 udev/95-ceph-osd.rules diff --git a/Makefile.am b/Makefile.am index 3f4231438ad6f..adeb4e577289b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,8 @@ EXTRA_DIST += \ src/test/run-cli-tests-maybe-unset-ccache \ src/test/cli \ src/test/downloads \ - udev/50-rbd.rules + udev/50-rbd.rules \ + udev/95-ceph-osd.rules all-local: diff --git a/ceph.spec.in b/ceph.spec.in index 7aae6fefedba6..662d582db6191 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -285,6 +285,10 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/java mv $RPM_BUILD_ROOT/usr/lib64/libcephfs.jar $RPM_BUILD_ROOT/usr/share/java/. mv $RPM_BUILD_ROOT/usr/lib64/libcephfs-test.jar $RPM_BUILD_ROOT/usr/share/java/. +# udev rules +install -D -m 644 udev/50-rbd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/50-rbd.rules +install -D -m 644 udev/95-ceph-osd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/95-ceph-osd.rules + %clean rm -rf $RPM_BUILD_ROOT @@ -385,6 +389,7 @@ fi /sbin/ceph-disk-activate /sbin/ceph-disk-prepare /sbin/ceph-create-keys +/lib/udev/rules.d/95-ceph-osd.rules ################################################################################# %files fuse diff --git a/debian/ceph.install b/debian/ceph.install index da097b24c8601..fb70d9b93807f 100644 --- a/debian/ceph.install +++ b/debian/ceph.install @@ -24,3 +24,4 @@ usr/share/man/man8/monmaptool.8 usr/share/man/man8/ceph-clsinfo.8 usr/share/man/man8/ceph-debugpack.8 etc/bash_completion.d/ceph +lib/udev/rules.d/95-ceph-osd.rules diff --git a/debian/rules b/debian/rules index c7ddbaf8f54d4..260f27fcd68fd 100755 --- a/debian/rules +++ b/debian/rules @@ -90,6 +90,7 @@ install: build $(MAKE) DESTDIR=$(DESTDIR) install sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` install -D -m 644 udev/50-rbd.rules $(DESTDIR)/lib/udev/rules.d/50-rbd.rules + install -D -m 644 udev/95-ceph-osd.rules $(DESTDIR)/lib/udev/rules.d/95-ceph-osd.rules # Add here commands to install the package into debian/testpack. # Build architecture-independent files here. diff --git a/src/Makefile.am b/src/Makefile.am index 94e6de85b2a65..4291f17962a92 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1093,7 +1093,6 @@ EXTRA_DIST += \ $(srcdir)/upstart/ceph-osd.conf \ $(srcdir)/upstart/ceph-osd-all.conf \ $(srcdir)/upstart/ceph-osd-all-starter.conf \ - $(srcdir)/upstart/ceph-osd-activate.conf \ $(srcdir)/upstart/ceph-mds.conf \ $(srcdir)/upstart/ceph-mds-all.conf \ $(srcdir)/upstart/ceph-mds-all-starter.conf \ diff --git a/src/upstart/ceph-osd-activate.conf b/src/upstart/ceph-osd-activate.conf deleted file mode 100644 index db88f018e0291..0000000000000 --- a/src/upstart/ceph-osd-activate.conf +++ /dev/null @@ -1,11 +0,0 @@ -description "Ceph OSD activate/hotplug" - -start on block-device-added \ - DEVTYPE=partition \ - ID_PART_ENTRY_TYPE=4fbd7e29-9d25-41b8-afd0-062c0ceff05d -stop on runlevel [!2345] - -task -instance $DEVNAME - -exec /usr/sbin/ceph-disk-activate --mark-init upstart --mount "$DEVNAME" diff --git a/udev/95-ceph-osd.rules b/udev/95-ceph-osd.rules new file mode 100644 index 0000000000000..c3e05bb6ace14 --- /dev/null +++ b/udev/95-ceph-osd.rules @@ -0,0 +1,5 @@ +# activate ceph-tagged partitions +ACTION=="add", SUBSYSTEM=="block", \ + ENV{DEVTYPE}=="partition", \ + ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-062c0ceff05d", \ + RUN+="/usr/sbin/ceph-disk-activate --mount /dev/$name" -- 2.39.5