Re: [GIT PULL] xfs: new code for 5.11

2020-12-31 Thread Darrick J. Wong
On Tue, Dec 29, 2020 at 10:49:55AM +0300, Dmitrii Tcvetkov wrote:
> >Please pull the following branch containing all the new xfs code for
> >5.11.  In this release we add the ability to set a 'needsrepair' flag
> >indicating that we /know/ the filesystem requires xfs_repair, but other
> >than that, it's the usual strengthening of metadata validation and
> >miscellaneous cleanups.
> >...
> >New code for 5.11:
> >- Introduce a "needsrepair" "feature" to flag a filesystem as needing a
> >  pass through xfs_repair.  This is key to enabling filesystem upgrades
> >  (in xfs_db) that require xfs_repair to make minor adjustments to
> >metadata.
> 
> Hello.
> 
> Most likely I miss something obvious but according to xfs_repair(8):
> BUGS:
> The filesystem to be checked and repaired must have been unmounted
> cleanly  using  normal  system  administration  procedures (the
> umount(8)  command  or  system  shutdown),  not  as  a  result of a
> crash or system reset.  If the filesystem has not been unmounted
> cleanly, mount it and unmount it cleanly before running xfs_repair.
> 
> which is there since commit d321ceac "add libxlog directory"
> Date:   Wed Oct 17 11:00:32 2001 + in xfsprogs-dev[1]. 
> 
> So will be there situation of uncleanly unmounted filesystem with
> "needsrepair" bit set?

No.  If we detect metadata corruption we stop writing metadata
and take the fs offline immediately.  We would not set needsrepair, for
exactly the reasons you outline.

--D

> Will one be able to mount and umount it before running xfs_repair in
> that case?
> 
> [1] git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git


Re: [GIT PULL] xfs: new code for 5.11

2020-12-28 Thread Dmitrii Tcvetkov
>Please pull the following branch containing all the new xfs code for
>5.11.  In this release we add the ability to set a 'needsrepair' flag
>indicating that we /know/ the filesystem requires xfs_repair, but other
>than that, it's the usual strengthening of metadata validation and
>miscellaneous cleanups.
>...
>New code for 5.11:
>- Introduce a "needsrepair" "feature" to flag a filesystem as needing a
>  pass through xfs_repair.  This is key to enabling filesystem upgrades
>  (in xfs_db) that require xfs_repair to make minor adjustments to
>metadata.

Hello.

Most likely I miss something obvious but according to xfs_repair(8):
BUGS:
The filesystem to be checked and repaired must have been unmounted
cleanly  using  normal  system  administration  procedures (the
umount(8)  command  or  system  shutdown),  not  as  a  result of a
crash or system reset.  If the filesystem has not been unmounted
cleanly, mount it and unmount it cleanly before running xfs_repair.

which is there since commit d321ceac "add libxlog directory"
Date:   Wed Oct 17 11:00:32 2001 + in xfsprogs-dev[1]. 

So will be there situation of uncleanly unmounted filesystem with
"needsrepair" bit set? Will one be able to mount and umount it before
running xfs_repair in that case?

[1] git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git


Re: [GIT PULL] xfs: new code for 5.11

2020-12-18 Thread pr-tracker-bot
The pull request you sent on Fri, 18 Dec 2020 09:12:42 -0800:

> git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.11-merge-4

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/a0b96314870f7eff6d15a242cb162dfc46b3c284

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


[GIT PULL] xfs: new code for 5.11

2020-12-18 Thread Darrick J. Wong
Hi Linus,

Please pull the following branch containing all the new xfs code for
5.11.  In this release we add the ability to set a 'needsrepair' flag
indicating that we /know/ the filesystem requires xfs_repair, but other
than that, it's the usual strengthening of metadata validation and
miscellaneous cleanups.

The branch merges cleanly with your upstream head as of a few minutes
ago, so please let me know if anything strange happens.  Note also that
I will not be sending any iomap pull requests for this merge window as
there weren't any major iomap changes this cycle.

--D

