static int doTestGetDefaultBlockSize(hdfsFS fs, const char *path) { int64_t blockSize; int ret; blockSize = hdfsGetDefaultBlockSize(fs); if (blockSize < 0) { ret = errno; fprintf(stderr, "hdfsGetDefaultBlockSize failed with error %d\n", ret); return ret; } else if (blockSize != TLH_DEFAULT_BLOCK_SIZE) { fprintf(stderr, "hdfsGetDefaultBlockSize got %"PRId64", but we " "expected %d\n", blockSize, TLH_DEFAULT_BLOCK_SIZE); return EIO; } blockSize = hdfsGetDefaultBlockSizeAtPath(fs, path); if (blockSize < 0) { ret = errno; fprintf(stderr, "hdfsGetDefaultBlockSizeAtPath(%s) failed with " "error %d\n", path, ret); return ret; } else if (blockSize != TLH_DEFAULT_BLOCK_SIZE) { fprintf(stderr, "hdfsGetDefaultBlockSizeAtPath(%s) got " "%"PRId64", but we expected %d\n", path, blockSize, TLH_DEFAULT_BLOCK_SIZE); return EIO; } return 0; }
/** * call-seq: * hdfs.default_block_size_at_path(path) -> default_block_size * * Returns the default block size at the supplied HDFS path, raising a * DFSException if this was unsuccessful. */ VALUE HDFS_File_System_default_block_size_at_path(VALUE self, VALUE path) { FSData* data = get_FSData(self); long block_size = hdfsGetDefaultBlockSizeAtPath(data->fs, StringValuePtr(path)); if (block_size == -1) { rb_raise(e_dfs_exception, "Error while retrieving default block size at path %s: %s", StringValuePtr(path), get_error(errno)); return Qnil; } return LONG2NUM(block_size); }