Problem with current->journal_info for BTRFS, Null pointer dereference in start_transaction

2018-05-06 Thread robbieko
Hi, When send process requires memory allocation, shrinker may be triggered due to insufficient memory. Then evict_inode gets called when inode is dropped, and this function may need to start transaction. However, the journal_info is already points to BTRFS_SEND_TRANS_STUB, it passed the if co

[RFC PATCH] btrfs: qgroup: Only queue rescan work after QUOTA_ENABLED flag takes effect

2018-05-06 Thread Qu Wenruo
Currently we set QUOTA_ENABLED flags and then queue rescan work, and then commit current transaction. The behavior could lead to missing quota accounts as quota rescan only scan committed root, thus it won't account modification in current transaction. While for current transaction, we rely btrfs_

[PATCH v3 06/10] btrfs-progs: undelete-subvol: introduce link_subvol_to_lostfound

2018-05-06 Thread Lu Fengqi
The function will create lost+found directory, link the deleted subvolume specified by the subvol_id to the directory, update the information of root_item and cleanup the associated orphan item. Signed-off-by: Lu Fengqi Reviewed-by: Qu Wenruo --- V3: pass btrfs_fs_info instead of btrfs_root; add

[PATCH v3 10/10] btrfs-progs: undelete-subvol: update completion and documentation

2018-05-06 Thread Lu Fengqi
Add undelete-subvol to btrfs-completion, and update btrfs-rescue documentation to introduce undelete-subvol. Signed-off-by: Lu Fengqi --- V2: just add -s option documentation. Documentation/btrfs-rescue.asciidoc | 12 btrfs-completion| 2 +- 2 files changed, 13

[PATCH v3 09/10] btrfs-progs: tests: add testcase for undelete-subvol

2018-05-06 Thread Lu Fengqi
The testcase checks the functionality of "btrfs rescue undelete-subvol", including recovering an intact subvolume, and handling correctly incomplete subvolume. Signed-off-by: Lu Fengqi --- V3: rename testcase to 031-undelete-subvol; rename images and add image description to test.sh. V2: add shel

[PATCH v3 03/10] btrfs-progs: use btrfs_find_free_dir_index to find free inode index

2018-05-06 Thread Lu Fengqi
Since we have an existing function to find free inode index, we can reuse it here. Signed-off-by: Lu Fengqi Reviewed-by: Qu Wenruo --- V3: add Reviewed-by from Qu Wenruo. inode.c | 27 +++ 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/inode.c b/inode.c

[PATCH v3 01/10] btrfs-progs: copy btrfs_del_orphan_item from kernel

2018-05-06 Thread Lu Fengqi
Add btrfs_del_orphan_item for the later subvolume undelete. Signed-off-by: Lu Fengqi --- ctree.h | 2 ++ inode.c | 30 ++ 2 files changed, 32 insertions(+) diff --git a/ctree.h b/ctree.h index 1fef37c93485..46a1dbfd2f27 100644 --- a/ctree.h +++ b/ctree.h @@ -2796,6

[PATCH v3 04/10] btrfs-progs: undelete-subvol: introduce is_subvol_intact

2018-05-06 Thread Lu Fengqi
The function is used to determine whether the subvolume is intact. Signed-off-by: Lu Fengqi --- V3: add SPDX-License-Identifier; pass btrfs_fs_info instead of btrfs_root; use btrfs_read_fs_root instead of manually search; remove empty header file. Makefile | 3 ++- undelete-subvol.c |

[PATCH v3 00/10] undelete subvolume offline version

2018-05-06 Thread Lu Fengqi
This patchset will add undelete-subvol subcommand for btrfs rescue. Patchset can be fetched from github: https://github.com/littleroad/btrfs-progs.git undelete v2->v3: fixed some issues pointed out by Qu. v1->v2: add -s option to allow user specify the subvolume which will be recovered. The firs

[PATCH v3 05/10] btrfs-progs: undelete-subvol: introduce recover_dead_root

2018-05-06 Thread Lu Fengqi
The function will find the root_item specified by the subvol_id and clear the BTRFS_ROOT_SUBVOL_DEAD flag. Signed-off-by: Lu Fengqi --- V3: remove btrfs_root argument; don't modify root_refs. ctree.h | 1 + undelete-subvol.c | 51 +++ 2 fil

[PATCH v3 02/10] btrfs-progs: extract btrfs_link_subvol from btrfs_mksubvol

2018-05-06 Thread Lu Fengqi
The original btrfs_mksubvol is too specific to specify the directory that the subvolume will link to. Furthermore, in this transaction, we don't only need to create root_ref/dir-item, but also update the flags of root_item. Extract a generic btrfs_link_subvol that allow the caller pass a trans argu

[PATCH v3 08/10] btrfs-progs: undelete-subvol: add undelete-subvol subcommand

