public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.cz>
To: kreijack@inwind.it
Cc: dsterba@suse.cz, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 0/9][btrfs-progs] Remove unused dirstream variable
Date: Tue, 2 Jan 2024 19:17:08 +0100	[thread overview]
Message-ID: <20240102181708.GC15380@twin.jikos.cz> (raw)
In-Reply-To: <6e4b2c09-b820-4ba8-8117-d13f3556e426@libero.it>

On Sat, Dec 30, 2023 at 12:20:54PM +0100, Goffredo Baroncelli wrote:
> On 14/12/2023 17.17, David Sterba wrote:
> > On Sat, Dec 09, 2023 at 07:53:20PM +0100, Goffredo Baroncelli wrote:
> >> From: Goffredo Baroncelli <kreijack@inwind.it>
> >>
> >> For historical reason, the helpers [btrfs_]open_[file_or_]dir() work with
> >> directory returning the 'fd' and a 'dirstream' variable returned by
> >> opendir(3).
> >>
> >> If the path is a file, the 'fd' is computed from open(2) and
> >> dirstream is set to NULL.
> >> If the path is a directory, first the directory is opened by opendir(3), then
> >> the 'fd' is computed using dirfd(3).
> >> However the 'dirstream' returned by opendir(3) is left open until 'fd'
> >> is not needed anymore.
> >>
> >> In near every case the 'dirstream' variable is not used. Only 'fd' is
> >> used.
> > 
> > As I'm reading dirfd manual page, dirfd returns the internal file
> > descriptor of the dirstream and it gets closed after call to closedir().
> > This means if we pass a directory and want a file descriptor then its
> > lifetime matches the correspoinding DIR.
> > 
> >> A call to close_file_or_dir() freed both 'fd' and 'dirstream'.
> >>
> >> Aim of this patch set is to getrid of this complexity; when the path of
> >> a directory is passed, the fd is get directly using open(path, O_RDONLY):
> >> so we don't need to use readdir(3) and to maintain the not used variable
> >> 'dirstream'.
> > 
> > Does this work the same way as with the dirstream?
> > 
> 
> Hi David, are you interested in this patch ? I think that it is a
> great simplification.

Yes, it's a good cleanup, I'll get to that after 6.7 is released.

  reply	other threads:[~2024-01-02 18:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-09 18:53 [PATCH 0/9][btrfs-progs] Remove unused dirstream variable Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 1/9] Killing dirstream: add helpers Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 2/9] Killing dirstream: replace btrfs_open_dir with btrfs_open_dir_fd Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 3/9] " Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 4/9] Killing dirstream: replace open_path_or_dev_mnt with btrfs_open_mnt_fd Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 5/9] Killing dirstream: replace open_file_or_dir3 with btrfs_open_fd2 Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 6/9] Killing dirstream: replace btrfs_open_file_or_dir with btrfs_open_file_or_dir_fd Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 7/9] Killing dirstream: replace open_file_or_dir with btrfs_open_fd2 Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 8/9] Killing dirstream: remove open_file_or_dir3 from du_add_file Goffredo Baroncelli
2023-12-09 18:53 ` [PATCH 9/9] Killing dirstream: remove unused functions Goffredo Baroncelli
2023-12-14 16:17 ` [PATCH 0/9][btrfs-progs] Remove unused dirstream variable David Sterba
2023-12-14 19:11   ` Goffredo Baroncelli
2023-12-30 11:20   ` Goffredo Baroncelli
2024-01-02 18:17     ` David Sterba [this message]
2024-02-07 10:16     ` David Sterba
2024-02-08 17:28       ` Goffredo Baroncelli
2024-02-08 17:34         ` Goffredo Baroncelli
2024-02-08 20:18           ` Goffredo Baroncelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240102181708.GC15380@twin.jikos.cz \
    --to=dsterba@suse.cz \
    --cc=kreijack@inwind.it \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox