From 0720b747430754bd007404b105bc167bb6b839e7 Mon Sep 17 00:00:00 2001 From: sageweil Date: Wed, 19 Dec 2007 18:30:37 +0000 Subject: [PATCH] ebofs: fixed 0 length writes git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@2236 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/config.cc | 8 ++++---- trunk/ceph/ebofs/Ebofs.cc | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/trunk/ceph/config.cc b/trunk/ceph/config.cc index 98c2ef70acc97..798187bed79b7 100644 --- a/trunk/ceph/config.cc +++ b/trunk/ceph/config.cc @@ -327,10 +327,10 @@ md_config_t g_conf = { ebofs_cloneable: false, ebofs_verify: false, ebofs_commit_ms: 1000, // 0 = no forced commit timeout (for debugging/tracing) - ebofs_oc_size: 10, // onode cache - ebofs_cc_size: 10, // cnode cache - ebofs_bc_size: (5 *256), // 4k blocks, *256 for MB - ebofs_bc_max_dirty: (3 *256), // before write() will block + ebofs_oc_size: 10000, // onode cache + ebofs_cc_size: 10000, // cnode cache + ebofs_bc_size: (50 *256), // 4k blocks, *256 for MB + ebofs_bc_max_dirty: (30 *256), // before write() will block ebofs_max_prefetch: 1000, // 4k blocks ebofs_realloc: false, // hrm, this can cause bad fragmentation, don't use! ebofs_verify_csum_on_read: true, diff --git a/trunk/ceph/ebofs/Ebofs.cc b/trunk/ceph/ebofs/Ebofs.cc index fbcba0531c0de..4f8787e822be4 100644 --- a/trunk/ceph/ebofs/Ebofs.cc +++ b/trunk/ceph/ebofs/Ebofs.cc @@ -2827,7 +2827,10 @@ int Ebofs::_write(pobject_t oid, off_t offset, size_t length, const bufferlist& } // apply write to buffer cache - if (length > 0) { + if (length == 0) { + dirty_onode(on); + break; + } else { int r = apply_write(on, offset, length, bl); if (r == 0) break; // yay! -- 2.39.5