mkcephfs: error when creating journal file in a directory that differs from OSD data dir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I have a small fix for mkcephfs script, which fixed the problem mentioned
below.


mkcephfs creates osd data directory automatically, but it doesn't create a
directory for the osd journal file.

When you have a journal file in a directory that differs from the osd data
directory in your configuration, like:

       osd data = /osd/osd$id

       osd journal = /journal/osd$id


You will receive a "mount failed to open journal /journal/osd0/journal: No
such file or directory" error when doing mkcephfs


* The patch is based on the latest "unstable" branch.


cclien


Signed-off-by: CC Lien <cc_lien@xxxxxxxxxxxxxxxxxxx>
---
 src/mkcephfs.in |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/mkcephfs.in b/src/mkcephfs.in
index 1caddf1..6c1f2dc 100644
--- a/src/mkcephfs.in
+++ b/src/mkcephfs.in
@@ -220,6 +220,7 @@ for name in $what; do

     if [ "$type" = "osd" ]; then
  get_conf osd_data "" "osd data"
+ get_conf osd_journal "" "osd journal"
  get_conf keyring "" "keyring"
  get_conf btrfs_path "$osd_data" "btrfs path"  # mount point defaults so
osd data
  get_conf btrfs_devs "" "btrfs devs"
@@ -228,6 +229,7 @@ for name in $what; do
  [ -n "$btrfs_opt" ] && btrfs_opt="-o $btrfs_opt"

  do_cmd "test -d $osd_data || mkdir -p $osd_data"
+ [ -n "$osd_journal" ] && do_cmd "test -d $osd_journal || mkdir -p `dirname
$osd_journal`"

  if [ $mkbtrfs -eq 1 ]; then
     get_conf osd_user "root" "user"
-- 
1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux