[v2,53/92] isofs: convert to ctime accessor functions

Message ID 20230705190309.579783-51-jlayton@kernel.org
State New
Headers
Series [v2,01/92] ibmvmc: update ctime in conjunction with mtime on write |

Commit Message

Jeff Layton July 5, 2023, 7:01 p.m. UTC
  In later patches, we're going to change how the inode's ctime field is
used. Switch to using accessor functions instead of raw accesses of
inode->i_ctime.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 fs/isofs/inode.c |  8 ++++----
 fs/isofs/rock.c  | 16 +++++++---------
 2 files changed, 11 insertions(+), 13 deletions(-)
  

Comments

Jan Kara July 6, 2023, 12:39 p.m. UTC | #1
On Wed 05-07-23 15:01:18, Jeff Layton wrote:
> In later patches, we're going to change how the inode's ctime field is
> used. Switch to using accessor functions instead of raw accesses of
> inode->i_ctime.
> 
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
>  fs/isofs/inode.c |  8 ++++----
>  fs/isofs/rock.c  | 16 +++++++---------
>  2 files changed, 11 insertions(+), 13 deletions(-)
> 
> diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
> index df9d70588b60..98a78200cff1 100644
> --- a/fs/isofs/inode.c
> +++ b/fs/isofs/inode.c
> @@ -1424,11 +1424,11 @@ static int isofs_read_inode(struct inode *inode, int relocated)
>  #endif
>  
>  	inode->i_mtime.tv_sec =
> -	inode->i_atime.tv_sec =
> -	inode->i_ctime.tv_sec = iso_date(de->date, high_sierra);
> +	inode->i_atime.tv_sec = inode_set_ctime(inode,
> +						iso_date(de->date, high_sierra),
> +						0).tv_sec;
>  	inode->i_mtime.tv_nsec =
> -	inode->i_atime.tv_nsec =
> -	inode->i_ctime.tv_nsec = 0;
> +	inode->i_atime.tv_nsec = 0;

This would be IMHO more readable as:

	inode->i_mtime = inode->i_atime =
		inode_set_ctime(inode, iso_date(de->date, high_sierra), 0);


Otherwise the patch looks good.

								Honza
  
Jeff Layton July 6, 2023, 1:11 p.m. UTC | #2
On Thu, 2023-07-06 at 14:39 +0200, Jan Kara wrote:
> On Wed 05-07-23 15:01:18, Jeff Layton wrote:
> > In later patches, we're going to change how the inode's ctime field is
> > used. Switch to using accessor functions instead of raw accesses of
> > inode->i_ctime.
> > 
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > ---
> >  fs/isofs/inode.c |  8 ++++----
> >  fs/isofs/rock.c  | 16 +++++++---------
> >  2 files changed, 11 insertions(+), 13 deletions(-)
> > 
> > diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
> > index df9d70588b60..98a78200cff1 100644
> > --- a/fs/isofs/inode.c
> > +++ b/fs/isofs/inode.c
> > @@ -1424,11 +1424,11 @@ static int isofs_read_inode(struct inode *inode, int relocated)
> >  #endif
> >  
> >  	inode->i_mtime.tv_sec =
> > -	inode->i_atime.tv_sec =
> > -	inode->i_ctime.tv_sec = iso_date(de->date, high_sierra);
> > +	inode->i_atime.tv_sec = inode_set_ctime(inode,
> > +						iso_date(de->date, high_sierra),
> > +						0).tv_sec;
> >  	inode->i_mtime.tv_nsec =
> > -	inode->i_atime.tv_nsec =
> > -	inode->i_ctime.tv_nsec = 0;
> > +	inode->i_atime.tv_nsec = 0;
> 
> This would be IMHO more readable as:
> 
> 	inode->i_mtime = inode->i_atime =
> 		inode_set_ctime(inode, iso_date(de->date, high_sierra), 0);
> 
> 
> Otherwise the patch looks good.
> 

Thanks. Fixed in my tree.
  

Patch

diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index df9d70588b60..98a78200cff1 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -1424,11 +1424,11 @@  static int isofs_read_inode(struct inode *inode, int relocated)
 #endif
 
 	inode->i_mtime.tv_sec =
-	inode->i_atime.tv_sec =
-	inode->i_ctime.tv_sec = iso_date(de->date, high_sierra);
+	inode->i_atime.tv_sec = inode_set_ctime(inode,
+						iso_date(de->date, high_sierra),
+						0).tv_sec;
 	inode->i_mtime.tv_nsec =
-	inode->i_atime.tv_nsec =
-	inode->i_ctime.tv_nsec = 0;
+	inode->i_atime.tv_nsec = 0;
 
 	ei->i_first_extent = (isonum_733(de->extent) +
 			isonum_711(de->ext_attr_length));
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c
index 48f58c6c9e69..348783a70f57 100644
--- a/fs/isofs/rock.c
+++ b/fs/isofs/rock.c
@@ -421,10 +421,9 @@  parse_rock_ridge_inode_internal(struct iso_directory_record *de,
 			/* Rock ridge never appears on a High Sierra disk */
 			cnt = 0;
 			if (rr->u.TF.flags & TF_CREATE) {
-				inode->i_ctime.tv_sec =
-				    iso_date(rr->u.TF.times[cnt++].time,
-					     0);
-				inode->i_ctime.tv_nsec = 0;
+				inode_set_ctime(inode,
+						iso_date(rr->u.TF.times[cnt++].time, 0),
+						0);
 			}
 			if (rr->u.TF.flags & TF_MODIFY) {
 				inode->i_mtime.tv_sec =
@@ -439,10 +438,9 @@  parse_rock_ridge_inode_internal(struct iso_directory_record *de,
 				inode->i_atime.tv_nsec = 0;
 			}
 			if (rr->u.TF.flags & TF_ATTRIBUTES) {
-				inode->i_ctime.tv_sec =
-				    iso_date(rr->u.TF.times[cnt++].time,
-					     0);
-				inode->i_ctime.tv_nsec = 0;
+				inode_set_ctime(inode,
+						iso_date(rr->u.TF.times[cnt++].time, 0),
+						0);
 			}
 			break;
 		case SIG('S', 'L'):
@@ -534,7 +532,7 @@  parse_rock_ridge_inode_internal(struct iso_directory_record *de,
 			inode->i_size = reloc->i_size;
 			inode->i_blocks = reloc->i_blocks;
 			inode->i_atime = reloc->i_atime;
-			inode->i_ctime = reloc->i_ctime;
+			inode_set_ctime_to_ts(inode, inode_get_ctime(reloc));
 			inode->i_mtime = reloc->i_mtime;
 			iput(reloc);
 			break;