Hello Jan, Arne
On 11/01/2013 05:16 PM, Jan Schmidt wrote:
I've understood the problem this reproducer creates. In fact, you can shorten it
dramatically. The story of qgroups is going to turn awkward at this point.
mkfs and enable quota, put some data in (needs a level 2 tree)
-> this accounts
On Fri, Nov 01, 2013 at 07:28:41PM -0500, BJ Quinn wrote:
> I keep running into this issue --
>
> Oct 31 19:45:26 localhost kernel: kernel BUG at fs/btrfs/ctree.c:2964!
> Oct 31 19:45:26 localhost kernel: invalid opcode: [#2] SMP
> Oct 31 19:45:26 localhost kernel: Modules linked in: des_gen
I keep running into this issue --
Oct 31 19:45:26 localhost kernel: kernel BUG at fs/btrfs/ctree.c:2964!
Oct 31 19:45:26 localhost kernel: invalid opcode: [#2] SMP
Oct 31 19:45:26 localhost kernel: Modules linked in: des_generic ecb md4
nls_utf8 cifs fscache dns_resolver usb_storage fuse ip
Hello,
I have noticed that my server experiences high load average when writing
to it. So I checked the file-system and found errors:
./btrfsck /dev/sdc1
Checking filesystem on /dev/sdc1
UUID: 989306aa-d291-4752-8477-0baf94f8c42f
checking extents
checking free space cache
checking fs roots
roo
> +static int btrfs_ioctl_get_supported_features(struct file *file,
> + void __user *arg)
> +{
> + struct btrfs_ioctl_feature_flags features[3];
> +
> + features[0].compat_flags = BTRFS_FEATURE_COMPAT_SUPP;
> + features[0].compat_ro_flags = BTRF
struct kobj_attribute implements the baseline attribute functionality
that can be used all over the place. We should export the ops associated
with it.
Signed-off-by: Jeff Mahoney
Signed-off-by: Greg Kroah-Hartman
---
lib/kobject.c |1 +
1 file changed, 1 insertion(+)
--- a/lib/kobject.c
Now that we have the infrastructure for per-super attributes, we can
publish device membership in /sys/fs/btrfs//devices. The information
is published as symlinks to the block devices.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h |1 +
fs/btrfs/sysfs.c | 32
While trying to debug ENOSPC issues, it's helpful to understand what the
kernel's view of the available space is. We export this information
via ioctl, but sysfs files are more easily used.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h |5 +
fs/btrfs/extent-tree.c | 82 +++
btrfs filesystem df output will show the size of the metadata space
and how much of it is used, and the user assumes that the difference
is all usable space. Since that's not actually the case due to the
global metadata reservation, we should provide the full picture to the
user.
This patch adds a
This patch adds the ability to publish supported features to sysfs under
/sys/fs/btrfs/features.
The files are module-wide and export which features the kernel supports.
The content, for now, is just "0\n".
Signed-off-by: Jeff Mahoney
---
fs/btrfs/sysfs.c | 44 +++
This adds a writeable attribute which describes the label.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/sysfs.c | 44
1 file changed, 44 insertions(+)
--- a/fs/btrfs/sysfs.c 2013-10-21 16:20:06.395804741 -0400
+++ b/fs/btrfs/sysfs.c 2013-10-21 16:23:
This patch publishes information on which features are enabled in the
file system on a per-super basis. At this point, it only publishes
information on features supported by the file system implementation.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/sysfs.c | 81 ++
This patchset implements the stubbed-out sysfs interface for btrfs. Or
at least begins to do so.
We publish:
- Features supported by the file system implementation
- Features enabled on the file system, including features unknown to
the implemenation. These attributes can also be used to enable
With the compat and compat-ro bits, it's possible for file systems to
exist that have features that aren't supported by the kernel's file system
implementation yet still be mountable.
This patch publishes read-only info on those features using a prefix:number
format, where the number is the bit nu
When debugging ENOSPC issues, it's nice to be able to see which
reservations failed as well as the ones which succeeded.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/extent-tree.c |7 +++
1 file changed, 7 insertions(+)
--- a/fs/btrfs/extent-tree.c2013-10-21 16:10:02.751981911 -0400
+++
This patch adds per-super attributes to sysfs.
It doesn't publish any attributes yet, but does the proper lifetime
handling as well as the basic infrastructure to add new attributes.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h |2 ++
fs/btrfs/disk-io.c |9 +
fs/btrfs/sysf
This patch adds the ability to change (set/clear) features while the file
system is mounted. A bitmask is added for each feature set for the
support to set and clear the bits. A message indicating which bit
has been set or cleared is issued when it's been changed and also when
permission or support
Now that we have the feature name strings available in the kernel via
the sysfs attributes, we can use them for printing better failure
messages from the ioctl path.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ioctl.c | 35 ++-
fs/btrfs/sysfs.c | 33 +
There are some feature bits that require no offline setup and can
be enabled online. I've only reviewed extended irefs, but there will
probably be more.
We introduce three new ioctls:
- BTRFS_IOC_GET_SUPPORTED_FEATURES: query the kernel for supported features.
- BTRFS_IOC_GET_FEATURES: query the k
On Thu, Oct 24, 2013 at 03:22:06PM +0200, Jan Schmidt wrote:
> btrfs_dec_ref() queued a delayed ref for owner of a tree block. The qgroup
> tracking is based on delayed refs. The owner of a tree block is set when a
> tree block is allocated, it is never updated.
>
> When you allocate a tree block
Hi Guys,
I've tried to do all possible things by myself, but unfortunately all
have failed.
Therefore I'm looking for your help to get back my valuable data as FS
failed at the time before I was able to finish backup tasks
The error I'm getting is:
# mount -o ro,nospace_cache /mnt/btrfs-backup/b
On Fri, Nov 01, 2013 at 10:16:37AM +0100, Jan Schmidt wrote:
> (cc Arne)
>
> On Thu, October 24, 2013 at 16:49 (+0200), Wang Shilong wrote:
> > Hello Jan,
> >
> >> btrfs_dec_ref() queued a delayed ref for owner of a tree block. The qgroup
> >> tracking is based on delayed refs. The owner of a tre
On Fri, Nov 01, 2013 at 08:30:44AM +0100, Stefan Behrens wrote:
> On Thu, 31 Oct 2013 16:50:43 -0400, Josef Bacik wrote:
> > I hit this problem with my no holes patch and it made me realize what the
> > problem was for bz 60834. If the first item in the leaf is an inline
> > extent and
> > we try
Hi Karl,
On Fri, October 25, 2013 at 15:12 (+0200), Karl Kiniger wrote:
> is there low level support to change inode ctimes somehow?
> (on ext[234] it can be done using debugfs)
No.
> It would be nice to make received snapshots as similar as
> possible to their send source. (I am not talking abo
Hi Josef,
please consider this patch for btrfs-next and for the following merge window
(3.13). The fact that there's another problem concerning qgroups as discussed in
the rest of this thread doesn't make this patch any less correct.
Thanks,
-Jan
On Thu, October 24, 2013 at 15:22 (+0200), Jan Sc
(cc Arne)
On Thu, October 24, 2013 at 16:49 (+0200), Wang Shilong wrote:
> Hello Jan,
>
>> btrfs_dec_ref() queued a delayed ref for owner of a tree block. The qgroup
>> tracking is based on delayed refs. The owner of a tree block is set when a
>> tree block is allocated, it is never updated.
>>
>
On Thu, 31 Oct 2013 16:50:43 -0400, Josef Bacik wrote:
> I hit this problem with my no holes patch and it made me realize what the
> problem was for bz 60834. If the first item in the leaf is an inline extent
> and
> we try to read anything starting from disk_bytenr onward we will read off the
>
This patch is the second step in bootstrapping the btrfs_find_item
interface. The function btrfs_find_root_ref is similar to the former
__inode_info; it accepts four of its parameters, and duplicates the
first half of its functionality.
The one former call to btrfs_find_root_ref has been replaced
This is the third step in bootstrapping the btrfs_find_item interface.
The function find_orphan_item, in orphan.c, is similar to the two
functions already replaced by the new interface. It uses two parameters,
which are already present in the interface, and is nearly identical to
the function broug
29 matches
Mail list logo