#endif // DARWIN
+#define ATTR_MAX 80
+
#ifndef __CYGWIN__
#ifndef DARWIN
# include <linux/ioctl.h>
int FileStore::open_journal()
{
struct stat st;
- char fn[400];
+ char fn[PATH_MAX];
if (journalpath.length() == 0) {
sprintf(fn, "%s.journal", basedir.c_str());
int FileStore::mkfs()
{
- char cmd[200];
+ char cmd[PATH_MAX];
if (g_conf.filestore_dev) {
dout(0) << "mounting" << dendl;
sprintf(cmd,"mount %s", g_conf.filestore_dev);
dout(1) << "mkfs in " << basedir << dendl;
- char fn[400];
+ char fn[PATH_MAX];
sprintf(fn, "%s/fsid", basedir.c_str());
fsid_fd = ::open(fn, O_CREAT|O_RDWR, 0644);
if (lock_fsid() < 0)
}
if (g_conf.filestore_dev) {
- char cmd[100];
+ char cmd[PATH_MAX];
dout(0) << "umounting" << dendl;
sprintf(cmd,"umount %s", g_conf.filestore_dev);
//system(cmd);
}
}
- char fn[400];
+ char fn[PATH_MAX];
// get fsid
sprintf(fn, "%s/fsid", basedir.c_str());
::close(op_fd);
if (g_conf.filestore_dev) {
- char cmd[100];
+ char cmd[PATH_MAX];
dout(0) << "umounting" << dendl;
sprintf(cmd,"umount %s", g_conf.filestore_dev);
//system(cmd);
trans_running++;
sig_lock.Unlock();
- char fn[400];
+ char fn[PATH_MAX];
sprintf(fn, "%s/trans.%d", basedir.c_str(), fd);
::mknod(fn, 0644, 0);
!g_conf.filestore_btrfs_trans)
return;
- char fn[400];
+ char fn[PATH_MAX];
sprintf(fn, "%s/trans.%d", basedir.c_str(), fd);
::unlink(fn);
dout(10) << "write" << dendl;
//write(cid, oid, offset, len, bl, 0);
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_coname(cid, oid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_OPEN;
//truncate(cid, oid, len, 0);
dout(10) << "truncate" << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_coname(cid, oid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_TRUNCATE;
//remove(cid, oid, 0);
dout(10) << "remove " << cid << " " << oid << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_coname(cid, oid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_UNLINK;
t.get_bl(bl);
//setattr(cid, oid, attrname, bl.c_str(), bl.length(), 0);
dout(10) << "setattr " << cid << " " << oid << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_coname(cid, oid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_SETXATTR;
trans->ops[trans->len].args[0] = (__u64)fn;
- char aname[40];
+ char aname[ATTR_MAX];
sprintf(aname, "user.ceph.%s", attrname);
trans->ops[trans->len].args[1] = (__u64)aname;
trans->ops[trans->len].args[2] = (__u64)bl.c_str();
{
// make note of old attrs
map<nstring,bufferptr> oldattrs;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
if (op == Transaction::OP_SETATTRS) {
p++) {
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_SETXATTR;
trans->ops[trans->len].args[0] = (__u64)fn;
- char *aname = new char[40];
+ char *aname = new char[ATTR_MAX];
str.push_back(aname);
sprintf(aname, "user.ceph.%s", p->first.c_str());
trans->ops[trans->len].args[1] = (__u64)aname;
//rmattr(cid, oid, attrname, 0);
dout(10) << "rmattr " << cid << " " << oid << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_coname(cid, oid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_REMOVEXATTR;
clone(cid, oid, noid);
dout(10) << "clone " << cid << " " << oid << dendl;
- char *ofn = new char[80];
+ char *ofn = new char[PATH_MAX];
str.push_back(ofn);
- char *nfn = new char[80];
+ char *nfn = new char[PATH_MAX];
str.push_back(nfn);
get_coname(cid, oid, ofn);
get_coname(cid, noid, nfn);
t.get_cid(cid);
//create_collection(cid, 0);
dout(10) << "mkcoll " << cid << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_cdir(cid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_MKDIR;
t.get_cid(cid);
//destroy_collection(cid, 0);
dout(10) << "rmcoll " << cid << dendl;
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_cdir(cid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_RMDIR;
t.get_bl(bl);
dout(10) << "coll_setattr " << cid << dendl;
//collection_setattr(cid, attrname, bl.c_str(), bl.length(), 0);
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_cdir(cid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_SETXATTR;
trans->ops[trans->len].args[0] = (__u64)fn;
- char aname[40];
+ char aname[ATTR_MAX];
sprintf(aname, "user.ceph.%s", attrname);
trans->ops[trans->len].args[1] = (__u64)aname;
trans->ops[trans->len].args[2] = (__u64)bl.c_str();
t.get_attrname(attrname);
dout(10) << "coll_rmattr " << cid << dendl;
//collection_rmattr(cid, attrname, 0);
- char *fn = new char[80];
+ char *fn = new char[PATH_MAX];
str.push_back(fn);
get_cdir(cid, fn);
trans->ops[trans->len].op = BTRFS_IOC_USERTRANS_REMOVEXATTR;
int FileStore::stat(coll_t cid, pobject_t oid, struct stat *st)
{
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
int r = ::stat(fn, st);
dout(10) << "stat " << fn << " = " << r << dendl;
int FileStore::read(coll_t cid, pobject_t oid,
__u64 offset, size_t len,
bufferlist& bl) {
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "read " << fn << " " << offset << "~" << len << dendl;
int FileStore::_remove(coll_t cid, pobject_t oid)
{
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "remove " << fn << dendl;
int r = ::unlink(fn);
int FileStore::_truncate(coll_t cid, pobject_t oid, __u64 size)
{
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "truncate " << fn << " size " << size << dendl;
int r = ::truncate(fn, size);
int FileStore::_touch(coll_t cid, pobject_t oid)
{
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "touch " << fn << dendl;
__u64 offset, size_t len,
const bufferlist& bl)
{
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "write " << fn << " " << offset << "~" << len << dendl;
int FileStore::_clone(coll_t cid, pobject_t oldoid, pobject_t newoid)
{
- char ofn[400], nfn[400];
+ char ofn[PATH_MAX], nfn[PATH_MAX];
get_coname(cid, oldoid, ofn);
get_coname(cid, newoid, nfn);
int FileStore::_clone_range(coll_t cid, pobject_t oldoid, pobject_t newoid, __u64 off, __u64 len)
{
- char ofn[400], nfn[400];
+ char ofn[PATH_MAX], nfn[PATH_MAX];
get_coname(cid, oldoid, ofn);
get_coname(cid, newoid, nfn);
{
if (fake_attrs) return attrs.getattr(cid, oid, name, value, size);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "getattr " << fn << " '" << name << "' len " << size << dendl;
- char n[40];
+ char n[ATTR_MAX];
get_attrname(name, n);
int r = do_getxattr(fn, n, value, size);
dout(10) << "getattr " << fn << " '" << name << "' len " << size << " = " << r << dendl;
{
if (fake_attrs) return attrs.getattr(cid, oid, name, bp);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "getattr " << fn << " '" << name << "'" << dendl;
- char n[40];
+ char n[ATTR_MAX];
get_attrname(name, n);
int r = _getattr(fn, n, bp);
dout(10) << "getattr " << fn << " '" << name << "' = " << r << dendl;
{
if (fake_attrs) return attrs.getattrs(cid, oid, aset);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "getattrs " << fn << dendl;
int r = _getattrs(fn, aset);
{
if (fake_attrs) return attrs.setattr(cid, oid, name, value, size);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "setattr " << fn << " '" << name << "' len " << size << dendl;
- char n[40];
+ char n[ATTR_MAX];
get_attrname(name, n);
int r = do_setxattr(fn, n, value, size);
dout(10) << "setattr " << fn << " '" << name << "' len " << size << " = " << r << dendl;
{
if (fake_attrs) return attrs.setattrs(cid, oid, aset);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "setattrs " << fn << dendl;
int r = 0;
for (map<nstring,bufferptr>::iterator p = aset.begin();
p != aset.end();
++p) {
- char n[100];
+ char n[ATTR_MAX];
get_attrname(p->first.c_str(), n);
const char *val;
if (p->second.length())
{
if (fake_attrs) return attrs.rmattr(cid, oid, name);
- char fn[400];
+ char fn[PATH_MAX];
get_coname(cid, oid, fn);
dout(15) << "rmattr " << fn << " '" << name << "'" << dendl;
- char n[40];
+ char n[ATTR_MAX];
get_attrname(name, n);
int r = do_removexattr(fn, n);
dout(10) << "rmattr " << fn << " '" << name << "' = " << r << dendl;
{
if (fake_attrs) return attrs.collection_getattr(c, name, value, size);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "collection_getattr " << fn << " '" << name << "' len " << size << dendl;
- char n[200];
+ char n[PATH_MAX];
get_attrname(name, n);
int r = do_getxattr(fn, n, value, size);
dout(10) << "collection_getattr " << fn << " '" << name << "' len " << size << " = " << r << dendl;
{
if (fake_attrs) return attrs.collection_getattr(c, name, bl);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "collection_getattr " << fn << " '" << name << "'" << dendl;
- char n[200];
+ char n[PATH_MAX];
get_attrname(name, n);
buffer::ptr bp;
{
if (fake_attrs) return attrs.collection_getattrs(cid, aset);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(cid, fn);
dout(10) << "collection_getattrs " << fn << dendl;
int r = _getattrs(fn, aset);
{
if (fake_attrs) return attrs.collection_setattr(c, name, value, size);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(10) << "collection_setattr " << fn << " '" << name << "' len " << size << dendl;
- char n[200];
+ char n[PATH_MAX];
get_attrname(name, n);
int r = do_setxattr(fn, n, value, size);
dout(10) << "collection_setattr " << fn << " '" << name << "' len " << size << " = " << r << dendl;
{
if (fake_attrs) return attrs.collection_rmattr(c, name);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "collection_rmattr " << fn << dendl;
- char n[200];
+ char n[PATH_MAX];
get_attrname(name, n);
int r = do_removexattr(fn, n);
dout(10) << "collection_rmattr " << fn << " = " << r << dendl;
{
if (fake_attrs) return attrs.collection_setattrs(cid, aset);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(cid, fn);
dout(15) << "collection_setattrs " << fn << dendl;
int r = 0;
for (map<nstring,bufferptr>::iterator p = aset.begin();
p != aset.end();
++p) {
- char n[200];
+ char n[PATH_MAX];
get_attrname(p->first.c_str(), n);
r = do_setxattr(fn, n, p->second.c_str(), p->second.length());
if (r < 0) break;
dout(10) << "list_collections" << dendl;
- char fn[400];
+ char fn[PATH_MAX];
sprintf(fn, "%s", basedir.c_str());
DIR *dir = ::opendir(fn);
{
if (fake_collections) return collections.collection_stat(c, st);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "collection_stat " << fn << dendl;
int r = ::stat(fn, st);
{
if (fake_collections) return collections.collection_empty(c);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "collection_empty " << fn << dendl;
{
if (fake_collections) return collections.collection_list(c, ls);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(10) << "collection_list " << fn << dendl;
{
if (fake_collections) return collections.create_collection(c);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "create_collection " << fn << dendl;
int r = ::mkdir(fn, 0755);
{
if (fake_collections) return collections.destroy_collection(c);
- char fn[400];
+ char fn[PATH_MAX];
get_cdir(c, fn);
dout(15) << "_destroy_collection " << fn << dendl;
int r = ::rmdir(fn);
- //char cmd[200];
+ //char cmd[PATH_MAX];
//sprintf(cmd, "test -d %s && rm -r %s", fn, fn);
//system(cmd);
if (r < 0) r = -errno;
{
if (fake_collections) return collections.collection_add(c, o);
- char cof[200];
+ char cof[PATH_MAX];
get_coname(c, o, cof);
- char of[200];
+ char of[PATH_MAX];
get_coname(cid, o, of);
dout(15) << "collection_add " << cof << " " << of << dendl;
int r = ::link(of, cof);
{
if (fake_collections) return collections.collection_remove(c, o);
- char cof[200];
+ char cof[PATH_MAX];
get_coname(c, o, cof);
dout(15) << "collection_remove " << cof << dendl;
int r = ::unlink(cof);