Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216b6cbd authored by Namjae Jeon's avatar Namjae Jeon Committed by J. Bruce Fields
Browse files

exportfs: add FILEID_INVALID to indicate invalid fid_type



This commit adds FILEID_INVALID = 0xff in fid_type to
indicate invalid fid_type

It avoids using magic number 255

Signed-off-by: default avatarNamjae Jeon <linkinjeon@gmail.com>
Signed-off-by: default avatarVivek Trivedi <vtrivedi018@gmail.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 6f0c0580
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -322,10 +322,10 @@ static int export_encode_fh(struct inode *inode, struct fid *fid,

	if (parent && (len < 4)) {
		*max_len = 4;
		return 255;
		return FILEID_INVALID;
	} else if (len < 2) {
		*max_len = 2;
		return 255;
		return FILEID_INVALID;
	}

	len = 2;
+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ static long do_sys_name_to_handle(struct path *path,
	handle_bytes = handle_dwords * sizeof(u32);
	handle->handle_bytes = handle_bytes;
	if ((handle->handle_bytes > f_handle.handle_bytes) ||
	    (retval == 255) || (retval == -ENOSPC)) {
	    (retval == FILEID_INVALID) || (retval == -ENOSPC)) {
		/* As per old exportfs_encode_fh documentation
		 * we could return ENOSPC to indicate overflow
		 * But file system returned 255 always. So handle
+2 −2
Original line number Diff line number Diff line
@@ -572,7 +572,7 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,

		if (inode)
			_fh_update(fhp, exp, dentry);
		if (fhp->fh_handle.fh_fileid_type == 255) {
		if (fhp->fh_handle.fh_fileid_type == FILEID_INVALID) {
			fh_put(fhp);
			return nfserr_opnotsupp;
		}
@@ -603,7 +603,7 @@ fh_update(struct svc_fh *fhp)
			goto out;

		_fh_update(fhp, fhp->fh_export, dentry);
		if (fhp->fh_handle.fh_fileid_type == 255)
		if (fhp->fh_handle.fh_fileid_type == FILEID_INVALID)
			return nfserr_opnotsupp;
	}
out:
+5 −0
Original line number Diff line number Diff line
@@ -83,6 +83,11 @@ enum fid_type {
	 * 64 bit parent inode number.
	 */
	FILEID_NILFS_WITH_PARENT = 0x62,

	/*
	 * Filesystems must not use 0xff file ID.
	 */
	FILEID_INVALID = 0xff,
};

struct fid {