[PATCH v3] btrfs: scrub: errors in tree enumeration

2011-06-09 Thread Arne Jansen
due to the semantics of btrfs_search_slot the path can point to an invalid slot when ret 0. This condition went unnoticed, which in turn could have led to an incomplete scrubbing. Signed-off-by: Arne Jansen sensi...@gmx.net --- Change in v2: - fix return value of scrub_enumerate_chunks

Re: [PATCH v2] btrfs: scrub: errors in tree enumeration

2011-06-09 Thread Arne Jansen
On 08.06.2011 15:48, Josef Bacik wrote: On 06/08/2011 04:38 AM, Arne Jansen wrote: due to the semantics of btrfs_search_slot the path can point to an invalid slot when ret 0. This condition went unnoticed, which in turn could have led to an incomplete scrubbing. Signed-off-by: Arne Jansen

Re: [GIT PULL] scrub fixes for -rc3

2011-06-09 Thread Arne Jansen
On 08.06.2011 19:54, Chris Mason wrote: Excerpts from Josef Bacik's message of 2011-06-08 09:25:57 -0400: On 06/08/2011 04:58 AM, Arne Jansen wrote: Hi Chris, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git for-chris It contains the 2 commits

Re: [PATCH] Btrfs: don't map extent buffer if path-skip_locking is set

2011-06-09 Thread Arne Jansen
On 08.06.2011 20:45, Josef Bacik wrote: Arne's scrub stuff exposed a problem with mapping the extent buffer in reada_for_search. He searches the commit root with multiple threads and with skip_locking set, so we can race and overwrite node-map_token since node isn't locked. So fix this so

[PATCH] Btrfs: add discard flag to btrfs_device and make btrfs_discard_extent aware of that

2011-06-09 Thread Li Dongyang
With discard flag in btrfs_device, we will only push trim request to the devices support that. Now we don't return EOPNOTSUPP to the caller, so we won't trigger BUG_ONs in the walk_log_tree functions if we mount a drive without DISCARD using -o discard, but it is still possible if we get errors

[PATCH] Btrfs: turn to readonly if btrfs_start_transaction() fails

2011-06-09 Thread Tsutomu Itoh
When btrfs_start_transaction() fails, we should call btrfs_std_error() properly for filesystem to readonly. (in this patch, forced readonly framework is used) Signed-off-by: Tsutomu Itoh t-i...@jp.fujitsu.com --- fs/btrfs/file.c|1 + fs/btrfs/inode.c | 34

Re: [PATCH 2/2] Btrfs: serialize flushers in reserve_metadata_bytes

