and object sizes is in place.
cwd = NULL;
+ file_stripe_unit = -1;
+ file_stripe_count = -1;
+ object_size = -1;
+ file_replication = -1;
+
//
root = 0;
req->head.args.open.flags = flags | O_CREAT;
req->head.args.open.mode = mode;
+ req->head.args.open.stripe_unit = file_stripe_unit;
+ req->head.args.open.stripe_count = file_stripe_count;
+ req->head.args.open.object_size = object_size;
+ req->head.args.open.file_replication = file_replication;
+
int res = make_request(req, uid, gid);
if (res >= 0) {
// =========================================
// layout
+void Client::set_default_file_stripe_unit(int stripe_unit)
+{
+ file_stripe_unit = stripe_unit;
+}
+
+void Client::set_default_file_stripe_count(int count)
+{
+ file_stripe_count = count;
+}
+
+void Client::set_default_object_size(int size)
+{
+ object_size = size;
+}
+void Client::set_default_file_replication(int replication)
+{
+ file_replication = replication;
+}
int Client::describe_layout(int fd, ceph_file_layout *lp)
{
bool unmounting;
int unsafe_sync_write;
+
+ int file_stripe_unit;
+ int file_stripe_count;
+ int object_size;
+ int file_replication;
public:
entity_name_t get_myname() { return messenger->get_myname(); }
void sync_write_commit(Inode *in);
int get_file_replication(int fd);
int get_file_stripe_address(int fd, loff_t offset, string& address);
+ void set_default_file_stripe_unit(int stripe_unit);
+ void set_default_file_stripe_count(int count);
+ void set_default_object_size(int size);
+ void set_default_file_replication(int replication);
+
int enumerate_layout(int fd, vector<ObjectExtent>& result,
loff_t length, loff_t offset);
return rep;
}
+extern "C" int ceph_set_default_file_stripe_unit(int stripe)
+{
+ client->set_default_file_stripe_unit(stripe);
+}
+
+int ceph_set_default_file_stripe_count(int count)
+{
+ client->set_default_file_stripe_unit(count);
+}
+
+int ceph_set_default_object_size(int size)
+{
+ client->set_default_object_size(size);
+}
+
+int ceph_set_default_file_replication(int replication)
+{
+ client->set_default_file_replication(replication);
+}
+
int ceph_get_file_stripe_address(int fh, loff_t offset, char *buf, int buflen)
{
string address;
int ceph_get_file_stripe_unit(int fh);
int ceph_get_file_replication(const char *path);
int ceph_get_file_stripe_address(int fd, loff_t offset, char *buf, int buflen);
+int ceph_set_default_file_stripe_unit(int stripe);
+int ceph_set_default_file_stripe_count(int count);
+int ceph_set_default_object_size(int size);
+int ceph_set_default_file_replication(int replication);
}
#endif