The following changes since commit 418baf2c28f3473039f2f7377760bd8f6897ae18:

  Linux 5.10-rc5 (2020-11-22 15:36:08 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.11-merge-4

for you to fetch changes up to e82226138b20d4f638426413e83c6b5db532c6a2:

  xfs: remove xfs_buf_t typedef (2020-12-16 16:07:34 -0800)


New code for 5.11:
- Introduce a "needsrepair" "feature" to flag a filesystem as needing a
  pass through xfs_repair.  This is key to enabling filesystem upgrades
  (in xfs_db) that require xfs_repair to make minor adjustments to metadata.
- Refactor parameter checking of recovered log intent items so that we
  actually use the same validation code as them that generate the intent
  items.
- Various fixes to online scrub not reacting correctly to directory
  entries pointing to inodes that cannot be igetted.
- Refactor validation helpers for data and rt volume extents.
- Refactor XFS_TRANS_DQ_DIRTY out of existence.
- Fix a longstanding bug where mounting with "uqnoenforce" would start
  user quotas in non-enforcing mode but /proc/mounts would display
  "usrquota", implying that they are being enforced.
- Don't flag dax+reflink inodes as corruption since that is a valid (but
  not fully functional) combination right now.
- Clean up raid stripe validation functions.
- Refactor the inode allocation code to be more straightforward.
- Small prep cleanup for idmapping support.
- Get rid of the xfs_buf_t typedef.


Christoph Hellwig (2):
  xfs: remove xfs_vn_setattr_nonsize
  xfs: open code updating i_mode in xfs_set_acl

Darrick J. Wong (21):
  xfs: move kernel-specific superblock validation out of libxfs
  xfs: define a new "needrepair" feature
  xfs: enable the needsrepair feature
  xfs: hoist recovered bmap intent checks out of xfs_bui_item_recover
  xfs: improve the code that checks recovered bmap intent items
  xfs: hoist recovered rmap intent checks out of xfs_rui_item_recover
  xfs: improve the code that checks recovered rmap intent items
  xfs: hoist recovered refcount intent checks out of xfs_cui_item_recover
  xfs: improve the code that checks recovered refcount intent items
  xfs: hoist recovered extent-free intent checks out of xfs_efi_item_recover
  xfs: improve the code that checks recovered extent-free intent items
  xfs: validate feature support when recovering rmap/refcount intents
  xfs: trace log intent item recovery failures
  xfs: detect overflows in bmbt records
  xfs: fix parent pointer scrubber bailing out on unallocated inodes
  xfs: scrub should mark a directory corrupt if any entries cannot be iget'd
  xfs: refactor data device extent validation
  xfs: refactor realtime volume extent validation
  xfs: refactor file range validation
  xfs: rename xfs_fc_* back to xfs_fs_*
  xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks

Dave Chinner (5):
  xfs: introduce xfs_dialloc_roll()
  xfs: move on-disk inode allocation out of xfs_ialloc()
  xfs: move xfs_dialloc_roll() into xfs_dialloc()
  xfs: spilt xfs_dialloc() into 2 functions
  xfs: remove xfs_buf_t typedef

Eric Sandeen (1):
  xfs: don't catch dax+reflink inodes as corruption in verifier

Gao Xiang (3):
  xfs: introduce xfs_validate_stripe_geometry()
  xfs: convert noroom, okalloc in xfs_dialloc() to bool
  xfs: kill ialloced in xfs_dialloc()

Joseph Qi (1):
  xfs: remove unneeded return value check for *init_cursor()

Kaixu Xia (6):
  xfs: delete duplicated tp->t_dqinfo null check and allocation
  xfs: check tp->t_dqinfo value instead of the XFS_TRANS_DQ_DIRTY flag
  xfs: directly return if the delta equal to zero
  xfs: remove unnecessary null check in xfs_generic_create
  xfs: remove the unused XFS_B_FSB_OFFSET macro
  xfs: show the proper user quota options

Zheng Yongjun (1):
  fs/xfs: convert comma to semicolon

 fs/xfs/libxfs/xfs_alloc.c|  16 +--
 fs/xfs/libxfs/xfs_bmap.c |  28 ++---
 fs/xfs/libxfs/xfs_bmap_btree.c   |   2 -
 fs/xfs/libxfs/xfs_btree.c|  12 +-
 fs/xfs/libxfs/xfs_format.h   |  11 +-
 fs/xfs/libxfs/xfs_ialloc.c   | 170 ++---