http://git.samba.org/?p=vl/samba.git; a=shortlog; h=refs/heads/struct_stat

Tim Prouty tim.prouty at isilon.com
Thu May 14 17:06:55 GMT 2009


On May 14, 2009, at 7:49 AM, Volker Lendecke wrote:

> Hi!
>
> Under $SUBJECT find two commits that make SMB_STRUCT_STAT a
> structure that we define on our own. From the checkin
> message:
>
> Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT
>
> This patch introduces
>
> struct stat_ex {
>        dev_t           st_ex_dev;
>        ino_t           st_ex_ino;
>        mode_t          st_ex_mode;
>        nlink_t         st_ex_nlink;
>        uid_t           st_ex_uid;
>        gid_t           st_ex_gid;
>        dev_t           st_ex_rdev;
>        off_t           st_ex_size;
>        struct timespec st_ex_atime;
>        struct timespec st_ex_mtime;
>        struct timespec st_ex_ctime;
>        struct timespec st_ex_btime; /* birthtime */
>        blksize_t       st_ex_blksize;
>        blkcnt_t        st_ex_blocks;
> };
> typedef struct stat_ex SMB_STRUCT_STAT;

In general, I really like these patches.


> It will very likely break all the onefs modules, but I think
> the changes will be reasonably easy to do.

Of course, it would be better if it didn't, but I don't mind taking a  
few hours to fix it.


> Comments?

* Since the previous SMB_STRUCT_STAT allowed a system-specific stat  
struct, additional information could be passed around in  
SMB_STRUCT_STAT with only the vfs modules needing to know about it.   
On OneFS, for example, SMB_VFS_FILE_ID_CREATE takes an SMB_STRUCT_STAT  
and uses the system-specific st_snapid field to fill in the  
file_id.extid.  The quick solution is to just add an additional field  
to the stat_ex struct in this case.  Are there other dependencies on  
SMB_STRUCT_STAT containing additional info?

* I love patch 2 :).


> Ah, sorry, forgot: I'd like to see this in 3.4 :-)


* A change of this scope seems too large to take this late in 3.4.  My  
vote is for it to go into master.


-Tim



More information about the samba-technical mailing list