1. 17 Jun, 2019 1 commit
    • Christian Hergert's avatar
      gio: ensure default va_marshaller is used · 273c00f6
      Christian Hergert authored
      If c_marshaller is provided during g_signal_new() registration, the
      automatic va_marshaller will not be set. If we leave the c_marshaller as
      NULL in the simple cases, both a c_marshaller and va_marshaller will be
      set for us.
      
      This is particularly helpful when dealing with stack traces from Linux
      perf, which often cannot unwind the stack beyond the ffi_call_unix64
      stack-frame on x86_64.
      
      Related to Initiatives#10
      273c00f6
  2. 22 Mar, 2019 1 commit
    • Ondrej Holy's avatar
      gunixmounts: Return the last matching mount for same mount path · bc52235e
      Ondrej Holy authored
      More mounts can have same mount path, but only the last one is
      accessible. Thus we should always return the last matching mount from
      g_unix_mount_at() and g_unix_mount_for(). This should also solve
      problems with g_file_trash() on automounted filesystems, which are
      caused by the recently added mount checks.
      
      Closes: #1727
      bc52235e
  3. 26 Nov, 2018 1 commit
  4. 23 Oct, 2018 2 commits
    • Ondrej Holy's avatar
      gunixmounts: Mark mounts as system internal instead of filtering out · 983a95c9
      Ondrej Holy authored
      mntent-based implementation filter out mounts with device path that was
      repeated. Consequently, it is not possible to show such mounts in UI even
      with x-gvfs-show, because they are not returned from g_unix_mounts_get.
      libmount-based implementation currently doesn't filter out any mounts
      which causes issues to our volume monitors. Let's rather mark mounts
      which don't point into fs root as system_internal. This approach won't be
      affected by mount order as is mntent-based implementation. It will mark
      more mounts as system_internal than it is filtered out with mntend-based
      implementation, but there will be always possibility to show them in UI
      over x-gvfs-show, which was not possible with mntend-based. We can
      probably introduce some improvements later to not mark unique mounts as
      system internal even if they don't point into fs root...
      
      #1271
      983a95c9
    • Ondrej Holy's avatar
      gio: Add g_unix_mount_get_root_path · e1fa5ffb
      Ondrej Holy authored
      Currently, there isn't API to determine root path for mounts created
      over bind operation (or btrfs subvolumes). This causes issues to our
      volume monitors if there is multiple mounts for one device, which can
      happen with libmount-based implementation currently. Let's propagate
      root path from libmount over g_unix_mount_get_root_path, so we can
      handle this somehow in our volume monitors.
      
      #1271
      e1fa5ffb
  5. 20 Jun, 2018 1 commit
  6. 16 May, 2018 1 commit
    • Ondrej Holy's avatar
      gio: Add g_unix_mount_get_options · d0821da5
      Ondrej Holy authored
      GVfsUDisks2VolumeMonitor handles x-gvfs-hide/x-gvfs-show mount options
      used to overwrite our heuristics whether the mount should be shown, or
      hidden. Unfortunately, it works currently only for mounts with
      corresponding fstab entries, because the options are read over
      g_unix_mount_point_get_options. Let's introduce g_unix_mount_get_options
      to allow reading of the options for all sort of mounts (e.g. created
      over pam_mount, or manually mounted).
      
      (Minor fixes to the documentation by Philip Withnall
      <withnall@endlessm.com>.)
      
      https://bugzilla.gnome.org/show_bug.cgi?id=668132
      d0821da5
  7. 27 Apr, 2018 1 commit
  8. 13 Mar, 2018 1 commit
  9. 13 Feb, 2018 1 commit
    • Philip Withnall's avatar
      build: Drop fallback checks for libmount versions without pkg-config · b716660f
      Philip Withnall authored
      Building against libmount installed into a non-default prefix wasn’t
      working, as we were using #include <libmount/libmount.h> rather than
      the correct #include <libmount.h> — all the mount.pc pkg-config files
      set `Cflags: -I${includedir}/libmount`.
      
      Fixing this while retaining the fallback support for versions of
      libmount without a pkg-config file would have been tricky (we would need
      to work out a suitable -I flag to set in LIBMOUNT_CFLAGS) to still be
      able to use the correct #include path). Thankfully, libmount gained
      pkg-config support a long time ago, so I think we can safely drop the
      fallback code. In particular, Debian Jessie, Ubuntu Trusty, and CentOS 5
      all ship a mount.pc file.
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      
      https://bugzilla.gnome.org/show_bug.cgi?id=793288
      b716660f
  10. 30 Jan, 2018 1 commit
  11. 07 Nov, 2017 1 commit
  12. 01 Nov, 2017 1 commit
  13. 25 Oct, 2017 1 commit
  14. 13 Oct, 2017 1 commit
  15. 11 Oct, 2017 1 commit
  16. 02 Oct, 2017 1 commit
  17. 22 Sep, 2017 1 commit
    • Nelson Benítez León's avatar
      gio/gunixmounts.c: Don't use mtime to monitor mounts on /proc/ · c1a31c3a
      Nelson Benítez León authored
      Fix get_mounts_timestamp() to not use a stat'ed mtime for /proc/ files.
      Instead, use mount_poller_time if /proc/ watch is running, or otherwise
      return a new generated timestamp to always assume mounts-changed, which
      is safer than previous behaviour of always assuming mounts-not-changed
      (as mtime never changes for /proc/ files when queried from the same
      process).
      
      We say it's safer because allows caches depending on:
      
      g_unix_mounts_get(&time_read)
      g_unix_mounts_changed_since()
      
      to drop possibly outdated/duplicated values, as that was the case for the
      GIO mounts cache used in gio/glocalfile.c which provides mount info for
      g_file_query_filesystem_info() call, as described in below referenced bug.
      
      This fix complements related commit bd9e266e
      
      https://bugzilla.gnome.org/show_bug.cgi?id=787731
      c1a31c3a
  18. 03 Aug, 2017 2 commits
  19. 29 May, 2017 1 commit
  20. 09 May, 2017 2 commits
  21. 10 Apr, 2017 1 commit
  22. 28 Mar, 2017 1 commit
  23. 22 Nov, 2016 2 commits
  24. 12 Oct, 2016 1 commit
  25. 29 Sep, 2016 1 commit
  26. 28 Jul, 2016 2 commits
  27. 26 Jul, 2016 6 commits
  28. 04 Jun, 2016 1 commit
  29. 12 Sep, 2015 1 commit
  30. 04 Jun, 2015 1 commit