]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tools: remove legacy `cephfs` tool
authorJohn Spray <john.spray@redhat.com>
Tue, 28 Jun 2016 13:25:04 +0000 (14:25 +0100)
committerJohn Spray <john.spray@redhat.com>
Tue, 19 Jul 2016 13:00:30 +0000 (14:00 +0100)
This has been deprecated for quite some time, in favour
of using proper vxattr and libcephfs interfaces.

Fixes: http://tracker.ceph.com/issues/16035
Signed-off-by: John Spray <john.spray@redhat.com>
ceph.spec.in
debian/ceph-fs-common.install
doc/Makefile.am
doc/man/8/CMakeLists.txt
doc/man/8/cephfs.rst [deleted file]
src/CMakeLists.txt
src/Makefile-client.am
src/cephfs.cc [deleted file]

index d1d721f3aa924f63947a0f3e934223983ab14d34..0fc8175a73158f5ccabb875623698a92b1285a00 100644 (file)
@@ -753,7 +753,6 @@ rm -rf %{buildroot}
 %{_bindir}/ceph-run
 %{_bindir}/ceph-detect-init
 %{_bindir}/ceph-client-debug
-%{_bindir}/cephfs
 %{_unitdir}/ceph-create-keys@.service
 %{_libexecdir}/systemd/system-preset/50-ceph.preset
 %{_sbindir}/ceph-create-keys
@@ -791,7 +790,6 @@ rm -rf %{buildroot}
 %{_mandir}/man8/crushtool.8*
 %{_mandir}/man8/osdmaptool.8*
 %{_mandir}/man8/monmaptool.8*
-%{_mandir}/man8/cephfs.8*
 #set up placeholder directories
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd
index 70f6e949ab1ebb65a3503cc174f1fa96bdcffe9e..ec61f9b0ff2bb10eb615341690e811b66084735a 100644 (file)
@@ -1,4 +1,2 @@
 usr/sbin/mount.ceph sbin
-usr/bin/cephfs
-usr/share/man/man8/cephfs.8
 usr/share/man/man8/mount.ceph.8
index c4bcfc7c6f10d9341ff04791cea96e0d39fc0058..7720b49e6929935a755c69080448e03b6f9c7bae 100644 (file)
@@ -8,7 +8,6 @@ EXTRA_DIST = \
        man/8/ceph-deploy.rst   \
        man/8/ceph-detect-init.rst      \
        man/8/ceph-disk.rst     \
-       man/8/cephfs.rst        \
        man/8/ceph-fuse.rst     \
        man/8/ceph-mds.rst      \
        man/8/ceph-mon.rst      \
index 9074b5bc504dfb28ddd54629047d8275ebff64ad..4427fbb0f70369dd6049716a77b63facf34ba08f 100644 (file)
@@ -35,11 +35,6 @@ list(APPEND man_srcs
   ceph-mds.rst
   librados-config.rst)
 
