You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[SCSI] sysfs: make group is_valid return a mode_t
We have a problem in scsi_transport_spi in that we need to customise not only the visibility of the attributes, but also their mode. Fix this by making the is_visible() callback return a mode, with 0 indicating is not visible. Also add a sysfs_update_group() API to allow us to change either the visibility or mode of the files at any time on the fly. Acked-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
+10
-4
@@ -477,11 +477,10 @@ const struct file_operations sysfs_file_operations = {
|
||||
.poll = sysfs_poll,
|
||||
};
|
||||
|
||||
|
||||
int sysfs_add_file(struct sysfs_dirent *dir_sd, const struct attribute *attr,
|
||||
int type)
|
||||
int sysfs_add_file_mode(struct sysfs_dirent *dir_sd,
|
||||
const struct attribute *attr, int type, mode_t amode)
|
||||
{
|
||||
umode_t mode = (attr->mode & S_IALLUGO) | S_IFREG;
|
||||
umode_t mode = (amode & S_IALLUGO) | S_IFREG;
|
||||
struct sysfs_addrm_cxt acxt;
|
||||
struct sysfs_dirent *sd;
|
||||
int rc;
|
||||
@@ -502,6 +501,13 @@ int sysfs_add_file(struct sysfs_dirent *dir_sd, const struct attribute *attr,
|
||||
}
|
||||
|
||||
|
||||
int sysfs_add_file(struct sysfs_dirent *dir_sd, const struct attribute *attr,
|
||||
int type)
|
||||
{
|
||||
return sysfs_add_file_mode(dir_sd, attr, type, attr->mode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* sysfs_create_file - create an attribute file for an object.
|
||||
* @kobj: object we're creating for.
|
||||
|
||||
Reference in New Issue
Block a user