Btrfs: Change st_blocksize to 4k
Chris Mason [Thu, 3 Jan 2008 19:51:00 +0000 (14:51 -0500)]
Some programs (python) do rwm cycles at the granularity returned by
stat.

Signed-off-by: Chris Mason <chris.mason@oracle.com>

fs/btrfs/inode.c
fs/btrfs/root-tree.c

index 6e2d036..6d0cd9a 100644 (file)
@@ -2701,7 +2701,7 @@ static int btrfs_getattr(struct vfsmount *mnt,
 {
        struct inode *inode = dentry->d_inode;
        generic_fillattr(inode, stat);
-       stat->blksize = 256 * 1024;
+       stat->blksize = PAGE_CACHE_SIZE;
        return 0;
 }
 
index e2b9b86..08f19ec 100644 (file)
@@ -75,7 +75,14 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root
        ret = btrfs_search_slot(trans, root, key, path, 0, 1);
        if (ret < 0)
                goto out;
-       BUG_ON(ret != 0);
+
+       if (ret != 0) {
+               btrfs_print_leaf(root, path->nodes[0]);
+               printk("unable to update root key %Lu %u %Lu\n",
+                      key->objectid, key->type, key->offset);
+               BUG_ON(1);
+       }
+
        l = path->nodes[0];
        slot = path->slots[0];
        ptr = btrfs_item_ptr_offset(l, slot);