2011-06-09 Thread David Sterba
On Tue, Jun 07, 2011 at 04:44:09PM -0400, Josef Bacik wrote: --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2932,6 +2932,8 @@ static int update_space_info(struct btrfs_fs_info *info, u64 flags, found-full = 0; found-force_alloc = CHUNK_ALLOC_NO_FORCE;

[PATCH] btrfs: fix unlocked access of delalloc_inodes

2011-06-09 Thread David Sterba
list_splice_init will make delalloc_inodes empty, but without a spinlock around, this may produce corrupted list head, accessed in many placess, The race window is very tight and nobody seems to have hit it so far. Signed-off-by: David Sterba dste...@suse.cz --- fs/btrfs/disk-io.c |3 +-- 1

Re: [PATCH 2/2] Btrfs: serialize flushers in reserve_metadata_bytes

2011-06-09 Thread Josef Bacik
On 06/09/2011 05:45 AM, David Sterba wrote: On Tue, Jun 07, 2011 at 04:44:09PM -0400, Josef Bacik wrote: --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2932,6 +2932,8 @@ static int update_space_info(struct btrfs_fs_info *info, u64 flags, found-full = 0;

Re: kernel BUG at fs/btrfs/inode.c:4676!

2011-06-09 Thread Jan Steffens
On Mon, Jun 6, 2011 at 12:19 PM, Marek Otahal markota...@gmail.com wrote: Hello, the issue happens every time when i have to hard power-off my notebook (suspend problems). With kernel 2.6.39 the partition is unmountable, solution is to boot 2.6.38 kernel which 1/ is able to mount the

Re: [PATCH] Btrfs: turn to readonly if btrfs_start_transaction() fails

2011-06-09 Thread David Sterba
On Thu, Jun 09, 2011 at 06:38:52PM +0900, Tsutomu Itoh wrote: When btrfs_start_transaction() fails, we should call btrfs_std_error() properly for filesystem to readonly. (in this patch, forced readonly framework is used) Signed-off-by: Tsutomu Itoh t-i...@jp.fujitsu.com ---

Re: [PATCH] Btrfs: fix extent state leak on failed nodatasum reads

2011-06-09 Thread Jan Schmidt
Hi Chris, On 04.05.2011 16:18, Jan Schmidt wrote: When encountering an EIO while reading from a nodatasum extent, we insert an error record into the inode's failure tree. btrfs_readpage_end_io_hook returns early for nodatasum inodes. We'd better clear the failure tree in that case, otherwise

Re: [PATCH] Btrfs: fix extent state leak on failed nodatasum reads

2011-06-09 Thread Chris Mason
Excerpts from Jan Schmidt's message of 2011-06-09 12:16:06 -0400: Hi Chris, On 04.05.2011 16:18, Jan Schmidt wrote: When encountering an EIO while reading from a nodatasum extent, we insert an error record into the inode's failure tree. btrfs_readpage_end_io_hook returns early for

Re: [PATCH 2/2] Btrfs: serialize flushers in reserve_metadata_bytes

2011-06-09 Thread David Sterba
On Thu, Jun 09, 2011 at 10:00:42AM -0400, Josef Bacik wrote: We're not trying to be perfect here, we're trying to be fast :). Be even faster with smp_rmb() :) david -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org

Re: [PATCH] Btrfs - use %pU to print fsid

2011-06-09 Thread Ilya Dryomov
Hi Chris, Can you pull this into the next -rc ? It's minor, but people think it's useful. I just had another person asking about this patch. Thanks, Ilya -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to

3.0-rcX BUG at fs/btrfs/ioctl.c:432 - bisected

2011-06-09 Thread Jim Schutt
Hi, I've run into the following BUG on 3.0-rcX kernels when running mkcephfs: Jun 9 15:14:50 an1 [ 299.446615] [ cut here ] Jun 9 15:14:50 an1 [ 299.447357] kernel BUG at fs/btrfs/ioctl.c:432! Jun 9 15:14:50 an1 [ 299.447357] invalid opcode: [#1] SMP Jun 9

defrag makes fragmentation worse

2011-06-09 Thread Johannes Hirte
I've observed several times that after a btrfs filesystem defrag a file was way more fragmented than before. For example, a file that was recently written, had 10 extents (output from filefrag). After a defrag filefrag showed more than 1900 extents. For curiosity, a simple copy of this

Re: 3.0-rcX BUG at fs/btrfs/ioctl.c:432 - bisected

2011-06-09 Thread David Sterba
Hi, a candidate fix: http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=commit;h=aa0467d8d2a00e75b2bb6a56a4ee6d70c5d1928f With Linus' tree, today's linux-next build (powercp ppc64_defconfig) produced this warning: fs/btrfs/delayed-inode.c: In function

Re: [PATCH] Btrfs: turn to readonly if btrfs_start_transaction() fails

2011-06-09 Thread Tsutomu Itoh
(2011/06/10 0:51), David Sterba wrote: On Thu, Jun 09, 2011 at 06:38:52PM +0900, Tsutomu Itoh wrote: When btrfs_start_transaction() fails, we should call btrfs_std_error() properly for filesystem to readonly. (in this patch, forced readonly framework is used) Signed-off-by: Tsutomu Itoh

Re: defrag makes fragmentation worse

2011-06-09 Thread David Sterba
On Fri, Jun 10, 2011 at 12:48:36AM +0200, Johannes Hirte wrote: I've observed several times that after a btrfs filesystem defrag a file was way more fragmented than before. For example, a file that was recently written, had 10 extents (output from filefrag). After a defrag filefrag showed