-if(WITH_CEPHFS)
-  list(APPEND man_srcs
-    cephfs.rst)
-endif()
-
 if(HAVE_LIBFUSE)
   list(APPEND man_srcs
     ceph-fuse.rst
diff --git a/doc/man/8/cephfs.rst b/doc/man/8/cephfs.rst
deleted file mode 100644 (file)
index 0ad91d0..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-:orphan:
-
-============================================
- cephfs -- ceph file system options utility
-============================================
-
-.. program:: cephfs
-
-Synopsis
-========
-
-| **cephfs** [ *path* *command* *options* ]
-
-
-Description
-===========
-
-**cephfs** is a control utility for accessing and manipulating file
-layout and location data in the Ceph distributed storage system.
-
-.. TODO format this like a proper man page
-
-Choose one of the following three commands:
-
-- ``show_layout`` View the layout information on a file or directory
-- ``set_layout`` Set the layout information on a file or directory
-- ``show_location`` View the location information on a file
-
-
-Options
-=======
-
-Your applicable options differ depending on whether you are setting or viewing layout/location.
-
-Viewing options:
-----------------
-
-.. option:: -l --offset
-
-    Specify an offset for which to retrieve location data
-
-Setting options:
-----------------
-
-.. option:: -u --stripe_unit
-
-   Set the size of each stripe
-
-.. option:: -c --stripe_count
-
-   Set the number of objects to stripe across
-
-.. option:: -s --object_size
-
-   Set the size of the objects to stripe across
-
-.. option:: -p --pool
-
-   Set the pool (by numeric value, not name!) to use
-
-.. option:: -o --osd
-
-   Set the preferred OSD to use as the primary (deprecated and ignored)
-
-
-Limitations
-===========
-
-When setting layout data, the specified object size must evenly divide
-by the specified stripe unit. Any parameters you don't set
-explicitly are left at the system defaults.
-
-Obviously setting the layout of a file and a directory means different
-things. Setting the layout of a file specifies exactly how to place
-the individual file. This must be done before writing *any* data to
-it. Truncating a file does not allow you to change the layout either.
-
-Setting the layout of a directory sets the "default layout", which is
-used to set the file layouts on any files subsequently created in the
-directory (or any subdirectory).  Pre-existing files do not have their
-layouts changed.
-
-You'll notice that the layout information allows you to specify a
-preferred OSD for placement. This feature is unsupported and ignored
-in modern versions of the Ceph servers; do not use it.
-
-
-Availability
-============
-
-**cephfs** is part of Ceph, a massively scalable, open-source, distributed storage system. Please refer
-to the Ceph documentation at http://ceph.com/docs for more
-information.
-
-
-See also
-========
-
-:doc:`ceph <ceph>`\(8)
index 660e65ec06ff23ff893ddd32f8df0a19ad48dc36..8ac73c1cc52b19e692b669c2d21a9f2fe98a4d7c 100644 (file)
@@ -1022,11 +1022,6 @@ install(TARGETS crushtool DESTINATION bin)
 add_subdirectory(googletest/googlemock)
 
 add_subdirectory(test)
-set(cephfs_srcs cephfs.cc)
-add_executable(cephfstool ${cephfs_srcs})
-target_link_libraries(cephfstool common ${EXTRALIBS})
-set_target_properties(cephfstool PROPERTIES OUTPUT_NAME cephfs)
-install(TARGETS cephfstool DESTINATION bin)
 
 add_subdirectory(compressor)
 add_subdirectory(tools)
index 07d11b543935a1f5783f51b8e542a09f92e8c4ac..59496fc9f91939f6e7586bba1fed8de0c73a4d3c 100644 (file)
@@ -74,10 +74,6 @@ endif # WITH_FUSE
 
 
 if WITH_CEPHFS
-cephfs_SOURCES = cephfs.cc
-cephfs_LDADD = $(LIBCOMMON)
-bin_PROGRAMS += cephfs
-
 mount_ceph_SOURCES = mount/mount.ceph.c
 mount_ceph_LDADD = $(LIBSECRET) $(LIBCOMMON)
 if LINUX
diff --git a/src/cephfs.cc b/src/cephfs.cc
deleted file mode 100644 (file)
index e7d0e64..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- 
-// vim: ts=8 sw=2 smarttab
-/*
- * Ceph - scalable distributed file system
- *
- * Copyright (C) 2004-2010 Sage Weil <sage@newdream.net>
- *
- * This is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software 
- * Foundation.  See file COPYING.
- * 
- * Simple little program to let you:
- * 1) View the layout information on a file or directory,
- * 2) Modify the layout information on an empty file,
- * 3) Modify the default layout on a directory
- */
-
-#include <iostream>
-#include <string.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include "client/ioctl.h"
-#include "common/errno.h"
-
-using namespace std;
-
-
-#define CMD_SHOW_LAYOUT 1
-#define CMD_SHOW_LOC    2
-#define CMD_SET_LAYOUT  3
-#define CMD_MAP         4
-
-void usage();
-int init_options(int argc, char **argv, int *fd, char **path, int *cmd,
-                 int *stripe_unit, int *stripe_count,
-                 int *object_size, int64_t *pool, int *file_offset, bool *dir);
-
-int main (int argc, char **argv) {
-  int fd = 0;
-  int err = 0;
-  char *path = 0;
-  int cmd = 0;
-  int stripe_unit = 0;
-  int stripe_count = 0;
-  int object_size = 0;
-  int64_t pool = -1;
-  int file_offset = 0;
-  bool dir = false;
-
-  if (init_options(argc, argv, &fd, &path, &cmd, &stripe_unit, &stripe_count,
-                   &object_size, &pool, &file_offset, &dir)){
-    usage();
-    if (fd >= 0) {
-      close(fd);
-    }
-    return 0;
-  }
-
-  cerr << "WARNING: This tool is deprecated.  Use the layout.* xattrs "
-          "to query and modify layouts." << endl;
-
-  if (CMD_SHOW_LAYOUT == cmd) {
-    struct ceph_ioctl_layout layout;
-    memset(&layout, 0, sizeof(layout));
-    err = ioctl(fd, CEPH_IOC_GET_LAYOUT, (unsigned long)&layout);
-    if (err) {
-      cerr << "Error getting layout: " << cpp_strerror(errno) << endl;
-      goto close_fd_exit;
-    }
-    if (layout.stripe_unit == 0) {
-      cerr << "layout not specified" << endl;
-    } else {
-      cout << "layout.data_pool:     " << layout.data_pool << endl;
-      cout << "layout.object_size:   " << layout.object_size << endl;
-      cout << "layout.stripe_unit:   " << layout.stripe_unit << endl;
-      cout << "layout.stripe_count:  " << layout.stripe_count << endl;
-    }
-  } else if (CMD_SHOW_LOC == cmd) {
-    struct ceph_ioctl_dataloc location;
-    location.file_offset = file_offset;
-    err = ioctl(fd, CEPH_IOC_GET_DATALOC, (unsigned long)&location);
-    if (err) {
-      cerr << "Error getting location: " << cpp_strerror(err) << endl;
-      goto close_fd_exit;
-    }
-    cout << "location.file_offset:  " << location.file_offset << endl;
-    cout << "location.object_offset:" << location.object_offset << endl;
-    cout << "location.object_no:    " << location.object_no << endl;
-    cout << "location.object_size:  " << location.object_size << endl;
-    cout << "location.object_name:  " << location.object_name << endl;
-    cout << "location.block_offset: " << location.block_offset << endl;
-    cout << "location.block_size:   " << location.block_size << endl;
-    cout << "location.osd:          " << location.osd << endl;
-//    cout << "osd address:           " << location.osd_addr << endl;
-  } else if (CMD_SET_LAYOUT == cmd) {
-    struct ceph_ioctl_layout layout;
-    memset(&layout, 0, sizeof(layout));
-    int ioctl_num = (dir ? CEPH_IOC_SET_LAYOUT_POLICY : CEPH_IOC_SET_LAYOUT);
-    if (pool == -1) {
-      cerr << "Pool not specified (use --pool <name or id>)" << endl;
-      goto close_fd_exit;
-    }
-    layout.data_pool = pool;
-    layout.object_size = object_size;
-    layout.stripe_count = stripe_count;
-    layout.stripe_unit = stripe_unit;
-    layout.unused = -1;   /* used to be preferred_osd */
-    err = ioctl(fd, ioctl_num, (unsigned long)&layout);
-    if (err) {
-      cerr << "Error setting layout: " << cpp_strerror(errno) << endl;
-      goto close_fd_exit;
-    }
-  } else if (CMD_MAP == cmd) {
-    struct stat st;
-    err = ::fstat(fd, &st);
-    if (err < 0) {
-      cerr << "error statting file: " << cpp_strerror(errno) << endl;
-      goto close_fd_exit;
-    }
-
-    struct ceph_ioctl_layout layout;
-    memset(&layout, 0, sizeof(layout));
-    err = ioctl(fd, CEPH_IOC_GET_LAYOUT, (unsigned long)&layout);
-    if (err) {
-      cerr << "Error getting layout: " << cpp_strerror(errno) << endl;
-      goto close_fd_exit;
-    }
-
-    printf("%15s  %24s  %12s  %12s  %s\n",
-          "FILE OFFSET", "OBJECT", "OFFSET", "LENGTH", "OSD");
-
-    for (long long off = 0; off < st.st_size; off += layout.stripe_unit) {
-      struct ceph_ioctl_dataloc location;
-      location.file_offset = off;
-      err = ioctl(fd, CEPH_IOC_GET_DATALOC, (unsigned long)&location);
-      if (err) {
-       cerr << "Error getting location: " << cpp_strerror(errno) << endl;
-       goto close_fd_exit;
-      }
-      printf("%15lld  %24s  %12lld  %12lld  %d\n",
-            off, location.object_name, (long long)location.object_offset,
-            (long long)location.block_size, (int)location.osd);
-    }
-
-  } else {
-    cerr << "unknown cmd somehow set!" << endl;
-    usage();
-    goto close_fd_exit;
-  }
-
-  return 0;
-
-close_fd_exit:
-  if (fd >= 0) {
-    close(fd);
-  }
-  return 1;
-}
-
-
-void usage() {
-  cerr << "usage: cephfs path command [options]*" << endl;
-  cerr << "Commands:" << endl;
-  cerr << "   show_layout    -- view the layout information on a file or dir" << endl;
-  cerr << "   set_layout     -- set the layout on an empty file,\n"
-       << "                     or the default layout on a directory" << endl;
-  cerr << "   show_location  -- view the location information on a file" << endl;
-  cerr << "   map            -- display file objects, pgs, osds" << endl;
-  cerr << "Options:" << endl;
-  cerr << "   Useful for setting layouts:" << endl;
-  cerr << "   --stripe_unit, -u:  set the size of each stripe" << endl;
-  cerr << "   --stripe_count, -c: set the number of objects to stripe across" << endl;
-  cerr << "   --object_size, -s:  set the size of the objects to stripe across" << endl;
-  cerr << "   --pool, -p:         set the pool to use" << endl;
-  cerr << endl;
-  cerr << "   Useful for getting location data:" << endl;
-  cerr << "   --offset, -l:       the offset to retrieve location data for" << endl;
-  cerr << endl;
-}
-
-int init_options(int argc, char **argv, int *fd, char **path, int *cmd,
-                 int *stripe_unit, int *stripe_count,
-                 int *object_size, int64_t *pool, int *file_offset,
-                 bool *dir) {
-  // look through the options, make sure they're valid,
-  // and set the variables from them
-  int i = 3;
-  struct stat stat_field;
-
-  if (argc < 3) {
-    cerr << "not enough parameters!" << endl;
-    return 1;
-  }
-
-  *path = argv[1];
-
-  *fd = open(argv[1], O_RDONLY);
-  if (*fd < 0) {
-    *fd = -errno;
-    cerr << "error opening path: " << cpp_strerror(*fd) << endl;
-    return 1;
-  }
-
-  if (!strcmp(argv[2], "show_layout")) {
-    *cmd = CMD_SHOW_LAYOUT;
-    if (argc > 4)
-      return 1;
-  } else if (!strcmp(argv[2], "set_layout")) {
-    *cmd = CMD_SET_LAYOUT;
-  } else if (!strcmp(argv[2], "show_location")){
-    *cmd = CMD_SHOW_LOC;
-  } else if (!strcmp(argv[2], "map")) {
-    *cmd = CMD_MAP;
-  } else {
-    cerr << "invalid command" << endl;
-    return 1;
-  }
-
-  // okay, fill in options
-  while (i < argc) {
-    if (i == argc-1) {
-      // there's an option without an associated value!
-      cerr << "not all options are paired with a value!" << endl;
-      return 1;
-    }
-
-    if (!strcmp(argv[i], "--stripe_unit") || argv[i][1] == 'u') {
-      if (*cmd != CMD_SET_LAYOUT) {
-        cerr << "Invalid option for command!" << endl;
-        return 1;
-      }
-      *stripe_unit = strtol(argv[i+1], NULL, 0);
-      if (!*stripe_unit) {
-        cerr << "invalid value for stripe unit" << endl;
-        return 1;
-      }
-    } else if (!strcmp(argv[i], "--stripe_count") || argv[i][1] == 'c') {
-      if (*cmd != CMD_SET_LAYOUT) {
-        cerr << "Invalid option for command!" << endl;
-        return 1;
-      }
-      *stripe_count = strtol(argv[i+1], NULL, 0);
-      if (!*stripe_count) {
-        cerr << "invalid value for stripe count" << endl;
-        return 1;
-      }
-    } else if (!strcmp(argv[i], "--object_size") || argv[i][1] == 's') {
-      if (*cmd != CMD_SET_LAYOUT) {
-        cerr << "Invalid option for command!" << endl;
-        return 1;
-      }
-      *object_size = strtol(argv[i+1], NULL, 0);
-      if (!*object_size) {
-        cerr << "invalid value for object size" << endl;
-        return 1;
-      }
-    } else if (!strcmp(argv[i], "--pool") || argv[i][1] == 'p') {
-      if (*cmd != CMD_SET_LAYOUT) {
-        cerr << "Invalid option for command!" << endl;
-        return 1;
-      }
-      errno = 0;
-      *pool= strtol(argv[i+1], NULL, 0);
-      if (!*pool && errno) {
-        cerr << "invalid value for pool" << endl;
-        return 1;
-      }
-    } else if (!strcmp(argv[i], "--offset") || argv[i][1] == 'l') {
-      if (*cmd != CMD_SHOW_LOC) {
-        cerr << "Invalid option for command!" << endl;
-        return 1;
-      }
-      errno = 0;
-      *file_offset = strtol(argv[i+1], NULL, 0);
-      if (!*file_offset && errno) {
-        cerr << "invalid value for offset" << endl;
-        return 1;
-      }
-    }
-    i += 2;
-  }
-
-  int r = fstat (*fd, &stat_field);
-  if (r < 0) {
-    int err = errno;
-    cerr << "error doing stat file: " << cpp_strerror(err) << endl;
-    return 1;
-  }
-
-  if (S_ISREG(stat_field.st_mode)) { // open read-write to set layout
-    close(*fd);
-    *fd = open(argv[1], O_RDWR);
-    if (*fd < 0) {
-      cerr << "error opening file" << endl;
-      return 1;
-    }
-  } else {
-    *dir = true;
-  }
-
-  return 0;
-}