• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

procsfdisk.awk "original_variable" calulation?

Scheduled Pinned Locked Moved
Bug Reports
5
18
790
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R
    rodluz Developer @H3Krn
    last edited by Nov 30, 2022, 11:55 PM

    @h3krn & @Sebastian-Roth I may be completely wrong about this one (I haven’t really taken a deep dive into this file) but looking at the code, is the issue in the if statement in line 457? I only say this because the comment contradicts the statement. Should the ! be removed from the if statement?

    456        # If fixed, add the partition size.
    457        if (!match(fixedList, regex)) {
    458            # Increment the variable value.
    459            original_variable += p_size;
    460            continue;
    461        }
    

    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

    T H 3 Replies Last reply Dec 1, 2022, 10:34 AM Reply Quote 0
    • T
      Tom Elliott @rodluz
      last edited by Dec 1, 2022, 10:34 AM

      @rodluz It’s been a very long time since I’ve had to work on this file.

      I suspect the comment is correct though, even if the if statement is odd (but I’d have to review the whole of procsfdisk.awk for full understanding. A few lines out of the whole isn’t generally enough of an overview, but that doesn’t mean we didn’t make a mistake either.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

      1 Reply Last reply Reply Quote 0
      • H
        H3Krn @rodluz
        last edited by Dec 1, 2022, 12:14 PM

        @rodluz allthough that comment did confuse me. I don’t think it is related to my issue with calculation of the extended partition. Currently what I know of the filldisk functions is:

        • It sums the sizes of all fixed partitions from the image in “original_fixed”
        • It sums the sizes of all variable partitions from the image in “original_variable”
        • It calculates “new_available” (new storage available for variable size partitions) by subtracting “original_fixed” from the new disk size.
        • It calculates a factor to resize all variable partitions by dividing “new_variable” by “original_variable”.

        My specific problem is that the size of the extended partition is added to “original_variable” whereas it this should be completely ignored in the resize factoring. (only variable logical partitions should be added).

        All in all, I think when a variable partition is encountered, that iteration of the for loop should never arrive at lines 456.

        On a separate note, it now occurs to me that a fixed extended partition might also not be properly handled. If the extended partition is marked as fixed, I think that “fixed” flag should be inherited to the logical partitions. As you simply can’t resize logical partitions to outside of the extended one.

        Hope this all makes sense?

        1 Reply Last reply Reply Quote 0
        • T
          Tom Elliott @rodluz
          last edited by Dec 1, 2022, 1:36 PM

          @rodluz To your point I re-evaluated the file and again, you took these lines out of context:
          The full scope of it is:

                  # If fixed, add the partition size.
                  if (!match(fixedList, regex)) {
                      # Increment the variable value.
                      original_variable += p_size;
                      continue;
                  }
                  original_fixed += p_size;
                  partitions[pName, "orig_size"] = p_size;
          

          Essentially my approach to scripting is to do reverse style coding. What do I mean by this:

          Do things that I expect to work a certain way after checking the reverse.

          This allows less nesting statements (which makes managing the code a little easier in my eyes.)

          So while you’re right that the comment doesn’t appear to match, we have it setting original_variable, and if it is in the fixed list, it gets put into original_fixed.

          Specifically the continue says okay well that’s not true, so put it in this point and skip the rest of the loop it’s in. If that’s false, it will add it to the fixed list.

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

          1 Reply Last reply Reply Quote 1
          • T
            Tom Elliott @H3Krn
            last edited by Tom Elliott Dec 1, 2022, 7:41 AM Dec 1, 2022, 1:40 PM

            @h3krn I believe 436 thru 438 is safe to remove, but I’m trying to grapple my mind in why that was added.

            I suspect the mentality was if it’s fixed skip trying to do anything resizing but would skip everything below it. I’ll try to think about what I was thinking here, but for now I believe it’s safe to just comment these 3 lines out.

            These may have also been for debugging and I just forgot to remove them lol.

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

            H 1 Reply Last reply Dec 1, 2022, 3:36 PM Reply Quote 0
            • H
              H3Krn @Tom Elliott
              last edited by H3Krn Dec 1, 2022, 9:38 AM Dec 1, 2022, 3:36 PM

              @tom-elliott I did remove the “if” clause on lines 436 and 438. But I left the continue; statement at line 437. That way the size of the extended partition is left out of scope for the resize variables starting line 457

              See here: https://github.com/FOGProject/fos/pull/52

              (Feel free to reject or disregard that PR if you feel it could have been done better.)

              1 Reply Last reply Reply Quote 0
              • S
                Sebastian Roth Moderator
                last edited by Sebastian Roth Dec 12, 2022, 3:27 PM Dec 12, 2022, 9:16 PM

                @H3Krn Still have not found enough time to look into this thoroughly. Will do so soon. Thanks for your PR. We’ll discuss further details there.

                Edit: Just found the other topic I was talking about before: https://forums.fogproject.org/topic/16106/resizing-extfs-volume-done-but-system-partition-not-expanded-to-disk-size

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                H 1 Reply Last reply Dec 13, 2022, 11:27 PM Reply Quote 0
                • H
                  H3Krn @Sebastian Roth
                  last edited by Dec 13, 2022, 11:27 PM

                  @sebastian-roth, no worries. Thnx for the update. I had a quick glance at the other topic but I’ll need to read I properly to make any accurate observations

                  Current causes I found for my own case:

                  • The bug in the procsfdisk.awk resize script (fixed for myself with the PR)
                  • After resizing partitions during a restore task the contents of the extended partition table (d1p2 in my case) is written to the disk. This contains the layout of the original small logical partitions. (solved by deleting d1p2.ebr &d1p2.img from the image)

                  For now I have my setup working. Just hoping I can help you guys with it.

                  1 Reply Last reply Reply Quote 1
                  • H
                    H3Krn
                    last edited by Feb 17, 2023, 10:19 AM

                    Hi all,

                    been A while. I guess we’ve all been busy. Just wanted to check back in if there’s anything I can still help with on this topic?

                    Grtz, Harm

                    1 Reply Last reply Reply Quote 0
                    • S
                      Sebastian Roth Moderator
                      last edited by Feb 17, 2023, 11:09 AM

                      @H3Krn Thanks for checking up in this. I’ve got it on my list but don’t seem to find the time.

                      @rodluz Do you want to take a look at this?

                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                      1 Reply Last reply Reply Quote 0
                      • 1 / 1
                      • First post
                        Last post

                      197

                      Online

                      12.0k

                      Users

                      17.3k

                      Topics

                      155.2k

                      Posts
                      Copyright © 2012-2024 FOG Project