tree 19b30f4af05af9c14d258708c9c0a3ca01020492
parent 69be23fc2679ba4572945214a2ef062509c82e1f
author Jaeyoon Choi <j_yoon.choi@samsung.com> 1619521939 +0900
committer Brett Wilson <brettw@google.com> 1621360701 +0000

[f2fs] code refactoring: node.h, node.cc

  Change struct xxx to xxx (node.h)
  (comment: #312 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/520881/2)

  Change #define to constexpr (node.h, node.cc)
  (comment: #9, #128 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/511840)

  Add default initializers for member variables (node.h)
  (comment: #53 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/511839)

  Change enum to enum class (node.h)
  (comment: #429 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/511841)

  Change unsigned int style to uint32_t (node.h, node.cc)
  (comment: #142 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/511840)

  Change struct xxx to xxx (node.cc)
  (comment: #312 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/520881/2)

  Change C style cast to static_cast (node.cc)
  (comment: #571 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/520880)

  Change #define to inline function (node.cc)
  (comment: #749 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/511842)

  Change error return using zx_status_t (node.h, node.cc)
  (comment: #24, #106 https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/520882)

  Remove unnecessary [[maybe_unused]] (node.cc)
  Remove double-underscore names (node.h, node.cc)

Change-Id: Ie4e47da9914a220fab1481699dc6672db52721bf
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/f2fs/+/530804
Reviewed-by: Brett Wilson <brettw@google.com>