Re: [PATCH] Btrfs: add discard flag to btrfs_device and make btrfs_discard_extent aware of that

2011-06-09 Thread David Sterba
On Thu, Jun 09, 2011 at 03:28:09PM +0800, Li Dongyang wrote: --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -45,6 +45,7 @@ struct btrfs_device { int running_pending; u64 generation; + int discard; can you pick a better name? this does not describe that it's the

Re: kernel BUG at fs/btrfs/inode.c:2260!

2011-06-09 Thread David Sterba
Hi, On Mon, May 30, 2011 at 01:33:21PM -0400, James Cloos wrote: The BUG_ON() call is from: if (!BTRFS_I(inode)-orphan_meta_reserved) { BTRFS_I(inode)-orphan_meta_reserved = 1; reserve = 1; } /* *ELIDED* */ /* grab metadata

Re: [PATCH 00/11 v2] Btrfs: improve write ahead log with sub transaction

2011-06-09 Thread David Sterba
Hi, is it possible to refresh this patchset and resend? I'd like to enroll it and give it some review and testing. So far I have seen notions and use of trans_mutex, which has been removed. thanks, david -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a

Re: [PATCH 00/11 v2] Btrfs: improve write ahead log with sub transaction

2011-06-09 Thread liubo
On 06/10/2011 08:40 AM, David Sterba wrote: Hi, is it possible to refresh this patchset and resend? I'd like to enroll it and give it some review and testing. So far I have seen notions and use of trans_mutex, which has been removed. Sure, thanks for the passion. Yea, I've noticed the

Re: kernel BUG at fs/btrfs/inode.c:4676!

2011-06-09 Thread Andy Lutomirski
On 06/06/2011 06:19 AM, Marek Otahal wrote: Hello, the issue happens every time when i have to hard power-off my notebook (suspend problems). With kernel 2.6.39 the partition is unmountable, solution is to boot 2.6.38 kernel which 1/ is able to mount the partition, 2/ by doing that fixes the

Re: kernel BUG at fs/btrfs/inode.c:4676!

2011-06-09 Thread Daniel J Blueman
On 10 June 2011 09:57, Andy Lutomirski l...@mit.edu wrote: On 06/06/2011 06:19 AM, Marek Otahal wrote: Hello, the issue happens every time when i have to hard power-off my notebook (suspend problems). With kernel 2.6.39 the partition is unmountable, solution is to boot 2.6.38 kernel which

Re: 3.0-rcX BUG at fs/btrfs/ioctl.c:432 - bisected

2011-06-09 Thread Miao Xie
Hi, On Thu, 9 Jun 2011 15:52:43 -0600, Jim Schutt wrote: Jun 9 15:14:50 an1 [ 299.446615] [ cut here ] Jun 9 15:14:50 an1 [ 299.447357] kernel BUG at fs/btrfs/ioctl.c:432! Jun 9 15:14:50 an1 [ 299.447357] invalid opcode: [#1] SMP Jun 9 15:14:50 an1 [

Re: kernel BUG at fs/btrfs/inode.c:2260!

2011-06-09 Thread James Cloos
DS == David Sterba d...@jikos.cz writes: DS confirmed, -ENOSPC == -28 So not a novel BUG_ON() after all. On the plus side, it has not re-appeared in the 3.0 rc's. That (4 Gig) fs currently has: :; find /usr/local/portage|wc -l 444073 :; df /usr/local/portage Filesystem 1K-blocksUsed

Re: [PATCH] Btrfs: add discard flag to btrfs_device and make btrfs_discard_extent aware of that

2011-06-09 Thread Li Dongyang
On Friday, June 10, 2011 08:00:17 AM David Sterba wrote: On Thu, Jun 09, 2011 at 03:28:09PM +0800, Li Dongyang wrote: --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -45,6 +45,7 @@ struct btrfs_device { int running_pending; u64 generation; + int discard; can you