2018-05-06 Thread Lu Fengqi
Add the undelete-subvol subcommand for btrfs rescue. This subcommand is used to recover deleted subvolume left intact on the device. Signed-off-by: Lu Fengqi --- V3: remove OPEN_CTREE_PARTIAL flag. V2: add -s option to specify subvol_id. cmds-rescue.c | 69 ++

[PATCH v3 07/10] btrfs-progs: undelete-subvol: introduce btrfs_undelete_subvols

2018-05-06 Thread Lu Fengqi
The function default will traverse the all orphan items on the tree root, and recover the all intact subvolumes. If subvol_id is specified, then only the corresponding subvolume will be recovered. Signed-off-by: Lu Fengqi --- V3: pass btrfs_fs_info instead of btrfs_root; rename btrfs_undelete_int

Re: [PATCH v2 09/10] btrfs-progs: tests: add testcase for undelete-subvol

2018-05-06 Thread Lu Fengqi
On 04/18/2018 01:42 PM, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The testcase checks the functionality of "btrfs rescue undelete-subvol", including recovering an intact subvolume, and handling correctly incomplete subvolume. Signed-off-by: Lu Fengqi --- v2: add shell quoting t

Re: [PATCH v2 04/10] btrfs-progs: undelete-subvol: introduce is_subvol_intact

2018-05-06 Thread Qu Wenruo
On 2018年05月07日 10:03, Lu Fengqi wrote: > On Wed, Apr 18, 2018 at 01:12:10PM +0800, Qu Wenruo wrote: >> >> >> On 2018年03月27日 15:06, Lu Fengqi wrote: >>> The function is used to determine whether the subvolume is intact. >>> >>> Signed-off-by: Lu Fengqi >>> --- >>>  Makefile  |  3 ++- >>>

Re: [PATCH v2 08/10] btrfs-progs: undelete-subvol: add undelete-subvol subcommand

2018-05-06 Thread Lu Fengqi
On 04/18/2018 01:32 PM, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: Add the undelete-subvol subcommand for btrfs rescue. This subcommand is used to recover deleted subvolume left intact on the device. Signed-off-by: Lu Fengqi --- v2: add -s option to specify subvol_id. cmds-re

Re: [PATCH v2 07/10] btrfs-progs: undelete-subvol: introduce btrfs_undelete_intact_subvols

2018-05-06 Thread Lu Fengqi
On Wed, Apr 18, 2018 at 01:28:23PM +0800, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The function default will traverse the all orphan items on the tree root, and recover the all intact subvolumes. If subvol_id is specified, then only the corresponding subvolume will be recovered.

Re: [PATCH v2 06/10] btrfs-progs: undelete-subvol: introduce link_subvol_to_lostfound

2018-05-06 Thread Lu Fengqi
On 04/18/2018 01:21 PM, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The function will create lost+found directory, link the deleted subvolume specified by the subvol_id to the directory, update the information of root_item and cleanup the associated orphan item. Signed-off-by: Lu

Re: [PATCH v2 05/10] btrfs-progs: undelete-subvol: introduce recover_dead_root

2018-05-06 Thread Lu Fengqi
On Wed, Apr 18, 2018 at 01:16:55PM +0800, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The function will find the root_item specified by the subvol_id, clear the BTRFS_ROOT_SUBVOL_DEAD flag and set root_refs to one. Sorry I didn't point it out in btrfs_link_subvol() patch, but at

Re: [PATCH v2 04/10] btrfs-progs: undelete-subvol: introduce is_subvol_intact

2018-05-06 Thread Lu Fengqi
On Wed, Apr 18, 2018 at 01:12:10PM +0800, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The function is used to determine whether the subvolume is intact. Signed-off-by: Lu Fengqi --- Makefile | 3 ++- undelete-subvol.c | 53 ++

Re: [PATCH v2 02/10] btrfs-progs: extract btrfs_link_subvol from btrfs_mksubvol

2018-05-06 Thread Lu Fengqi
On Wed, Apr 18, 2018 at 01:02:43PM +0800, Qu Wenruo wrote: On 2018年03月27日 15:06, Lu Fengqi wrote: The original btrfs_mksubvol is too specific to specify the directory that the subvolume will link to. Furthermore, in this transaction, we don't only need to create root_ref/dir-item, but also upd

Wohltätigkeitsspende in Höhe von € 2.000.000,00

2018-05-06 Thread rudi
Lieber Freund, Ich bin Herr Richard Wahl der Mega-Gewinner von $ 533M In Mega Millions Jackpot spende ich an 5 zufällige Personen, wenn Sie diese E-Mail erhalten, dann wurde Ihre E-Mail nach einem Spinball ausgewählt. Ich habe den größten Teil meines Vermögens auf eine Reihe von Wohltätigkeits