Message ID | 20240910150200.6589-3-joshi.k@samsung.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | data placement hints and FDP | expand |
On Tue, Sep 10, 2024 at 08:31:57PM +0530, Kanchan Joshi wrote: > F_GET/SET_RW_HINT fcntl handlers query/set write life hints. > Rename the handlers/helpers to be explicit that write life hints are > being handled. > > This is in preparation to introduce a new interface that supports more > than one type of write hint. Wouldn't it make more sense to stick with the name as exposed in the uapi? The same minda applies to the previous patch - in fact IFF we decide to do the rename I'd probably expect both parts to go together.
On 9/12/2024 6:24 PM, Christoph Hellwig wrote: > On Tue, Sep 10, 2024 at 08:31:57PM +0530, Kanchan Joshi wrote: >> F_GET/SET_RW_HINT fcntl handlers query/set write life hints. >> Rename the handlers/helpers to be explicit that write life hints are >> being handled. >> >> This is in preparation to introduce a new interface that supports more >> than one type of write hint. > > Wouldn't it make more sense to stick with the name as exposed in the > uapi? uapi used for opcode: F_GET/SET_RW_HINT for values: RWH_WRITE_LIFE_*. The kernel handlers were using the name rw_hint_* (e.g., rw_hint_valid, fcntl_get/set_rw_hint etc.). Since rw_hint is generic term, it seemed clearer to call a spade a spade (e.g. rw_lifetime_hint_valid, fcntl_get/set_lifetime_hint). The same minda applies to the previous patch - in fact IFF we > decide to do the rename I'd probably expect both parts to go together. > Sure. I can merge both the patches if that's what you prefer.
diff --git a/fs/fcntl.c b/fs/fcntl.c index 300e5d9ad913..9df35e7ff754 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -269,7 +269,7 @@ static int f_getowner_uids(struct file *filp, unsigned long arg) } #endif -static bool rw_hint_valid(u64 hint) +static bool rw_lifetime_hint_valid(u64 hint) { BUILD_BUG_ON(WRITE_LIFE_NOT_SET != RWH_WRITE_LIFE_NOT_SET); BUILD_BUG_ON(WRITE_LIFE_NONE != RWH_WRITE_LIFE_NONE); @@ -291,7 +291,7 @@ static bool rw_hint_valid(u64 hint) } } -static long fcntl_get_rw_hint(struct file *file, unsigned int cmd, +static long fcntl_get_rw_lifetime_hint(struct file *file, unsigned int cmd, unsigned long arg) { struct inode *inode = file_inode(file); @@ -303,7 +303,7 @@ static long fcntl_get_rw_hint(struct file *file, unsigned int cmd, return 0; } -static long fcntl_set_rw_hint(struct file *file, unsigned int cmd, +static long fcntl_set_rw_lifetime_hint(struct file *file, unsigned int cmd, unsigned long arg) { struct inode *inode = file_inode(file); @@ -312,7 +312,7 @@ static long fcntl_set_rw_hint(struct file *file, unsigned int cmd, if (copy_from_user(&hint, argp, sizeof(hint))) return -EFAULT; - if (!rw_hint_valid(hint)) + if (!rw_lifetime_hint_valid(hint)) return -EINVAL; WRITE_ONCE(inode->i_write_hint, hint); @@ -449,10 +449,10 @@ static long do_fcntl(int fd, unsigned int cmd, unsigned long arg, err = memfd_fcntl(filp, cmd, argi); break; case F_GET_RW_HINT: - err = fcntl_get_rw_hint(filp, cmd, arg); + err = fcntl_get_rw_lifetime_hint(filp, cmd, arg); break; case F_SET_RW_HINT: - err = fcntl_set_rw_hint(filp, cmd, arg); + err = fcntl_set_rw_lifetime_hint(filp, cmd, arg); break; default: break;
F_GET/SET_RW_HINT fcntl handlers query/set write life hints. Rename the handlers/helpers to be explicit that write life hints are being handled. This is in preparation to introduce a new interface that supports more than one type of write hint. Signed-off-by: Kanchan Joshi <joshi.k@samsung.com> --- fs/fcntl.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)